src.dualinventive.com/jjacobs/dinetrpcll-sniffer/libdi/include/di/rpc/sensor.h

59 lines
2.0 KiB
C

#ifndef LIBDI_INCLUDE_DI_RPC_SENSOR_H_
#define LIBDI_INCLUDE_DI_RPC_SENSOR_H_
#include <di/array.h>
#include <di/rpc.h>
#include <di/constants/device/battery.h>
#include <di/constants/device/charger.h>
#include <di/constants/rpc.h>
#define DI_RPC_SENSOR_INFO_BATTERY_VOLTAGE_ITEM(battery_nr) \
{ \
.uid = DI_RPC_UID_SENSOR_BATTERY##battery_nr##_VOLTAGE,\
.label = DI_RPC_LABEL_SENSOR_BATTERY##battery_nr##_VOLTAGE, \
.data_type = DI_RPC_DATA_TYPE_NUMBER \
}
#define DI_RPC_SENSOR_INFO_BATTERY_STATE_ITEM(battery_nr) \
{ \
.uid = DI_RPC_UID_SENSOR_BATTERY##battery_nr##_STATE,\
.label = DI_RPC_LABEL_SENSOR_BATTERY##battery_nr##_STATE, \
.data_type = DI_RPC_DATA_TYPE_ENUM, \
.enumerator = { .size = DI_ARRAY_SIZE(di_device_battery_rpc_state_list), \
.begin = (struct di_rpc_enum *)di_device_battery_rpc_state_list } \
}
#define DI_RPC_SENSOR_INFO_CHARGER_VOLTAGE_ITEM(charger_nr) { \
.uid = DI_RPC_UID_SENSOR_CHARGER##charger_nr##_VOLTAGE, \
.label = DI_RPC_LABEL_SENSOR_CHARGER##charger_nr##_VOLTAGE,\
.data_type = DI_RPC_DATA_TYPE_NUMBER \
}
#define DI_RPC_SENSOR_INFO_CHARGER_STATE_ITEM(charger_nr) { \
.uid = DI_RPC_UID_SENSOR_CHARGER##charger_nr##_STATE, \
.label = DI_RPC_LABEL_SENSOR_CHARGER##charger_nr##_STATE, \
.data_type = DI_RPC_DATA_TYPE_ENUM, \
.enumerator = { .size = DI_ARRAY_SIZE(di_device_charger_rpc_state_list), \
.begin = (struct di_rpc_enum *)di_device_charger_rpc_state_list } \
}
#define DI_RPC_SENSOR_INFO_GPS_ITEM { \
.uid = DI_RPC_UID_SENSOR_GPS, \
.label = DI_RPC_LABEL_SENSOR_GPS, \
.data_type = DI_RPC_DATA_TYPE_GPS \
}
#define DI_RPC_SENSOR_INFO_RSSI_ITEM { \
.uid = DI_RPC_UID_SENSOR_RSSI, \
.label = DI_RPC_LABEL_SENSOR_RSSI, \
.data_type = DI_RPC_DATA_TYPE_NUMBER \
}
#define DI_RPC_SENSOR_INFO_BER_ITEM { \
.uid = DI_RPC_UID_SENSOR_BER, \
.label = DI_RPC_LABEL_SENSOR_BER, \
.data_type = DI_RPC_DATA_TYPE_NUMBER \
}
#endif /* LIBDI_INCLUDE_DI_RPC_SENSOR_H_ */