DLIMIKO 11 mēneši atpakaļ
vecāks
revīzija
702f0f4c30

+ 6 - 6
include/app_bridge.h

@@ -38,10 +38,10 @@ typedef enum
     PARAM_RANGE,
     PARAM_RANGE0,
     PARAM_FILTER,
-    _NBUS_PARAM_COUNT  // number of parameters, must be last!
+    _NBUS_PARAM_COUNT // number of parameters, must be last!
 } nBus_param_t;
 
-typedef enum 
+typedef enum
 {
     STATUS_NOT_SUPPORTED = 0xFF,
     STATUS_SUCCESS = 0,
@@ -88,20 +88,20 @@ typedef struct
     void (*init)(void *hw_interface, void *hw_config);
     void (*reset)();
     nBus_sensorType_t (*getType)(uint8_t sensor_index);
-    uint8_t (*getSensorCount)(); 
+    uint8_t (*getSensorCount)();
 
     uint8_t (*getData)(uint8_t sensor_index, uint8_t *data);
     nBus_statusType_t (*setData)(uint8_t *data, uint8_t count, uint8_t *response);
-   
+
     uint8_t (*hasParam)(uint8_t sensor_index, nBus_param_t param_name);
     int32_t (*getParam)(uint8_t sensor_index, nBus_param_t param_name);
     nBus_statusType_t (*setParam)(uint8_t sensor_index, nBus_param_t param_name, int32_t param_value);
-    
+
     void (*start)(void);
     void (*stop)(void);
     void (*read)(void);
     uint8_t (*store)(void);
-    
+
     nBus_statusType_t (*calibrate)(uint8_t sensor_index);
     nBus_sensorFormat_t (*getSensorFormat)(uint8_t sensor_index);
     nBus_statusType_t (*find)(uint8_t enable);

+ 4 - 4
include/app_dummy.h

@@ -22,20 +22,20 @@ extern "C"
     void dummy_init(void *hw_interface, void *hw_config);
     void dummy_reset();
     nBus_sensorType_t dummy_getType(uint8_t sensor_index);
-    uint8_t dummy_getSensorCount(); 
+    uint8_t dummy_getSensorCount();
 
     uint8_t dummy_getData(uint8_t sensor_index, uint8_t *data);
     nBus_statusType_t dummy_setData(uint8_t *data, uint8_t count, uint8_t *response);
-   
+
     uint8_t dummy_hasParam(uint8_t sensor_index, nBus_param_t param_name);
     int32_t dummy_getParam(uint8_t sensor_index, nBus_param_t param_name);
     nBus_statusType_t dummy_setParam(uint8_t sensor_index, nBus_param_t param_name, int32_t param_value);
-    
+
     void dummy_start(void);
     void dummy_stop(void);
     void dummy_read(void);
     uint8_t dummy_store(void);
-    
+
     nBus_statusType_t dummy_calibrate(uint8_t sensor_index);
     nBus_sensorFormat_t dummy_getSensorFormat(uint8_t sensor_index);
     nBus_statusType_t dummy_find(uint8_t enable);

+ 43 - 52
src/app_dummy.c

@@ -1,60 +1,53 @@
 #include "app_dummy.h"
 #include <stdint.h>
 
-
 nBusAppInterface_t dummy_driver = {
-    dummy_init,    dummy_reset,    dummy_getType,  dummy_getSensorCount, dummy_getData,
-    dummy_setData, dummy_hasParam, dummy_getParam, dummy_setParam,       dummy_start,
-    dummy_stop,    dummy_read,     dummy_store,    dummy_calibrate,      dummy_getSensorFormat,
-    dummy_find,    dummy_device_ready
-};
-
-
-//////////////////////////////////////////////////////////////      Dummy test data structure    ///////////////////////////////////////////////////////////////////// 
-uint16_t dummy_data_acc[3] = {0x31F5, 0xCCBD, 0xAABB};                   // dec: 12789, -13123, -21829
-uint32_t dummy_data_gyro[3] = {0x1234ABCD, 0xFEDCBA98, 0x89ABCD13};      // dec: 305441741, -19088744, -1985229549
-uint8_t dummy_data_mag[2] = {0xAB, 0x12};                                // dec: 171, 18
-uint64_t dummy_data_hrate[2] = {0x1234ABCD7890ABCD, 0xABCD123498765432}; // dec: 1311862290451049421, -6067173105892699086
-uint16_t dummy_data_pressure[1] = {0x7FAB};                              // dec: 32683
+    dummy_init,     dummy_reset,     dummy_getType,         dummy_getSensorCount, dummy_getData,     dummy_setData,
+    dummy_hasParam, dummy_getParam,  dummy_setParam,        dummy_start,          dummy_stop,        dummy_read,
+    dummy_store,    dummy_calibrate, dummy_getSensorFormat, dummy_find,           dummy_device_ready};
+
+//////////////////////////////////////////////////////////////      Dummy test data structure
+////////////////////////////////////////////////////////////////////////
+uint16_t dummy_data_acc[3] = {0x31F5, 0xCCBD, 0xAABB};              // dec: 12789, -13123, -21829
+uint32_t dummy_data_gyro[3] = {0x1234ABCD, 0xFEDCBA98, 0x89ABCD13}; // dec: 305441741, -19088744, -1985229549
+uint8_t dummy_data_mag[2] = {0xAB, 0x12};                           // dec: 171, 18
+uint64_t dummy_data_hrate[2] = {0x1234ABCD7890ABCD,
+                                0xABCD123498765432}; // dec: 1311862290451049421, -6067173105892699086
+uint16_t dummy_data_pressure[1] = {0x7FAB};          // dec: 32683
 uint8_t dummy_data_led = 0;
 uint16_t dummy_data_motor[2] = {0x0000, 0x0000};
 
