// Auto-generated template file: command_ALARM_TIMEOUT_GET.tpl.c // Generation timestamp: 2021-06-17 18:31:59.933877 #include "../typedefs.h" #include "../communication.h" #include "../hardware.h" #include "../spurious.h" // NOT INCLUDED IN GENERATED CODE err_t command_ALARM_TIMEOUT_GET(void) { // Command: ALARM_TIMEOUT_GET // Description: Get the timeout value of one alarm // // Request code: CMDCODE_ALARM_TIMEOUT_GET_REQ // Response code: CMDCODE_ALARM_TIMEOUT_GET_REQ // Request payload (length in bytes is 1): // field #0 (1 byte) [type: enum_alarm_number_t] : ALARM_NUMBER (Alarm number) // Response payload (length in bytes is 3): // field #0 (1 byte) [type: enum_alarm_number_t] : ALARM_NUMBER (Alarm number) // field #1 (2 bytes) [type: uint16_t ] : TIMEOUT (Timeout value) // Auto-generated section: request payload fields reading enum_alarm_number_t req_alarm_number = (enum_alarm_number_t)communication_request_payload_retrieve_uint8_t(); // checking range for enum field req_alarm_number if((uint8_t)req_alarm_number < (uint8_t)enum_alarm_number_t_min) return ERR_RANGE; if((uint8_t)req_alarm_number > (uint8_t)enum_alarm_number_t_max) return ERR_RANGE; // End of auto-generated section // USER CODE HERE // CHECK : OK enum_alarm_number_t resp_alarm_number = req_alarm_number; uint16_t resp_timeout; alarm_timeout_t* p_timeout = alarm_get_timeout_ptr_by_enum(req_alarm_number); INTERRUPT_GlobalInterruptDisable(); resp_timeout = (*p_timeout); INTERRUPT_GlobalInterruptEnable(); // Auto-generated section: response payload fields writing communication_response_payload_appender_reset(); communication_response_payload_append_uint8_t((uint8_t)resp_alarm_number); communication_response_payload_append_uint16_t((uint16_t)resp_timeout); return NOERR; // End of auto-generated section }