Mini can app

Dependencies:   mbed mbed-STM32F103C8T6

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers espar_can.h Source File

espar_can.h

00001 #include "wiced_types.h"
00002 #include "stdint.h"
00003 
00004 #ifndef __ESPAR_CAN_H
00005 #define __ESPAR_CAN_H
00006 
00007 // def @OBK_Status_Heater_1 CAN Message (708)
00008 #define OBK_Status_Heater_1_IDE (0U)
00009 #define OBK_Status_Heater_1_DLC (8U)
00010 #define OBK_Status_Heater_1_CANID (0x2C4U)
00011 #define OBK_Status_Heater_1_CYC (200U)
00012 // --  Timeout-Zeit Min-Wert: TMSG_TIMEOUT = 5s  Timeout-Zeit Max-Wert: TMSG_TIMEOUT = 10 * Zykluszeit der Botschaft (Wenn der Wert kleiner als der Min Wert ist wird der Min Wert verwendet)
00013 // signal: @Ist_Temperatur_Heizgeraet_1
00014 #define Ist_Temperatur_Heizgeraet_1_CovFactor 0.1
00015 #define Ist_Temperatur_Heizgeraet_1_CovS(x) ((int32_t)((x / 0.1) + 500))
00016 typedef struct
00017 {
00018 
00019   // 1 - "ja"
00020   // 0 - "nein"
00021 
00022   uint8_t isValid;         //      Bits=01.  [ 0     , 1      ]  Unit:''
00023 
00024   // 1 - "ja"
00025   // 0 - "nein"
00026 
00027   uint8_t noHeatModeActive; //kein_Heizbetrieb_aktiv_1;           //      Bits=01.  [ 0     , 1      ]  Unit:''
00028 
00029   // 1 - "ja"
00030   // 0 - "nein"
00031 
00032   uint8_t standbyHeatingActive; //Standheizen_aktiv_1;                //      Bits=01.  [ 0     , 1      ]  Unit:''
00033 
00034   // 1 - "ja"
00035   // 0 - "nein"
00036 
00037   uint8_t Standhzn_m_Sollw_u_Isttmp_akt_1;    //      Bits=01.  [ 0     , 1      ]  Unit:''
00038 
00039   // 1 - "ja"
00040   // 0 - "nein"
00041 
00042   uint8_t standbyHeatingWithSetpointActive; //Standheizen_mit_Sollwert_aktiv_1;   //      Bits=01.  [ 0     , 1      ]  Unit:''
00043 
00044   // 1 - "ja"
00045   // 0 - "nein"
00046 
00047   uint8_t ventilationActive; //Lueften_aktiv_1;                    //      Bits=01.  [ 0     , 1      ]  Unit:''
00048 
00049   // 3 - "nicht_verfuegbar" (disabled)
00050   // 2 - "verfuegbar" (available)
00051   // 1 - "Pruefung" (testing)
00052   // 0 - "nicht_aktiv / don't care"
00053 
00054   uint8_t ResidualHeat;        //      Bits=02.  [ 0     , 3      ]  Unit:''
00055 
00056   // 1 - "ja"
00057   // 0 - "nein"
00058 
00059   uint8_t Wasserpump_Fremdanstrng_akt_1;      //      Bits=01.  [ 0     , 1      ]  Unit:''
00060 
00061   // 1 - "ja"
00062   // 0 - "nein"
00063 
00064   uint8_t HeatingUpActive;                   //      Bits=01.  [ 0     , 1      ]  Unit:''
00065 
00066   // 1 - "ja"
00067   // 0 - "nein"
00068 
00069   uint8_t Austritstemp_Reduzierung_akt_1;     //      Bits=01.  [ 0     , 1      ]  Unit:''
00070 
00071   // 1 - "ja"
00072   // 0 - "nein"
00073 
00074   uint8_t Nachlauf_aktiv_1;                   //      Bits=01.  [ 0     , 1      ]  Unit:''
00075 
00076   // 1 - "ja"
00077   // 0 - "nein"
00078 
00079   uint8_t Notlauf_aktiv_1;                    //      Bits=01.  [ 0     , 1      ]  Unit:''
00080 
00081   // 1 - "ja"
00082   // 0 - "nein"
00083 
00084   uint8_t AltitudeModeActive;              //      Bits=01.  [ 0     , 1      ]  Unit:''
00085 
00086   // 3 - "reserviert"
00087   // 2 - "beendet"
00088   // 1 - "aktiv"
00089   // 0 - "nicht_aktiv"
00090 
00091   uint8_t ADR_Abschaltung_1;                  //      Bits=02.  [ 0     , 3      ]  Unit:''
00092 
00093   // 3 - "Taste_klemmt" (key stuck)
00094   // 2 - "Betaetigung_nicht_erkannt_worden" (actuation not recognised)
00095   // 1 - "warten_auf_Betaetigung" (waiting for appointment)
00096   // 0 - "don't care"
00097 
00098   uint8_t Status_ADR_Taste_1;                 //      Bits=02.  [ 0     , 3      ]  Unit:''
00099 
00100   // 1 - "ja"
00101   // 0 - "nein"
00102 
00103   uint8_t ErrorClass1;   //      Bits=01.  [ 0     , 1      ]  Unit:''
00104 
00105   // 1 - "ja"
00106   // 0 - "nein"
00107 
00108   uint8_t ErrorClass2;   //      Bits=01.  [ 0     , 1      ]  Unit:''
00109 
00110   // 1 - "ja"
00111   // 0 - "nein"
00112 
00113   uint8_t ErrorClass3;   //      Bits=01.  [ 0     , 1      ]  Unit:''
00114 
00115   // 1 - "ja"
00116   // 0 - "nein"
00117 
00118   uint8_t ErrorClass4;   //      Bits=01.  [ 0     , 1      ]  Unit:''
00119 
00120   // 1 - "ja"
00121   // 0 - "nein"
00122 
00123   uint8_t ErrorClass5;   //      Bits=01.  [ 0     , 1      ]  Unit:''
00124 
00125   // 1 - "ja"
00126   // 0 - "nein"
00127 
00128   uint8_t ErrorClass6;   //      Bits=01.  [ 0     , 1      ]  Unit:''
00129 
00130   // 1 - "ja"
00131   // 0 - "nein"
00132 
00133   uint8_t ErrorClass7;   //      Bits=01.  [ 0     , 1      ]  Unit:''
00134 
00135   // 1 - "ja"
00136   // 0 - "nein"
00137 
00138   uint8_t Angef_Betrbsart_w_nicht_unters_1;   //      Bits=01.  [ 0     , 1      ]  Unit:''
00139 
00140   // 1 - "ja"
00141   // 0 - "nein"
00142 
00143   uint8_t Angf_Betr_nicht_unter_Zuhz_akt_1;   //      Bits=01.  [ 0     , 1      ]  Unit:''
00144 
00145   // 1 - "ja"
00146   // 0 - "nein"
00147 
00148   uint8_t Absch_durch_Diagnosetimeout_1;      //      Bits=01.  [ 0     , 1      ]  Unit:''
00149 
00150   // 1 - "ja"
00151   // 0 - "nein"
00152 
00153   uint8_t Timer_Betrieb_nicht_zulaessig_1;    //      Bits=01.  [ 0     , 1      ]  Unit:''
00154 
00155   // 1 - "ja"
00156   // 0 - "nein"
00157 
00158   uint8_t SetpointInvalid;        //      Bits=01.  [ 0     , 1      ]  Unit:''
00159 
00160   // 1 - "ja"
00161   // 0 - "nein"
00162 
00163   uint8_t Heizgeraet_verriegelt_1;            //      Bits=01.  [ 0     , 1      ]  Unit:''
00164 
00165   // 1 - "ja"
00166   // 0 - "nein"
00167 
00168   uint8_t InvalidConfiguration; //Ungueltige_Konfigurati_erkannt_1;   //      Bits=01.  [ 0     , 1      ]  Unit:''
00169 
00170   // 65535 - "Fehler"
00171   // 65534 - "Don't care; Init Wert"
00172 
00173   int32_t HeaterTemperature;        //      Bits=16.  [ -50   , 150    ]  Unit:'?C'    Offset= -50       Factor= 0.1
00174 } OBK_Status_Heater_1_t;
00175 
00176 #define NM_Heizgeraet_1_IDE (0U)
00177 #define NM_Heizgeraet_1_DLC (8U)
00178 #define NM_Heizgeraet_1_CANID (0x625U)
00179 
00180 typedef struct
00181 {
00182 
00183   uint8_t NM_Byte0_Source_Node_Identifier;    //      Bits=08.  [ 0     , 100    ]  Unit:''
00184 
00185   uint8_t NM_Byte1_CBV_Bit0_Repeat_Msg_Req;   //      Bits=01.  [ 0     , 1      ]  Unit:''
00186 
00187   uint8_t NM_Byte1_CBV_Bit1_reserved;         //      Bits=01.  [ 0     , 1      ]  Unit:''
00188 
00189   uint8_t NM_Byte1_CBV_Bit2_reserved;         //      Bits=01.  [ 0     , 1      ]  Unit:''
00190 
00191   uint8_t NM_Byte1_CBV_Bit3_reserved;         //      Bits=01.  [ 0     , 1      ]  Unit:''
00192 
00193   uint8_t NM_Byte1_CBV_Bit4_Active_Wakeup;    //      Bits=01.  [ 0     , 1      ]  Unit:''
00194 
00195   uint8_t NM_Byte1_CBV_Bit5_reserved;         //      Bits=01.  [ 0     , 1      ]  Unit:''
00196 
00197   uint8_t NM_Byte1_CBV_Bit6_reserved;         //      Bits=01.  [ 0     , 1      ]  Unit:''
00198 
00199   uint8_t NM_Byte1_CBV_Bit7_reserved;         //      Bits=01.  [ 0     , 1      ]  Unit:''
00200 
00201   uint8_t HeaterInitFinished;            //      Bits=01.  [ 0     , 1      ]  Unit:''
00202 
00203   uint32_t SerialNumber;            //      Bits=30.  [ 0     , 999999999 ]  Unit:''
00204 
00205   uint8_t HeaterType;           //      Bits=02.  [ 0     , 3      ]  Unit:''
00206 
00207   uint8_t NM_UD3_HG_ADR_Modus_aktiv;          //      Bits=01.  [ 0     , 1      ]  Unit:''
00208 
00209   uint8_t OperateEasyFan;          //      Bits=01.  [ 0     , 1      ]  Unit:''
00210 
00211   uint8_t AltitudeSensorOnBoard;    //      Bits=01.  [ 0     , 1      ]  Unit:''
00212 
00213   uint8_t NM_UD6_HG_Austritstemp_Red_HG;      //      Bits=01.  [ 0     , 1      ]  Unit:''
00214 
00215   uint8_t OperatingModes;         //      Bits=07.  [ 0     , 6      ]  Unit:''
00216 
00217   uint8_t NM_UD8_HG_Reserviert;               //      Bits=04.  [ 0     , 0      ]  Unit:''
00218 } NM_Heater_1_t;
00219 
00220 
00221 // def @NM_Bedienelement_K_TP71_1 CAN Message (1551)
00222 #define NM_Bedienelement_K_TP71_1_IDE (0U)
00223 #define NM_Bedienelement_K_TP71_1_DLC (8U)
00224 #define NM_Bedienelement_K_TP71_1_CANID (0x60FU)
00225 typedef struct
00226 {
00227 
00228   uint8_t NM_Byte0_Source_Node_Identifier;    //      Bits=08.  [ 0     , 100    ]  Unit:''
00229 
00230   uint8_t NM_Byte1_CBV_Bit0_Repeat_Msg_Req;   //      Bits=01.  [ 0     , 1      ]  Unit:''
00231 
00232   uint8_t NM_Byte1_CBV_Bit1_reserved;         //      Bits=01.  [ 0     , 1      ]  Unit:''
00233 
00234   uint8_t NM_Byte1_CBV_Bit2_reserved;         //      Bits=01.  [ 0     , 1      ]  Unit:''
00235 
00236   uint8_t NM_Byte1_CBV_Bit3_reserved;         //      Bits=01.  [ 0     , 1      ]  Unit:''
00237 
00238   uint8_t NM_Byte1_CBV_Bit4_Active_Wakeup;    //      Bits=01.  [ 0     , 1      ]  Unit:''
00239 
00240   uint8_t NM_Byte1_CBV_Bit5_reserved;         //      Bits=01.  [ 0     , 1      ]  Unit:''
00241 
00242   uint8_t NM_Byte1_CBV_Bit6_reserved;         //      Bits=01.  [ 0     , 1      ]  Unit:''
00243 
00244   uint8_t NM_Byte1_CBV_Bit7_reserved;         //      Bits=01.  [ 0     , 1      ]  Unit:''
00245 
00246   uint8_t NM_UD0_BE_init_finished;            //      Bits=01.  [ 0     , 1      ]  Unit:''
00247 
00248   uint32_t NM_UD1_BE_Seriennummer;            //      Bits=30.  [ 0     , 999999999 ]  Unit:''
00249 
00250   // 7 - "reserviert"
00251   // 6 - "reserviert"
00252   // 5 - "reserviert"
00253   // 4 - "E-Control Master"
00254   // 3 - "E-Control"
00255   // 2 - "GSM FFB"
00256   // 1 - "FFB"
00257   // 0 - "Schaltuhr"
00258 
00259   uint8_t NM_UD2_BE_Typ_Bedienelement;        //      Bits=03.  [ 0     , 7      ]  Unit:''
00260 
00261   // 1 - "ja"
00262   // 0 - "nein"
00263 
00264   uint8_t NM_UD3_BE_Fernbedienung;            //      Bits=01.  [ 0     , 1      ]  Unit:''
00265 
00266   // 1 - "ja"
00267   // 0 - "nein"
00268 
00269   uint8_t NM_UD4_BE_ADR_Modus_aktiv;          //      Bits=01.  [ 0     , 1      ]  Unit:''
00270 
00271   // 1 - "ja"
00272   // 0 - "nein"
00273 
00274   uint8_t NM_UD5_BE_Tempfuehler_vorhanden;    //      Bits=01.  [ 0     , 1      ]  Unit:''
00275 
00276   // 3 - "neu + alt"
00277   // 2 - "neu"
00278   // 1 - "alt"
00279   // 0 - "kein"
00280 
00281   uint8_t NM_UD6_BE_Timervariante;            //      Bits=02.  [ 0     , 3      ]  Unit:''
00282 
00283   uint8_t NM_UD7_BE_Reserviert;               //      Bits=08.  [ 0     , 255    ]  Unit:''
00284 
00285   // 1 - "wird unterst?tzt"
00286   // 0 - "wird nicht unterst?tzt"
00287 
00288   uint8_t NM_UD8_BE_Steuerung_E_Control_Ma;   //      Bits=01.  [ 0     , 1      ]  Unit:''
00289 } NM_Bedienelement_K_TP71_1_t;
00290 
00291 
00292 // functions
00293 uint32_t Unpack_OBK_Status_Heater_1_mydbc(OBK_Status_Heater_1_t* _m, const uint8_t* _d, uint8_t dlc_);
00294 uint32_t Unpack_NM_Heater_1_mydbc(NM_Heater_1_t* _m, const uint8_t* _d, uint8_t dlc_);
00295 uint32_t Unpack_NM_Bedienelement_K_TP71_1_mydbc(NM_Bedienelement_K_TP71_1_t* _m, const uint8_t* _d, uint8_t dlc_);
00296 
00297 
00298 #endif