mirror of
https://github.com/eclipse/upm.git
synced 2025-03-14 20:47:30 +03:00
BM220: Add string parser for upm parameters
Signed-off-by: Adelin Dobre <adelin.dobre@rinftech.com>
This commit is contained in:
parent
d3198ef0ca
commit
19dd909439
@ -87,15 +87,52 @@ BMA220::BMA220(std::string initStr) : mraaIo(new mraa::MraaIo(initStr))
|
||||
": mraa_i2c_init() failed");
|
||||
}
|
||||
|
||||
// Init the accelerometer
|
||||
//Init the accelerometer
|
||||
enableAxes(true, true, true);
|
||||
|
||||
// set scaling rate
|
||||
//set scaling rate
|
||||
if (!setAccelerometerScale(FSL_RANGE_2G))
|
||||
{
|
||||
throw std::runtime_error(string(__FUNCTION__) +
|
||||
": Unable to set accel scale");
|
||||
return;
|
||||
}
|
||||
|
||||
std::vector<std::string> upmTokens;
|
||||
if(!mraaIo->getLeftoverStr().empty()) {
|
||||
upmTokens = UpmStringParser::parse(mraaIo->getLeftoverStr());
|
||||
}
|
||||
|
||||
std::string::size_type sz;
|
||||
|
||||
for(std::string tok :upmTokens)
|
||||
{
|
||||
if(tok.substr(0,9) == "writeReg:") {
|
||||
uint8_t reg = std::stoi(tok.substr(9),&sz,0);
|
||||
tok = tok.substr(9);
|
||||
uint8_t val = std::stoi(tok.substr(sz+1),nullptr,0);
|
||||
writeReg(reg, val);
|
||||
}
|
||||
if(tok.substr(0,22) == "setAccelerometerScale:") {
|
||||
FSL_RANGE_T scale = (FSL_RANGE_T)std::stoi(tok.substr(22),nullptr,0);
|
||||
setAccelerometerScale(scale);
|
||||
}
|
||||
if(tok.substr(0,16) == "setFilterConfig:") {
|
||||
FILTER_CONFIG_T filter = (FILTER_CONFIG_T)std::stoi(tok.substr(16),nullptr,0);
|
||||
setFilterConfig(filter);
|
||||
}
|
||||
|
||||
if(tok.substr(0,16) == "setSerialHighBW:") {
|
||||
bool high = std::stoi(tok.substr(16),nullptr,0);
|
||||
setSerialHighBW(high);
|
||||
}
|
||||
if(tok.substr(0,16) == "setFilterConfig:") {
|
||||
FILTER_CONFIG_T filter = (FILTER_CONFIG_T)std::stoi(tok.substr(16),nullptr,0);
|
||||
setFilterConfig(filter);
|
||||
}
|
||||
if(tok.substr(0,16) == "setFilterConfig:") {
|
||||
FILTER_CONFIG_T filter = (FILTER_CONFIG_T)std::stoi(tok.substr(16),nullptr,0);
|
||||
setFilterConfig(filter);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -179,22 +179,6 @@ namespace upm {
|
||||
/**
|
||||
* REG_TAP_CONFIG bits
|
||||
*/
|
||||
typedef enum {
|
||||
TAP_CONFIG_DUR0 = 0x01,
|
||||
TAP_CONFIG_DUR1 = 0x02,
|
||||
TAP_CONFIG_DUR2 = 0x04,
|
||||
_TAP_CONFIG_DUR_MASK = 7,
|
||||
_TAP_CONFIG_DUR_SHIFT = 0,
|
||||
|
||||
TAP_CONFIG_THRESH0 = 0x08,
|
||||
TAP_CONFIG_THRESH1 = 0x10,
|
||||
TAP_CONFIG_THRESH2 = 0x20,
|
||||
TAP_CONFIG_THRESH3 = 0x40,
|
||||
_TAP_CONFIG_THRESH_MASK = 15,
|
||||
_TAP_CONFIG_THRESH_SHIFT = 3,
|
||||
|
||||
TAP_CONFIG_FILTER = 0x80
|
||||
} TAP_CONFIG_BITS_T;
|
||||
|
||||
/**
|
||||
* REG_SLOPE_CONFIG bits
|
||||
|
Loading…
x
Reference in New Issue
Block a user