/******************************************************************************* * @file cmd_parse.h * @brief ******************************************************************************/ #ifndef _CMD_PARSE_H_ #define _CMD_PARSE_H_ #include "sdk_config.h" #include #include #include #include #include #include #include "nordic_common.h" #include "nrf.h" #include "ble_hci.h" #include "ble_advdata.h" #include "ble_advertising.h" #include "ble_conn_params.h" #include "nrf_sdh.h" #include "nrf_sdh_soc.h" #include "nrf_sdh_ble.h" #include "nrf_ble_gatt.h" #include "nrf_ble_qwr.h" #include "app_timer.h" #include "ble_nus.h" #include "app_uart.h" #include "app_util_platform.h" #include "bsp_btn_ble.h" #include "nrf_pwr_mgmt.h" #include "nrf_delay.h" #include "math.h" #include "crc16.h" //add 25.04.23 #include "nrf_ble_lesc.h" #include "cat_interface.h" #include "ir_i2c.h" #include "nrf_crypto.h" #include "nrf_pwr_mgmt.h" #include #include "system_interface.h" #include "main.h" #include "app_raw_main.h" //0117 #include "main_timer.h" #include "ad5272_i2c.h" #include "ada2200_spi.h" #include "power_control.h" #include "tmp235_q1.h" #include "mcp4725_i2c.h" #include "measurements.h" //#include "fstorage.h" #include "battery_saadc.h" #include "mcp4725_adc.h" #include "meas_pd_voltage_simple.h" #include "meas_pd_voltage_half.h" #include "meas_pd_voltage_full.h" #include "full_agc.h" //#include "meas_pd_voltage_custom.h" #include "meas_pd_imm.h" #include "meas_pd_48.h" typedef struct { char tag[5]; // Null-terminated 4-char command uint16_t value0; // Data value uint16_t value1; // Data value uint16_t value2; // Data value uint16_t value3; // Data value uint16_t value4; // Data value char value_ascii[13]; uint8_t values[24]; // data vlue // uint16_t crc; // CRC value } ParsedCmd; uint32_t serial_to_passkey_hash(const char *input); void received_command_process(uint8_t const *data_array, which_cmd_t cmd_t,uint8_t length); bool length_error(const char *cmd , uint8_t target_length, uint8_t length); bool parse_cmd(const uint8_t *buffer, ParsedCmd *cmd_out,uint8_t length); bool activate_error(const char *cmd , bool device_status); void param_error(const char *cmd ); void quest_error(const char *cmd ); bool is_valid_serial_no(const char *serial); bool is_valid_passkey(const char *passkey); ret_code_t eeprom_init_values_read(void); bool crc16_check(uint8_t const * p_data, uint32_t data_len, uint16_t expected_crc); bool crc16_check_packet(uint8_t const * packet, uint32_t packet_len); #endif /* */