Index: firmware/App/Drivers/BloodLeakDriver.c =================================================================== diff -u -rb2436685ec42e879781b0bc1348ba80f333196bb -ra05a0eb6d5aa38f5d026b9049a6284282e192172 --- firmware/App/Drivers/BloodLeakDriver.c (.../BloodLeakDriver.c) (revision b2436685ec42e879781b0bc1348ba80f333196bb) +++ firmware/App/Drivers/BloodLeakDriver.c (.../BloodLeakDriver.c) (revision a05a0eb6d5aa38f5d026b9049a6284282e192172) @@ -91,68 +91,8 @@ #define BLOOD_LEAK_FPGA_ERROR_TIMEOUT_MS ( 2 * MS_PER_SECOND ) ///< Blood leak embedded mode FPGA error timeout in milliseconds. #define BLOOD_LEAK_RXFIFO_COUNT_MASK 0x03FF ///< Mask high order bits of blood leak sensor rx count. +#define COMM_BUFFER_OUT_CAN_PC 15 -typedef enum BloodLeakStates -{ - BLOOD_LEAK_WAIT_FOR_POST_STATE = 0, ///< Blood leak wait for post state. - BLOOD_LEAK_CHECK_SET_POINT_STATE, ///< Blood leak check set point state. - BLOOD_LEAK_INIT_STATE, ///< Blood leak init state. - BLOOD_LEAK_CHECK_ZERO_AND_SELF_TEST_STATE, ///< Blood leak check for zero and self test commands state. - BLOOD_LEAK_VERIFY_INTENSITY_AFTER_ZEROING_STATE, ///< Blood leak verify intensity after zeroing state. - BLOOD_LEAK_NORMAL_STATE, ///< Blood leak normal state. - BLOOD_LEAK_RECOVER_BLOOD_DETECT_STATE, ///< Blood leak recover blood detect state. - NUM_OF_BLOOD_LEAK_STATES ///< Number of blood leak detector states. -} BLOOD_LEAK_STATE_T; - -/// Defined embedded states -typedef enum EmbStates -{ - BLOOD_LEAK_EMB_MODE_WAIT_FOR_COMAND_STATE = 0, ///< Blood leak embedded mode state wait for command state. - BLOOD_LEAK_EMB_MODE_SEND_COMMAND_STATE, ///< Blood leak embedded mode state send command state. - BLOOD_LEAK_EMB_MODE_WAIT_FOR_COMMAND_RESPONSE_STATE, ///< Blood leak embedded mode state wait for command response state. - NUM_OF_BLOOD_LEAK_EMB_MODE_STATES ///< Number of blood leak embedded mode states. -} BLOOD_LEAK_EMB_MODE_STATE_T; - -/// Blood leak detector embedded mode commands -typedef enum EmbCommands -{ - NU_EMB_MODE_CMD = 0, ///< Null command. - CS_EMB_MODE_CMD, ///< Control S command to switch to embedded mode. - SP_EMB_MODE_CMD, ///< Set point command to set the set point. - T_EMB_MODE_CMD, ///< Self test command. - G_EMB_MODE_CMD, ///< Get self test command. - I_EMB_MODE_CMD, ///< Intensity command. - V_EMB_MODE_CMD, ///< Blood detection level command. - Z_EMB_MODE_CMD, ///< Zero sensor command. - Q_EMB_MODE_CMD, ///< Zero sensor confirm command. - D_EMB_MODE_CMD, ///< Display blood detection command. - C_EMB_MODE_CMD, ///< Calibration sensor command. - NUM_OF_EMB_CMDS, ///< Number of embedded mode commands. -} BLOOD_LEAK_EMB_MODE_CMD_T; - -#pragma pack(push,1) -/// Embedded mode commands specifications -typedef struct -{ - U08 commandASCII; ///< Blood leak sensor command ID number in ASCII. - U08 expChar1; ///< Blood leak sensor expected response in character. - U08 expChar2; ///< Blood leak sensor expected response in character. - U32 length; ///< Blood leak sensor expected response length in bytes. - U32 timeoutMS; ///< Blood leak sensor receive timeout in milliseconds. - U32 commandResp; ///< Blood leak sensor command response back. - U08 commandRqstCount; ///< Blood leak sensor command request count. - BOOL isCmdRespRdy; ///< Blood leak sensor is command response ready flag. -} EMB_MODE_CMD_T; - -/// Blood leak embedded mode response command structure -typedef struct -{ - U08 command; ///< Blood leak command. - U32 responseLen; ///< Blood leak response length. - U08 responseBuffer[ BLOOD_LEAK_EMB_MODE_RESP_BUFFER_LEN ]; ///< Blood leak response buffer. -} BLOOD_LEAK_EMB_MODE_RESP_T; -#pragma pack(pop) - // ********** private data ********** static BLOOD_LEAK_STATE_T bloodLeakState; static U32 bloodLeakUARTCmdIndex;