/* * DDdefs.h * * Created on: Dec 19, 2025 * Author: Arpita Srivastava */ #ifndef _DD_DEFS_H_ #define _DD_DEFS_H_ #include #ifdef __cplusplus extern "C" { #endif // Set operation status typedef enum { SET_STATUS_ERROR = 0, SET_STATUS_SUCCESS = 1 }setStatus; /** * @brief Packed UART payload for conductivity data. */ struct __attribute__((packed)) condStruct { const char id = 'r'; float raw_cond = 0.0; uint8_t read_count = 0; uint8_t error = 0; }; /** * @brief Packed UART payload for temperature data. */ struct __attribute__((packed)) tempStruct { const char id = 't'; float raw_temp = 0.0; uint8_t read_count = 0; uint8_t error = 0; }; /** * @brief Packed UART payload for auto-poll conductivity and temperature data. */ struct __attribute__((packed)) AutoPollStruct { condStruct cond_data; tempStruct temp_data; }; /** * @brief Packed UART payload for calibration coefficients. */ struct __attribute__((packed)) coeffStruct { const char id = 'c'; float coeff1 = DEFAULT_COEFF; float coeff2 = DEFAULT_COEFF; float coeff3 = DEFAULT_COEFF; float coeff4 = DEFAULT_COEFF; float coeff5 = DEFAULT_COEFF; float coeff6 = DEFAULT_COEFF; float coeff7 = DEFAULT_COEFF; float coeff8 = DEFAULT_COEFF; float coeff9 = DEFAULT_COEFF; float coeff10 = DEFAULT_COEFF; float coeff11 = DEFAULT_COEFF; float coeff12 = DEFAULT_COEFF; }; /** * @brief Packed UART payload for firmware/hardware version and serial number. */ struct __attribute__((packed)) versionStruct { const char id = 'v'; char fw_ver[MAX_VERSION_LENGTH] = FIRMWARE_VERSION; char hw_ver[MAX_VERSION_LENGTH] = ""; char ser_num[MAX_VERSION_LENGTH] = ""; }; uint8_t get_error_flag(void); void set_error_flag(void); void clear_error_flag(void); bool is_auto_publish_enbld(void); void start_auto_publishing(void); void stop_auto_publishing(void); int auto_publish(int argc, char *argv[]); extern int cmd_start_poll_bin(int argc, char *argv[]); extern int cmd_stop_poll_bin(int argc, char *argv[]); extern int cmd_tx_raw_poll(int argc, char *argv[]); extern int cmd_rx_cal1(int argc, char *argv[]); extern int cmd_rx_cal2(int argc, char *argv[]); extern int cmd_rx_cal3(int argc, char *argv[]); extern int cmd_rx_cal4(int argc, char *argv[]); extern int cmd_rx_cal5(int argc, char *argv[]); extern int cmd_rx_cal6(int argc, char *argv[]); extern int cmd_rx_cal7(int argc, char *argv[]); extern int cmd_rx_cal8(int argc, char *argv[]); extern int cmd_rx_cal9(int argc, char *argv[]); extern int cmd_rx_cal10(int argc, char *argv[]); extern int cmd_rx_cal11(int argc, char *argv[]); extern int cmd_rx_cal12(int argc, char *argv[]); extern int cmd_tx_cal_data(int argc, char *argv[]); extern int cmd_rx_hardware_ver(int argc, char *argv[]); extern int cmd_rx_serial_num(int argc, char *argv[]); extern int cmd_tx_version_data(int argc, char *argv[]); extern int cmd_tx_cal_ver_bin(int argc, char *argv[]); #ifdef __cplusplus } // extern "C" #endif #endif /* -_DD_DEFS_H_ */