|
|
@@ -27,6 +27,9 @@ nBusAppInterface_t mcu_spi_driver = {
|
|
|
mcu_spi_readData,
|
|
|
NULL, //mcu_spi_store,
|
|
|
mcu_spi_calibrate,
|
|
|
+ NULL, //getSensorFormat
|
|
|
+ NULL, //find
|
|
|
+ NULL //deviceReady
|
|
|
};
|
|
|
|
|
|
|
|
|
@@ -151,12 +154,14 @@ void mcu_spi_reset(){
|
|
|
sensor->Reset();
|
|
|
}
|
|
|
|
|
|
-void mcu_spi_start(){
|
|
|
+nBus_statusType_t mcu_spi_start(){
|
|
|
sensor->Start();
|
|
|
+ return STATUS_SUCCESS;
|
|
|
}
|
|
|
|
|
|
-void mcu_spi_stop(){
|
|
|
+nBus_statusType_t mcu_spi_stop(){
|
|
|
sensor->Stop();
|
|
|
+ return STATUS_SUCCESS;
|
|
|
}
|
|
|
|
|
|
void mcu_spi_readData(void){
|
|
|
@@ -165,7 +170,8 @@ void mcu_spi_readData(void){
|
|
|
|
|
|
nBus_sensorType_t mcu_spi_getType(uint8_t sensor_index){
|
|
|
|
|
|
- if (sensor_index > mcu_spi_getSensorCount()) {
|
|
|
+ nBus_sensorCount_t sc = mcu_spi_getSensorCount();
|
|
|
+ if (sensor_index > sc.read_only_count) {
|
|
|
return TYPE_UNKNOWN;
|
|
|
}
|
|
|
|
|
|
@@ -181,8 +187,9 @@ nBus_sensorType_t mcu_spi_getType(uint8_t sensor_index){
|
|
|
}
|
|
|
|
|
|
|
|
|
-uint8_t mcu_spi_getSensorCount(){
|
|
|
- return 2;
|
|
|
+nBus_sensorCount_t mcu_spi_getSensorCount(){
|
|
|
+ nBus_sensorCount_t sc = {2,0};
|
|
|
+ return sc;
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -206,8 +213,8 @@ uint8_t mcu_spi_getData(uint8_t sensor_index, uint8_t *data){
|
|
|
return 7;
|
|
|
}
|
|
|
|
|
|
-uint8_t mcu_spi_setData(uint8_t *data){
|
|
|
- return 1; // ILLEGAL_FUNCTION;
|
|
|
+nBus_statusType_t mcu_spi_setData(uint8_t *data, uint8_t count, uint8_t *response){
|
|
|
+ return STATUS_FAIL;
|
|
|
}
|
|
|
|
|
|
int32_t mcu_spi_getParam(uint8_t sensor_index, nBus_param_t param){
|
|
|
@@ -267,10 +274,10 @@ uint8_t mcu_spi_hasParam(uint8_t sensor_index, nBus_param_t param){
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-nBus_param_t mcu_spi_setParam(uint8_t sensor_index, nBus_param_t param, int32_t value) {
|
|
|
+nBus_statusType_t mcu_spi_setParam(uint8_t sensor_index, nBus_param_t param, int32_t value) {
|
|
|
// to module
|
|
|
if(sensor_index == 0) {
|
|
|
- return PARAM_NONE;
|
|
|
+ return STATUS_NOT_SUPPORTED;
|
|
|
}
|
|
|
|
|
|
if(sensor_index == 1) {
|
|
|
@@ -281,7 +288,7 @@ nBus_param_t mcu_spi_setParam(uint8_t sensor_index, nBus_param_t param, int32_t
|
|
|
if(sr != ACCEL_samplerate_None) {
|
|
|
sensor->accSensor->SetSampleRate(sr);
|
|
|
} else {
|
|
|
- return PARAM_NONE;
|
|
|
+ return STATUS_NOT_SUPPORTED;
|
|
|
}
|
|
|
|
|
|
}
|
|
|
@@ -292,7 +299,7 @@ nBus_param_t mcu_spi_setParam(uint8_t sensor_index, nBus_param_t param, int32_t
|
|
|
if(fs != ACCEL_FS_NoneG) {
|
|
|
sensor->accSensor->SetRange(fs);
|
|
|
} else {
|
|
|
- return PARAM_NONE;
|
|
|
+ return STATUS_NOT_SUPPORTED;
|
|
|
}
|
|
|
|
|
|
}
|
|
|
@@ -303,13 +310,13 @@ nBus_param_t mcu_spi_setParam(uint8_t sensor_index, nBus_param_t param, int32_t
|
|
|
if(lpf != ACCEL_lpf_None) {
|
|
|
sensor->accSensor->SetLowPassFilter(lpf);
|
|
|
} else {
|
|
|
- return PARAM_NONE;
|
|
|
+ return STATUS_NOT_SUPPORTED;
|
|
|
}
|
|
|
|
|
|
}
|
|
|
break;
|
|
|
default:
|
|
|
- return PARAM_NONE;
|
|
|
+ return STATUS_NOT_SUPPORTED;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -321,7 +328,7 @@ nBus_param_t mcu_spi_setParam(uint8_t sensor_index, nBus_param_t param, int32_t
|
|
|
if(sr != GYRO_samplerate_None) {
|
|
|
sensor->gyroSensor->SetSampleRate(sr);
|
|
|
} else {
|
|
|
- return PARAM_NONE;
|
|
|
+ return STATUS_NOT_SUPPORTED;
|
|
|
}
|
|
|
|
|
|
}
|
|
|
@@ -332,7 +339,7 @@ nBus_param_t mcu_spi_setParam(uint8_t sensor_index, nBus_param_t param, int32_t
|
|
|
if(fs != GYRO_FS_None) {
|
|
|
sensor->gyroSensor->SetRange(fs);
|
|
|
} else {
|
|
|
- return PARAM_NONE;
|
|
|
+ return STATUS_NOT_SUPPORTED;
|
|
|
}
|
|
|
|
|
|
}
|
|
|
@@ -343,36 +350,36 @@ nBus_param_t mcu_spi_setParam(uint8_t sensor_index, nBus_param_t param, int32_t
|
|
|
if(lpf != GYRO_lpf_None) {
|
|
|
sensor->gyroSensor->SetLowPassFilter(lpf);
|
|
|
} else {
|
|
|
- return PARAM_NONE;
|
|
|
+ return STATUS_NOT_SUPPORTED;
|
|
|
}
|
|
|
|
|
|
}
|
|
|
break;
|
|
|
default:
|
|
|
- return PARAM_NONE;
|
|
|
+ return STATUS_NOT_SUPPORTED;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- return param;
|
|
|
+ return STATUS_SUCCESS;
|
|
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* @param sebslaveIndex sensorAccIndex, sensorGyroIndex, sensorAll
|
|
|
*/
|
|
|
-uint8_t mcu_spi_calibrate(uint8_t subslaveIndex, uint8_t calibrationParamsNum, uint8_t *calibrationParams){
|
|
|
+nBus_statusType_t mcu_spi_calibrate(uint8_t subslaveIndex){
|
|
|
|
|
|
uint8_t wasReady = sensor->IsReady();
|
|
|
sensor->Stop();
|
|
|
- uint8_t success = 0;
|
|
|
+ nBus_statusType_t success = STATUS_SUCCESS;
|
|
|
if (subslaveIndex == (uint8_t) sensorAccIndex){
|
|
|
sensor->accSensor->Calibrate();
|
|
|
- success = 1;
|
|
|
+ success = STATUS_FAIL;
|
|
|
}
|
|
|
|
|
|
if (subslaveIndex == (uint8_t) sensorGyroIndex){
|
|
|
sensor->gyroSensor->Calibrate();
|
|
|
- success = 1;
|
|
|
+ success = STATUS_FAIL;
|
|
|
}
|
|
|
|
|
|
// if (subslaveIndex == sensorMagIndex){
|
|
|
@@ -383,7 +390,7 @@ uint8_t mcu_spi_calibrate(uint8_t subslaveIndex, uint8_t calibrationParamsNum, u
|
|
|
sensor->accSensor->Calibrate();
|
|
|
sensor->gyroSensor->Calibrate();
|
|
|
// sensor->magSensor->Calibrate();
|
|
|
- success = 1;
|
|
|
+ success = STATUS_FAIL;
|
|
|
}
|
|
|
|
|
|
if (wasReady !=0 ) {
|