/* -------------------------------- Includes -------------------------------- */ #include ".\OsekCom.h" #include // Defines NULL #include // Defines true #include // Defines EXIT_FAILURE #include "definitions.h" // SYS function prototypes #include "Std_Types.h" #include "DiagnosticR/FicOsek/FicOsekCom.h" #include "RTE.h" #include "FunctionState.h" /* -------------------------------- Defines --------------------------------- */ #define CAN_CALC_STD_ID(id) ((uint32_t)(id)) /* ID in Target Process format of frames with static ID */ #define ID_TP_FRM_SWTRPRIVATEDHUCANFR06 (CAN_CALC_STD_ID(0x38U)) #define ID_TP_FRM_SWTRPRIVATEDHUCANFR05 (CAN_CALC_STD_ID(0x383U)) #define ID_TP_FRM_SWTRPRIVATEDHUCANFR04 (CAN_CALC_STD_ID(0x37FU)) #define ID_TP_FRM_SWTRPRIVATEDHUCANFR03 (CAN_CALC_STD_ID(0x37BU)) #define ID_TP_FRM_SWTRPRIVATEDHUCANFR02 (CAN_CALC_STD_ID(0x307U)) #define ID_TP_FRM_SWTRPRIVATEDHUCANFR01 (CAN_CALC_STD_ID(0x309U)) #define ID_TP_FRM_SWTRPRESSFR01 (CAN_CALC_STD_ID(0x410U)) #define ID_TP_FRM_SWTRSENSORFR01 (CAN_CALC_STD_ID(0x411U)) #define ID_TP_FRM_SWTRSENSORFR02 (CAN_CALC_STD_ID(0x412U)) #define ID_TP_FRM_SWTRSENSORFR03 (CAN_CALC_STD_ID(0x413U)) #define ID_TP_FRM_SWTRSENSORFR04 (CAN_CALC_STD_ID(0x414U)) #define ID_TP_FRM_SWTRSENSORFR05 (CAN_CALC_STD_ID(0x415U)) #define ID_TP_FRM_SWTRSENSORFR06 (CAN_CALC_STD_ID(0x416U)) #define ID_TP_FRM_SWTRSENSORFR07 (CAN_CALC_STD_ID(0x417U)) #define ID_TP_FRM_SWTRSENSORFR08 (CAN_CALC_STD_ID(0x418U)) #define ID_TP_FRM_IHUPRIVATEDHUCANFR01 (CAN_CALC_STD_ID(0x30U)) #define ID_TP_FRM_DIAG_PHYSRESP_SWTR (CAN_CALC_STD_ID(0x610U)) #define ID_TP_FRM_DIAG_PHYSREQ_SWTR (CAN_CALC_STD_ID(0x710U)) #define ID_TP_FRM_DIAG_FUNCREQ (CAN_CALC_STD_ID(0x7FFU)) /* Max length of Tx Com frames */ #define MAX_LEN_FRM_SWTRPRIVATEDHUCANFR06 ((uint16_t)8) #define MAX_LEN_FRM_SWTRPRIVATEDHUCANFR05 ((uint16_t)8) #define MAX_LEN_FRM_SWTRPRIVATEDHUCANFR04 ((uint16_t)8) #define MAX_LEN_FRM_SWTRPRIVATEDHUCANFR03 ((uint16_t)8) #define MAX_LEN_FRM_SWTRPRIVATEDHUCANFR02 ((uint16_t)8) #define MAX_LEN_FRM_SWTRPRIVATEDHUCANFR01 ((uint16_t)8) #define MAX_LEN_FRM_SWTRPRESSFR01 ((uint16_t)8) #define MAX_LEN_FRM_SWTRSENSORFR01 ((uint16_t)8) #define MAX_LEN_FRM_SWTRSENSORFR02 ((uint16_t)8) #define MAX_LEN_FRM_SWTRSENSORFR03 ((uint16_t)8) #define MAX_LEN_FRM_SWTRSENSORFR04 ((uint16_t)8) #define MAX_LEN_FRM_SWTRSENSORFR05 ((uint16_t)8) #define MAX_LEN_FRM_SWTRSENSORFR06 ((uint16_t)8) #define MAX_LEN_FRM_SWTRSENSORFR07 ((uint16_t)8) #define MAX_LEN_FRM_SWTRSENSORFR08 ((uint16_t)8) #define MAX_LEN_FRM_DIAG_PHYSRESP_SWTR ((UI_16)8) /* Min length of Rx frames to be able to decode each signal */ #define MIN_LEN_FRM_SIG_TWLIBRISTS_UB ((uint16_t)3) #define MIN_LEN_FRM_SIG_TWLIBRISTS ((uint16_t)3) #define MIN_LEN_FRM_SIG_SWTOFKEYTONE_UB ((uint16_t)1) #define MIN_LEN_FRM_SIG_SWTOFKEYTONE ((uint16_t)1) #define MIN_LEN_FRM_SIG_INTRBRISTS_UB ((uint16_t)1) #define MIN_LEN_FRM_SIG_INTRBRISTS ((uint16_t)1) #define MIN_LEN_FRM_SIG_ACTVNOFSTEERWHLILLMN_UB ((uint16_t)6) #define MIN_LEN_FRM_SIG_ACTVNOFSTEERWHLILLMN ((uint16_t)6) #define MIN_LEN_FRM_SIG_DIAGNOSTICREQSWTR ((UI_16)1) #define MIN_LEN_FRM_SIG_DIAGNOSTICFUNCADDRREQ ((UI_16)1) /* First byte of dynamic length signals */ #define FB_SIG_DIAGNOSTICREQSWTR ((UI_8)0) #define FB_SIG_DIAGNOSTICFUNCADDRREQ ((UI_8)0) /* Maximum length of dynamic length signals */ #define MAX_LEN_FRM_DIAG_PHYSRESP_SWTR ((UI_16)8) #define MAX_LEN_SIG_DIAGNOSTICRESPSWTR ((UI_16)8) #define MAX_LEN_SIG_DIAGNOSTICFUNCADDRREQ ((UI_8)8) #define MAX_LEN_SIG_DIAGNOSTICREQSWTR ((UI_8)8) #define ENDIAN_BYTE(byte, alloc_size) (byte) /* Macros of the TX_REQ flags */ #define SET_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR06() (flag_swtr_com_tx_req0 |= ((uint8_t)0x01)) #define RST_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR06() (flag_swtr_com_tx_req0 &= ((uint8_t)0xFE)) #define TST_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR06() ((flag_swtr_com_tx_req0 & ((uint8_t)0x01)) == ((uint8_t)0x01)) #define SET_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR02() (flag_swtr_com_tx_req0 |= ((uint8_t)0x02)) #define RST_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR02() (flag_swtr_com_tx_req0 &= ((uint8_t)0xFD)) #define TST_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR02() ((flag_swtr_com_tx_req0 & ((uint8_t)0x02)) == ((uint8_t)0x02)) #define SET_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR01() (flag_swtr_com_tx_req0 |= ((uint8_t)0x04)) #define RST_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR01() (flag_swtr_com_tx_req0 &= ((uint8_t)0xFB)) #define TST_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR01() ((flag_swtr_com_tx_req0 & ((uint8_t)0x04)) == ((uint8_t)0x04)) #define SET_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR03() (flag_swtr_com_tx_req0 |= ((uint8_t)0x08)) #define RST_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR03() (flag_swtr_com_tx_req0 &= ((uint8_t)0xF7)) #define TST_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR03() ((flag_swtr_com_tx_req0 & ((uint8_t)0x08)) == ((uint8_t)0x08)) #define SET_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR04() (flag_swtr_com_tx_req0 |= ((uint8_t)0x10)) #define RST_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR04() (flag_swtr_com_tx_req0 &= ((uint8_t)0xEF)) #define TST_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR04() ((flag_swtr_com_tx_req0 & ((uint8_t)0x10)) == ((uint8_t)0x10)) #define SET_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR05() (flag_swtr_com_tx_req0 |= ((uint8_t)0x20)) #define RST_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR05() (flag_swtr_com_tx_req0 &= ((uint8_t)0xDF)) #define TST_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR05() ((flag_swtr_com_tx_req0 & ((uint8_t)0x20)) == ((uint8_t)0x20)) #define SET_FLAG_TX_REQ_FRM_SWTRPRESSFR01() (flag_swtr_com_tx_req0 |= ((uint8_t)0x40)) #define RST_FLAG_TX_REQ_FRM_SWTRPRESSFR01() (flag_swtr_com_tx_req0 &= ((uint8_t)0xBF)) #define TST_FLAG_TX_REQ_FRM_SWTRPRESSFR01() ((flag_swtr_com_tx_req0 & ((uint8_t)0x40)) == ((uint8_t)0x40)) #define SET_FLAG_TX_REQ_FRM_SWTRSENSORFR01() (flag_swtr_com_tx_req0 |= ((uint8_t)0x80)) #define RST_FLAG_TX_REQ_FRM_SWTRSENSORFR01() (flag_swtr_com_tx_req0 &= ((uint8_t)0x7F)) #define TST_FLAG_TX_REQ_FRM_SWTRSENSORFR01() ((flag_swtr_com_tx_req0 & ((uint8_t)0x80)) == ((uint8_t)0x80)) #define SET_FLAG_TX_REQ_FRM_SWTRSENSORFR02() (flag_swtr_com_tx_req1 |= ((uint8_t)0x01)) #define RST_FLAG_TX_REQ_FRM_SWTRSENSORFR02() (flag_swtr_com_tx_req1 &= ((uint8_t)0xFE)) #define TST_FLAG_TX_REQ_FRM_SWTRSENSORFR02() ((flag_swtr_com_tx_req1 & ((uint8_t)0x01)) == ((uint8_t)0x01)) #define SET_FLAG_TX_REQ_FRM_SWTRSENSORFR03() (flag_swtr_com_tx_req1 |= ((uint8_t)0x02)) #define RST_FLAG_TX_REQ_FRM_SWTRSENSORFR03() (flag_swtr_com_tx_req1 &= ((uint8_t)0xFD)) #define TST_FLAG_TX_REQ_FRM_SWTRSENSORFR03() ((flag_swtr_com_tx_req1 & ((uint8_t)0x02)) == ((uint8_t)0x02)) #define SET_FLAG_TX_REQ_FRM_SWTRSENSORFR04() (flag_swtr_com_tx_req1 |= ((uint8_t)0x04)) #define RST_FLAG_TX_REQ_FRM_SWTRSENSORFR04() (flag_swtr_com_tx_req1 &= ((uint8_t)0xFB)) #define TST_FLAG_TX_REQ_FRM_SWTRSENSORFR04() ((flag_swtr_com_tx_req1 & ((uint8_t)0x04)) == ((uint8_t)0x04)) #define SET_FLAG_TX_REQ_FRM_SWTRSENSORFR05() (flag_swtr_com_tx_req1 |= ((uint8_t)0x08)) #define RST_FLAG_TX_REQ_FRM_SWTRSENSORFR05() (flag_swtr_com_tx_req1 &= ((uint8_t)0xF7)) #define TST_FLAG_TX_REQ_FRM_SWTRSENSORFR05() ((flag_swtr_com_tx_req1 & ((uint8_t)0x08)) == ((uint8_t)0x08)) #define SET_FLAG_TX_REQ_FRM_SWTRSENSORFR06() (flag_swtr_com_tx_req1 |= ((uint8_t)0x10)) #define RST_FLAG_TX_REQ_FRM_SWTRSENSORFR06() (flag_swtr_com_tx_req1 &= ((uint8_t)0xEF)) #define TST_FLAG_TX_REQ_FRM_SWTRSENSORFR06() ((flag_swtr_com_tx_req1 & ((uint8_t)0x10)) == ((uint8_t)0x10)) #define SET_FLAG_TX_REQ_FRM_SWTRSENSORFR07() (flag_swtr_com_tx_req1 |= ((uint8_t)0x20)) #define RST_FLAG_TX_REQ_FRM_SWTRSENSORFR07() (flag_swtr_com_tx_req1 &= ((uint8_t)0xDF)) #define TST_FLAG_TX_REQ_FRM_SWTRSENSORFR07() ((flag_swtr_com_tx_req1 & ((uint8_t)0x20)) == ((uint8_t)0x20)) #define SET_FLAG_TX_REQ_FRM_SWTRSENSORFR08() (flag_swtr_com_tx_req1 |= ((uint8_t)0x40)) #define RST_FLAG_TX_REQ_FRM_SWTRSENSORFR08() (flag_swtr_com_tx_req1 &= ((uint8_t)0xBF)) #define TST_FLAG_TX_REQ_FRM_SWTRSENSORFR08() ((flag_swtr_com_tx_req1 & ((uint8_t)0x40)) == ((uint8_t)0x40)) #define SET_FLAG_TX_REQ_FRM_DIAG_PHYSRESP_SWTR() (flag_swtr_com_tx_req1 |= ((UI_8)0x80)) #define RST_FLAG_TX_REQ_FRM_DIAG_PHYSRESP_SWTR() (flag_swtr_com_tx_req1 &= ((UI_8)0x7F)) #define TST_FLAG_TX_REQ_FRM_DIAG_PHYSRESP_SWTR() ((flag_swtr_com_tx_req1 & ((UI_8)0x80)) == ((UI_8)0x80)) /* Cancel value to cancel a timer */ #define TIMER_CANCEL ((uint16_t)0xFFFF) /* Declaration of period time of the periodic or mixed Tx frames */ #define OT_TX_FRM_SWTRPRIVATEDHUCANFR06 ((uint32_t)(0)) #define PT_TX_FRM_SWTRPRIVATEDHUCANFR06 ((uint32_t)(400)) #define OT_TX_FRM_SWTRPRIVATEDHUCANFR05 ((uint32_t)(0)) #define PT_TX_FRM_SWTRPRIVATEDHUCANFR05 ((uint32_t)(400)) #define OT_TX_FRM_SWTRPRIVATEDHUCANFR04 ((uint32_t)(0)) #define PT_TX_FRM_SWTRPRIVATEDHUCANFR04 ((uint32_t)(400)) #define OT_TX_FRM_SWTRPRIVATEDHUCANFR03 ((uint32_t)(0)) #define PT_TX_FRM_SWTRPRIVATEDHUCANFR03 ((uint32_t)(400)) #define OT_TX_FRM_SWTRPRIVATEDHUCANFR02 ((uint32_t)(0)) #define PT_TX_FRM_SWTRPRIVATEDHUCANFR02 ((uint32_t)(100)) #define OT_TX_FRM_SWTRPRIVATEDHUCANFR01 ((uint32_t)(0)) #define PT_TX_FRM_SWTRPRIVATEDHUCANFR01 ((uint32_t)(100)) #define OT_TX_FRM_SWTRPRESSFR01 ((uint32_t)(0)) #define PT_TX_FRM_SWTRPRESSFR01 ((uint32_t)(50)) #define OT_TX_FRM_SWTRSENSORFR01 ((uint32_t)(0)) #define PT_TX_FRM_SWTRSENSORFR01 ((uint32_t)(50)) #define OT_TX_FRM_SWTRSENSORFR02 ((uint32_t)(0)) #define PT_TX_FRM_SWTRSENSORFR02 ((uint32_t)(50)) #define OT_TX_FRM_SWTRSENSORFR03 ((uint32_t)(0)) #define PT_TX_FRM_SWTRSENSORFR03 ((uint32_t)(50)) #define OT_TX_FRM_SWTRSENSORFR04 ((uint32_t)(0)) #define PT_TX_FRM_SWTRSENSORFR04 ((uint32_t)(50)) #define OT_TX_FRM_SWTRSENSORFR05 ((uint32_t)(0)) #define PT_TX_FRM_SWTRSENSORFR05 ((uint32_t)(50)) #define OT_TX_FRM_SWTRSENSORFR06 ((uint32_t)(0)) #define PT_TX_FRM_SWTRSENSORFR06 ((uint32_t)(50)) #define OT_TX_FRM_SWTRSENSORFR07 ((uint32_t)(0)) #define PT_TX_FRM_SWTRSENSORFR07 ((uint32_t)(50)) #define OT_TX_FRM_SWTRSENSORFR08 ((uint32_t)(0)) #define PT_TX_FRM_SWTRSENSORFR08 ((uint32_t)(50)) #define TIMER_MS_TO_TIME_RESTRICTIVE(t) ((uint32_t)((t) + (uint8_t)1)) /* Declaration of deadline monitoring values for Rx signals */ #define TO_FRX_SIG_ACTVNOFSTEERWHLILLMN ((uint32_t)TIMER_MS_TO_TIME_RESTRICTIVE((uint16_t)200)) #define TO_RX_SIG_ACTVNOFSTEERWHLILLMN ((uint32_t)TIMER_MS_TO_TIME_RESTRICTIVE((uint16_t)2000)) /* Declaration of deadline monitoring values of Tx frames */ #define TO_TX_FRM_DIAG_PHYSRESP_SWTR ((t_timer_time)TIMER_MS_TO_TIME_RESTRICTIVE((UI_16)1)) /* Macros to Set notification flags */ #define SET_FLAG_TX_SIG_DIAGCFAILRTOUCHPANSWTRVIBRATIONFLTSTS() (flag_tx0 |= (uint8_t)0x01) #define SET_FLAG_TX_SIG_DIAGCFAILRTOUCHPANSWTRTOUCHDFLTSTS() (flag_tx0 |= (uint8_t)0x02) #define SET_FLAG_TX_SIG_DIAGCFAILRTOUCHPANSWTRSNSRFLTSTS() (flag_tx0 |= (uint8_t)0x04) #define SET_FLAG_TX_SIG_DIAGCFAILRTOUCHPANSWTRCMNFLTSTS() (flag_tx0 |= (uint8_t)0x08) #define SET_FLAG_TX_SIG_DIAGCFAILRTOUCHPANSWTR_UB() (flag_tx0 |= (uint8_t)0x10) #define SET_FLAG_TX_SIG_SWTRSERNONR4() (flag_tx0 |= (uint8_t)0x20) #define SET_FLAG_TX_SIG_SWTRSERNONR3() (flag_tx0 |= (uint8_t)0x40) #define SET_FLAG_TX_SIG_SWTRSERNONR2() (flag_tx0 |= (uint8_t)0x80) #define SET_FLAG_TX_SIG_SWTRSERNONR1() (flag_tx1 |= (uint8_t)0x01) #define SET_FLAG_TX_SIG_SWTRSERNO_UB() (flag_tx1 |= (uint8_t)0x02) #define SET_FLAG_TX_SIG_SWTRPARTNOCMPLNR4() (flag_tx1 |= (uint8_t)0x04) #define SET_FLAG_TX_SIG_SWTRPARTNOCMPLNR3() (flag_tx1 |= (uint8_t)0x08) #define SET_FLAG_TX_SIG_SWTRPARTNOCMPLNR2() (flag_tx1 |= (uint8_t)0x10) #define SET_FLAG_TX_SIG_SWTRPARTNOCMPLNR1() (flag_tx1 |= (uint8_t)0x20) #define SET_FLAG_TX_SIG_SWTRPARTNOCMPLENDSGN3() (flag_tx1 |= (uint8_t)0x40) #define SET_FLAG_TX_SIG_SWTRPARTNOCMPLENDSGN2() (flag_tx1 |= (uint8_t)0x80) #define SET_FLAG_TX_SIG_SWTRPARTNOCMPLENDSGN1() (flag_tx2 |= (uint8_t)0x01) #define SET_FLAG_TX_SIG_SWTRPARTNOCMPL_UB() (flag_tx2 |= (uint8_t)0x02) #define SET_FLAG_TX_SIG_SWTRPARTNO10CMPLNR5() (flag_tx2 |= (uint8_t)0x04) #define SET_FLAG_TX_SIG_SWTRPARTNO10CMPLNR4() (flag_tx2 |= (uint8_t)0x08) #define SET_FLAG_TX_SIG_SWTRPARTNO10CMPLNR3() (flag_tx2 |= (uint8_t)0x10) #define SET_FLAG_TX_SIG_SWTRPARTNO10CMPLNR2() (flag_tx2 |= (uint8_t)0x20) #define SET_FLAG_TX_SIG_SWTRPARTNO10CMPLNR1() (flag_tx2 |= (uint8_t)0x40) #define SET_FLAG_TX_SIG_SWTRPARTNO10CMPLENDSGN3() (flag_tx2 |= (uint8_t)0x80) #define SET_FLAG_TX_SIG_SWTRPARTNO10CMPLENDSGN2() (flag_tx3 |= (uint8_t)0x01) #define SET_FLAG_TX_SIG_SWTRPARTNO10CMPLENDSGN1() (flag_tx3 |= (uint8_t)0x02) #define SET_FLAG_TX_SIG_SWPUPDWNSTSRI_UB() (flag_tx3 |= (uint8_t)0x04) #define SET_FLAG_TX_SIG_SWPUPDWNSTSRI() (flag_tx3 |= (uint8_t)0x08) #define SET_FLAG_TX_SIG_SWPLERISTSRI_UB() (flag_tx3 |= (uint8_t)0x10) #define SET_FLAG_TX_SIG_SWPLERISTSRI() (flag_tx3 |= (uint8_t)0x20) #define SET_FLAG_TX_SIG_STEERWHLTOUCHBDVOICE_UB() (flag_tx3 |= (uint8_t)0x40) #define SET_FLAG_TX_SIG_STEERWHLTOUCHBDVOICE() (flag_tx3 |= (uint8_t)0x80) #define SET_FLAG_TX_SIG_STEERWHLTOUCHBDMENU_UB() (flag_tx4 |= (uint8_t)0x01) #define SET_FLAG_TX_SIG_STEERWHLTOUCHBDMENU() (flag_tx4 |= (uint8_t)0x02) #define SET_FLAG_TX_SIG_STEERWHLTOUCHBDDN_UB() (flag_tx4 |= (uint8_t)0x04) #define SET_FLAG_TX_SIG_STEERWHLTOUCHBDDN() (flag_tx4 |= (uint8_t)0x08) #define SET_FLAG_TX_SIG_SLDVOLCTRLSTS_UB() (flag_tx4 |= (uint8_t)0x10) #define SET_FLAG_TX_SIG_SLDVOLCTRLSTS() (flag_tx4 |= (uint8_t)0x20) #define SET_FLAG_TX_SIG_RIMFCTACTSGUP_UB() (flag_tx4 |= (uint8_t)0x40) #define SET_FLAG_TX_SIG_RIMFCTACTSGUP() (flag_tx4 |= (uint8_t)0x80) #define SET_FLAG_TX_SIG_RIMFCTACTSGRI_UB() (flag_tx5 |= (uint8_t)0x01) #define SET_FLAG_TX_SIG_RIMFCTACTSGRI() (flag_tx5 |= (uint8_t)0x02) #define SET_FLAG_TX_SIG_RIMFCTACTSGLE_UB() (flag_tx5 |= (uint8_t)0x04) #define SET_FLAG_TX_SIG_RIMFCTACTSGLE() (flag_tx5 |= (uint8_t)0x08) #define SET_FLAG_TX_SIG_RIMFCTACTSGDN_UB() (flag_tx5 |= (uint8_t)0x10) #define SET_FLAG_TX_SIG_RIMFCTACTSGDN() (flag_tx5 |= (uint8_t)0x20) #define SET_FLAG_TX_SIG_RIMFCTACTSGCE_UB() (flag_tx5 |= (uint8_t)0x40) #define SET_FLAG_TX_SIG_RIMFCTACTSGCE() (flag_tx5 |= (uint8_t)0x80) #define SET_FLAG_TX_SIG_STEERWHLTOUCHBDRITOUCHPOSNY() (flag_tx6 |= (uint8_t)0x01) #define SET_FLAG_TX_SIG_STEERWHLTOUCHBDRITOUCHPOSNX() (flag_tx6 |= (uint8_t)0x02) #define SET_FLAG_TX_SIG_STEERWHLTOUCHBDRISTEERWHLTOUCHBDSTS() (flag_tx6 |= (uint8_t)0x04) #define SET_FLAG_TX_SIG_STEERWHLTOUCHBDRICNTR() (flag_tx6 |= (uint8_t)0x08) #define SET_FLAG_TX_SIG_STEERWHLTOUCHBDRICHKS() (flag_tx6 |= (uint8_t)0x10) #define SET_FLAG_TX_SIG_STEERWHLTOUCHBDRI_UB() (flag_tx6 |= (uint8_t)0x20) #define SET_FLAG_TX_SIG_DIAGNOSTICRESPSWTR() (flag_tx6 |= (UI_8)0x40) #define SET_FLAG_RX_SIG_DIAGNOSTICREQSWTR() (flag_rx0 |= (UI_8)0x01) #define SET_FLAG_RX_SIG_DIAGNOSTICFUNCADDRREQ() (flag_rx0 |= (UI_8)0x02) /* Macros of the flag of the estate of the communications */ #define SET_FLAG_OSEK_COM_INIT() (flag_st_mode |= ((uint8_t)0x10)) #define RST_FLAG_OSEK_COM_INIT() (flag_st_mode &= ((uint8_t)0xEF)) #define TST_FLAG_OSEK_COM_INIT() ((flag_st_mode & ((uint8_t)0x10)) == ((uint8_t)0x10)) #define SET_FLAG_OSEK_COM_PER_TX() (flag_st_mode |= ((uint8_t)0x20)) #define RST_FLAG_OSEK_COM_PER_TX() (flag_st_mode &= ((uint8_t)0xDF)) #define TST_FLAG_OSEK_COM_PER_TX() ((flag_st_mode & ((uint8_t)0x20)) == ((uint8_t)0x20)) /* ------------------------------- Data Types ------------------------------- */ /* Type to allocate data structure for managed signals */ typedef uint8_t t_alloc_sig_twlibrists_ub[1]; typedef uint8_t t_alloc_sig_twlibrists[1]; typedef uint8_t t_alloc_sig_swtofkeytone_ub[1]; typedef uint8_t t_alloc_sig_swtofkeytone[1]; typedef uint8_t t_alloc_sig_intrbrists_ub[1]; typedef uint8_t t_alloc_sig_intrbrists[1]; typedef uint8_t t_alloc_sig_actvnofsteerwhlillmn_ub[1]; typedef uint8_t t_alloc_sig_actvnofsteerwhlillmn[1]; typedef UI_8 t_alloc_sig_diagnosticreqswtr[8]; typedef UI_8 t_alloc_sig_diagnosticfuncaddrreq[8]; /* ---------------------------- Global Variables ---------------------------- */ extern uint8_t Test_frame_On; /* Declaration of mode and state flag */ static uint8_t flag_st_mode; /* Static length Rx Com signals internal objects declaration */ static volatile t_alloc_sig_twlibrists_ub sig_twlibrists_ub; static volatile t_alloc_sig_twlibrists sig_twlibrists; static volatile t_alloc_sig_swtofkeytone_ub sig_swtofkeytone_ub; static volatile t_alloc_sig_swtofkeytone sig_swtofkeytone; static volatile t_alloc_sig_intrbrists_ub sig_intrbrists_ub; static volatile t_alloc_sig_intrbrists sig_intrbrists; static volatile t_alloc_sig_actvnofsteerwhlillmn_ub sig_actvnofsteerwhlillmn_ub; static volatile t_alloc_sig_actvnofsteerwhlillmn sig_actvnofsteerwhlillmn; static volatile t_alloc_sig_diagnosticreqswtr sig_diagnosticreqswtr; static volatile UI_8 sig_len_diagnosticreqswtr; static volatile t_alloc_sig_diagnosticfuncaddrreq sig_diagnosticfuncaddrreq; static volatile UI_8 sig_len_diagnosticfuncaddrreq; /* Dynamic length Rx Com signals internal objects declaration */ /* Com Tx fames objects internal declaration */ static uint8_t frm_swtrprivatedhucanfr06[MAX_LEN_FRM_SWTRPRIVATEDHUCANFR06]; static uint8_t frm_swtrprivatedhucanfr05[MAX_LEN_FRM_SWTRPRIVATEDHUCANFR05]; static uint8_t frm_swtrprivatedhucanfr04[MAX_LEN_FRM_SWTRPRIVATEDHUCANFR04]; static uint8_t frm_swtrprivatedhucanfr03[MAX_LEN_FRM_SWTRPRIVATEDHUCANFR03]; static uint8_t frm_swtrprivatedhucanfr02[MAX_LEN_FRM_SWTRPRIVATEDHUCANFR02]; static uint8_t frm_swtrprivatedhucanfr01[MAX_LEN_FRM_SWTRPRIVATEDHUCANFR01]; static uint8_t frm_swtrpressfr01[MAX_LEN_FRM_SWTRPRESSFR01]; static uint8_t frm_swtrsensorfr01[MAX_LEN_FRM_SWTRSENSORFR01]; static uint8_t frm_swtrsensorfr02[MAX_LEN_FRM_SWTRSENSORFR02]; static uint8_t frm_swtrsensorfr03[MAX_LEN_FRM_SWTRSENSORFR03]; static uint8_t frm_swtrsensorfr04[MAX_LEN_FRM_SWTRSENSORFR04]; static uint8_t frm_swtrsensorfr05[MAX_LEN_FRM_SWTRSENSORFR05]; static uint8_t frm_swtrsensorfr06[MAX_LEN_FRM_SWTRSENSORFR06]; static uint8_t frm_swtrsensorfr07[MAX_LEN_FRM_SWTRSENSORFR07]; static uint8_t frm_swtrsensorfr08[MAX_LEN_FRM_SWTRSENSORFR08]; static uint8_t frm_swtrsensorfr09[8]; static uint8_t frm_swtrsensorfr0A[8]; static uint8_t frm_swtrsensorfr0B[8]; static uint8_t frm_swtrsensorfr0C[8]; UI_8 frm_diag_physresp_swtr[MAX_LEN_FRM_DIAG_PHYSRESP_SWTR]; static UI_8 len_frm_diag_physresp_swtr; /* Tx request flags declaration */ static volatile uint8_t flag_swtr_com_tx_req0; static volatile uint8_t flag_swtr_com_tx_req1; /* Com traffic flags declaration */ static volatile t_flag_value com_traffic_swtr; /* Declaration of the periodic timers of Tx frames */ static uint32_t ptt_tx_frm_swtrprivatedhucanfr06; static uint32_t ptt_tx_frm_swtrprivatedhucanfr05; static uint32_t ptt_tx_frm_swtrprivatedhucanfr04; static uint32_t ptt_tx_frm_swtrprivatedhucanfr03; static uint32_t ptt_tx_frm_swtrprivatedhucanfr02; static uint32_t ptt_tx_frm_swtrprivatedhucanfr01; static uint32_t ptt_tx_frm_swtrpressfr01; static uint32_t ptt_tx_frm_swtrsensorfr01; static uint32_t ptt_tx_frm_swtrsensorfr02; static uint32_t ptt_tx_frm_swtrsensorfr03; static uint32_t ptt_tx_frm_swtrsensorfr04; static uint32_t ptt_tx_frm_swtrsensorfr05; static uint32_t ptt_tx_frm_swtrsensorfr06; static uint32_t ptt_tx_frm_swtrsensorfr07; static uint32_t ptt_tx_frm_swtrsensorfr08; static volatile t_timer_time dmt_tx_frm_diag_physresp_swtr; /* Declaration of deadline monitoring timers of Rx signals */ static volatile uint32_t dmt_rx_sig_actvnofsteerwhlillmn; /* Declaration of class 2 (TxNotif) notification flags */ static volatile uint8_t flag_tx0; static volatile uint8_t flag_tx1; static volatile uint8_t flag_tx2; static volatile uint8_t flag_tx3; static volatile uint8_t flag_tx4; static volatile uint8_t flag_tx5; static volatile uint8_t flag_tx6; static volatile uint8_t flag_tx7; uint8_t flag_rx0; /* Declaration of timer diff between last tick and current tick */ static uint32_t time_diff; /* --------------------------- Routine Prototypes --------------------------- */ static void OsekComPeriodicTx(void); static void OsekComDeadlineMonitRx(void); // static void OsekComTxReqFrmSwtrPrivateDHUCanFr01(void); static void OsekComTxReqFrmDIAG_PhysResp_SWTR(void); /* -------------------------------- Routines -------------------------------- */ uint32_t CanBufQueryIdTp(void); uint8_t CanBufQueryDataByte(uint8_t hdl, uint8_t index); #define CAN_BUF_QUERY_DATA_BYTE(bhdl, byte) (CanBufQueryDataByte(bhdl, byte)) #define CAN_BUF_QUERY_DATA_LEN(HwCtl, bhdl) (CanBufQueryDataLen(HwCtl, bhdl)) UI_8 CanBufQueryDataLen(t_can_handler can_handler, t_can_buf_hdl bhdl); /*--------------------------------------------------------------------------- | Portability: Target platform independent |---------------------------------------------------------------------------- | Routine description: | * Reception of a new frame notification callback | * This callback must be launched by the lower COM driver upon the reception | of a new frame. |--------------------------------------------------------------------------- | Parameters description: | bhdl: Handler of the buffer where the received frame is stored. /---------------------------------------------------------------------------*/ void OsekComRxNotifCallbackSWTR(t_com_buf_hdl bhdl) { t_flag_value aux_com_traffic = COM_TRUE; uint32_t buf_idtp = CanBufQueryIdTp(); uint8_t frm_len = 8; if (TST_FLAG_OSEK_COM_INIT()) { /* Rx Com frames with static ID */ switch (buf_idtp) { case ID_TP_FRM_IHUPRIVATEDHUCANFR01: /* Test of the minimum Rx frames length required to decode the signal */ if (frm_len >= MIN_LEN_FRM_SIG_TWLIBRISTS_UB) { /* Decoding of signal sig_TwliBriSts_UB */ sig_twlibrists_ub[0] = ((CAN_BUF_QUERY_DATA_BYTE(bhdl, 2)) >> ((uint8_t)7)); } else { /* Do nothing */ } /* Test of the minimum Rx frames length required to decode the signal */ if (frm_len >= MIN_LEN_FRM_SIG_TWLIBRISTS) { /* Decoding of signal sig_TwliBriSts */ sig_twlibrists[0] = ((CAN_BUF_QUERY_DATA_BYTE(bhdl, 2) & ((uint8_t)127)) >> ((uint8_t)6)); } else { /* Do nothing */ } /* Test of the minimum Rx frames length required to decode the signal */ if (frm_len >= MIN_LEN_FRM_SIG_SWTOFKEYTONE_UB) { /* Decoding of signal sig_SwtOfKeyTone_UB */ sig_swtofkeytone_ub[0] = ((CAN_BUF_QUERY_DATA_BYTE(bhdl, 0) & ((uint8_t)63)) >> ((uint8_t)5)); } else { /* Do nothing */ } /* Test of the minimum Rx frames length required to decode the signal */ if (frm_len >= MIN_LEN_FRM_SIG_SWTOFKEYTONE) { /* Decoding of signal sig_SwtOfKeyTone */ sig_swtofkeytone[0] = ((CAN_BUF_QUERY_DATA_BYTE(bhdl, 0)) >> ((uint8_t)6)); } else { /* Do nothing */ } /* Test of the minimum Rx frames length required to decode the signal */ if (frm_len >= MIN_LEN_FRM_SIG_INTRBRISTS_UB) { /* Decoding of signal sig_IntrBriSts_UB */ sig_intrbrists_ub[0] = ((CAN_BUF_QUERY_DATA_BYTE(bhdl, 0) & ((uint8_t)31)) >> ((uint8_t)4)); } else { /* Do nothing */ } /* Test of the minimum Rx frames length required to decode the signal */ if (frm_len >= MIN_LEN_FRM_SIG_INTRBRISTS) { /* Decoding of signal sig_IntrBriSts */ sig_intrbrists[0] = ((CAN_BUF_QUERY_DATA_BYTE(bhdl, 0) & ((uint8_t)15))); } else { /* Do nothing */ } /* Test of the minimum Rx frames length required to decode the signal */ if (frm_len >= MIN_LEN_FRM_SIG_ACTVNOFSTEERWHLILLMN_UB) { /* Decoding of signal sig_ActvnOfSteerWhlIllmn_UB */ sig_actvnofsteerwhlillmn_ub[0] = ((CAN_BUF_QUERY_DATA_BYTE(bhdl, 5) & ((uint8_t)7)) >> ((uint8_t)2)); } else { /* Do nothing */ } /* Test of the minimum Rx frames length required to decode the signal */ if (frm_len >= MIN_LEN_FRM_SIG_ACTVNOFSTEERWHLILLMN) { /* Reset of the deadline monitoring timer */ dmt_rx_sig_actvnofsteerwhlillmn = 0; /* Decoding of signal sig_ActvnOfSteerWhlIllmn */ sig_actvnofsteerwhlillmn[0] = ((CAN_BUF_QUERY_DATA_BYTE(bhdl, 5) & ((uint8_t)15)) >> ((uint8_t)3)); /* Rx notification callback */ IhuPrivateDHUCanFr01_CALLBACK(); } else { /* Do nothing */ } break; case ID_TP_FRM_DIAG_PHYSREQ_SWTR: /* Test of the minimum Rx frames length required to decode the signal */ if (frm_len >= MIN_LEN_FRM_SIG_DIAGNOSTICREQSWTR) { /* Decoding of signal sig_DiagnosticReqSWTR */ sig_diagnosticreqswtr[0] = (CAN_BUF_QUERY_DATA_BYTE(bhdl, 0)); sig_diagnosticreqswtr[1] = (CAN_BUF_QUERY_DATA_BYTE(bhdl, 1)); sig_diagnosticreqswtr[2] = (CAN_BUF_QUERY_DATA_BYTE(bhdl, 2)); sig_diagnosticreqswtr[3] = (CAN_BUF_QUERY_DATA_BYTE(bhdl, 3)); sig_diagnosticreqswtr[4] = (CAN_BUF_QUERY_DATA_BYTE(bhdl, 4)); sig_diagnosticreqswtr[5] = (CAN_BUF_QUERY_DATA_BYTE(bhdl, 5)); sig_diagnosticreqswtr[6] = (CAN_BUF_QUERY_DATA_BYTE(bhdl, 6)); sig_diagnosticreqswtr[7] = ((CAN_BUF_QUERY_DATA_BYTE(bhdl, 7))); /* Length calculation of signal sig_DiagnosticReqPRNDL */ sig_len_diagnosticreqswtr = frm_len - FB_SIG_DIAGNOSTICREQSWTR; /* Set of the Rx notification flag */ SET_FLAG_RX_SIG_DIAGNOSTICREQSWTR(); } else { /* Do nothing */ } break; case ID_TP_FRM_DIAG_FUNCREQ: /* Test of the minimum Rx frames length required to decode the signal */ if (frm_len >= MIN_LEN_FRM_SIG_DIAGNOSTICFUNCADDRREQ) { /* Decoding of signal sig_DiagnosticFuncAddrReq */ sig_diagnosticfuncaddrreq[0] = (CAN_BUF_QUERY_DATA_BYTE(bhdl, 0)); sig_diagnosticfuncaddrreq[1] = (CAN_BUF_QUERY_DATA_BYTE(bhdl, 1)); sig_diagnosticfuncaddrreq[2] = (CAN_BUF_QUERY_DATA_BYTE(bhdl, 2)); sig_diagnosticfuncaddrreq[3] = (CAN_BUF_QUERY_DATA_BYTE(bhdl, 3)); sig_diagnosticfuncaddrreq[4] = (CAN_BUF_QUERY_DATA_BYTE(bhdl, 4)); sig_diagnosticfuncaddrreq[5] = (CAN_BUF_QUERY_DATA_BYTE(bhdl, 5)); sig_diagnosticfuncaddrreq[6] = (CAN_BUF_QUERY_DATA_BYTE(bhdl, 6)); sig_diagnosticfuncaddrreq[7] = ((CAN_BUF_QUERY_DATA_BYTE(bhdl, 7))); /* Length calculation of signal sig_DiagnosticFuncAddrReq */ sig_len_diagnosticfuncaddrreq = frm_len - FB_SIG_DIAGNOSTICFUNCADDRREQ; /* Set of the Rx notification flag */ SET_FLAG_RX_SIG_DIAGNOSTICFUNCADDRREQ(); } else { /* Do nothing */ } break; default: /* Reset com traffic flag */ aux_com_traffic = COM_FALSE; break; } } else { /* Do nothing */ } /* Com traffic flag */ if ((com_traffic_swtr == COM_FALSE) && (aux_com_traffic == COM_TRUE)) { com_traffic_swtr = COM_TRUE; } } void CanTx(t_can_handler can_handler, bool notif, uint32_t idtp, uint16_t len, t_can_data can_data); /*--------------------------------------------------------------------------- | Portability: Target platform independent |---------------------------------------------------------------------------- | Routine description: | * Available transmission buffer notification callback | * This callback must be launched by the lower COM driver upon a transmission | buffer will become available after requesting one to perform a transmission. |--------------------------------------------------------------------------- | Parameters description: | return: TRUE in case that after current transmission lower COM driver should | call again this callback to transmit a new frame. | FALSE otherwise. /---------------------------------------------------------------------------*/ bool OsekComTxReqCallbackSWTR(void) { /* Check of the Tx request flag */ if (TST_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR06()) { /* Transmission of the frame SwtrPrivateDHUCanFr06*/ if (Fuction_State != Function_State_C) { CanTx(0, true, ID_TP_FRM_SWTRPRIVATEDHUCANFR06, MAX_LEN_FRM_SWTRPRIVATEDHUCANFR06, frm_swtrprivatedhucanfr06); } RST_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR06(); } else if (TST_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR02()) { /* Transmission of the frame SwtrPrivateDHUCanFr02 */ if (Fuction_State != Function_State_C) { CanTx(0, true, ID_TP_FRM_SWTRPRIVATEDHUCANFR02, MAX_LEN_FRM_SWTRPRIVATEDHUCANFR02, frm_swtrprivatedhucanfr02); } RST_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR02(); } else if (TST_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR01()) { /* Transmission of the frame SwtrPrivateDHUCanFr01 */ if (Fuction_State != Function_State_C) { CanTx(0, true, ID_TP_FRM_SWTRPRIVATEDHUCANFR01, MAX_LEN_FRM_SWTRPRIVATEDHUCANFR01, frm_swtrprivatedhucanfr01); } RST_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR01(); } else if (TST_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR03()) { /* Transmission of the frame SwtrPrivateDHUCanFr03 */ if (Fuction_State != Function_State_C) { CanTx(0, true, ID_TP_FRM_SWTRPRIVATEDHUCANFR03, MAX_LEN_FRM_SWTRPRIVATEDHUCANFR03, frm_swtrprivatedhucanfr03); } RST_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR03(); } else if (TST_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR04()) { /* Transmission of the frame SwtrPrivateDHUCanFr04 */ if (Fuction_State != Function_State_C) { CanTx(0, true, ID_TP_FRM_SWTRPRIVATEDHUCANFR04, MAX_LEN_FRM_SWTRPRIVATEDHUCANFR04, frm_swtrprivatedhucanfr04); } RST_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR04(); } else if (TST_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR05()) { /* Transmission of the frame SwtrPrivateDHUCanFr05 */ if (Fuction_State != Function_State_C) { CanTx(0, true, ID_TP_FRM_SWTRPRIVATEDHUCANFR05, MAX_LEN_FRM_SWTRPRIVATEDHUCANFR05, frm_swtrprivatedhucanfr05); } RST_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR05(); } else if (TST_FLAG_TX_REQ_FRM_SWTRPRESSFR01()) { /* Transmission of the frame SwtrPressFr01 */ if (Fuction_State != Function_State_C) { if (Test_frame_On == 1) CanTx(0, true, ID_TP_FRM_SWTRPRESSFR01, MAX_LEN_FRM_SWTRPRESSFR01, frm_swtrpressfr01); } RST_FLAG_TX_REQ_FRM_SWTRPRESSFR01(); } else if (TST_FLAG_TX_REQ_FRM_SWTRSENSORFR01()) { /* Transmission of the frame SwtRSensorFr01 */ if (Fuction_State != Function_State_C) { if (Test_frame_On == 1) CanTx(0, true, ID_TP_FRM_SWTRSENSORFR01, MAX_LEN_FRM_SWTRSENSORFR01, frm_swtrsensorfr01); } RST_FLAG_TX_REQ_FRM_SWTRSENSORFR01(); } else if (TST_FLAG_TX_REQ_FRM_SWTRSENSORFR02()) { /* Transmission of the frame SwtRSensorFr02 */ if (Fuction_State != Function_State_C) { if (Test_frame_On == 1) CanTx(0, true, ID_TP_FRM_SWTRSENSORFR02, MAX_LEN_FRM_SWTRSENSORFR02, frm_swtrsensorfr02); } RST_FLAG_TX_REQ_FRM_SWTRSENSORFR02(); } else if (TST_FLAG_TX_REQ_FRM_SWTRSENSORFR03()) { /* Transmission of the frame SwtRSensorFr03 */ if (Fuction_State != Function_State_C) { if (Test_frame_On == 1) CanTx(0, true, ID_TP_FRM_SWTRSENSORFR03, MAX_LEN_FRM_SWTRSENSORFR03, frm_swtrsensorfr03); } RST_FLAG_TX_REQ_FRM_SWTRSENSORFR03(); } else if (TST_FLAG_TX_REQ_FRM_SWTRSENSORFR04()) { /* Transmission of the frame SwtRSensorFr04 */ if (Fuction_State != Function_State_C) { if (Test_frame_On == 1) CanTx(0, true, ID_TP_FRM_SWTRSENSORFR04, MAX_LEN_FRM_SWTRSENSORFR04, frm_swtrsensorfr04); } RST_FLAG_TX_REQ_FRM_SWTRSENSORFR04(); } else if (TST_FLAG_TX_REQ_FRM_SWTRSENSORFR05()) { /* Transmission of the frame SwtRSensorFr05 */ if (Fuction_State != Function_State_C) { if (Test_frame_On == 1) CanTx(0, true, ID_TP_FRM_SWTRSENSORFR05, MAX_LEN_FRM_SWTRSENSORFR05, frm_swtrsensorfr05); } RST_FLAG_TX_REQ_FRM_SWTRSENSORFR05(); } else if (TST_FLAG_TX_REQ_FRM_SWTRSENSORFR06()) { /* Transmission of the frame SwtRSensorFr06 */ if (Fuction_State != Function_State_C) { if (Test_frame_On == 1) CanTx(0, true, ID_TP_FRM_SWTRSENSORFR06, MAX_LEN_FRM_SWTRSENSORFR06, frm_swtrsensorfr06); } RST_FLAG_TX_REQ_FRM_SWTRSENSORFR06(); } else if (TST_FLAG_TX_REQ_FRM_SWTRSENSORFR07()) { /* Transmission of the frame SwtRSensorFr07 */ if (Fuction_State != Function_State_C) { if (Test_frame_On == 1) CanTx(0, true, ID_TP_FRM_SWTRSENSORFR07, MAX_LEN_FRM_SWTRSENSORFR07, frm_swtrsensorfr07); } RST_FLAG_TX_REQ_FRM_SWTRSENSORFR07(); } else if (TST_FLAG_TX_REQ_FRM_SWTRSENSORFR08()) { /* Transmission of the frame SwtRSensorFr08 */ if (Fuction_State != Function_State_C) { if (Test_frame_On == 1) { CanTx(0, true, ID_TP_FRM_SWTRSENSORFR08, MAX_LEN_FRM_SWTRSENSORFR08, frm_swtrsensorfr08); CanTx(0, true, 0x419, 8, frm_swtrsensorfr09); CanTx(0, true, 0x41A, 8, frm_swtrsensorfr0A); CanTx(0, true, 0x41B, 8, frm_swtrsensorfr0B); CanTx(0, true, 0x41C, 8, frm_swtrsensorfr0C); } } RST_FLAG_TX_REQ_FRM_SWTRSENSORFR08(); Fr08_send_flag = 1; } else if (TST_FLAG_TX_REQ_FRM_DIAG_PHYSRESP_SWTR()) { /* Transmission of the frame DIAG_PHYSRESP_SWTR */ CanTx(0, true, ID_TP_FRM_DIAG_PHYSRESP_SWTR, MAX_LEN_FRM_DIAG_PHYSRESP_SWTR, frm_diag_physresp_swtr); RST_FLAG_TX_REQ_FRM_DIAG_PHYSRESP_SWTR(); } else { /* Do nothing */ } /* return checking pending transmissions */ return (((flag_swtr_com_tx_req0 != 0) || (flag_swtr_com_tx_req1 != 0)) ? true : false); } void OsekComSetFR09data(uint8_t data[]) { uint8_t i; for (i = 0; i < 8; i++) { frm_swtrsensorfr09[i] = data[i]; } } void OsekComSetFR0Adata(uint8_t data[]) { uint8_t i; for (i = 0; i < 8; i++) { frm_swtrsensorfr0A[i] = data[i]; } } void OsekComSetFR0Bdata(uint8_t data[]) { uint8_t i; for (i = 0; i < 8; i++) { frm_swtrsensorfr0B[i] = data[i]; } } void OsekComSetFR0Cdata(uint8_t data[]) { uint8_t i; for (i = 0; i < 8; i++) { frm_swtrsensorfr0C[i] = data[i]; } } uint32_t CanBufQueryIdTp_Tx(void); /*--------------------------------------------------------------------------- | Portability: Target platform independent |---------------------------------------------------------------------------- | Routine description: | * Frame transmission confirmation notifying callback | * This callback must be launched by the lower COM driver upon the completion | of a frame transmission for which transmission confirmation has been requested |--------------------------------------------------------------------------- | Parameters description: | bhdl: Handler of the buffer where the transmitted frame is stored. /---------------------------------------------------------------------------*/ void OsekComTxNotifCallbackSWTR(t_com_buf_hdl bhdl) { // uint32_t buf_idtp = CanBufQueryIdTp_Tx(); uint32_t buf_idtp = CanBufQueryIdTp(); buf_idtp = ID_TP_FRM_DIAG_PHYSREQ_SWTR; switch (buf_idtp) { case ID_TP_FRM_SWTRPRIVATEDHUCANFR06: /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_DIAGCFAILRTOUCHPANSWTRVIBRATIONFLTSTS(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_DIAGCFAILRTOUCHPANSWTRTOUCHDFLTSTS(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_DIAGCFAILRTOUCHPANSWTRSNSRFLTSTS(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_DIAGCFAILRTOUCHPANSWTRCMNFLTSTS(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_DIAGCFAILRTOUCHPANSWTR_UB(); break; case ID_TP_FRM_SWTRPRIVATEDHUCANFR05: /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_SWTRSERNONR4(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_SWTRSERNONR3(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_SWTRSERNONR2(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_SWTRSERNONR1(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_SWTRSERNO_UB(); break; case ID_TP_FRM_SWTRPRIVATEDHUCANFR04: /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_SWTRPARTNOCMPLNR4(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_SWTRPARTNOCMPLNR3(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_SWTRPARTNOCMPLNR2(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_SWTRPARTNOCMPLNR1(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_SWTRPARTNOCMPLENDSGN3(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_SWTRPARTNOCMPLENDSGN2(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_SWTRPARTNOCMPLENDSGN1(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_SWTRPARTNOCMPL_UB(); break; case ID_TP_FRM_SWTRPRIVATEDHUCANFR03: /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_SWTRPARTNO10CMPLNR5(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_SWTRPARTNO10CMPLNR4(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_SWTRPARTNO10CMPLNR3(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_SWTRPARTNO10CMPLNR2(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_SWTRPARTNO10CMPLNR1(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_SWTRPARTNO10CMPLENDSGN3(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_SWTRPARTNO10CMPLENDSGN2(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_SWTRPARTNO10CMPLENDSGN1(); break; case ID_TP_FRM_SWTRPRIVATEDHUCANFR02: /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_SWPUPDWNSTSRI_UB(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_SWPUPDWNSTSRI(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_SWPLERISTSRI_UB(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_SWPLERISTSRI(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_STEERWHLTOUCHBDVOICE_UB(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_STEERWHLTOUCHBDVOICE(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_STEERWHLTOUCHBDMENU_UB(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_STEERWHLTOUCHBDMENU(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_STEERWHLTOUCHBDDN_UB(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_STEERWHLTOUCHBDDN(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_SLDVOLCTRLSTS_UB(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_SLDVOLCTRLSTS(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_RIMFCTACTSGUP_UB(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_RIMFCTACTSGUP(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_RIMFCTACTSGRI_UB(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_RIMFCTACTSGRI(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_RIMFCTACTSGLE_UB(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_RIMFCTACTSGLE(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_RIMFCTACTSGDN_UB(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_RIMFCTACTSGDN(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_RIMFCTACTSGCE_UB(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_RIMFCTACTSGCE(); break; case ID_TP_FRM_SWTRPRIVATEDHUCANFR01: /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_STEERWHLTOUCHBDRITOUCHPOSNY(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_STEERWHLTOUCHBDRITOUCHPOSNX(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_STEERWHLTOUCHBDRISTEERWHLTOUCHBDSTS(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_STEERWHLTOUCHBDRICNTR(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_STEERWHLTOUCHBDRICHKS(); /* Set of Tx the notification flag */ SET_FLAG_TX_SIG_STEERWHLTOUCHBDRI_UB(); break; case ID_TP_FRM_DIAG_PHYSREQ_SWTR: // //ID_TP_FRM_DIAG_PHYSRESP_SWTR ID_TP_FRM_DIAG_FUNCREQ case ID_TP_FRM_DIAG_FUNCREQ: SET_FLAG_TX_SIG_DIAGNOSTICRESPSWTR(); break; default: /* Do nothing */ break; } } /*--------------------------------------------------------------------------- | Portability: Target platform independent |---------------------------------------------------------------------------- | Routine description: | * Service to initialize OsekCom stack | | ------------------------------------------------- -------------------------- | Parameters description: | app_mode: OsekCom initialization mode (See t_com_application_mode_type) | return: E_OK in case of no errors | Other (see t_status_type). /---------------------------------------------------------------------------*/ t_status_type StartCom(t_com_application_mode_type app_mode) { uint16_t ind; uint8_t aux[8]; const t_application_data_ref aux_ref = &aux; /* Get current timer tick */ /* Buffer initialization */ for (ind = 0; ind < (uint16_t)8; ind++) { aux[ind] = (uint8_t)0; } /* Register of the COM mode */ flag_st_mode = app_mode & (uint8_t)0x0F; /* Set of the active communications flags */ SET_FLAG_OSEK_COM_INIT(); /* Signals initialization to zero */ for (ind = (uint16_t)0; ind < LAST_OSEK_COM_SIGNAL_SYMBOLIC_NAME; ind++) { (void)InitMessage(ind, aux_ref); } /* Signals initialization to a specific value */ /* Initialization of the Tx request flags */ flag_swtr_com_tx_req0 = (uint8_t)0; flag_swtr_com_tx_req1 = (uint8_t)0; /* Initialization of the communications traffic flags */ com_traffic_swtr = COM_FALSE; /* Initialization of the Rx deadline monitoring timers */ dmt_rx_sig_actvnofsteerwhlillmn = 0; /* Initialization of the class 2 (TxNotif) flags */ flag_tx0 = (uint8_t)0; flag_tx1 = (uint8_t)0; flag_tx2 = (uint8_t)0; flag_tx3 = (uint8_t)0; flag_tx4 = (uint8_t)0; flag_tx5 = (uint8_t)0; flag_tx6 = (uint8_t)0; flag_tx7 = (uint8_t)0; flag_rx0 = (UI_8)0; /* Return */ return E_OK; } /*--------------------------------------------------------------------------- | Portability: Target platform independent |---------------------------------------------------------------------------- | Routine description: | * Service to inquiry in which mode OsekCom has been initialized. | * If this service is called before initializing the communications stack | a random mode will be returned. | --------------------------------------------------------------------------- | Parameters description: | return: OsekCom initialization mode(See t_com_application_mode_type) / --------------------------------------------------------------------------- */ t_com_application_mode_type GetComApplicationMode(void) { return ((t_com_application_mode_type)(flag_st_mode & (uint8_t)0x0F)); } /*--------------------------------------------------------------------------- | Portability: Target platform independent |---------------------------------------------------------------------------- | Routine description: | * Service to close the OsekCom stack. | * This service stops the transmission of periodic frames. | * After calling this service communications could be re-established | calling again service StartCom. | * This service does not change the state of any lower COM driver. | --------------------------------------------------------------------------- | Parameters description: | shtdwn_mode: OsekCom stop mode (See t_com_shutdown_mode_type) | return: E_OK in case of no errors | Other (see t_status_type). / --------------------------------------------------------------------------- */ t_status_type StopCom(t_com_shutdown_mode_type shtdwn_mode) { /* Communications stop */ flag_st_mode &= (uint8_t)0x0F; return (E_OK); } /*--------------------------------------------------------------------------- | Portability: Target platform independent |---------------------------------------------------------------------------- | Routine description: | * Service to start the transmission of periodic or mixed frames. | * If this service is re-executed then transmission timers will be re-started. |--------------------------------------------------------------------------- | Parameters description: | return: E_OK in case of no errors | Other (see t_status_type). /---------------------------------------------------------------------------*/ t_status_type StartPeriodic(void) { t_status_type status = E_OK; if (TST_FLAG_OSEK_COM_INIT()) { /* Initialization of periodic or mixed tx timers */ ptt_tx_frm_swtrprivatedhucanfr06 = PT_TX_FRM_SWTRPRIVATEDHUCANFR06 - OT_TX_FRM_SWTRPRIVATEDHUCANFR06; ptt_tx_frm_swtrprivatedhucanfr05 = PT_TX_FRM_SWTRPRIVATEDHUCANFR05 - OT_TX_FRM_SWTRPRIVATEDHUCANFR05; ptt_tx_frm_swtrprivatedhucanfr04 = PT_TX_FRM_SWTRPRIVATEDHUCANFR04 - OT_TX_FRM_SWTRPRIVATEDHUCANFR04; ptt_tx_frm_swtrprivatedhucanfr03 = PT_TX_FRM_SWTRPRIVATEDHUCANFR03 - OT_TX_FRM_SWTRPRIVATEDHUCANFR03; ptt_tx_frm_swtrprivatedhucanfr02 = PT_TX_FRM_SWTRPRIVATEDHUCANFR02 - OT_TX_FRM_SWTRPRIVATEDHUCANFR02; ptt_tx_frm_swtrprivatedhucanfr01 = PT_TX_FRM_SWTRPRIVATEDHUCANFR01 - OT_TX_FRM_SWTRPRIVATEDHUCANFR01; ptt_tx_frm_swtrpressfr01 = PT_TX_FRM_SWTRPRESSFR01 - OT_TX_FRM_SWTRPRESSFR01; ptt_tx_frm_swtrsensorfr01 = PT_TX_FRM_SWTRSENSORFR01 - OT_TX_FRM_SWTRSENSORFR01; ptt_tx_frm_swtrsensorfr02 = PT_TX_FRM_SWTRSENSORFR02 - OT_TX_FRM_SWTRSENSORFR02; ptt_tx_frm_swtrsensorfr03 = PT_TX_FRM_SWTRSENSORFR03 - OT_TX_FRM_SWTRSENSORFR03; ptt_tx_frm_swtrsensorfr04 = PT_TX_FRM_SWTRSENSORFR04 - OT_TX_FRM_SWTRSENSORFR04; ptt_tx_frm_swtrsensorfr05 = PT_TX_FRM_SWTRSENSORFR05 - OT_TX_FRM_SWTRSENSORFR05; ptt_tx_frm_swtrsensorfr06 = PT_TX_FRM_SWTRSENSORFR06 - OT_TX_FRM_SWTRSENSORFR06; ptt_tx_frm_swtrsensorfr07 = PT_TX_FRM_SWTRSENSORFR07 - OT_TX_FRM_SWTRSENSORFR07; ptt_tx_frm_swtrsensorfr08 = PT_TX_FRM_SWTRSENSORFR08 - OT_TX_FRM_SWTRSENSORFR08; /* Activation of the periodic Tx management runnable */ SET_FLAG_OSEK_COM_PER_TX(); } else { status = E_COM_SYS_NOINIT; } return status; } /*--------------------------------------------------------------------------- | Portability: Target platform independent |---------------------------------------------------------------------------- | Routine description: | * Service to stop the transmission of periodic or mixed frames. | * To re-start the transmission of periodic or mixed frames service | StartPeriodic must be called. |--------------------------------------------------------------------------- | Parameters description: | return: E_OK in case of no errors | Other (see t_status_type). /---------------------------------------------------------------------------*/ t_status_type StopPeriodic(void) { /* Deactivation of the periodic Tx management runnable */ RST_FLAG_OSEK_COM_PER_TX(); return E_OK; } /*--------------------------------------------------------------------------- | Portability: Target platform independent |---------------------------------------------------------------------------- | Routine description: | * This service updates the application variable referenced by >data_ref< with | the data stored in the internal stack for the object identified by >message<. | * This service will reset the class 1 (RxNotif) and 3 (RxErrorNotif) flags | associated to >message< | * If >message< is an enqueued signal the service will return the data | stored in the internal stack (initial value / last received value / last value | set with InitMessage) | If >message< is a queued signal the service will return the first value | available in the queue or error if the queue is empty. (Mode not supported) | * The user is responsible of granting that the parameter >data_ref< | points to a variable correctly allocated and compatible in size with the | received signal type | * Usage example: | t_vehicle_speed vehicle_speed; | (void)ReceiveMessage(SIG_VEHICLE_SPEED,&vehicle_speed); |--------------------------------------------------------------------------- | Parameters description: | message: Identification of the signal to be retrieved. | data_ref: Pointer to a variable where to store the requested signal. | return: | E_OK in case of no errors | E_COM_ID in case the parameter >message< is out of range or if it refers | to signal that is sent, dynamic length or zero-length | E_COM_NOMSG in case the queued signal identified by >message< is empty. | E_COM_LIMIT in case an overflow of the queue of the signal identified by >message< | occurred since the last call to ReceiveMessage for >message<. | E_COM_LIMIT indicates that at least one message has been discarded | since the message queue filled. Nevertheless the service is | performed and a message is returned. The service ReceiveMessage | clears the overflow condition for >message<. | other (see t_status_type). /---------------------------------------------------------------------------*/ t_status_type ReceiveMessage(t_symbolic_name message, t_application_data_ref data_ref) { t_status_type status = E_OK; /* Mutual exclusive access begin */ // SuspendAllInterrupts(); switch (message) { case SIG_TWLIBRISTS_UB: ((uint8_t *)data_ref)[0] = sig_twlibrists_ub[0]; break; case SIG_TWLIBRISTS: ((uint8_t *)data_ref)[0] = sig_twlibrists[0]; break; case SIG_SWTOFKEYTONE_UB: ((uint8_t *)data_ref)[0] = sig_swtofkeytone_ub[0]; break; case SIG_SWTOFKEYTONE: ((uint8_t *)data_ref)[0] = sig_swtofkeytone[0]; break; case SIG_INTRBRISTS_UB: ((uint8_t *)data_ref)[0] = sig_intrbrists_ub[0]; break; case SIG_INTRBRISTS: ((uint8_t *)data_ref)[0] = sig_intrbrists[0]; break; case SIG_ACTVNOFSTEERWHLILLMN_UB: ((uint8_t *)data_ref)[0] = sig_actvnofsteerwhlillmn_ub[0]; break; case SIG_ACTVNOFSTEERWHLILLMN: ((uint8_t *)data_ref)[0] = sig_actvnofsteerwhlillmn[0]; break; default: status = E_COM_ID; break; } /* Mutual exclusive access end */ // ResumeAllInterrupts(); return status; } t_status_type ReceiveDynamicMessage(t_symbolic_name message, t_application_data_ref data_ref, t_length_ref length_ref) { t_status_type status = E_OK; /* Mutual exclusive access begin */ // SuspendAllInterrupts(); switch (message) { case SIG_DIAGNOSTICREQSWTR: ((UI_8 *)data_ref)[0] = sig_diagnosticreqswtr[0]; ((UI_8 *)data_ref)[1] = sig_diagnosticreqswtr[1]; ((UI_8 *)data_ref)[2] = sig_diagnosticreqswtr[2]; ((UI_8 *)data_ref)[3] = sig_diagnosticreqswtr[3]; ((UI_8 *)data_ref)[4] = sig_diagnosticreqswtr[4]; ((UI_8 *)data_ref)[5] = sig_diagnosticreqswtr[5]; ((UI_8 *)data_ref)[6] = sig_diagnosticreqswtr[6]; ((UI_8 *)data_ref)[7] = sig_diagnosticreqswtr[7]; *((UI_8 *)length_ref) = sig_len_diagnosticreqswtr; /* Reset class 1 (RxNotif) flag */ ResetFlagRxSigDiagnosticReqSWTR(); break; case SIG_DIAGNOSTICFUNCADDRREQ: ((UI_8 *)data_ref)[0] = sig_diagnosticfuncaddrreq[0]; ((UI_8 *)data_ref)[1] = sig_diagnosticfuncaddrreq[1]; ((UI_8 *)data_ref)[2] = sig_diagnosticfuncaddrreq[2]; ((UI_8 *)data_ref)[3] = sig_diagnosticfuncaddrreq[3]; ((UI_8 *)data_ref)[4] = sig_diagnosticfuncaddrreq[4]; ((UI_8 *)data_ref)[5] = sig_diagnosticfuncaddrreq[5]; ((UI_8 *)data_ref)[6] = sig_diagnosticfuncaddrreq[6]; ((UI_8 *)data_ref)[7] = sig_diagnosticfuncaddrreq[7]; *((UI_8 *)length_ref) = sig_len_diagnosticfuncaddrreq; /* Reset class 1 (RxNotif) flag */ ResetFlagRxSigDiagnosticFuncAddrReq(); break; default: status = E_COM_ID; break; } /* Mutual exclusive access end */ // ResumeAllInterrupts(); return status; } /*--------------------------------------------------------------------------- | Portability: Target platform independent |---------------------------------------------------------------------------- | Routine description: | * This service updates OsekCom internal data structure of the signal | identified by >message< with the data referenced by the variable | referenced by >data_ref< parameter. | * This service will reset the class 2 (TxNotif) and 4 (TxErrorNotif) flags | associated to >message< | * If >message< has the Triggered Transfer Property, the update will be | followed by immediate transmission of the I-PDU associated with the signal except | when the signal is packed into an I-PDU with Periodic Transmission Mode. | In this case, no transmission is initiated by the call to this service. | * If >message< has the Pending Transfer Property, no transmission is | triggered by the usage of this service. | * The user is responsible of granting that the parameter >data_ref< | points to a variable correctly allocated and compatible in size with the | transmitted signal type. | * Usage example: | t_vehicle_speed vehicle_speed = 20; | (void)SendMessage(SIG_VEHICLE_SPEED,&vehicle_speed); |--------------------------------------------------------------------------- | Parameters description: | message: Identification of the signal to be transmitted. | data_ref: Pointer to a variable containing the data to be transmitted. | return: | E_OK in case of no errors | E_COM_ID is case the parameter >message< is out of range or if it refers | to a message that is received or to a dynamic-length or | zero-length message. | other (see t_status_type). /---------------------------------------------------------------------------*/ t_status_type SendMessage(t_symbolic_name message, t_application_data_ref data_ref) { t_status_type status; t_symbolic_name aux_msg = message & (~NODE_ID_MASK); /* Case when FicOsek is initialized */ if (TST_FLAG_OSEK_COM_INIT()) { /* Case when message is not out of the range */ if ((aux_msg >= FIRST_TX_STA_LEN_SIGNAL_SYMBOLIC_NAME) && (aux_msg <= LAST_TX_STA_LEN_SIGNAL_SYMBOLIC_NAME)) { /* Mutual exclusive access begin */ // SuspendAllInterrupts(); /* Set of message data */ status = InitMessage(message, data_ref); /* Switch for signals with Tx or TxError flags to reset */ switch (message) { case SIG_DIAGCFAILRTOUCHPANSWTRVIBRATIONFLTSTS: /* Reset Tx notification flag */ ResetFlagTxSigDiagcFailrTouchPanSWTRVibrationFltSts(); break; case SIG_DIAGCFAILRTOUCHPANSWTRTOUCHDFLTSTS: /* Reset Tx notification flag */ ResetFlagTxSigDiagcFailrTouchPanSWTRTouchdFltSts(); break; case SIG_DIAGCFAILRTOUCHPANSWTRSNSRFLTSTS: /* Reset Tx notification flag */ ResetFlagTxSigDiagcFailrTouchPanSWTRSnsrFltSts(); break; case SIG_DIAGCFAILRTOUCHPANSWTRCMNFLTSTS: /* Reset Tx notification flag */ ResetFlagTxSigDiagcFailrTouchPanSWTRCmnFltSts(); break; case SIG_DIAGCFAILRTOUCHPANSWTR_UB: /* Reset Tx notification flag */ ResetFlagTxSigDiagcFailrTouchPanSWTR_UB(); break; case SIG_SWTRSERNONR4: /* Reset Tx notification flag */ ResetFlagTxSigSWTRSerNoNr4(); break; case SIG_SWTRSERNONR3: /* Reset Tx notification flag */ ResetFlagTxSigSWTRSerNoNr3(); break; case SIG_SWTRSERNONR2: /* Reset Tx notification flag */ ResetFlagTxSigSWTRSerNoNr2(); break; case SIG_SWTRSERNONR1: /* Reset Tx notification flag */ ResetFlagTxSigSWTRSerNoNr1(); break; case SIG_SWTRSERNO_UB: /* Reset Tx notification flag */ ResetFlagTxSigSWTRSerNo_UB(); break; case SIG_SWTRPARTNOCMPLNR4: /* Reset Tx notification flag */ ResetFlagTxSigSWTRPartNoCmplNr4(); break; case SIG_SWTRPARTNOCMPLNR3: /* Reset Tx notification flag */ ResetFlagTxSigSWTRPartNoCmplNr3(); break; case SIG_SWTRPARTNOCMPLNR2: /* Reset Tx notification flag */ ResetFlagTxSigSWTRPartNoCmplNr2(); break; case SIG_SWTRPARTNOCMPLNR1: /* Reset Tx notification flag */ ResetFlagTxSigSWTRPartNoCmplNr1(); break; case SIG_SWTRPARTNOCMPLENDSGN3: /* Reset Tx notification flag */ ResetFlagTxSigSWTRPartNoCmplEndSgn3(); break; case SIG_SWTRPARTNOCMPLENDSGN2: /* Reset Tx notification flag */ ResetFlagTxSigSWTRPartNoCmplEndSgn2(); break; case SIG_SWTRPARTNOCMPLENDSGN1: /* Reset Tx notification flag */ ResetFlagTxSigSWTRPartNoCmplEndSgn1(); break; case SIG_SWTRPARTNOCMPL_UB: /* Reset Tx notification flag */ ResetFlagTxSigSWTRPartNoCmpl_UB(); break; case SIG_SWTRPARTNO10CMPLNR5: /* Reset Tx notification flag */ ResetFlagTxSigSWTRPartNo10CmplNr5(); break; case SIG_SWTRPARTNO10CMPLNR4: /* Reset Tx notification flag */ ResetFlagTxSigSWTRPartNo10CmplNr4(); break; case SIG_SWTRPARTNO10CMPLNR3: /* Reset Tx notification flag */ ResetFlagTxSigSWTRPartNo10CmplNr3(); break; case SIG_SWTRPARTNO10CMPLNR2: /* Reset Tx notification flag */ ResetFlagTxSigSWTRPartNo10CmplNr2(); break; case SIG_SWTRPARTNO10CMPLNR1: /* Reset Tx notification flag */ ResetFlagTxSigSWTRPartNo10CmplNr1(); break; case SIG_SWTRPARTNO10CMPLENDSGN3: /* Reset Tx notification flag */ ResetFlagTxSigSWTRPartNo10CmplEndSgn3(); break; case SIG_SWTRPARTNO10CMPLENDSGN2: /* Reset Tx notification flag */ ResetFlagTxSigSWTRPartNo10CmplEndSgn2(); break; case SIG_SWTRPARTNO10CMPLENDSGN1: /* Reset Tx notification flag */ ResetFlagTxSigSWTRPartNo10CmplEndSgn1(); break; case SIG_SWPUPDWNSTSRI_UB: /* Reset Tx notification flag */ ResetFlagTxSigSwpUpDwnStsRi_UB(); break; case SIG_SWPUPDWNSTSRI: /* Reset Tx notification flag */ ResetFlagTxSigSwpUpDwnStsRi(); break; case SIG_SWPLERISTSRI_UB: /* Reset Tx notification flag */ ResetFlagTxSigSwpLeRiStsRi_UB(); break; case SIG_SWPLERISTSRI: /* Reset Tx notification flag */ ResetFlagTxSigSwpLeRiStsRi(); break; case SIG_STEERWHLTOUCHBDVOICE_UB: /* Reset Tx notification flag */ ResetFlagTxSigSteerWhlTouchBdVoice_UB(); break; case SIG_STEERWHLTOUCHBDVOICE: /* Reset Tx notification flag */ ResetFlagTxSigSteerWhlTouchBdVoice(); break; case SIG_STEERWHLTOUCHBDMENU_UB: /* Reset Tx notification flag */ ResetFlagTxSigSteerWhlTouchBdMenu_UB(); break; case SIG_STEERWHLTOUCHBDMENU: /* Reset Tx notification flag */ ResetFlagTxSigSteerWhlTouchBdMenu(); break; case SIG_STEERWHLTOUCHBDDN_UB: /* Reset Tx notification flag */ ResetFlagTxSigSteerWhlTouchBdDn_UB(); break; case SIG_STEERWHLTOUCHBDDN: /* Reset Tx notification flag */ ResetFlagTxSigSteerWhlTouchBdDn(); break; case SIG_SLDVOLCTRLSTS_UB: /* Reset Tx notification flag */ ResetFlagTxSigSldVolCtrlSts_UB(); break; case SIG_SLDVOLCTRLSTS: /* Reset Tx notification flag */ ResetFlagTxSigSldVolCtrlSts(); break; case SIG_RIMFCTACTSGUP_UB: /* Reset Tx notification flag */ ResetFlagTxSigRiMFctActSgUp_UB(); break; case SIG_RIMFCTACTSGUP: /* Reset Tx notification flag */ ResetFlagTxSigRiMFctActSgUp(); break; case SIG_RIMFCTACTSGRI_UB: /* Reset Tx notification flag */ ResetFlagTxSigRiMFctActSgRi_UB(); break; case SIG_RIMFCTACTSGRI: /* Reset Tx notification flag */ ResetFlagTxSigRiMFctActSgRi(); break; case SIG_RIMFCTACTSGLE_UB: /* Reset Tx notification flag */ ResetFlagTxSigRiMFctActSgLe_UB(); break; case SIG_RIMFCTACTSGLE: /* Reset Tx notification flag */ ResetFlagTxSigRiMFctActSgLe(); break; case SIG_RIMFCTACTSGDN_UB: /* Reset Tx notification flag */ ResetFlagTxSigRiMFctActSgDn_UB(); break; case SIG_RIMFCTACTSGDN: /* Reset Tx notification flag */ ResetFlagTxSigRiMFctActSgDn(); break; case SIG_RIMFCTACTSGCE_UB: /* Reset Tx notification flag */ ResetFlagTxSigRiMFctActSgCe_UB(); break; case SIG_RIMFCTACTSGCE: /* Reset Tx notification flag */ ResetFlagTxSigRiMFctActSgCe(); break; case SIG_STEERWHLTOUCHBDRITOUCHPOSNY: /* Reset Tx notification flag */ ResetFlagTxSigSteerWhlTouchBdRiTouchPosnY(); break; case SIG_STEERWHLTOUCHBDRITOUCHPOSNX: /* Reset Tx notification flag */ ResetFlagTxSigSteerWhlTouchBdRiTouchPosnX(); break; case SIG_STEERWHLTOUCHBDRISTEERWHLTOUCHBDSTS: /* Reset Tx notification flag */ ResetFlagTxSigSteerWhlTouchBdRiSteerWhlTouchBdSts(); break; case SIG_STEERWHLTOUCHBDRICNTR: /* Reset Tx notification flag */ ResetFlagTxSigSteerWhlTouchBdRiCntr(); break; case SIG_STEERWHLTOUCHBDRICHKS: /* Reset Tx notification flag */ ResetFlagTxSigSteerWhlTouchBdRiChks(); break; case SIG_STEERWHLTOUCHBDRI_UB: /* Reset Tx notification flag */ ResetFlagTxSigSteerWhlTouchBdRi_UB(); break; case SIG_DIAGNOSTICRESPSWTR: ResetFlagTxSigDiagnosticRespSWTR(); break; default: /* Do nothing */ break; } /* Mutual exclusive access end */ // ResumeAllInterrupts(); } /* Case when message is out of the range */ else { status = E_COM_ID; } } /* Case when FicOsek is not initialized */ else { status = E_COM_SYS_NOINIT; } return status; } t_status_type SendDynamicMessage(t_symbolic_name message, t_application_data_ref data_ref, t_length_ref length_ref) { t_status_type status; t_symbolic_name aux_msg = message & (~NODE_ID_MASK); /* Case when FicOsek is initialized */ if (TST_FLAG_OSEK_COM_INIT()) { /* Case when message is not out of the range */ if ((aux_msg >= FIRST_TX_DYN_LEN_SIGNAL_SYMBOLIC_NAME) && (aux_msg <= LAST_TX_DYN_LEN_SIGNAL_SYMBOLIC_NAME)) { /* Mutual exclusive access begin */ // SuspendAllInterrupts(); /* Set of signal data */ status = InitMessage(message, data_ref); /* Switch for signals */ switch (message) { case SIG_DIAGNOSTICRESPSWTR: /* Set of signal length */ len_frm_diag_physresp_swtr = MAX_LEN_FRM_DIAG_PHYSRESP_SWTR - MAX_LEN_SIG_DIAGNOSTICRESPSWTR + (*((UI_8 *)length_ref)); /* Reset class 2 (TxNotif) flag */ ResetFlagTxSigDiagnosticRespSWTR(); /* Reset class 4 (TxErrorNotif) flag */ // ResetFlagTxErrorSigDiagnosticRespSWTR(); break; default: /* Do nothing */ break; } /* Mutual exclusive access end */ // ResumeAllInterrupts(); /* Switch for triggered signal of direct or mixed frames */ switch (message) { case SIG_DIAGNOSTICRESPSWTR: /* Trigger event to initiate the transmission of the frame */ OsekComTxReqFrmDIAG_PhysResp_SWTR(); break; default: /* Do nothing */ break; } } /* Case when message is out of the range */ else { status = E_COM_ID; } } /* Case when FicOsek is not initialized */ else { status = E_COM_SYS_NOINIT; } return status; } /*--------------------------------------------------------------------------- | Portability: Target platform independent |---------------------------------------------------------------------------- | Routine description: | * This service updates OsekCom internal data structure of the signal | identified by >message< with the data referenced by the variable | referenced by >data_ref< | * This service will not reset any class flags associated to >message< | * This service will not initiate any transmission. | * The user is responsible of granting that the parameter 'data_ref' | points to an address correctly allocated and compatible in size with the | transmitted signal type. |--------------------------------------------------------------------------- | Parameters description: | message: Identification of the signal. | data_ref: Pointer to a variable containing the data. | return: | E_OK in case of no errors | E_COM_ID if the message or signal to initialize don't exist | Other (see t_status_type). /---------------------------------------------------------------------------*/ t_status_type InitMessage(t_symbolic_name message, t_application_data_ref data_ref) { t_status_type status = E_OK; /* Mutual exclusive access begin */ // SuspendAllInterrupts(); switch (message) { case SIG_TWLIBRISTS_UB: /* Initialization of signal sig_TwliBriSts_UB */ sig_twlibrists_ub[0] = ((uint8_t *)data_ref)[0]; break; case SIG_TWLIBRISTS: /* Initialization of signal sig_TwliBriSts */ sig_twlibrists[0] = ((uint8_t *)data_ref)[0]; break; case SIG_SWTOFKEYTONE_UB: /* Initialization of signal sig_SwtOfKeyTone_UB */ sig_swtofkeytone_ub[0] = ((uint8_t *)data_ref)[0]; break; case SIG_SWTOFKEYTONE: /* Initialization of signal sig_SwtOfKeyTone */ sig_swtofkeytone[0] = ((uint8_t *)data_ref)[0]; break; case SIG_INTRBRISTS_UB: /* Initialization of signal sig_IntrBriSts_UB */ sig_intrbrists_ub[0] = ((uint8_t *)data_ref)[0]; break; case SIG_INTRBRISTS: /* Initialization of signal sig_IntrBriSts */ sig_intrbrists[0] = ((uint8_t *)data_ref)[0]; break; case SIG_ACTVNOFSTEERWHLILLMN_UB: /* Initialization of signal sig_ActvnOfSteerWhlIllmn_UB */ sig_actvnofsteerwhlillmn_ub[0] = ((uint8_t *)data_ref)[0]; break; case SIG_ACTVNOFSTEERWHLILLMN: /* Initialization of signal sig_ActvnOfSteerWhlIllmn */ sig_actvnofsteerwhlillmn[0] = ((uint8_t *)data_ref)[0]; break; case SIG_DIAGCFAILRTOUCHPANSWTRVIBRATIONFLTSTS: /* Initial codification of the signal sig_DiagcFailrTouchPanSWTRVibrationFltSts */ frm_swtrprivatedhucanfr06[0] &= (((uint8_t)0xFF) - (((uint8_t)3))); frm_swtrprivatedhucanfr06[0] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)3))); break; case SIG_DIAGCFAILRTOUCHPANSWTRTOUCHDFLTSTS: /* Initial codification of the signal sig_DiagcFailrTouchPanSWTRTouchdFltSts */ frm_swtrprivatedhucanfr06[0] &= (((uint8_t)0xFF) - (((uint8_t)3) << ((uint8_t)2))); frm_swtrprivatedhucanfr06[0] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)3)) << ((uint8_t)2)); break; case SIG_DIAGCFAILRTOUCHPANSWTRSNSRFLTSTS: /* Initial codification of the signal sig_DiagcFailrTouchPanSWTRSnsrFltSts */ frm_swtrprivatedhucanfr06[0] &= (((uint8_t)0xFF) - (((uint8_t)7) << ((uint8_t)4))); frm_swtrprivatedhucanfr06[0] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)7)) << ((uint8_t)4)); break; case SIG_DIAGCFAILRTOUCHPANSWTRCMNFLTSTS: /* Initial codification of the signal sig_DiagcFailrTouchPanSWTRCmnFltSts */ frm_swtrprivatedhucanfr06[0] &= (((uint8_t)0xFF) - (((uint8_t)1) << ((uint8_t)7))); frm_swtrprivatedhucanfr06[0] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)1)) << ((uint8_t)7)); break; case SIG_DIAGCFAILRTOUCHPANSWTR_UB: /* Initial codification of the signal sig_DiagcFailrTouchPanSWTR_UB */ frm_swtrprivatedhucanfr06[1] &= (((uint8_t)0xFF) - (((uint8_t)1) << ((uint8_t)7))); frm_swtrprivatedhucanfr06[1] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)1)) << ((uint8_t)7)); break; case SIG_SWTRSERNONR4: /* Initial codification of the signal sig_SWTRSerNoNr4 */ frm_swtrprivatedhucanfr05[3] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrprivatedhucanfr05[3] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)255))); break; case SIG_SWTRSERNONR3: /* Initial codification of the signal sig_SWTRSerNoNr3 */ frm_swtrprivatedhucanfr05[2] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrprivatedhucanfr05[2] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)255))); break; case SIG_SWTRSERNONR2: /* Initial codification of the signal sig_SWTRSerNoNr2 */ frm_swtrprivatedhucanfr05[1] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrprivatedhucanfr05[1] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)255))); break; case SIG_SWTRSERNONR1: /* Initial codification of the signal sig_SWTRSerNoNr1 */ frm_swtrprivatedhucanfr05[0] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrprivatedhucanfr05[0] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)255))); break; case SIG_SWTRSERNO_UB: /* Initial codification of the signal sig_SWTRSerNo_UB */ frm_swtrprivatedhucanfr05[4] &= (((uint8_t)0xFF) - (((uint8_t)1) << ((uint8_t)7))); frm_swtrprivatedhucanfr05[4] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)1)) << ((uint8_t)7)); break; case SIG_SWTRPARTNOCMPLNR4: /* Initial codification of the signal sig_SWTRPartNoCmplNr4 */ frm_swtrprivatedhucanfr04[3] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrprivatedhucanfr04[3] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)255))); break; case SIG_SWTRPARTNOCMPLNR3: /* Initial codification of the signal sig_SWTRPartNoCmplNr3 */ frm_swtrprivatedhucanfr04[2] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrprivatedhucanfr04[2] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)255))); break; case SIG_SWTRPARTNOCMPLNR2: /* Initial codification of the signal sig_SWTRPartNoCmplNr2 */ frm_swtrprivatedhucanfr04[1] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrprivatedhucanfr04[1] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)255))); break; case SIG_SWTRPARTNOCMPLNR1: /* Initial codification of the signal sig_SWTRPartNoCmplNr1 */ frm_swtrprivatedhucanfr04[0] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrprivatedhucanfr04[0] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)255))); break; case SIG_SWTRPARTNOCMPLENDSGN3: /* Initial codification of the signal sig_SWTRPartNoCmplEndSgn3 */ frm_swtrprivatedhucanfr04[6] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrprivatedhucanfr04[6] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)255))); break; case SIG_SWTRPARTNOCMPLENDSGN2: /* Initial codification of the signal sig_SWTRPartNoCmplEndSgn2 */ frm_swtrprivatedhucanfr04[5] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrprivatedhucanfr04[5] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)255))); break; case SIG_SWTRPARTNOCMPLENDSGN1: /* Initial codification of the signal sig_SWTRPartNoCmplEndSgn1 */ frm_swtrprivatedhucanfr04[4] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrprivatedhucanfr04[4] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)255))); break; case SIG_SWTRPARTNOCMPL_UB: /* Initial codification of the signal sig_SWTRPartNoCmpl_UB */ frm_swtrprivatedhucanfr04[7] &= (((uint8_t)0xFF) - (((uint8_t)1) << ((uint8_t)7))); frm_swtrprivatedhucanfr04[7] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)1)) << ((uint8_t)7)); break; case SIG_SWTRPARTNO10CMPLNR5: /* Initial codification of the signal sig_SWTRPartNo10CmplNr5 */ frm_swtrprivatedhucanfr03[4] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrprivatedhucanfr03[4] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)255))); break; case SIG_SWTRPARTNO10CMPLNR4: /* Initial codification of the signal sig_SWTRPartNo10CmplNr4 */ frm_swtrprivatedhucanfr03[3] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrprivatedhucanfr03[3] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)255))); break; case SIG_SWTRPARTNO10CMPLNR3: /* Initial codification of the signal sig_SWTRPartNo10CmplNr3 */ frm_swtrprivatedhucanfr03[2] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrprivatedhucanfr03[2] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)255))); break; case SIG_SWTRPARTNO10CMPLNR2: /* Initial codification of the signal sig_SWTRPartNo10CmplNr2 */ frm_swtrprivatedhucanfr03[1] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrprivatedhucanfr03[1] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)255))); break; case SIG_SWTRPARTNO10CMPLNR1: /* Initial codification of the signal sig_SWTRPartNo10CmplNr1 */ frm_swtrprivatedhucanfr03[0] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrprivatedhucanfr03[0] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)255))); break; case SIG_SWTRPARTNO10CMPLENDSGN3: /* Initial codification of the signal sig_SWTRPartNo10CmplEndSgn3 */ frm_swtrprivatedhucanfr03[7] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrprivatedhucanfr03[7] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)255))); break; case SIG_SWTRPARTNO10CMPLENDSGN2: /* Initial codification of the signal sig_SWTRPartNo10CmplEndSgn2 */ frm_swtrprivatedhucanfr03[6] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrprivatedhucanfr03[6] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)255))); break; case SIG_SWTRPARTNO10CMPLENDSGN1: /* Initial codification of the signal sig_SWTRPartNo10CmplEndSgn1 */ frm_swtrprivatedhucanfr03[5] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrprivatedhucanfr03[5] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)255))); break; case SIG_SWPUPDWNSTSRI_UB: /* Initial codification of the signal sig_SwpUpDwnStsRi_UB */ frm_swtrprivatedhucanfr02[3] &= (((uint8_t)0xFF) - (((uint8_t)1))); frm_swtrprivatedhucanfr02[3] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)1))); break; case SIG_SWPUPDWNSTSRI: /* Initial codification of the signal sig_SwpUpDwnStsRi */ frm_swtrprivatedhucanfr02[4] &= (((uint8_t)0xFF) - (((uint8_t)7) << ((uint8_t)1))); frm_swtrprivatedhucanfr02[4] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)7)) << ((uint8_t)1)); break; case SIG_SWPLERISTSRI_UB: /* Initial codification of the signal sig_SwpLeRiStsRi_UB */ frm_swtrprivatedhucanfr02[4] &= (((uint8_t)0xFF) - (((uint8_t)1) << ((uint8_t)4))); frm_swtrprivatedhucanfr02[4] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)1)) << ((uint8_t)4)); break; case SIG_SWPLERISTSRI: /* Initial codification of the signal sig_SwpLeRiStsRi */ frm_swtrprivatedhucanfr02[4] &= (((uint8_t)0xFF) - (((uint8_t)7) << ((uint8_t)5))); frm_swtrprivatedhucanfr02[4] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)7)) << ((uint8_t)5)); break; case SIG_STEERWHLTOUCHBDVOICE_UB: /* Initial codification of the signal sig_SteerWhlTouchBdVoice_UB */ frm_swtrprivatedhucanfr02[3] &= (((uint8_t)0xFF) - (((uint8_t)1) << ((uint8_t)5))); frm_swtrprivatedhucanfr02[3] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)1)) << ((uint8_t)5)); break; case SIG_STEERWHLTOUCHBDVOICE: /* Initial codification of the signal sig_SteerWhlTouchBdVoice */ frm_swtrprivatedhucanfr02[3] &= (((uint8_t)0xFF) - (((uint8_t)3) << ((uint8_t)6))); frm_swtrprivatedhucanfr02[3] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)3)) << ((uint8_t)6)); break; case SIG_STEERWHLTOUCHBDMENU_UB: /* Initial codification of the signal sig_SteerWhlTouchBdMenu_UB */ frm_swtrprivatedhucanfr02[1] &= (((uint8_t)0xFF) - (((uint8_t)1) << ((uint8_t)1))); frm_swtrprivatedhucanfr02[1] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)1)) << ((uint8_t)1)); break; case SIG_STEERWHLTOUCHBDMENU: /* Initial codification of the signal sig_SteerWhlTouchBdMenu */ frm_swtrprivatedhucanfr02[2] &= (((uint8_t)0xFF) - (((uint8_t)3))); frm_swtrprivatedhucanfr02[2] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)3))); break; case SIG_STEERWHLTOUCHBDDN_UB: /* Initial codification of the signal sig_SteerWhlTouchBdDn_UB */ frm_swtrprivatedhucanfr02[2] &= (((uint8_t)0xFF) - (((uint8_t)1) << ((uint8_t)4))); frm_swtrprivatedhucanfr02[2] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)1)) << ((uint8_t)4)); break; case SIG_STEERWHLTOUCHBDDN: /* Initial codification of the signal sig_SteerWhlTouchBdDn */ frm_swtrprivatedhucanfr02[2] &= (((uint8_t)0xFF) - (((uint8_t)3) << ((uint8_t)2))); frm_swtrprivatedhucanfr02[2] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)3)) << ((uint8_t)2)); break; case SIG_SLDVOLCTRLSTS_UB: /* Initial codification of the signal sig_SldVolCtrlSts_UB */ frm_swtrprivatedhucanfr02[3] &= (((uint8_t)0xFF) - (((uint8_t)1) << ((uint8_t)1))); frm_swtrprivatedhucanfr02[3] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)1)) << ((uint8_t)1)); break; case SIG_SLDVOLCTRLSTS: /* Initial codification of the signal sig_SldVolCtrlSts */ frm_swtrprivatedhucanfr02[3] &= (((uint8_t)0xFF) - (((uint8_t)7) << ((uint8_t)2))); frm_swtrprivatedhucanfr02[3] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)7)) << ((uint8_t)2)); break; case SIG_RIMFCTACTSGUP_UB: /* Initial codification of the signal sig_RiMFctActSgUp_UB */ frm_swtrprivatedhucanfr02[1] &= (((uint8_t)0xFF) - (((uint8_t)1) << ((uint8_t)2))); frm_swtrprivatedhucanfr02[1] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)1)) << ((uint8_t)2)); break; case SIG_RIMFCTACTSGUP: /* Initial codification of the signal sig_RiMFctActSgUp */ frm_swtrprivatedhucanfr02[1] &= (((uint8_t)0xFF) - (((uint8_t)3) << ((uint8_t)3))); frm_swtrprivatedhucanfr02[1] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)3)) << ((uint8_t)3)); break; case SIG_RIMFCTACTSGRI_UB: /* Initial codification of the signal sig_RiMFctActSgRi_UB */ frm_swtrprivatedhucanfr02[1] &= (((uint8_t)0xFF) - (((uint8_t)1) << ((uint8_t)5))); frm_swtrprivatedhucanfr02[1] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)1)) << ((uint8_t)5)); break; case SIG_RIMFCTACTSGRI: /* Initial codification of the signal sig_RiMFctActSgRi */ frm_swtrprivatedhucanfr02[1] &= (((uint8_t)0xFF) - (((uint8_t)3) << ((uint8_t)6))); frm_swtrprivatedhucanfr02[1] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)3)) << ((uint8_t)6)); break; case SIG_RIMFCTACTSGLE_UB: /* Initial codification of the signal sig_RiMFctActSgLe_UB */ frm_swtrprivatedhucanfr02[1] &= (((uint8_t)0xFF) - (((uint8_t)1))); frm_swtrprivatedhucanfr02[1] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)1))); break; case SIG_RIMFCTACTSGLE: /* Initial codification of the signal sig_RiMFctActSgLe */ frm_swtrprivatedhucanfr02[0] &= (((uint8_t)0xFF) - (((uint8_t)3))); frm_swtrprivatedhucanfr02[0] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)3))); break; case SIG_RIMFCTACTSGDN_UB: /* Initial codification of the signal sig_RiMFctActSgDn_UB */ frm_swtrprivatedhucanfr02[0] &= (((uint8_t)0xFF) - (((uint8_t)1) << ((uint8_t)2))); frm_swtrprivatedhucanfr02[0] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)1)) << ((uint8_t)2)); break; case SIG_RIMFCTACTSGDN: /* Initial codification of the signal sig_RiMFctActSgDn */ frm_swtrprivatedhucanfr02[0] &= (((uint8_t)0xFF) - (((uint8_t)3) << ((uint8_t)3))); frm_swtrprivatedhucanfr02[0] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)3)) << ((uint8_t)3)); break; case SIG_RIMFCTACTSGCE_UB: /* Initial codification of the signal sig_RiMFctActSgCe_UB */ frm_swtrprivatedhucanfr02[0] &= (((uint8_t)0xFF) - (((uint8_t)1) << ((uint8_t)5))); frm_swtrprivatedhucanfr02[0] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)1)) << ((uint8_t)5)); break; case SIG_RIMFCTACTSGCE: /* Initial codification of the signal sig_RiMFctActSgCe */ frm_swtrprivatedhucanfr02[0] &= (((uint8_t)0xFF) - (((uint8_t)3) << ((uint8_t)6))); frm_swtrprivatedhucanfr02[0] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)3)) << ((uint8_t)6)); break; case SIG_STEERWHLTOUCHBDRITOUCHPOSNY: /* Initial codification of the signal sig_SteerWhlTouchBdRiTouchPosnY */ frm_swtrprivatedhucanfr01[3] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrprivatedhucanfr01[3] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)255))); break; case SIG_STEERWHLTOUCHBDRITOUCHPOSNX: /* Initial codification of the signal sig_SteerWhlTouchBdRiTouchPosnX */ frm_swtrprivatedhucanfr01[2] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrprivatedhucanfr01[2] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)255))); break; case SIG_STEERWHLTOUCHBDRISTEERWHLTOUCHBDSTS: /* Initial codification of the signal sig_SteerWhlTouchBdRiSteerWhlTouchBdSts */ frm_swtrprivatedhucanfr01[0] &= (((uint8_t)0xFF) - (((uint8_t)3) << ((uint8_t)4))); frm_swtrprivatedhucanfr01[0] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)3)) << ((uint8_t)4)); break; case SIG_STEERWHLTOUCHBDRICNTR: /* Initial codification of the signal sig_SteerWhlTouchBdRiCntr */ frm_swtrprivatedhucanfr01[0] &= (((uint8_t)0xFF) - (((uint8_t)15))); frm_swtrprivatedhucanfr01[0] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)15))); break; case SIG_STEERWHLTOUCHBDRICHKS: /* Initial codification of the signal sig_SteerWhlTouchBdRiChks */ frm_swtrprivatedhucanfr01[1] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrprivatedhucanfr01[1] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)255))); break; case SIG_STEERWHLTOUCHBDRI_UB: /* Initial codification of the signal sig_SteerWhlTouchBdRi_UB */ frm_swtrprivatedhucanfr01[0] &= (((uint8_t)0xFF) - (((uint8_t)1) << ((uint8_t)6))); frm_swtrprivatedhucanfr01[0] |= ((((uint8_t *)data_ref)[0] & ((uint8_t)1)) << ((uint8_t)6)); break; case SIG_SWTRPRESSBASELINE: /* Initial codification of the signal sig_SwtrPressBaseline */ frm_swtrpressfr01[1] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrpressfr01[1] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(1, 2)] & ((uint8_t)255))); frm_swtrpressfr01[0] &= ((uint8_t)0xFF) - ((uint8_t)255); frm_swtrpressfr01[0] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(0, 2)] & ((uint8_t)255))); break; case SIG_SWTRPRESSSIGNAL: /* Initial codification of the signal sig_SwtrPressSignal */ frm_swtrpressfr01[3] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrpressfr01[3] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(1, 2)] & ((uint8_t)255))); frm_swtrpressfr01[2] &= ((uint8_t)0xFF) - ((uint8_t)255); frm_swtrpressfr01[2] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(0, 2)] & ((uint8_t)255))); break; case SIG_SWTRSENSOR1_BASELINE: /* Initial codification of the signal sig_SwtRsensor1_baseline */ frm_swtrsensorfr01[1] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrsensorfr01[1] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(1, 2)] & ((uint8_t)255))); frm_swtrsensorfr01[0] &= ((uint8_t)0xFF) - ((uint8_t)255); frm_swtrsensorfr01[0] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(0, 2)] & ((uint8_t)255))); break; case SIG_SWTRSENSOR1_SIGNAL: /* Initial codification of the signal sig_SwtRSensor1_signal */ frm_swtrsensorfr01[3] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrsensorfr01[3] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(1, 2)] & ((uint8_t)255))); frm_swtrsensorfr01[2] &= ((uint8_t)0xFF) - ((uint8_t)255); frm_swtrsensorfr01[2] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(0, 2)] & ((uint8_t)255))); break; case SIG_SWTRSENSOR2_BASELINE: /* Initial codification of the signal sig_SwtRsensor2_baseline */ frm_swtrsensorfr01[5] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrsensorfr01[5] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(1, 2)] & ((uint8_t)255))); frm_swtrsensorfr01[4] &= ((uint8_t)0xFF) - ((uint8_t)255); frm_swtrsensorfr01[4] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(0, 2)] & ((uint8_t)255))); break; case SIG_SWTRSENSOR2_SIGNAL: /* Initial codification of the signal sig_SwtRSensor2_signal */ frm_swtrsensorfr01[7] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrsensorfr01[7] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(1, 2)] & ((uint8_t)255))); frm_swtrsensorfr01[6] &= ((uint8_t)0xFF) - ((uint8_t)255); frm_swtrsensorfr01[6] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(0, 2)] & ((uint8_t)255))); break; case SIG_SWTRSENSOR3_BASELINE: /* Initial codification of the signal sig_SwtRsensor3_baseline */ frm_swtrsensorfr02[1] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrsensorfr02[1] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(1, 2)] & ((uint8_t)255))); frm_swtrsensorfr02[0] &= ((uint8_t)0xFF) - ((uint8_t)255); frm_swtrsensorfr02[0] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(0, 2)] & ((uint8_t)255))); break; case SIG_SWTRSENSOR4_BASELINE: /* Initial codification of the signal sig_SwtRsensor4_baseline */ frm_swtrsensorfr02[3] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrsensorfr02[3] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(1, 2)] & ((uint8_t)255))); frm_swtrsensorfr02[2] &= ((uint8_t)0xFF) - ((uint8_t)255); frm_swtrsensorfr02[2] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(0, 2)] & ((uint8_t)255))); break; case SIG_SWTRSENSOR3_SIGNAL: /* Initial codification of the signal sig_SwtRSensor3_signal */ frm_swtrsensorfr02[5] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrsensorfr02[5] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(1, 2)] & ((uint8_t)255))); frm_swtrsensorfr02[4] &= ((uint8_t)0xFF) - ((uint8_t)255); frm_swtrsensorfr02[4] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(0, 2)] & ((uint8_t)255))); break; case SIG_SWTRSENSOR4_SIGNAL: /* Initial codification of the signal sig_SwtRSensor4_signal */ frm_swtrsensorfr02[7] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrsensorfr02[7] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(1, 2)] & ((uint8_t)255))); frm_swtrsensorfr02[6] &= ((uint8_t)0xFF) - ((uint8_t)255); frm_swtrsensorfr02[6] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(0, 2)] & ((uint8_t)255))); break; case SIG_SWTRSENSOR5_BASELINE: /* Initial codification of the signal sig_SwtRsensor5_baseline */ frm_swtrsensorfr03[1] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrsensorfr03[1] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(1, 2)] & ((uint8_t)255))); frm_swtrsensorfr03[0] &= ((uint8_t)0xFF) - ((uint8_t)255); frm_swtrsensorfr03[0] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(0, 2)] & ((uint8_t)255))); break; case SIG_SWTRSENSOR6_BASELINE: /* Initial codification of the signal sig_SwtRsensor6_baseline */ frm_swtrsensorfr03[3] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrsensorfr03[3] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(1, 2)] & ((uint8_t)255))); frm_swtrsensorfr03[2] &= ((uint8_t)0xFF) - ((uint8_t)255); frm_swtrsensorfr03[2] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(0, 2)] & ((uint8_t)255))); break; case SIG_SWTRSENSOR5_SIGNAL: /* Initial codification of the signal sig_SwtRSensor5_signal */ frm_swtrsensorfr03[5] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrsensorfr03[5] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(1, 2)] & ((uint8_t)255))); frm_swtrsensorfr03[4] &= ((uint8_t)0xFF) - ((uint8_t)255); frm_swtrsensorfr03[4] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(0, 2)] & ((uint8_t)255))); break; case SIG_SWTRSENSOR6_SIGNAL: /* Initial codification of the signal sig_SwtRSensor6_signal */ frm_swtrsensorfr03[7] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrsensorfr03[7] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(1, 2)] & ((uint8_t)255))); frm_swtrsensorfr03[6] &= ((uint8_t)0xFF) - ((uint8_t)255); frm_swtrsensorfr03[6] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(0, 2)] & ((uint8_t)255))); break; case SIG_SWTRSENSOR7_BASELINE: /* Initial codification of the signal sig_SwtRsensor7_baseline */ frm_swtrsensorfr04[1] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrsensorfr04[1] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(1, 2)] & ((uint8_t)255))); frm_swtrsensorfr04[0] &= ((uint8_t)0xFF) - ((uint8_t)255); frm_swtrsensorfr04[0] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(0, 2)] & ((uint8_t)255))); break; case SIG_SWTRSENSOR8_BASELINE: /* Initial codification of the signal sig_SwtRsensor8_baseline */ frm_swtrsensorfr04[3] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrsensorfr04[3] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(1, 2)] & ((uint8_t)255))); frm_swtrsensorfr04[2] &= ((uint8_t)0xFF) - ((uint8_t)255); frm_swtrsensorfr04[2] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(0, 2)] & ((uint8_t)255))); break; case SIG_SWTRSENSOR7_SIGNAL: /* Initial codification of the signal sig_SwtRSensor7_signal */ frm_swtrsensorfr04[5] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrsensorfr04[5] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(1, 2)] & ((uint8_t)255))); frm_swtrsensorfr04[4] &= ((uint8_t)0xFF) - ((uint8_t)255); frm_swtrsensorfr04[4] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(0, 2)] & ((uint8_t)255))); break; case SIG_SWTRSENSOR8_SIGNAL: /* Initial codification of the signal sig_SwtRSensor8_signal */ frm_swtrsensorfr04[7] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrsensorfr04[7] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(1, 2)] & ((uint8_t)255))); frm_swtrsensorfr04[6] &= ((uint8_t)0xFF) - ((uint8_t)255); frm_swtrsensorfr04[6] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(0, 2)] & ((uint8_t)255))); break; case SIG_SWTRSENSOR9_BASELINE: /* Initial codification of the signal sig_SwtRsensor9_baseline */ frm_swtrsensorfr05[1] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrsensorfr05[1] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(1, 2)] & ((uint8_t)255))); frm_swtrsensorfr05[0] &= ((uint8_t)0xFF) - ((uint8_t)255); frm_swtrsensorfr05[0] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(0, 2)] & ((uint8_t)255))); break; case SIG_SWTRSENSOR10_BASELINE: /* Initial codification of the signal sig_SwtRsensor10_baseline */ frm_swtrsensorfr05[3] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrsensorfr05[3] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(1, 2)] & ((uint8_t)255))); frm_swtrsensorfr05[2] &= ((uint8_t)0xFF) - ((uint8_t)255); frm_swtrsensorfr05[2] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(0, 2)] & ((uint8_t)255))); break; case SIG_SWTRSENSOR9_SIGNAL: /* Initial codification of the signal sig_SwtRSensor9_signal */ frm_swtrsensorfr05[5] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrsensorfr05[5] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(1, 2)] & ((uint8_t)255))); frm_swtrsensorfr05[4] &= ((uint8_t)0xFF) - ((uint8_t)255); frm_swtrsensorfr05[4] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(0, 2)] & ((uint8_t)255))); break; case SIG_SWTRSENSOR10_SIGNAL: /* Initial codification of the signal sig_SwtRSensor10_signal */ frm_swtrsensorfr05[7] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrsensorfr05[7] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(1, 2)] & ((uint8_t)255))); frm_swtrsensorfr05[6] &= ((uint8_t)0xFF) - ((uint8_t)255); frm_swtrsensorfr05[6] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(0, 2)] & ((uint8_t)255))); break; case SIG_SWTRSENSOR11_BASELINE: /* Initial codification of the signal sig_SwtRsensor11_baseline */ frm_swtrsensorfr06[1] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrsensorfr06[1] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(1, 2)] & ((uint8_t)255))); frm_swtrsensorfr06[0] &= ((uint8_t)0xFF) - ((uint8_t)255); frm_swtrsensorfr06[0] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(0, 2)] & ((uint8_t)255))); break; case SIG_SWTRSENSOR12_BASELINE: /* Initial codification of the signal sig_SwtRsensor12_baseline */ frm_swtrsensorfr06[3] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrsensorfr06[3] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(1, 2)] & ((uint8_t)255))); frm_swtrsensorfr06[2] &= ((uint8_t)0xFF) - ((uint8_t)255); frm_swtrsensorfr06[2] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(0, 2)] & ((uint8_t)255))); break; case SIG_SWTRSENSOR11_SIGNAL: /* Initial codification of the signal sig_SwtRSensor11_signal */ frm_swtrsensorfr06[5] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrsensorfr06[5] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(1, 2)] & ((uint8_t)255))); frm_swtrsensorfr06[4] &= ((uint8_t)0xFF) - ((uint8_t)255); frm_swtrsensorfr06[4] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(0, 2)] & ((uint8_t)255))); break; case SIG_SWTRSENSOR12_SIGNAL: /* Initial codification of the signal sig_SwtRSensor12_signal */ frm_swtrsensorfr06[7] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrsensorfr06[7] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(1, 2)] & ((uint8_t)255))); frm_swtrsensorfr06[6] &= ((uint8_t)0xFF) - ((uint8_t)255); frm_swtrsensorfr06[6] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(0, 2)] & ((uint8_t)255))); break; case SIG_SWTRSENSOR13_BASELINE: /* Initial codification of the signal sig_SwtRsensor13_baseline */ frm_swtrsensorfr07[1] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrsensorfr07[1] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(1, 2)] & ((uint8_t)255))); frm_swtrsensorfr07[0] &= ((uint8_t)0xFF) - ((uint8_t)255); frm_swtrsensorfr07[0] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(0, 2)] & ((uint8_t)255))); break; case SIG_SWTRSENSOR14_BASELINE: /* Initial codification of the signal sig_SwtRsensor14_baseline */ frm_swtrsensorfr07[3] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrsensorfr07[3] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(1, 2)] & ((uint8_t)255))); frm_swtrsensorfr07[2] &= ((uint8_t)0xFF) - ((uint8_t)255); frm_swtrsensorfr07[2] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(0, 2)] & ((uint8_t)255))); break; case SIG_SWTRSENSOR13_SIGNAL: /* Initial codification of the signal sig_SwtRSensor13_signal */ frm_swtrsensorfr07[5] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrsensorfr07[5] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(1, 2)] & ((uint8_t)255))); frm_swtrsensorfr07[4] &= ((uint8_t)0xFF) - ((uint8_t)255); frm_swtrsensorfr07[4] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(0, 2)] & ((uint8_t)255))); break; case SIG_SWTRSENSOR14_SIGNAL: /* Initial codification of the signal sig_SwtRSensor14_signal */ frm_swtrsensorfr07[7] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrsensorfr07[7] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(1, 2)] & ((uint8_t)255))); frm_swtrsensorfr07[6] &= ((uint8_t)0xFF) - ((uint8_t)255); frm_swtrsensorfr07[6] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(0, 2)] & ((uint8_t)255))); break; case SIG_SWTRSENSOR15_BASELINE: /* Initial codification of the signal sig_SwtRsensor15_baseline */ frm_swtrsensorfr08[1] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrsensorfr08[1] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(1, 2)] & ((uint8_t)255))); frm_swtrsensorfr08[0] &= ((uint8_t)0xFF) - ((uint8_t)255); frm_swtrsensorfr08[0] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(0, 2)] & ((uint8_t)255))); break; case SIG_SWTRSENSOR16_BASELINE: /* Initial codification of the signal sig_SwtRsensor16_baseline */ frm_swtrsensorfr08[3] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrsensorfr08[3] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(1, 2)] & ((uint8_t)255))); frm_swtrsensorfr08[2] &= ((uint8_t)0xFF) - ((uint8_t)255); frm_swtrsensorfr08[2] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(0, 2)] & ((uint8_t)255))); break; case SIG_SWTRSENSOR15_SIGNAL: /* Initial codification of the signal sig_SwtRSensor15_signal */ frm_swtrsensorfr08[5] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrsensorfr08[5] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(1, 2)] & ((uint8_t)255))); frm_swtrsensorfr08[4] &= ((uint8_t)0xFF) - ((uint8_t)255); frm_swtrsensorfr08[4] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(0, 2)] & ((uint8_t)255))); break; case SIG_SWTRSENSOR16_SIGNAL: /* Initial codification of the signal sig_SwtRSensor16_signal */ frm_swtrsensorfr08[7] &= (((uint8_t)0xFF) - (((uint8_t)255))); frm_swtrsensorfr08[7] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(1, 2)] & ((uint8_t)255))); frm_swtrsensorfr08[6] &= ((uint8_t)0xFF) - ((uint8_t)255); frm_swtrsensorfr08[6] |= ((((uint8_t *)data_ref)[ENDIAN_BYTE(0, 2)] & ((uint8_t)255))); break; case SIG_DIAGNOSTICREQSWTR: /* Initialization of signal sig_DiagnosticReqSWTR */ sig_diagnosticreqswtr[0] = ((UI_8 *)data_ref)[0]; sig_diagnosticreqswtr[1] = ((UI_8 *)data_ref)[1]; sig_diagnosticreqswtr[2] = ((UI_8 *)data_ref)[2]; sig_diagnosticreqswtr[3] = ((UI_8 *)data_ref)[3]; sig_diagnosticreqswtr[4] = ((UI_8 *)data_ref)[4]; sig_diagnosticreqswtr[5] = ((UI_8 *)data_ref)[5]; sig_diagnosticreqswtr[6] = ((UI_8 *)data_ref)[6]; sig_diagnosticreqswtr[7] = ((UI_8 *)data_ref)[7]; sig_len_diagnosticreqswtr = MAX_LEN_SIG_DIAGNOSTICREQSWTR; break; case SIG_DIAGNOSTICFUNCADDRREQ: /* Initialization of signal sig_DiagnosticFuncAddrReq */ sig_diagnosticfuncaddrreq[0] = ((UI_8 *)data_ref)[0]; sig_diagnosticfuncaddrreq[1] = ((UI_8 *)data_ref)[1]; sig_diagnosticfuncaddrreq[2] = ((UI_8 *)data_ref)[2]; sig_diagnosticfuncaddrreq[3] = ((UI_8 *)data_ref)[3]; sig_diagnosticfuncaddrreq[4] = ((UI_8 *)data_ref)[4]; sig_diagnosticfuncaddrreq[5] = ((UI_8 *)data_ref)[5]; sig_diagnosticfuncaddrreq[6] = ((UI_8 *)data_ref)[6]; sig_diagnosticfuncaddrreq[7] = ((UI_8 *)data_ref)[7]; sig_len_diagnosticfuncaddrreq = MAX_LEN_SIG_DIAGNOSTICFUNCADDRREQ; break; case SIG_DIAGNOSTICRESPSWTR: /* Initial codification of the signal sig_DiagnosticRespSWTR */ frm_diag_physresp_swtr[0] &= (((UI_8)0xFF) - (((UI_8)255))); frm_diag_physresp_swtr[0] |= ((((UI_8 *)data_ref)[0] & ((UI_8)255))); frm_diag_physresp_swtr[1] = ((UI_8)0); frm_diag_physresp_swtr[1] |= (((UI_8 *)data_ref)[1]); frm_diag_physresp_swtr[2] = ((UI_8)0); frm_diag_physresp_swtr[2] |= (((UI_8 *)data_ref)[2]); frm_diag_physresp_swtr[3] = ((UI_8)0); frm_diag_physresp_swtr[3] |= (((UI_8 *)data_ref)[3]); frm_diag_physresp_swtr[4] = ((UI_8)0); frm_diag_physresp_swtr[4] |= (((UI_8 *)data_ref)[4]); frm_diag_physresp_swtr[5] = ((UI_8)0); frm_diag_physresp_swtr[5] |= (((UI_8 *)data_ref)[5]); frm_diag_physresp_swtr[6] = ((UI_8)0); frm_diag_physresp_swtr[6] |= (((UI_8 *)data_ref)[6]); frm_diag_physresp_swtr[7] &= ((UI_8)0xFF) - ((UI_8)255); frm_diag_physresp_swtr[7] |= ((((UI_8 *)data_ref)[7] & ((UI_8)255))); /* Set of signal length */ len_frm_diag_physresp_swtr = MAX_LEN_FRM_DIAG_PHYSRESP_SWTR; break; default: status = E_COM_ID; break; } /* Mutual exclusive access end */ // ResumeAllInterrupts(); return status; } /*--------------------------------------------------------------------------- | Portability: Target platform independent |---------------------------------------------------------------------------- | Routine description: | * Consult service for the flag of COM traffic. |--------------------------------------------------------------------------- | Parameters description: | return: | COM_FALSE if has not been detected any communication activity since | last clear | COM_TRUE if has been detected communication activity since last clear /---------------------------------------------------------------------------*/ t_flag_value ReadFlagComTrafficSWTR(void) { return com_traffic_swtr; } /*--------------------------------------------------------------------------- | Portability: Target platform independent |---------------------------------------------------------------------------- | Routine description: | * Reset service for the flag of COM traffic. |--------------------------------------------------------------------------- | Parameters description: /---------------------------------------------------------------------------*/ void ResetFlagComTrafficSWTR(void) { com_traffic_swtr = COM_FALSE; } /*--------------------------------------------------------------------------- | Portability: Target platform independent |---------------------------------------------------------------------------- | Routine description: | * Consult service to retrieve the state of class 1 (RxNotif), | class 3 (Rx_ErrorNotif), class 2 (TxNotif) and class 4 (Tx_ErrorNotif) flags |--------------------------------------------------------------------------- | Parameters description: | message: Identification of the signal. | return: | COM_FALSE if the flag is down | COM_TRUE if the flag is up /---------------------------------------------------------------------------*/ t_flag_value ReadFlagTxSig(t_symbolic_name message) { t_flag_value result; switch (message) { case SIG_DIAGCFAILRTOUCHPANSWTRVIBRATIONFLTSTS: result = ReadFlagTxSigDiagcFailrTouchPanSWTRVibrationFltSts(); break; case SIG_DIAGCFAILRTOUCHPANSWTRTOUCHDFLTSTS: result = ReadFlagTxSigDiagcFailrTouchPanSWTRTouchdFltSts(); break; case SIG_DIAGCFAILRTOUCHPANSWTRSNSRFLTSTS: result = ReadFlagTxSigDiagcFailrTouchPanSWTRSnsrFltSts(); break; case SIG_DIAGCFAILRTOUCHPANSWTRCMNFLTSTS: result = ReadFlagTxSigDiagcFailrTouchPanSWTRCmnFltSts(); break; case SIG_DIAGCFAILRTOUCHPANSWTR_UB: result = ReadFlagTxSigDiagcFailrTouchPanSWTR_UB(); break; case SIG_SWTRSERNONR4: result = ReadFlagTxSigSWTRSerNoNr4(); break; case SIG_SWTRSERNONR3: result = ReadFlagTxSigSWTRSerNoNr3(); break; case SIG_SWTRSERNONR2: result = ReadFlagTxSigSWTRSerNoNr2(); break; case SIG_SWTRSERNONR1: result = ReadFlagTxSigSWTRSerNoNr1(); break; case SIG_SWTRSERNO_UB: result = ReadFlagTxSigSWTRSerNo_UB(); break; case SIG_SWTRPARTNOCMPLNR4: result = ReadFlagTxSigSWTRPartNoCmplNr4(); break; case SIG_SWTRPARTNOCMPLNR3: result = ReadFlagTxSigSWTRPartNoCmplNr3(); break; case SIG_SWTRPARTNOCMPLNR2: result = ReadFlagTxSigSWTRPartNoCmplNr2(); break; case SIG_SWTRPARTNOCMPLNR1: result = ReadFlagTxSigSWTRPartNoCmplNr1(); break; case SIG_SWTRPARTNOCMPLENDSGN3: result = ReadFlagTxSigSWTRPartNoCmplEndSgn3(); break; case SIG_SWTRPARTNOCMPLENDSGN2: result = ReadFlagTxSigSWTRPartNoCmplEndSgn2(); break; case SIG_SWTRPARTNOCMPLENDSGN1: result = ReadFlagTxSigSWTRPartNoCmplEndSgn1(); break; case SIG_SWTRPARTNOCMPL_UB: result = ReadFlagTxSigSWTRPartNoCmpl_UB(); break; case SIG_SWTRPARTNO10CMPLNR5: result = ReadFlagTxSigSWTRPartNo10CmplNr5(); break; case SIG_SWTRPARTNO10CMPLNR4: result = ReadFlagTxSigSWTRPartNo10CmplNr4(); break; case SIG_SWTRPARTNO10CMPLNR3: result = ReadFlagTxSigSWTRPartNo10CmplNr3(); break; case SIG_SWTRPARTNO10CMPLNR2: result = ReadFlagTxSigSWTRPartNo10CmplNr2(); break; case SIG_SWTRPARTNO10CMPLNR1: result = ReadFlagTxSigSWTRPartNo10CmplNr1(); break; case SIG_SWTRPARTNO10CMPLENDSGN3: result = ReadFlagTxSigSWTRPartNo10CmplEndSgn3(); break; case SIG_SWTRPARTNO10CMPLENDSGN2: result = ReadFlagTxSigSWTRPartNo10CmplEndSgn2(); break; case SIG_SWTRPARTNO10CMPLENDSGN1: result = ReadFlagTxSigSWTRPartNo10CmplEndSgn1(); break; case SIG_SWPUPDWNSTSRI_UB: result = ReadFlagTxSigSwpUpDwnStsRi_UB(); break; case SIG_SWPUPDWNSTSRI: result = ReadFlagTxSigSwpUpDwnStsRi(); break; case SIG_SWPLERISTSRI_UB: result = ReadFlagTxSigSwpLeRiStsRi_UB(); break; case SIG_SWPLERISTSRI: result = ReadFlagTxSigSwpLeRiStsRi(); break; case SIG_STEERWHLTOUCHBDVOICE_UB: result = ReadFlagTxSigSteerWhlTouchBdVoice_UB(); break; case SIG_STEERWHLTOUCHBDVOICE: result = ReadFlagTxSigSteerWhlTouchBdVoice(); break; case SIG_STEERWHLTOUCHBDMENU_UB: result = ReadFlagTxSigSteerWhlTouchBdMenu_UB(); break; case SIG_STEERWHLTOUCHBDMENU: result = ReadFlagTxSigSteerWhlTouchBdMenu(); break; case SIG_STEERWHLTOUCHBDDN_UB: result = ReadFlagTxSigSteerWhlTouchBdDn_UB(); break; case SIG_STEERWHLTOUCHBDDN: result = ReadFlagTxSigSteerWhlTouchBdDn(); break; case SIG_SLDVOLCTRLSTS_UB: result = ReadFlagTxSigSldVolCtrlSts_UB(); break; case SIG_SLDVOLCTRLSTS: result = ReadFlagTxSigSldVolCtrlSts(); break; case SIG_RIMFCTACTSGUP_UB: result = ReadFlagTxSigRiMFctActSgUp_UB(); break; case SIG_RIMFCTACTSGUP: result = ReadFlagTxSigRiMFctActSgUp(); break; case SIG_RIMFCTACTSGRI_UB: result = ReadFlagTxSigRiMFctActSgRi_UB(); break; case SIG_RIMFCTACTSGRI: result = ReadFlagTxSigRiMFctActSgRi(); break; case SIG_RIMFCTACTSGLE_UB: result = ReadFlagTxSigRiMFctActSgLe_UB(); break; case SIG_RIMFCTACTSGLE: result = ReadFlagTxSigRiMFctActSgLe(); break; case SIG_RIMFCTACTSGDN_UB: result = ReadFlagTxSigRiMFctActSgDn_UB(); break; case SIG_RIMFCTACTSGDN: result = ReadFlagTxSigRiMFctActSgDn(); break; case SIG_RIMFCTACTSGCE_UB: result = ReadFlagTxSigRiMFctActSgCe_UB(); break; case SIG_RIMFCTACTSGCE: result = ReadFlagTxSigRiMFctActSgCe(); break; case SIG_STEERWHLTOUCHBDRITOUCHPOSNY: result = ReadFlagTxSigSteerWhlTouchBdRiTouchPosnY(); break; case SIG_STEERWHLTOUCHBDRITOUCHPOSNX: result = ReadFlagTxSigSteerWhlTouchBdRiTouchPosnX(); break; case SIG_STEERWHLTOUCHBDRISTEERWHLTOUCHBDSTS: result = ReadFlagTxSigSteerWhlTouchBdRiSteerWhlTouchBdSts(); break; case SIG_STEERWHLTOUCHBDRICNTR: result = ReadFlagTxSigSteerWhlTouchBdRiCntr(); break; case SIG_STEERWHLTOUCHBDRICHKS: result = ReadFlagTxSigSteerWhlTouchBdRiChks(); break; case SIG_STEERWHLTOUCHBDRI_UB: result = ReadFlagTxSigSteerWhlTouchBdRi_UB(); break; case SIG_DIAGNOSTICRESPSWTR: result = ReadFlagTxSigDiagnosticRespSWTR(); break; default: result = COM_FALSE; break; } return result; } t_flag_value ReadFlagTxSigDiagcFailrTouchPanSWTRVibrationFltSts(void) { return (((flag_tx0 & ((uint8_t)0x01)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigDiagcFailrTouchPanSWTRTouchdFltSts(void) { return (((flag_tx0 & ((uint8_t)0x02)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigDiagcFailrTouchPanSWTRSnsrFltSts(void) { return (((flag_tx0 & ((uint8_t)0x04)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigDiagcFailrTouchPanSWTRCmnFltSts(void) { return (((flag_tx0 & ((uint8_t)0x08)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigDiagcFailrTouchPanSWTR_UB(void) { return (((flag_tx0 & ((uint8_t)0x10)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigSWTRSerNoNr4(void) { return (((flag_tx0 & ((uint8_t)0x20)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigSWTRSerNoNr3(void) { return (((flag_tx0 & ((uint8_t)0x40)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigSWTRSerNoNr2(void) { return (((flag_tx0 & ((uint8_t)0x80)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigSWTRSerNoNr1(void) { return (((flag_tx1 & ((uint8_t)0x01)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigSWTRSerNo_UB(void) { return (((flag_tx1 & ((uint8_t)0x02)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigSWTRPartNoCmplNr4(void) { return (((flag_tx1 & ((uint8_t)0x04)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigSWTRPartNoCmplNr3(void) { return (((flag_tx1 & ((uint8_t)0x08)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigSWTRPartNoCmplNr2(void) { return (((flag_tx1 & ((uint8_t)0x10)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigSWTRPartNoCmplNr1(void) { return (((flag_tx1 & ((uint8_t)0x20)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigSWTRPartNoCmplEndSgn3(void) { return (((flag_tx1 & ((uint8_t)0x40)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigSWTRPartNoCmplEndSgn2(void) { return (((flag_tx1 & ((uint8_t)0x80)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigSWTRPartNoCmplEndSgn1(void) { return (((flag_tx2 & ((uint8_t)0x01)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigSWTRPartNoCmpl_UB(void) { return (((flag_tx2 & ((uint8_t)0x02)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigSWTRPartNo10CmplNr5(void) { return (((flag_tx2 & ((uint8_t)0x04)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigSWTRPartNo10CmplNr4(void) { return (((flag_tx2 & ((uint8_t)0x08)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigSWTRPartNo10CmplNr3(void) { return (((flag_tx2 & ((uint8_t)0x10)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigSWTRPartNo10CmplNr2(void) { return (((flag_tx2 & ((uint8_t)0x20)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigSWTRPartNo10CmplNr1(void) { return (((flag_tx2 & ((uint8_t)0x40)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigSWTRPartNo10CmplEndSgn3(void) { return (((flag_tx2 & ((uint8_t)0x80)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigSWTRPartNo10CmplEndSgn2(void) { return (((flag_tx3 & ((uint8_t)0x01)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigSWTRPartNo10CmplEndSgn1(void) { return (((flag_tx3 & ((uint8_t)0x02)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigSwpUpDwnStsRi_UB(void) { return (((flag_tx3 & ((uint8_t)0x04)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigSwpUpDwnStsRi(void) { return (((flag_tx3 & ((uint8_t)0x08)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigSwpLeRiStsRi_UB(void) { return (((flag_tx3 & ((uint8_t)0x10)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigSwpLeRiStsRi(void) { return (((flag_tx3 & ((uint8_t)0x20)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigSteerWhlTouchBdVoice_UB(void) { return (((flag_tx3 & ((uint8_t)0x40)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigSteerWhlTouchBdVoice(void) { return (((flag_tx3 & ((uint8_t)0x80)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigSteerWhlTouchBdMenu_UB(void) { return (((flag_tx4 & ((uint8_t)0x01)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigSteerWhlTouchBdMenu(void) { return (((flag_tx4 & ((uint8_t)0x02)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigSteerWhlTouchBdDn_UB(void) { return (((flag_tx4 & ((uint8_t)0x04)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigSteerWhlTouchBdDn(void) { return (((flag_tx4 & ((uint8_t)0x08)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigSldVolCtrlSts_UB(void) { return (((flag_tx4 & ((uint8_t)0x10)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigSldVolCtrlSts(void) { return (((flag_tx4 & ((uint8_t)0x20)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigRiMFctActSgUp_UB(void) { return (((flag_tx4 & ((uint8_t)0x40)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigRiMFctActSgUp(void) { return (((flag_tx4 & ((uint8_t)0x80)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigRiMFctActSgRi_UB(void) { return (((flag_tx5 & ((uint8_t)0x01)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigRiMFctActSgRi(void) { return (((flag_tx5 & ((uint8_t)0x02)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigRiMFctActSgLe_UB(void) { return (((flag_tx5 & ((uint8_t)0x04)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigRiMFctActSgLe(void) { return (((flag_tx5 & ((uint8_t)0x08)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigRiMFctActSgDn_UB(void) { return (((flag_tx5 & ((uint8_t)0x10)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigRiMFctActSgDn(void) { return (((flag_tx5 & ((uint8_t)0x20)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigRiMFctActSgCe_UB(void) { return (((flag_tx5 & ((uint8_t)0x40)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigRiMFctActSgCe(void) { return (((flag_tx5 & ((uint8_t)0x80)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigSteerWhlTouchBdRiTouchPosnY(void) { return (((flag_tx6 & ((uint8_t)0x01)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigSteerWhlTouchBdRiTouchPosnX(void) { return (((flag_tx6 & ((uint8_t)0x02)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigSteerWhlTouchBdRiSteerWhlTouchBdSts(void) { return (((flag_tx6 & ((uint8_t)0x04)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigSteerWhlTouchBdRiCntr(void) { return (((flag_tx6 & ((uint8_t)0x08)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigSteerWhlTouchBdRiChks(void) { return (((flag_tx6 & ((uint8_t)0x10)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigSteerWhlTouchBdRi_UB(void) { return (((flag_tx6 & ((uint8_t)0x20)) > ((uint8_t)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagTxSigDiagnosticRespSWTR(void) { return (((flag_tx6 & ((UI_8)0x40)) > ((UI_8)0)) ? COM_TRUE : COM_FALSE); } /*--------------------------------------------------------------------------- | Portability: Target platform independent |---------------------------------------------------------------------------- | Routine description: | * Consult service to retrieve the state of class 1 (RxNotif), | class 3 (Rx_ErrorNotif), class 2 (TxNotif) and class 4 (Tx_ErrorNotif) flags |--------------------------------------------------------------------------- | Parameters description: | message: Identification of the signal. | return: | COM_FALSE if the flag is down | COM_TRUE if the flag is up /---------------------------------------------------------------------------*/ t_flag_value ReadFlagRxSig(t_symbolic_name message) { t_flag_value result; switch (message) { case SIG_DIAGNOSTICREQSWTR: result = ReadFlagRxSigDiagnosticReqSWTR(); break; case SIG_DIAGNOSTICFUNCADDRREQ: result = ReadFlagRxSigDiagnosticFuncAddrReq(); break; default: result = COM_FALSE; break; } return result; } /*--------------------------------------------------------------------------- | Portability: Target platform independent |---------------------------------------------------------------------------- | Routine description: | * Reset service for the notify class 1 (RxNotif) class 3 (RxErrorNotif) | class 2 (TxNotif) and class 4 (TxErrorNotif) |--------------------------------------------------------------------------- | Parameters description: | message: Identification of the signal. /---------------------------------------------------------------------------*/ void ResetFlagTxSig(t_symbolic_name message) { switch (message) { case SIG_DIAGCFAILRTOUCHPANSWTRVIBRATIONFLTSTS: ResetFlagTxSigDiagcFailrTouchPanSWTRVibrationFltSts(); break; case SIG_DIAGCFAILRTOUCHPANSWTRTOUCHDFLTSTS: ResetFlagTxSigDiagcFailrTouchPanSWTRTouchdFltSts(); break; case SIG_DIAGCFAILRTOUCHPANSWTRSNSRFLTSTS: ResetFlagTxSigDiagcFailrTouchPanSWTRSnsrFltSts(); break; case SIG_DIAGCFAILRTOUCHPANSWTRCMNFLTSTS: ResetFlagTxSigDiagcFailrTouchPanSWTRCmnFltSts(); break; case SIG_DIAGCFAILRTOUCHPANSWTR_UB: ResetFlagTxSigDiagcFailrTouchPanSWTR_UB(); break; case SIG_SWTRSERNONR4: ResetFlagTxSigSWTRSerNoNr4(); break; case SIG_SWTRSERNONR3: ResetFlagTxSigSWTRSerNoNr3(); break; case SIG_SWTRSERNONR2: ResetFlagTxSigSWTRSerNoNr2(); break; case SIG_SWTRSERNONR1: ResetFlagTxSigSWTRSerNoNr1(); break; case SIG_SWTRSERNO_UB: ResetFlagTxSigSWTRSerNo_UB(); break; case SIG_SWTRPARTNOCMPLNR4: ResetFlagTxSigSWTRPartNoCmplNr4(); break; case SIG_SWTRPARTNOCMPLNR3: ResetFlagTxSigSWTRPartNoCmplNr3(); break; case SIG_SWTRPARTNOCMPLNR2: ResetFlagTxSigSWTRPartNoCmplNr2(); break; case SIG_SWTRPARTNOCMPLNR1: ResetFlagTxSigSWTRPartNoCmplNr1(); break; case SIG_SWTRPARTNOCMPLENDSGN3: ResetFlagTxSigSWTRPartNoCmplEndSgn3(); break; case SIG_SWTRPARTNOCMPLENDSGN2: ResetFlagTxSigSWTRPartNoCmplEndSgn2(); break; case SIG_SWTRPARTNOCMPLENDSGN1: ResetFlagTxSigSWTRPartNoCmplEndSgn1(); break; case SIG_SWTRPARTNOCMPL_UB: ResetFlagTxSigSWTRPartNoCmpl_UB(); break; case SIG_SWTRPARTNO10CMPLNR5: ResetFlagTxSigSWTRPartNo10CmplNr5(); break; case SIG_SWTRPARTNO10CMPLNR4: ResetFlagTxSigSWTRPartNo10CmplNr4(); break; case SIG_SWTRPARTNO10CMPLNR3: ResetFlagTxSigSWTRPartNo10CmplNr3(); break; case SIG_SWTRPARTNO10CMPLNR2: ResetFlagTxSigSWTRPartNo10CmplNr2(); break; case SIG_SWTRPARTNO10CMPLNR1: ResetFlagTxSigSWTRPartNo10CmplNr1(); break; case SIG_SWTRPARTNO10CMPLENDSGN3: ResetFlagTxSigSWTRPartNo10CmplEndSgn3(); break; case SIG_SWTRPARTNO10CMPLENDSGN2: ResetFlagTxSigSWTRPartNo10CmplEndSgn2(); break; case SIG_SWTRPARTNO10CMPLENDSGN1: ResetFlagTxSigSWTRPartNo10CmplEndSgn1(); break; case SIG_SWPUPDWNSTSRI_UB: ResetFlagTxSigSwpUpDwnStsRi_UB(); break; case SIG_SWPUPDWNSTSRI: ResetFlagTxSigSwpUpDwnStsRi(); break; case SIG_SWPLERISTSRI_UB: ResetFlagTxSigSwpLeRiStsRi_UB(); break; case SIG_SWPLERISTSRI: ResetFlagTxSigSwpLeRiStsRi(); break; case SIG_STEERWHLTOUCHBDVOICE_UB: ResetFlagTxSigSteerWhlTouchBdVoice_UB(); break; case SIG_STEERWHLTOUCHBDVOICE: ResetFlagTxSigSteerWhlTouchBdVoice(); break; case SIG_STEERWHLTOUCHBDMENU_UB: ResetFlagTxSigSteerWhlTouchBdMenu_UB(); break; case SIG_STEERWHLTOUCHBDMENU: ResetFlagTxSigSteerWhlTouchBdMenu(); break; case SIG_STEERWHLTOUCHBDDN_UB: ResetFlagTxSigSteerWhlTouchBdDn_UB(); break; case SIG_STEERWHLTOUCHBDDN: ResetFlagTxSigSteerWhlTouchBdDn(); break; case SIG_SLDVOLCTRLSTS_UB: ResetFlagTxSigSldVolCtrlSts_UB(); break; case SIG_SLDVOLCTRLSTS: ResetFlagTxSigSldVolCtrlSts(); break; case SIG_RIMFCTACTSGUP_UB: ResetFlagTxSigRiMFctActSgUp_UB(); break; case SIG_RIMFCTACTSGUP: ResetFlagTxSigRiMFctActSgUp(); break; case SIG_RIMFCTACTSGRI_UB: ResetFlagTxSigRiMFctActSgRi_UB(); break; case SIG_RIMFCTACTSGRI: ResetFlagTxSigRiMFctActSgRi(); break; case SIG_RIMFCTACTSGLE_UB: ResetFlagTxSigRiMFctActSgLe_UB(); break; case SIG_RIMFCTACTSGLE: ResetFlagTxSigRiMFctActSgLe(); break; case SIG_RIMFCTACTSGDN_UB: ResetFlagTxSigRiMFctActSgDn_UB(); break; case SIG_RIMFCTACTSGDN: ResetFlagTxSigRiMFctActSgDn(); break; case SIG_RIMFCTACTSGCE_UB: ResetFlagTxSigRiMFctActSgCe_UB(); break; case SIG_RIMFCTACTSGCE: ResetFlagTxSigRiMFctActSgCe(); break; case SIG_STEERWHLTOUCHBDRITOUCHPOSNY: ResetFlagTxSigSteerWhlTouchBdRiTouchPosnY(); break; case SIG_STEERWHLTOUCHBDRITOUCHPOSNX: ResetFlagTxSigSteerWhlTouchBdRiTouchPosnX(); break; case SIG_STEERWHLTOUCHBDRISTEERWHLTOUCHBDSTS: ResetFlagTxSigSteerWhlTouchBdRiSteerWhlTouchBdSts(); break; case SIG_STEERWHLTOUCHBDRICNTR: ResetFlagTxSigSteerWhlTouchBdRiCntr(); break; case SIG_STEERWHLTOUCHBDRICHKS: ResetFlagTxSigSteerWhlTouchBdRiChks(); break; case SIG_STEERWHLTOUCHBDRI_UB: ResetFlagTxSigSteerWhlTouchBdRi_UB(); break; case SIG_DIAGNOSTICRESPSWTR: ResetFlagTxSigDiagnosticRespSWTR(); break; default: /* Do nothing */ break; } } void ResetFlagTxSigDiagcFailrTouchPanSWTRVibrationFltSts(void) { flag_tx0 &= ((uint8_t)0xFE); } void ResetFlagTxSigDiagcFailrTouchPanSWTRTouchdFltSts(void) { flag_tx0 &= ((uint8_t)0xFD); } void ResetFlagTxSigDiagcFailrTouchPanSWTRSnsrFltSts(void) { flag_tx0 &= ((uint8_t)0xFB); } void ResetFlagTxSigDiagcFailrTouchPanSWTRCmnFltSts(void) { flag_tx0 &= ((uint8_t)0xF7); } void ResetFlagTxSigDiagcFailrTouchPanSWTR_UB(void) { flag_tx0 &= ((uint8_t)0xEF); } void ResetFlagTxSigSWTRSerNoNr4(void) { flag_tx0 &= ((uint8_t)0xDF); } void ResetFlagTxSigSWTRSerNoNr3(void) { flag_tx0 &= ((uint8_t)0xBF); } void ResetFlagTxSigSWTRSerNoNr2(void) { flag_tx0 &= ((uint8_t)0x7F); } void ResetFlagTxSigSWTRSerNoNr1(void) { flag_tx1 &= ((uint8_t)0xFE); } void ResetFlagTxSigSWTRSerNo_UB(void) { flag_tx1 &= ((uint8_t)0xFD); } void ResetFlagTxSigSWTRPartNoCmplNr4(void) { flag_tx1 &= ((uint8_t)0xFB); } void ResetFlagTxSigSWTRPartNoCmplNr3(void) { flag_tx1 &= ((uint8_t)0xF7); } void ResetFlagTxSigSWTRPartNoCmplNr2(void) { flag_tx1 &= ((uint8_t)0xEF); } void ResetFlagTxSigSWTRPartNoCmplNr1(void) { flag_tx1 &= ((uint8_t)0xDF); } void ResetFlagTxSigSWTRPartNoCmplEndSgn3(void) { flag_tx1 &= ((uint8_t)0xBF); } void ResetFlagTxSigSWTRPartNoCmplEndSgn2(void) { flag_tx1 &= ((uint8_t)0x7F); } void ResetFlagTxSigSWTRPartNoCmplEndSgn1(void) { flag_tx2 &= ((uint8_t)0xFE); } void ResetFlagTxSigSWTRPartNoCmpl_UB(void) { flag_tx2 &= ((uint8_t)0xFD); } void ResetFlagTxSigSWTRPartNo10CmplNr5(void) { flag_tx2 &= ((uint8_t)0xFB); } void ResetFlagTxSigSWTRPartNo10CmplNr4(void) { flag_tx2 &= ((uint8_t)0xF7); } void ResetFlagTxSigSWTRPartNo10CmplNr3(void) { flag_tx2 &= ((uint8_t)0xEF); } void ResetFlagTxSigSWTRPartNo10CmplNr2(void) { flag_tx2 &= ((uint8_t)0xDF); } void ResetFlagTxSigSWTRPartNo10CmplNr1(void) { flag_tx2 &= ((uint8_t)0xBF); } void ResetFlagTxSigSWTRPartNo10CmplEndSgn3(void) { flag_tx2 &= ((uint8_t)0x7F); } void ResetFlagTxSigSWTRPartNo10CmplEndSgn2(void) { flag_tx3 &= ((uint8_t)0xFE); } void ResetFlagTxSigSWTRPartNo10CmplEndSgn1(void) { flag_tx3 &= ((uint8_t)0xFD); } void ResetFlagTxSigSwpUpDwnStsRi_UB(void) { flag_tx3 &= ((uint8_t)0xFB); } void ResetFlagTxSigSwpUpDwnStsRi(void) { flag_tx3 &= ((uint8_t)0xF7); } void ResetFlagTxSigSwpLeRiStsRi_UB(void) { flag_tx3 &= ((uint8_t)0xEF); } void ResetFlagTxSigSwpLeRiStsRi(void) { flag_tx3 &= ((uint8_t)0xDF); } void ResetFlagTxSigSteerWhlTouchBdVoice_UB(void) { flag_tx3 &= ((uint8_t)0xBF); } void ResetFlagTxSigSteerWhlTouchBdVoice(void) { flag_tx3 &= ((uint8_t)0x7F); } void ResetFlagTxSigSteerWhlTouchBdMenu_UB(void) { flag_tx4 &= ((uint8_t)0xFE); } void ResetFlagTxSigSteerWhlTouchBdMenu(void) { flag_tx4 &= ((uint8_t)0xFD); } void ResetFlagTxSigSteerWhlTouchBdDn_UB(void) { flag_tx4 &= ((uint8_t)0xFB); } void ResetFlagTxSigSteerWhlTouchBdDn(void) { flag_tx4 &= ((uint8_t)0xF7); } void ResetFlagTxSigSldVolCtrlSts_UB(void) { flag_tx4 &= ((uint8_t)0xEF); } void ResetFlagTxSigSldVolCtrlSts(void) { flag_tx4 &= ((uint8_t)0xDF); } void ResetFlagTxSigRiMFctActSgUp_UB(void) { flag_tx4 &= ((uint8_t)0xBF); } void ResetFlagTxSigRiMFctActSgUp(void) { flag_tx4 &= ((uint8_t)0x7F); } void ResetFlagTxSigRiMFctActSgRi_UB(void) { flag_tx5 &= ((uint8_t)0xFE); } void ResetFlagTxSigRiMFctActSgRi(void) { flag_tx5 &= ((uint8_t)0xFD); } void ResetFlagTxSigRiMFctActSgLe_UB(void) { flag_tx5 &= ((uint8_t)0xFB); } void ResetFlagTxSigRiMFctActSgLe(void) { flag_tx5 &= ((uint8_t)0xF7); } void ResetFlagTxSigRiMFctActSgDn_UB(void) { flag_tx5 &= ((uint8_t)0xEF); } void ResetFlagTxSigRiMFctActSgDn(void) { flag_tx5 &= ((uint8_t)0xDF); } void ResetFlagTxSigRiMFctActSgCe_UB(void) { flag_tx5 &= ((uint8_t)0xBF); } void ResetFlagTxSigRiMFctActSgCe(void) { flag_tx5 &= ((uint8_t)0x7F); } void ResetFlagTxSigSteerWhlTouchBdRiTouchPosnY(void) { flag_tx6 &= ((uint8_t)0xFE); } void ResetFlagTxSigSteerWhlTouchBdRiTouchPosnX(void) { flag_tx6 &= ((uint8_t)0xFD); } void ResetFlagTxSigSteerWhlTouchBdRiSteerWhlTouchBdSts(void) { flag_tx6 &= ((uint8_t)0xFB); } void ResetFlagTxSigSteerWhlTouchBdRiCntr(void) { flag_tx6 &= ((uint8_t)0xF7); } void ResetFlagTxSigSteerWhlTouchBdRiChks(void) { flag_tx6 &= ((uint8_t)0xEF); } void ResetFlagTxSigSteerWhlTouchBdRi_UB(void) { flag_tx6 &= ((uint8_t)0xDF); } void ResetFlagTxSigDiagnosticRespSWTR(void) { flag_tx6 &= ((UI_8)0xBF); } t_flag_value ReadFlagRxSigDiagnosticReqSWTR(void) { return (((flag_rx0 & ((UI_8)0x01)) > ((UI_8)0)) ? COM_TRUE : COM_FALSE); } t_flag_value ReadFlagRxSigDiagnosticFuncAddrReq(void) { return (((flag_rx0 & ((UI_8)0x02)) > ((UI_8)0)) ? COM_TRUE : COM_FALSE); } /*--------------------------------------------------------------------------- | Portability: Target platform independent |---------------------------------------------------------------------------- | Routine description: | * Reset service for the notify class 1 (RxNotif) class 3 (RxErrorNotif) | class 2 (TxNotif) and class 4 (TxErrorNotif) |--------------------------------------------------------------------------- | Parameters description: | message: Identification of the signal. /---------------------------------------------------------------------------*/ void ResetFlagRxSig(t_symbolic_name message) { switch (message) { case SIG_DIAGNOSTICREQSWTR: ResetFlagRxSigDiagnosticReqSWTR(); break; case SIG_DIAGNOSTICFUNCADDRREQ: ResetFlagRxSigDiagnosticFuncAddrReq(); break; default: /* Do nothing */ break; } } void ResetFlagRxSigDiagnosticReqSWTR(void) { flag_rx0 &= ((UI_8)0xFE); } void ResetFlagRxSigDiagnosticFuncAddrReq(void) { flag_rx0 &= ((UI_8)0xFD); } /*--------------------------------------------------------------------------- | Portability: Target platform independent |---------------------------------------------------------------------------- | Routine description: | * Main runnable of the OsekCom stack intended to be called periodically by | the system scheduler with a period equal to FICOSEK_COM_TASK_TICKS |--------------------------------------------------------------------------- | Parameters description: /---------------------------------------------------------------------------*/ void OsekComTask(void) { if (TST_FLAG_OSEK_COM_INIT()) { /* Get timer difference since last task execution */ time_diff = FICOSEK_COM_TASK_TICKS; OsekComDeadlineMonitRx(); OsekComPeriodicTx(); } } /*--------------------------------------------------------------------------- | Portability: Target platform independent |---------------------------------------------------------------------------- | Routine description: | * Runnable responsible of managing the transmission timers of periodic and | mixed frames. | * The transmission timer value will be rounded down to first multiple of | FICOSEK_COM_TASK_TICKS | --------------------------------------------------------------------------- | Parameters description: / --------------------------------------------------------------------------- */ static void OsekComPeriodicTx(void) { /* Test whether Tx of periodic frames is active */ if (TST_FLAG_OSEK_COM_PER_TX()) { /* Com frames monitoring */ /* Tx frame SwtrPrivateDHUCanFr06 end of period monitoring */ ptt_tx_frm_swtrprivatedhucanfr06 += time_diff; if (ptt_tx_frm_swtrprivatedhucanfr06 >= PT_TX_FRM_SWTRPRIVATEDHUCANFR06) { /* Reset timer */ ptt_tx_frm_swtrprivatedhucanfr06 = 0; /* Tx frame */ // SuspendAllInterrupts(); SET_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR06(); OsekComTxReqCallbackSWTR(); // ResumeAllInterrupts(); } else { /* Do nothing */ } /* Tx frame SwtrPrivateDHUCanFr05 end of period monitoring */ ptt_tx_frm_swtrprivatedhucanfr05 += time_diff; if (ptt_tx_frm_swtrprivatedhucanfr05 >= PT_TX_FRM_SWTRPRIVATEDHUCANFR05) { /* Reset timer */ ptt_tx_frm_swtrprivatedhucanfr05 = 0; /* Tx frame */ // SuspendAllInterrupts(); SET_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR05(); OsekComTxReqCallbackSWTR(); // ResumeAllInterrupts(); } else { /* Do nothing */ } /* Tx frame SwtrPrivateDHUCanFr04 end of period monitoring */ ptt_tx_frm_swtrprivatedhucanfr04 += time_diff; if (ptt_tx_frm_swtrprivatedhucanfr04 >= PT_TX_FRM_SWTRPRIVATEDHUCANFR04) { /* Reset timer */ ptt_tx_frm_swtrprivatedhucanfr04 = 0; /* Tx frame */ // SuspendAllInterrupts(); SET_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR04(); OsekComTxReqCallbackSWTR(); // ResumeAllInterrupts(); } else { /* Do nothing */ } /* Tx frame SwtrPrivateDHUCanFr03 end of period monitoring */ ptt_tx_frm_swtrprivatedhucanfr03 += time_diff; if (ptt_tx_frm_swtrprivatedhucanfr03 >= PT_TX_FRM_SWTRPRIVATEDHUCANFR03) { /* Reset timer */ ptt_tx_frm_swtrprivatedhucanfr03 = 0; /* Tx frame */ // SuspendAllInterrupts(); SET_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR03(); OsekComTxReqCallbackSWTR(); // ResumeAllInterrupts(); } else { /* Do nothing */ } #if 0 /* Tx frame SwtrPrivateDHUCanFr02 end of period monitoring */ ptt_tx_frm_swtrprivatedhucanfr02 += time_diff; if (ptt_tx_frm_swtrprivatedhucanfr02 >= PT_TX_FRM_SWTRPRIVATEDHUCANFR02) { /* Reset timer */ ptt_tx_frm_swtrprivatedhucanfr02 = 0; /* Tx frame */ //SuspendAllInterrupts(); SET_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR02(); OsekComTxReqCallbackSWTR(); //ResumeAllInterrupts(); } else { /* Do nothing */ } #endif /* Tx frame SwtrPressFr01 end of period monitoring */ ptt_tx_frm_swtrpressfr01 += time_diff; if (ptt_tx_frm_swtrpressfr01 >= PT_TX_FRM_SWTRPRESSFR01) { /* Reset timer */ ptt_tx_frm_swtrpressfr01 = 0; /* Tx frame */ // SuspendAllInterrupts(); SET_FLAG_TX_REQ_FRM_SWTRPRESSFR01(); OsekComTxReqCallbackSWTR(); // ResumeAllInterrupts(); } else { /* Do nothing */ } /* Tx frame SwtRSensorFr01 end of period monitoring */ ptt_tx_frm_swtrsensorfr01 += time_diff; if (ptt_tx_frm_swtrsensorfr01 >= PT_TX_FRM_SWTRSENSORFR01) { /* Reset timer */ ptt_tx_frm_swtrsensorfr01 = 0; /* Tx frame */ // SuspendAllInterrupts(); SET_FLAG_TX_REQ_FRM_SWTRSENSORFR01(); OsekComTxReqCallbackSWTR(); // ResumeAllInterrupts(); } else { /* Do nothing */ } /* Tx frame SwtRSensorFr02 end of period monitoring */ ptt_tx_frm_swtrsensorfr02 += time_diff; if (ptt_tx_frm_swtrsensorfr02 >= PT_TX_FRM_SWTRSENSORFR02) { /* Reset timer */ ptt_tx_frm_swtrsensorfr02 = 0; /* Tx frame */ // SuspendAllInterrupts(); SET_FLAG_TX_REQ_FRM_SWTRSENSORFR02(); OsekComTxReqCallbackSWTR(); // ResumeAllInterrupts(); } else { /* Do nothing */ } /* Tx frame SwtRSensorFr03 end of period monitoring */ ptt_tx_frm_swtrsensorfr03 += time_diff; if (ptt_tx_frm_swtrsensorfr03 >= PT_TX_FRM_SWTRSENSORFR03) { /* Reset timer */ ptt_tx_frm_swtrsensorfr03 = 0; /* Tx frame */ // SuspendAllInterrupts(); SET_FLAG_TX_REQ_FRM_SWTRSENSORFR03(); OsekComTxReqCallbackSWTR(); // ResumeAllInterrupts(); } else { /* Do nothing */ } /* Tx frame SwtRSensorFr04 end of period monitoring */ ptt_tx_frm_swtrsensorfr04 += time_diff; if (ptt_tx_frm_swtrsensorfr04 >= PT_TX_FRM_SWTRSENSORFR04) { /* Reset timer */ ptt_tx_frm_swtrsensorfr04 = 0; /* Tx frame */ // SuspendAllInterrupts(); SET_FLAG_TX_REQ_FRM_SWTRSENSORFR04(); OsekComTxReqCallbackSWTR(); // ResumeAllInterrupts(); } else { /* Do nothing */ } /* Tx frame SwtRSensorFr05 end of period monitoring */ ptt_tx_frm_swtrsensorfr05 += time_diff; if (ptt_tx_frm_swtrsensorfr05 >= PT_TX_FRM_SWTRSENSORFR05) { /* Reset timer */ ptt_tx_frm_swtrsensorfr05 = 0; /* Tx frame */ // SuspendAllInterrupts(); SET_FLAG_TX_REQ_FRM_SWTRSENSORFR05(); OsekComTxReqCallbackSWTR(); // ResumeAllInterrupts(); } else { /* Do nothing */ } /* Tx frame SwtRSensorFr06 end of period monitoring */ ptt_tx_frm_swtrsensorfr06 += time_diff; if (ptt_tx_frm_swtrsensorfr06 >= PT_TX_FRM_SWTRSENSORFR06) { /* Reset timer */ ptt_tx_frm_swtrsensorfr06 = 0; /* Tx frame */ // SuspendAllInterrupts(); SET_FLAG_TX_REQ_FRM_SWTRSENSORFR06(); OsekComTxReqCallbackSWTR(); // ResumeAllInterrupts(); } else { /* Do nothing */ } /* Tx frame SwtRSensorFr07 end of period monitoring */ ptt_tx_frm_swtrsensorfr07 += time_diff; if (ptt_tx_frm_swtrsensorfr07 >= PT_TX_FRM_SWTRSENSORFR07) { /* Reset timer */ ptt_tx_frm_swtrsensorfr07 = 0; /* Tx frame */ // SuspendAllInterrupts(); SET_FLAG_TX_REQ_FRM_SWTRSENSORFR07(); OsekComTxReqCallbackSWTR(); // ResumeAllInterrupts(); } else { /* Do nothing */ } /* Tx frame SwtRSensorFr08 end of period monitoring */ ptt_tx_frm_swtrsensorfr08 += time_diff; if (ptt_tx_frm_swtrsensorfr08 >= PT_TX_FRM_SWTRSENSORFR08) { /* Reset timer */ ptt_tx_frm_swtrsensorfr08 = 0; /* Tx frame */ // SuspendAllInterrupts(); SET_FLAG_TX_REQ_FRM_SWTRSENSORFR08(); OsekComTxReqCallbackSWTR(); // ResumeAllInterrupts(); } else { /* Do nothing */ } } } /*--------------------------------------------------------------------------- | Portability: Target platform independent |---------------------------------------------------------------------------- | Routine description: | * Runnable responsible of managing the reception time-out timers of | periodic and mixed frames. | * The timer value will be rounded down to first multiple of FICOSEK_COM_TASK_TICKS | --------------------------------------------------------------------------- | Parameters description: / --------------------------------------------------------------------------- */ static void OsekComDeadlineMonitRx(void) { /* Management of timers of Rx Error Signals */ /* Increasing Timer */ dmt_rx_sig_actvnofsteerwhlillmn += time_diff; /* Rx deadline case time out signal ActvnOfSteerWhlIllmn */ if (dmt_rx_sig_actvnofsteerwhlillmn >= TO_RX_SIG_ACTVNOFSTEERWHLILLMN) { /* Reset monitoring timer */ dmt_rx_sig_actvnofsteerwhlillmn = 0; /* RxError notification callback */ IhuPrivateDHUCanFr01_Timeout_CALLBACK(); } /* Case normal counting */ else { /* Do Nothing */ } } /*--------------------------------------------------------------------------- | Portability: Target platform independent |---------------------------------------------------------------------------- | Routine description: | * Routine responsible of initiating on event transmissions of direct and | mixed frames | --------------------------------------------------------------------------- | Parameters description: / --------------------------------------------------------------------------- */ void OsekComTxReqFrmSwtrPrivateDHUCanFr01(void) { /* Tx frame */ SET_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR01(); OsekComTxReqCallbackSWTR(); } void OsekComTxReqFrmSwtrPrivateDHUCanFr02(void) { /* Tx frame */ SET_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR02(); OsekComTxReqCallbackSWTR(); } /*--------------------------------------------------------------------------- | Portability: Target platform independent |---------------------------------------------------------------------------- | Routine description: | * Routine responsible of initiating on event transmissions of direct and | mixed frames | --------------------------------------------------------------------------- | Parameters description: / --------------------------------------------------------------------------- */ static void OsekComTxReqFrmDIAG_PhysResp_SWTR(void) { /* Start of the Tx deadline monitoring timer */ // SuspendAllInterrupts(); if (dmt_tx_frm_diag_physresp_swtr == TIMER_CANCEL) { dmt_tx_frm_diag_physresp_swtr = 0; } else { /* Do nothing */ } /* Tx frame */ SET_FLAG_TX_REQ_FRM_DIAG_PHYSRESP_SWTR(); // CanTxRequest(0); OsekComTxReqCallbackSWTR(); // ResumeAllInterrupts(); }