Mini can app
Dependencies: mbed mbed-STM32F103C8T6
espar_can.cpp
00001 #include "espar_can.h" 00002 00003 uint32_t Unpack_NM_Heater_1_mydbc(NM_Heater_1_t* _m, const uint8_t* _d, uint8_t dlc_) 00004 { 00005 _m->NM_Byte0_Source_Node_Identifier = (_d[0] & (0xFFU)); 00006 _m->NM_Byte1_CBV_Bit0_Repeat_Msg_Req = (_d[1] & (0x01U)); 00007 _m->NM_Byte1_CBV_Bit1_reserved = ((_d[1] >> 1) & (0x01U)); 00008 _m->NM_Byte1_CBV_Bit2_reserved = ((_d[1] >> 2) & (0x01U)); 00009 _m->NM_Byte1_CBV_Bit3_reserved = ((_d[1] >> 3) & (0x01U)); 00010 _m->NM_Byte1_CBV_Bit4_Active_Wakeup = ((_d[1] >> 4) & (0x01U)); 00011 _m->NM_Byte1_CBV_Bit5_reserved = ((_d[1] >> 5) & (0x01U)); 00012 _m->NM_Byte1_CBV_Bit6_reserved = ((_d[1] >> 6) & (0x01U)); 00013 _m->NM_Byte1_CBV_Bit7_reserved = ((_d[1] >> 7) & (0x01U)); 00014 _m->HeaterInitFinished = (_d[2] & (0x01U)); 00015 _m->SerialNumber = ((_d[5] & (0x7FU)) << 23) | ((_d[4] & (0xFFU)) << 15) | ((_d[3] & (0xFFU)) << 7) | ((_d[2] >> 1) & (0x7FU)); 00016 _m->HeaterType = ((_d[6] & (0x01U)) << 1) | ((_d[5] >> 7) & (0x01U)); 00017 _m->NM_UD3_HG_ADR_Modus_aktiv = ((_d[6] >> 1) & (0x01U)); 00018 _m->OperateEasyFan = ((_d[6] >> 2) & (0x01U)); 00019 _m->AltitudeSensorOnBoard = ((_d[6] >> 3) & (0x01U)); 00020 _m->NM_UD6_HG_Austritstemp_Red_HG = ((_d[6] >> 4) & (0x01U)); 00021 _m->OperatingModes = ((_d[7] & (0x0FU)) << 3) | ((_d[6] >> 5) & (0x07U)); 00022 _m->NM_UD8_HG_Reserviert = ((_d[7] >> 4) & (0x0FU)); 00023 return NM_Heizgeraet_1_CANID; 00024 } 00025 00026 00027 uint32_t Unpack_OBK_Status_Heater_1_mydbc(OBK_Status_Heater_1_t* _m, const uint8_t* _d, uint8_t dlc_) 00028 { 00029 _m->isValid = (_d[0] & (0x01U)); 00030 _m->noHeatModeActive = ((_d[0] >> 1) & (0x01U)); 00031 _m->standbyHeatingActive = ((_d[0] >> 2) & (0x01U)); 00032 _m->Standhzn_m_Sollw_u_Isttmp_akt_1 = ((_d[0] >> 3) & (0x01U)); 00033 _m->standbyHeatingWithSetpointActive = ((_d[0] >> 4) & (0x01U)); 00034 _m->ventilationActive = ((_d[0] >> 5) & (0x01U)); 00035 _m->ResidualHeat = ((_d[0] >> 6) & (0x03U)); 00036 _m->Wasserpump_Fremdanstrng_akt_1 = (_d[1] & (0x01U)); 00037 _m->HeatingUpActive = ((_d[1] >> 1) & (0x01U)); 00038 _m->Austritstemp_Reduzierung_akt_1 = ((_d[1] >> 2) & (0x01U)); 00039 _m->Nachlauf_aktiv_1 = ((_d[1] >> 3) & (0x01U)); 00040 _m->Notlauf_aktiv_1 = ((_d[1] >> 4) & (0x01U)); 00041 _m->AltitudeModeActive = ((_d[1] >> 5) & (0x01U)); 00042 _m->ADR_Abschaltung_1 = ((_d[1] >> 6) & (0x03U)); 00043 _m->Status_ADR_Taste_1 = (_d[2] & (0x03U)); 00044 _m->ErrorClass1 = ((_d[2] >> 2) & (0x01U)); 00045 _m->ErrorClass2 = ((_d[2] >> 3) & (0x01U)); 00046 _m->ErrorClass3 = ((_d[2] >> 4) & (0x01U)); 00047 _m->ErrorClass4 = ((_d[2] >> 5) & (0x01U)); 00048 _m->ErrorClass5 = ((_d[2] >> 6) & (0x01U)); 00049 _m->ErrorClass6 = ((_d[2] >> 7) & (0x01U)); 00050 _m->ErrorClass7 = (_d[3] & (0x01U)); 00051 _m->Angef_Betrbsart_w_nicht_unters_1 = ((_d[3] >> 1) & (0x01U)); 00052 _m->Angf_Betr_nicht_unter_Zuhz_akt_1 = ((_d[3] >> 2) & (0x01U)); 00053 _m->Absch_durch_Diagnosetimeout_1 = ((_d[3] >> 3) & (0x01U)); 00054 _m->Timer_Betrieb_nicht_zulaessig_1 = ((_d[3] >> 4) & (0x01U)); 00055 _m->SetpointInvalid = ((_d[3] >> 5) & (0x01U)); 00056 _m->Heizgeraet_verriegelt_1 = ((_d[3] >> 6) & (0x01U)); 00057 _m->InvalidConfiguration = ((_d[3] >> 7) & (0x01U)); 00058 _m->HeaterTemperature = (((_d[5] & (0xFFU)) << 8) | (_d[4] & (0xFFU))) - 500; 00059 return OBK_Status_Heater_1_CANID; 00060 } 00061 00062 //{ 0x0D, 0x11, 0xC9, 0x22, 0x00, 0x20, 0x60, 0x00 }; 00063 00064 // 1100 1001 00065 uint32_t Unpack_NM_Bedienelement_K_TP71_1_mydbc(NM_Bedienelement_K_TP71_1_t* _m, const uint8_t* _d, uint8_t dlc_) 00066 { 00067 _m->NM_Byte0_Source_Node_Identifier = (_d[0] & (0xFFU)); 00068 _m->NM_Byte1_CBV_Bit0_Repeat_Msg_Req = (_d[1] & (0x01U)); // enabled 00069 _m->NM_Byte1_CBV_Bit1_reserved = ((_d[1] >> 1) & (0x01U)); 00070 _m->NM_Byte1_CBV_Bit2_reserved = ((_d[1] >> 2) & (0x01U)); 00071 _m->NM_Byte1_CBV_Bit3_reserved = ((_d[1] >> 3) & (0x01U)); 00072 _m->NM_Byte1_CBV_Bit4_Active_Wakeup = ((_d[1] >> 4) & (0x01U)); // enabled 00073 _m->NM_Byte1_CBV_Bit5_reserved = ((_d[1] >> 5) & (0x01U)); 00074 _m->NM_Byte1_CBV_Bit6_reserved = ((_d[1] >> 6) & (0x01U)); 00075 _m->NM_Byte1_CBV_Bit7_reserved = ((_d[1] >> 7) & (0x01U)); 00076 _m->NM_UD0_BE_init_finished = (_d[2] & (0x01U)); // enabled 00077 _m->NM_UD1_BE_Seriennummer = ((_d[5] & (0x7FU)) << 23) | ((_d[4] & (0xFFU)) << 15) | ((_d[3] & (0xFFU)) << 7) | ((_d[2] >> 1) & (0x7FU)); 00078 _m->NM_UD2_BE_Typ_Bedienelement = ((_d[6] & (0x03U)) << 1) | ((_d[5] >> 7) & (0x01U)); 00079 _m->NM_UD3_BE_Fernbedienung = ((_d[6] >> 2) & (0x01U)); // not set 00080 _m->NM_UD4_BE_ADR_Modus_aktiv = ((_d[6] >> 3) & (0x01U)); // not set 00081 _m->NM_UD5_BE_Tempfuehler_vorhanden = ((_d[6] >> 4) & (0x01U)); // not set 00082 _m->NM_UD6_BE_Timervariante = ((_d[6] >> 5) & (0x03U)); // enabled 00083 _m->NM_UD7_BE_Reserviert = ((_d[7] & (0x7FU)) << 1) | ((_d[6] >> 7) & (0x01U)); 00084 _m->NM_UD8_BE_Steuerung_E_Control_Ma = ((_d[7] >> 7) & (0x01U)); 00085 return NM_Bedienelement_K_TP71_1_CANID; 00086 }
Generated on Fri Jul 15 2022 20:08:26 by
1.7.2