// Status Z\u00FCndung/Fahrzeug
// sending ecus: EIS
typedef struct _Ign_Veh_Stat_AR2: public CANDescriptiveFrame {
_Ign_Veh_Stat_AR2() {
id = 0x20;
len = 8;
signal_count = 22;
}
// Bus fehlerhaft
// receiver ecus: DLM,TGW
// values: 1: BUS_FLT_KPT_AWAKE,0: NO_FLT
uint8_t getBusFlt_PrmntActv(){ return d.raw >> 28 & 0x1; };
void setBusFlt_PrmntActv(uint64_t value){ d.raw = (d.raw & 0xffffffffefffffff) | (value & 0x1) << 28; };
// Status Motorweiterlaufschaltung
// receiver ecus: TGW
// values: 3: SNA,2: NDEF,1: CONT_ENG_RUN_ON,0: CONT_ENG_RUN_OFF
uint8_t getContEngRun_Stat(){ return d.raw >> 26 & 0x3; };
void setContEngRun_Stat(uint64_t value){ d.raw = (d.raw & 0xfffffffff3ffffff) | (value & 0x3) << 26; };
// CRC-Checksumme der Signal Gruppe gem\u00E4\u00DF AUTOSAR Profil 2
// receiver ecus: DLM,DRVU,HUD,IC,NV,ORC,RBTM_FL,RBTM_FR,RVC,TGW,TPM
uint8_t getCRC_Ign_Stat_Pr2(){ return d.raw >> 56 & 0xff; };
void setCRC_Ign_Stat_Pr2(uint64_t value){ d.raw = (d.raw & 0xffffffffffffff) | (value & 0xff) << 56; };
// DidA Externer Tester erkannt
// receiver ecus: DLM,DRVU,HUD,IC,NV,ORC,RBTM_FL,RBTM_FR,RVC,TGW,TPM
bool getDidA_ExtTest_Pres(){ return d.raw >> 31 & 0x1; }
void setDidA_ExtTest_Pres(uint64_t value){d.raw = (d.raw & 0xffffffff7fffffff) | (value & 0x1) << 31;};
// Keyless Go Anlassbedingungen erf\u00FCllt
// receiver ecus: DLM,DRVU,HUD,IC,NV,ORC,RBTM_FL,RBTM_FR,RVC,TGW,TPM
bool getEngSt_Enbl_Rq_KG(){ return d.raw >> 35 & 0x1; }
void setEngSt_Enbl_Rq_KG(uint64_t value){d.raw = (d.raw & 0xfffffff7ffffffff) | (value & 0x1) << 35;};
// ELV Verriegelungsanforderung
// receiver ecus: DLM,DRVU,HUD,IC,NV,ORC,RBTM_FL,RBTM_FR,RVC,TGW,TPM
// values: 3: ORC_SAM_F_RQ,2: SAM_F_RQ,1: ORC_RQ,0: DEFAULT
uint8_t getESL_Lk_Rq(){ return d.raw >> 44 & 0x3; };
void setESL_Lk_Rq(uint64_t value){ d.raw = (d.raw & 0xffffcfffffffffff) | (value & 0x3) << 44; };
// Z\u00FCndung an/Motorstart aus
// receiver ecus: DLM,DRVU,HUD,IC,NV,ORC,RBTM_FL,RBTM_FR,RVC,TGW,TPM
bool getIgn_On_StartProc_Inact(){ return d.raw >> 48 & 0x1; }
void setIgn_On_StartProc_Inact(uint64_t value){d.raw = (d.raw & 0xfffeffffffffffff) | (value & 0x1) << 48;};
// Klemmenstatus
// receiver ecus: DLM,DRVU,HUD,IC,NV,ORC,RBTM_FL,RBTM_FR,RVC,TGW,TPM
// values: 7: SNA,5: IGN_START,4: IGN_ON,2: IGN_ACC,1: IGN_OFF,0: IGN_LOCK
uint8_t getISw_Stat(){ return d.raw >> 49 & 0x7; };
void setISw_Stat(uint64_t value){ d.raw = (d.raw & 0xfff1ffffffffffff) | (value & 0x7) << 49; };
// Keyless Go Klemmenansteuerung aktiv
// receiver ecus: DLM,DRVU,HUD,IC,NV,ORC,RBTM_FL,RBTM_FR,RVC,TGW,TPM
bool getKG_IgnCtrl_Actv(){ return d.raw >> 47 & 0x1; }
void setKG_IgnCtrl_Actv(uint64_t value){d.raw = (d.raw & 0xffff7fffffffffff) | (value & 0x1) << 47;};
// Keyless Go Starttaster bet\u00E4tigt
// receiver ecus: DLM,DRVU,HUD,IC,NV,ORC,RBTM_FL,RBTM_FR,RVC,TGW,TPM
bool getKG_StartSw_Psd(){ return d.raw >> 46 & 0x1; }
void setKG_StartSw_Psd(uint64_t value){d.raw = (d.raw & 0xffffbfffffffffff) | (value & 0x1) << 46;};
// Mobilger\u00E4t Status Ladeanforderung
// receiver ecus: TGW
// values: 3: SNA,2: NDEF2,1: CHARGE,0: DO_NOT_CHARGE
uint8_t getMobile_Chrg_Rq_EIS(){ return d.raw >> 24 & 0x3; };
void setMobile_Chrg_Rq_EIS(uint64_t value){ d.raw = (d.raw & 0xfffffffffcffffff) | (value & 0x3) << 24; };
// Klemmensteuerung Motorfernstart aktiv
// receiver ecus: DLM,DRVU,HUD,IC,NV,ORC,RBTM_FL,RBTM_FR,RVC,TGW,TPM
bool getRemSt_IgnCtrl_Actv(){ return d.raw >> 34 & 0x1; }
void setRemSt_IgnCtrl_Actv(uint64_t value){d.raw = (d.raw & 0xfffffffbffffffff) | (value & 0x1) << 34;};
// Klemmensteuerung Motorfernstart Information
// receiver ecus: DLM,DRVU,HUD,IC,NV,ORC,RBTM_FL,RBTM_FR,RVC,TGW,TPM
// values: 3: SNA,2: BAT_CHRG,1: PRECON,0: NO_RQ
uint8_t getRemSt_IgnCtrl_Info(){ return d.raw >> 32 & 0x3; };
void setRemSt_IgnCtrl_Info(uint64_t value){ d.raw = (d.raw & 0xfffffffcffffffff) | (value & 0x3) << 32; };
// R\u00FCckw\u00E4rtsgang eingelegt
// receiver ecus: DLM,NV,RBTM_FL,RBTM_FR,RVC,TGW,TPM
// values: 3: SNA,2: NDEF2,1: ENGG,0: DISENGG
uint8_t getRevGr_Engg(){ return d.raw >> 29 & 0x3; };
void setRevGr_Engg(uint64_t value){ d.raw = (d.raw & 0xffffffff9fffffff) | (value & 0x3) << 29; };
// Akustische Warnung SPCR
// receiver ecus: DLM,DRVU,HUD,IC,NV,ORC,RBTM_FL,RBTM_FR,RVC,TGW,TPM
bool getSPCR_AcustWarn_Rq_EIS(){ return d.raw >> 40 & 0x1; }
void setSPCR_AcustWarn_Rq_EIS(uint64_t value){d.raw = (d.raw & 0xfffffeffffffffff) | (value & 0x1) << 40;};
// Konfiguration Stillstandskoordinator
// receiver ecus: DLM,DRVU,HUD,IC,NV,ORC,RBTM_FL,RBTM_FR,RVC,TGW,TPM
// values: 3: SNA,2: HOLD_AND_SBW,1: HOLD_NO_SBW,0: NOT_CONF
uint8_t getSPCR_Conf_EIS(){ return d.raw >> 41 & 0x3; };
void setSPCR_Conf_EIS(uint64_t value){ d.raw = (d.raw & 0xfffff9ffffffffff) | (value & 0x3) << 41; };
// StopCoordinator Failure EIS
// receiver ecus: DLM,DRVU,HUD,IC,NV,ORC,RBTM_FL,RBTM_FR,RVC,TGW,TPM
bool getSPCR_Flt_EIS(){ return d.raw >> 43 & 0x1; }
void setSPCR_Flt_EIS(uint64_t value){d.raw = (d.raw & 0xfffff7ffffffffff) | (value & 0x1) << 43;};
// Sequenzz\u00E4hler
// receiver ecus: DLM,DRVU,HUD,IC,NV,ORC,RBTM_FL,RBTM_FR,RVC,TGW,TPM
uint8_t getSQC_Ign_Stat_Pr2(){ return d.raw >> 52 & 0xf; };
void setSQC_Ign_Stat_Pr2(uint64_t value){ d.raw = (d.raw & 0xff0fffffffffffff) | (value & 0xf) << 52; };
// Anforderung Not-'P'
// receiver ecus: DLM,DRVU,HUD,IC,NV,ORC,RBTM_FL,RBTM_FR,RVC,TGW,TPM
bool getTxPkPosn_Emg_Rq(){ return d.raw >> 38 & 0x1; }
void setTxPkPosn_Emg_Rq(uint64_t value){d.raw = (d.raw & 0xffffffbfffffffff) | (value & 0x1) << 38;};
// EIS-Wunsch: 'P' einlegen
// receiver ecus: DLM,DRVU,HUD,IC,NV,ORC,RBTM_FL,RBTM_FR,RVC,TGW,TPM
bool getTxPkPosn_Rq(){ return d.raw >> 39 & 0x1; }
void setTxPkPosn_Rq(uint64_t value){d.raw = (d.raw & 0xffffff7fffffffff) | (value & 0x1) << 39;};
// SPCR-Wunsch: 'P' einlegen erlaubt
// receiver ecus: DLM,DRVU,HUD,IC,NV,ORC,RBTM_FL,RBTM_FR,RVC,TGW,TPM
bool getTxPkPosn_Rq_SPCR_Enbl(){ return d.raw >> 36 & 0x1; }
void setTxPkPosn_Rq_SPCR_Enbl(uint64_t value){d.raw = (d.raw & 0xffffffefffffffff) | (value & 0x1) << 36;};
// Auto-'P' enabled
// receiver ecus: DLM,DRVU,HUD,IC,NV,ORC,RBTM_FL,RBTM_FR,RVC,TGW,TPM
bool getTxPkPosnAuto_Enbl(){ return d.raw >> 37 & 0x1; }
void setTxPkPosnAuto_Enbl(uint64_t value){d.raw = (d.raw & 0xffffffdfffffffff) | (value & 0x1) << 37;};
} Ign_Veh_Stat_AR2;