-
 #define DUMMY_SUB_COUNT 7
 #define DUMMY_SENSOR_COUNT 5
 #define DUMMY_ACTUATOR_COUNT 2
 
-
 // dummy sensors
-uint8_t *dummy_data_sensors[DUMMY_SENSOR_COUNT] = {(uint8_t *)dummy_data_acc, (uint8_t *)dummy_data_gyro, (uint8_t *)dummy_data_mag,
-                                                   (uint8_t *)dummy_data_hrate, (uint8_t *)dummy_data_pressure};
+uint8_t *dummy_data_sensors[DUMMY_SENSOR_COUNT] = {(uint8_t *)dummy_data_acc, (uint8_t *)dummy_data_gyro,
+                                                   (uint8_t *)dummy_data_mag, (uint8_t *)dummy_data_hrate,
+                                                   (uint8_t *)dummy_data_pressure};
 
-uint8_t dummy_data_sensor_lens[DUMMY_SENSOR_COUNT] = {sizeof(dummy_data_acc), sizeof(dummy_data_gyro), sizeof(dummy_data_mag), sizeof(dummy_data_hrate),
+uint8_t dummy_data_sensor_lens[DUMMY_SENSOR_COUNT] = {sizeof(dummy_data_acc), sizeof(dummy_data_gyro),
+                                                      sizeof(dummy_data_mag), sizeof(dummy_data_hrate),
                                                       sizeof(dummy_data_pressure)};
 
 // dummy actuators
 uint8_t *dummy_data_actuators[DUMMY_ACTUATOR_COUNT] = {(uint8_t *)&dummy_data_led, (uint8_t *)dummy_data_motor};
 
-
 uint8_t dummy_data_actuator_lens[DUMMY_ACTUATOR_COUNT] = {sizeof(dummy_data_led), sizeof(dummy_data_motor)};
 
-
-/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
-
+///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
 uint8_t _dummy_memcpy(uint8_t sensor_index, uint8_t *dst, uint8_t *src, uint8_t count)
 {
     uint8_t i = 0;
-    
+
     dst[i] = sensor_index;
-    
-    for (; i < count; i++)
-        dst[i + 1] = src[i]; 
-    
-    return i + 1;
- }
 
+    for (; i < count; i++)
+        dst[i + 1] = src[i];
 
+    return i + 1;
+}
 
 nBusAppInterface_t *getDummyDriver()
 {
@@ -98,7 +91,6 @@ uint8_t dummy_getSensorCount()
     return 7;
 }
 
