/* * app_bridge.h * * Created on: Nov 2, 2023 * Author: juraj */ #ifndef MODULES_NBUS_INC_APP_BRIDGE_H_ #define MODULES_NBUS_INC_APP_BRIDGE_H_ #include "mcu_platform.h" typedef enum{ TYPE_UNKNOWN = 0xFF, TYPE_ACCELEROMETER = 0, TYPE_GYROSCOPE, TYPE_MAGNETOMETER, TYPE_TEMPERATURE, TYPE_HUMIDITY, TYPE_PRESSURE, TYPE_HEART_RATE, TYPE_GNOSTIC_DISTANCE, }nBus_sensorType_t; typedef enum{ PARAM_NONE = 0xFF, PARAM_TIMEBASE = 0, PARAM_RESOLUTION, PARAM_GAIN, PARAM_OFFSET, PARAM_SAMPLERATE, PARAM_RANGE }nBus_param_t; nBus_param_t* nbus_interface_allParams(); uint8_t nbus_interface_allParamsCount(); nBus_sensorType_t *nbus_interface_allTypes(); uint8_t nbus_interface_allTypesCount(); 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 (*getData)(uint8_t sensor_index, uint8_t *data); uint8_t (*setData)(uint8_t *data); uint8_t (*hasParam)(uint8_t sensor_index, nBus_param_t param_name); uint8_t (*getParam)(uint8_t sensor_index, nBus_param_t param_name); nBus_param_t (*setParam)(uint8_t sensor_index, nBus_param_t param_name, uint8_t param_value); void (*start)(); void (*stop)(); }nBusAppInterface_t; #endif /* MODULES_NBUS_INC_APP_BRIDGE_H_ */