|
@@ -36,6 +36,36 @@ typedef enum
|
|
|
PARAM_FILTER
|
|
PARAM_FILTER
|
|
|
} nBus_param_t;
|
|
} nBus_param_t;
|
|
|
|
|
|
|
|
|
|
+/**
|
|
|
|
|
+ * @brief Maximálny počet bajtov formátu Q.
|
|
|
|
|
+ */
|
|
|
|
|
+#define Q_MAX_SIZE 64
|
|
|
|
|
+
|
|
|
|
|
+/**
|
|
|
|
|
+ * @brief Definuje formát dát senzora.
|
|
|
|
|
+ */
|
|
|
|
|
+typedef struct __attribute__((packed))
|
|
|
|
|
+{
|
|
|
|
|
+ /** Bit určujúci či sú dáta znamienkové.
|
|
|
|
|
+ * 0 = ungigned, 1 = signed */
|
|
|
|
|
+ uint8_t sign : 1;
|
|
|
|
|
+
|
|
|
|
|
+ /** Bit určujúci či majú dáta premenlivú dĺžku.
|
|
|
|
|
+ * Ak majú premenlivú dĺžku, dátový formát je potom:
|
|
|
|
|
+ * | sensor id | data len | data |
|
|
|
|
|
+ * 0 = fixed, 1 = variable */
|
|
|
|
|
+ uint8_t variable_length : 1;
|
|
|
|
|
+
|
|
|
|
|
+ /** Počet celočíselných bitov formátu Qm.n
|
|
|
|
|
+ * rozsah: 0 - 64 */
|
|
|
|
|
+ uint8_t q_m : 7;
|
|
|
|
|
+
|
|
|
|
|
+ /** Počet desatinných bitov formátu Qm.n
|
|
|
|
|
+ * rozsah: 0 - 64 */
|
|
|
|
|
+ uint8_t q_n : 7;
|
|
|
|
|
+
|
|
|
|
|
+} nBus_sensorFormat_t;
|
|
|
|
|
+
|
|
|
#define PARAM_VALUE_NONE 0x7FFFFFFF
|
|
#define PARAM_VALUE_NONE 0x7FFFFFFF
|
|
|
|
|
|
|
|
nBus_param_t *nbus_interface_allParams();
|
|
nBus_param_t *nbus_interface_allParams();
|
|
@@ -60,6 +90,7 @@ typedef struct
|
|
|
void (*read)(void);
|
|
void (*read)(void);
|
|
|
uint8_t (*store)(void);
|
|
uint8_t (*store)(void);
|
|
|
uint8_t (*calibrate)(uint8_t subslaveIndex, uint8_t calibrationParamsNum, uint8_t *calibrationParams);
|
|
uint8_t (*calibrate)(uint8_t subslaveIndex, uint8_t calibrationParamsNum, uint8_t *calibrationParams);
|
|
|
|
|
+ nBus_sensorFormat_t (*getFormat)(uint8_t sensor_index);
|
|
|
} nBusAppInterface_t;
|
|
} nBusAppInterface_t;
|
|
|
|
|
|
|
|
#endif /* MODULES_NBUS_INC_APP_BRIDGE_H_ */
|
|
#endif /* MODULES_NBUS_INC_APP_BRIDGE_H_ */
|