-
 uint8_t dummy_getData(uint8_t sensor_index, uint8_t *data)
 {
     uint8_t buff_index = 0;
@@ -110,21 +102,23 @@ uint8_t dummy_getData(uint8_t sensor_index, uint8_t *data)
     case 3:
     case 4:
     case 5:
-        return _dummy_memcpy(sensor_index, data, dummy_data_sensors[sensor_index - 1], dummy_data_sensor_lens[sensor_index - 1]);
+        return _dummy_memcpy(sensor_index, data, dummy_data_sensors[sensor_index - 1],
+                             dummy_data_sensor_lens[sensor_index - 1]);
 
     case 129:
     case 130:
-        return _dummy_memcpy(sensor_index, data, dummy_data_actuators[sensor_index - 129], dummy_data_actuator_lens[sensor_index - 129]);
+        return _dummy_memcpy(sensor_index, data, dummy_data_actuators[sensor_index - 129],
+                             dummy_data_actuator_lens[sensor_index - 129]);
 
-    case 0:
-    {
+    case 0: {
         uint8_t buff_index = 0;
-        
+
         for (uint8_t i = 0; i < DUMMY_SENSOR_COUNT; i++)
             buff_index += _dummy_memcpy(i + 1, data + buff_index, dummy_data_sensors[i], dummy_data_sensor_lens[i]);
 
         for (uint8_t i = 0; i < DUMMY_ACTUATOR_COUNT; i++)
-            buff_index += _dummy_memcpy(i + 129, data + buff_index, dummy_data_actuators[i], dummy_data_actuator_lens[i]);    
+            buff_index +=
+                _dummy_memcpy(i + 129, data + buff_index, dummy_data_actuators[i], dummy_data_actuator_lens[i]);
 
         return buff_index;
     }
@@ -137,37 +131,35 @@ uint8_t dummy_getData(uint8_t sensor_index, uint8_t *data)
 
 nBus_statusType_t dummy_setData(uint8_t *data, uint8_t count, uint8_t *response)
 {
-    uint8_t actuaror_id; 
+    uint8_t actuaror_id;
     nBus_sensorFormat_t actuator_format;
     uint8_t actuator_byte_count;
     uint8_t response_idx = 0;
     uint8_t data_idx = 0;
 
-
-    while(data_idx < count)
+    while (data_idx < count)
     {
         actuaror_id = data[data_idx++]; // fetch actuator id
-        
+
         switch (actuaror_id)
         {
         case 129:
-        case 130:
-        {
+        case 130: {
             actuator_format = dummy_getSensorFormat(actuaror_id);
             actuator_byte_count = actuator_format.samples * actuator_format.byte_length;
 
             // check for overflow
-           // if (data_idx + actuator_byte_count > count)
+            // if (data_idx + actuator_byte_count > count)
             {
-                //response[response_idx++] = actuaror_id;
-                //response[response_idx++] = STATUS_FAIL;
-                //data_idx = count;
-                //break;
+                // response[response_idx++] = actuaror_id;
+                // response[response_idx++] = STATUS_FAIL;
+                // data_idx = count;
+                // break;
             }
 
             for (uint8_t i = 0; i < actuator_byte_count; i++)
             {
-        
+
                 dummy_data_actuators[actuaror_id - 129][i] = data[data_idx++];
             }
 
@@ -180,9 +172,8 @@ nBus_statusType_t dummy_setData(uint8_t *data, uint8_t count, uint8_t *response)
             response[response_idx++] = actuaror_id;
             response[response_idx++] = STATUS_NOT_SUPPORTED;
         }
-
     }
-    
+
     return response_idx;
 }
 
@@ -223,7 +214,7 @@ uint8_t dummy_store(void)
     return 0;
 }
 
- nBus_statusType_t dummy_calibrate(uint8_t sensor_index)
+nBus_statusType_t dummy_calibrate(uint8_t sensor_index)
 {
     return STATUS_NOT_SUPPORTED;
 }

+ 9 - 9
src/nbus_slave_module_unicast.c

@@ -29,7 +29,7 @@ void nbus_slave_unicastToModuleGet(nBus_TypeDef *nbus)
                 break;
             }
 
-            nbus->tx_buffer[4] = nbus->rx_buffer[3]; // param id
+            nbus->tx_buffer[4] = nbus->rx_buffer[3];                                              // param id
             int32_t param_value = nbus->interface->getParam(0, (nBus_param_t)nbus->rx_buffer[3]); // param value 4B
             nbus->tx_buffer[5] = (uint8_t)(param_value & 0xFF);
             nbus->tx_buffer[6] = (uint8_t)((param_value >> 8) & 0xFF);
@@ -44,8 +44,8 @@ void nbus_slave_unicastToModuleGet(nBus_TypeDef *nbus)
                 if (nbus->interface->hasParam(0, i))
                 {
                     int32_t param_value = nbus->interface->getParam(0, i);
-                    nbus->tx_buffer[4 + 5 * i] = i; // param id
-                    nbus->tx_buffer[5 + 5 * i] = (uint8_t)(param_value & 0xFF);  // param value 4B
+                    nbus->tx_buffer[4 + 5 * i] = i;                             // param id
+                    nbus->tx_buffer[5 + 5 * i] = (uint8_t)(param_value & 0xFF); // param value 4B
                     nbus->tx_buffer[6 + 5 * i] = (uint8_t)((param_value >> 8) & 0xFF);
                     nbus->tx_buffer[7 + 5 * i] = (uint8_t)((param_value >> 16) & 0xFF);
                     nbus->tx_buffer[8 + 5 * i] = (uint8_t)((param_value >> 24) & 0xFF);
@@ -135,7 +135,6 @@ void nbus_slave_unicastToModuleGet(nBus_TypeDef *nbus)
         nbus->tx_length += 8;
     }
     break;
-       
 
     case CMD_FORMAT: {
         uint8_t sensor_cnt = nbus->interface->getSensorCount();
@@ -179,9 +178,9 @@ void nbus_slave_unicastToModuleSet(nBus_TypeDef *nbus)
     break;
 
     case CMD_PARAM: {
-        
+
         uint8_t rx_payload = nbus->rx_length - META_SIZE;
-        
+
         // empty or wrong number of parameters
         if (rx_payload == 0 || rx_payload % 5 != 0)
         {
@@ -192,11 +191,11 @@ void nbus_slave_unicastToModuleSet(nBus_TypeDef *nbus)
         {
             uint8_t param_id;
             uint32_t param_value;
-            
+
             for (uint8_t i = 0; i < rx_payload; i++)
             {
                 param_id = nbus->rx_buffer[3 + 5 * i];
-                param_value = *(int32_t*)nbus->rx_buffer[4 + 5 * i];
+                param_value = *(int32_t *)nbus->rx_buffer[4 + 5 * i];
 
                 nbus->tx_buffer[4 + 2 * i] = param_id;
                 nbus->tx_buffer[5 + 2 * i] = nbus->interface->setParam(0, param_id, param_value);
@@ -228,7 +227,8 @@ void nbus_slave_unicastToModuleSet(nBus_TypeDef *nbus)
 
     case CMD_DATA: {
 
-        nbus->tx_length += nbus->interface->setData(&nbus->rx_buffer[3], nbus->rx_length - META_SIZE, &nbus->tx_buffer[4]);
+        nbus->tx_length +=
+            nbus->interface->setData(&nbus->rx_buffer[3], nbus->rx_length - META_SIZE, &nbus->tx_buffer[4]);
     }
     break;
 

+ 16 - 11
src/nbus_slave_sensor_unicast.c

@@ -4,7 +4,8 @@
 
 void nbus_slave_unicastToSensorGet(nBus_TypeDef *nbus)
 {
-    nBus_sensorType_t sensor_type = nbus->interface->getType(nbus->rx_buffer[1]); // nbus->rx_buffer[1] is whole address with type
+    nBus_sensorType_t sensor_type =
+        nbus->interface->getType(nbus->rx_buffer[1]); // nbus->rx_buffer[1] is whole address with type
 
     if (sensor_type == TYPE_UNKNOWN) // handle bad sensor address
     {
@@ -17,14 +18,16 @@ void nbus_slave_unicastToSensorGet(nBus_TypeDef *nbus)
     case CMD_PARAM: {
         if (nbus->rx_length == META_SIZE) // get concrete param
         {
-            if (nbus->interface->hasParam(nbus->rx_buffer[1], (nBus_param_t)nbus->rx_buffer[3]) == 0) // handle non-existing param
+            if (nbus->interface->hasParam(nbus->rx_buffer[1], (nBus_param_t)nbus->rx_buffer[3]) ==
+                0) // handle non-existing param
             {
                 setErrorResponse(nbus, PARAM_NOT_IMPLEMENTED);
                 break;
             }
 
             nbus->tx_buffer[4] = nbus->rx_buffer[3]; // param id
-            int32_t param_value = nbus->interface->getParam(nbus->rx_buffer[1], (nBus_param_t)nbus->rx_buffer[3]); // param value 4B
+            int32_t param_value =
+                nbus->interface->getParam(nbus->rx_buffer[1], (nBus_param_t)nbus->rx_buffer[3]); // param value 4B
             nbus->tx_buffer[5] = (uint8_t)(param_value & 0xFF);
             nbus->tx_buffer[6] = (uint8_t)((param_value >> 8) & 0xFF);
             nbus->tx_buffer[7] = (uint8_t)((param_value >> 16) & 0xFF);
@@ -38,8 +41,8 @@ void nbus_slave_unicastToSensorGet(nBus_TypeDef *nbus)
                 if (nbus->interface->hasParam(nbus->rx_buffer[1], i))
                 {
                     int32_t param_value = nbus->interface->getParam(nbus->rx_buffer[1], i);
-                    nbus->tx_buffer[4 + 5 * i] = i; // param id
-                    nbus->tx_buffer[5 + 5 * i] = (uint8_t)(param_value & 0xFF);  // param value 4B
+                    nbus->tx_buffer[4 + 5 * i] = i;                             // param id
+                    nbus->tx_buffer[5 + 5 * i] = (uint8_t)(param_value & 0xFF); // param value 4B
                     nbus->tx_buffer[6 + 5 * i] = (uint8_t)((param_value >> 8) & 0xFF);
                     nbus->tx_buffer[7 + 5 * i] = (uint8_t)((param_value >> 16) & 0xFF);
                     nbus->tx_buffer[8 + 5 * i] = (uint8_t)((param_value >> 24) & 0xFF);
@@ -94,7 +97,8 @@ void nbus_slave_unicastToSensorGet(nBus_TypeDef *nbus)
 
 void nbus_slave_unicastToSensorSet(nBus_TypeDef *nbus)
 {
-    nBus_sensorType_t sensor_type = nbus->interface->getType(nbus->rx_buffer[1]); // nbus->rx_buffer[1] is whole address with type
+    nBus_sensorType_t sensor_type =
+        nbus->interface->getType(nbus->rx_buffer[1]); // nbus->rx_buffer[1] is whole address with type
 
     if (sensor_type == TYPE_UNKNOWN) // handle bad sensor address
     {
@@ -105,9 +109,9 @@ void nbus_slave_unicastToSensorSet(nBus_TypeDef *nbus)
     switch (nbus->function_code.function)
     {
     case CMD_PARAM: {
-        
+
         uint8_t rx_payload = nbus->rx_length - META_SIZE;
-        
+
         // empty or wrong number of parameters
         if (rx_payload == 0 || rx_payload % 5 != 0)
         {
@@ -118,11 +122,11 @@ void nbus_slave_unicastToSensorSet(nBus_TypeDef *nbus)
         {
             uint8_t param_id;
             uint32_t param_value;
-            
+
             for (uint8_t i = 0; i < rx_payload; i++)
             {
                 param_id = nbus->rx_buffer[3 + 5 * i];
-                param_value = *(int32_t*)nbus->rx_buffer[4 + 5 * i];
+                param_value = *(int32_t *)nbus->rx_buffer[4 + 5 * i];
 
                 nbus->tx_buffer[4 + 2 * i] = param_id;
                 nbus->tx_buffer[5 + 2 * i] = nbus->interface->setParam(nbus->rx_buffer[1], param_id, param_value);
@@ -147,7 +151,8 @@ void nbus_slave_unicastToSensorSet(nBus_TypeDef *nbus)
             break;
         }
 
-        nbus->tx_length += nbus->interface->setData(&nbus->rx_buffer[3], nbus->rx_length - META_SIZE, &nbus->tx_buffer[4]);
+        nbus->tx_length +=
+            nbus->interface->setData(&nbus->rx_buffer[3], nbus->rx_length - META_SIZE, &nbus->tx_buffer[4]);
     }
     break;