int List_of_Balises_in_SR_Authority_Core_1_Encode_Bit(Bitstream* stream, const List_of_Balises_in_SR_Authority_Core_1* p) { if (Bitstream_Normal(stream, LIST_OF_BALISES_IN_SR_AUTHORITY_CORE_1_CORE_BITSIZE)) { if (List_of_Balises_in_SR_Authority_Core_1_UpperBitsNotSet(p)) { //@ ghost const uint32_t pos = stream->bitpos; Bitstream_Write(stream, 1, p->Q_NEWCOUNTRY); if (p->Q_NEWCOUNTRY == 1) { Bitstream_Write(stream, 10, p->NID_C); } Bitstream_Write(stream, 14, p->NID_BG); //@ assert Q_NEWCOUNTRY: EqualBits(stream, pos, pos + 1, p->Q_NEWCOUNTRY); return 1; } else { return -2; } } else { return -1; } }
int Level23TransitionInformation_EncodeBit(const Level23TransitionInformation* p, Bitstream* stream) { if (Bitstream_Normal(stream, LEVEL23TRANSITIONINFORMATION_BITSIZE)) { if (Level23TransitionInformation_UpperBitsNotSet(p)) { //@ ghost const uint32_t pos = stream->bitpos; Bitstream_Write(stream, 13, p->L_PACKET); Bitstream_Write(stream, 24, p->NID_LTRBG); //@ assert L_PACKET: EqualBits(stream, pos, pos + 13, p->L_PACKET); //@ assert NID_LTRBG: EqualBits(stream, pos + 13, pos + 37, p->NID_LTRBG); return 1; } else { return -2; } } else { return -1; } }
int Inhibition_of_balise_group_message_consistency_reaction_Encode_Bit(Bitstream* stream, const Inhibition_of_balise_group_message_consistency_reaction_Core* p) { if (Bitstream_Normal(stream, INHIBITION_OF_BALISE_GROUP_MESSAGE_CONSISTENCY_REACTION_CORE_BITSIZE)) { if (Inhibition_of_balise_group_message_consistency_reaction_UpperBitsNotSet(p)) { //@ ghost const uint32_t pos = stream->bitpos; Bitstream_Write(stream, 2, p->Q_DIR); Bitstream_Write(stream, 13, p->L_PACKET); //@ assert Q_DIR: EqualBits(stream, pos, pos + 2, p->Q_DIR); //@ assert L_PACKET: EqualBits(stream, pos + 2, pos + 15, p->L_PACKET); return 1; } else { return -2; } } else { return -1; } }
int InternationalStaticSpeedProfile_2_1_EncodeBit(const InternationalStaticSpeedProfile_2_1* p, Bitstream* stream) { if (Bitstream_Normal(stream, INTERNATIONALSTATICSPEEDPROFILE_2_1_BITSIZE)) { if (InternationalStaticSpeedProfile_2_1_UpperBitsNotSet(p)) { //@ ghost const uint32_t pos = stream->bitpos; Bitstream_Write(stream, 4, p->NC_DIFF); Bitstream_Write(stream, 7, p->V_DIFF); //@ assert NC_DIFF: EqualBits(stream, pos, pos + 4, p->NC_DIFF); //@ assert V_DIFF: EqualBits(stream, pos + 4, pos + 11, p->V_DIFF); return 1; } else { return -2; } } else { return -1; } }
int Temporary_Speed_Restriction_Revocation_Encoder(Bitstream* stream, const Temporary_Speed_Restriction_Revocation_Core* p) { if (NormalBitstream(stream, TEMPORARY_SPEED_RESTRICTION_REVOCATION_CORE_BITSIZE)) { if (Temporary_Speed_Restriction_Revocation_UpperBitsNotSet(p)) { //@ ghost const uint32_t pos = stream->bitpos; Bitstream_Write(stream, 2, p->Q_DIR); Bitstream_Write(stream, 13, p->L_PACKET); Bitstream_Write(stream, 8, p->NID_TSR); //@ assert Q_DIR: EqualBits(stream, pos, pos + 2, p->Q_DIR); //@ assert L_PACKET: EqualBits(stream, pos + 2, pos + 15, p->L_PACKET); //@ assert NID_TSR: EqualBits(stream, pos + 15, pos + 23, p->NID_TSR); return 1; } else { return -2; } } else { return -1; } }
int ModeProfile_1_EncodeBit(const ModeProfile_1* p, Bitstream* stream) { if (Bitstream_Normal(stream, MODEPROFILE_1_BITSIZE)) { if (ModeProfile_1_UpperBitsNotSet(p)) { //@ ghost const uint32_t pos = stream->bitpos; Bitstream_Write(stream, 15, p->D_MAMODE); Bitstream_Write(stream, 2, p->M_MAMODE); Bitstream_Write(stream, 7, p->V_MAMODE); Bitstream_Write(stream, 15, p->L_MAMODE); Bitstream_Write(stream, 15, p->L_ACKMAMODE); //@ assert D_MAMODE: EqualBits(stream, pos, pos + 15, p->D_MAMODE); //@ assert M_MAMODE: EqualBits(stream, pos + 15, pos + 17, p->M_MAMODE); //@ assert V_MAMODE: EqualBits(stream, pos + 17, pos + 24, p->V_MAMODE); //@ assert L_MAMODE: EqualBits(stream, pos + 24, pos + 39, p->L_MAMODE); //@ assert L_ACKMAMODE: EqualBits(stream, pos + 39, pos + 54, p->L_ACKMAMODE); return 1; } else { return -2; } } else { return -1; } }
int Level_23_Movement_Authority_Core_1_Encoder(Bitstream* stream, const Level_23_Movement_Authority_Core_1* p) { if (NormalBitstream(stream, LEVEL_23_MOVEMENT_AUTHORITY_CORE_1_CORE_BITSIZE)) { if (Level_23_Movement_Authority_Core_1_UpperBitsNotSet(p)) { //@ ghost const uint32_t pos = stream->bitpos; Bitstream_Write(stream, 15, p->L_SECTION_k); Bitstream_Write(stream, 1, p->Q_SECTIONTIMER_k); Bitstream_Write(stream, 10, p->T_SECTIONTIMER_k); Bitstream_Write(stream, 15, p->D_SECTIONTIMERSTOPLOC_k); //@ assert L_SECTION_k: EqualBits(stream, pos, pos + 15, p->L_SECTION_k); //@ assert Q_SECTIONTIMER_k: EqualBits(stream, pos + 15, pos + 16, p->Q_SECTIONTIMER_k); //@ assert T_SECTIONTIMER_k: EqualBits(stream, pos + 16, pos + 26, p->T_SECTIONTIMER_k); //@ assert D_SECTIONTIMERSTOPLOC_k: EqualBits(stream, pos + 26, pos + 41, p->D_SECTIONTIMERSTOPLOC_k); return 1; } else { return -2; } } else { return -1; } }
int Radio_Network_registration_Encoder(Bitstream* stream, const Radio_Network_registration_Core* p) { if (NormalBitstream(stream, RADIO_NETWORK_REGISTRATION_CORE_BITSIZE)) { if (Radio_Network_registration_UpperBitsNotSet(p)) { //@ ghost const uint32_t pos = stream->bitpos; Bitstream_Write(stream, 2, p->Q_DIR); Bitstream_Write(stream, 13, p->L_PACKET); Bitstream_Write(stream, 24, p->NID_MN); //@ assert Q_DIR: EqualBits(stream, pos, pos + 2, p->Q_DIR); //@ assert L_PACKET: EqualBits(stream, pos + 2, pos + 15, p->L_PACKET); //@ assert NID_MN: EqualBits(stream, pos + 15, pos + 39, p->NID_MN); return 1; } else { return -2; } } else { return -1; } }
int Error_Reporting_Encoder(Bitstream* stream, const Error_Reporting_Core* p) { if (NormalBitstream(stream, ERROR_REPORTING_CORE_BITSIZE)) { if (Error_Reporting_UpperBitsNotSet(p)) { //@ ghost const uint32_t pos = stream->bitpos; Bitstream_Write(stream, 13, p->L_PACKET); Bitstream_Write(stream, 8, p->M_ERROR); //@ assert L_PACKET: EqualBits(stream, pos, pos + 13, p->L_PACKET); //@ assert M_ERROR: EqualBits(stream, pos + 13, pos + 21, p->M_ERROR); return 1; } else { return -2; } } else { return -1; } }
int National_Values_Core_3_1_Encode_Bit(Bitstream* stream, const National_Values_Core_3_1* p) { if (Bitstream_Normal(stream, NATIONAL_VALUES_CORE_3_1_CORE_BITSIZE)) { if (National_Values_Core_3_1_UpperBitsNotSet(p)) { //@ ghost const uint32_t pos = stream->bitpos; Bitstream_Write(stream, 7, p->V_NVKVINT); Bitstream_Write(stream, 7, p->M_NVKVINT); //@ assert V_NVKVINT: EqualBits(stream, pos, pos + 7, p->V_NVKVINT); //@ assert M_NVKVINT: EqualBits(stream, pos + 7, pos + 14, p->M_NVKVINT); return 1; } else { return -2; } } else { return -1; } }
int Track_Condition_Change_of_allowed_current_consumption_Encoder(Bitstream* stream, const Track_Condition_Change_of_allowed_current_consumption* p) { if (NormalBitstream(stream, TRACK_CONDITION_CHANGE_OF_ALLOWED_CURRENT_CONSUMPTION_BITSIZE)) { if (Track_Condition_Change_of_allowed_current_consumption_UpperBitsNotSet(p)) { uint8_t* addr = stream->addr; const uint32_t size = stream->size; const uint32_t pos = stream->bitpos; Bitstream_Write(stream, 2, p->Q_DIR); Bitstream_Write(stream, 13, p->L_PACKET); Bitstream_Write(stream, 2, p->Q_SCALE); Bitstream_Write(stream, 15, p->D_CURRENT); Bitstream_Write(stream, 10, p->M_CURRENT); //@ assert Q_DIR: EqualBits(stream, pos, pos + 2, p->Q_DIR); //@ assert L_PACKET: EqualBits(stream, pos + 2, pos + 15, p->L_PACKET); //@ assert Q_SCALE: EqualBits(stream, pos + 15, pos + 17, p->Q_SCALE); //@ assert D_CURRENT: EqualBits(stream, pos + 17, pos + 32, p->D_CURRENT); //@ assert M_CURRENT: EqualBits(stream, pos + 32, pos + 42, p->M_CURRENT); return 1; } else { return -2; } } else { return -1; } }
int Repositioning_Information_Encoder(Bitstream* stream, const Repositioning_Information* p) { if (NormalBitstream(stream, REPOSITIONING_INFORMATION_BITSIZE)) { if (Repositioning_Information_UpperBitsNotSet(p)) { uint8_t* addr = stream->addr; const uint32_t size = stream->size; const uint32_t pos = stream->bitpos; Bitstream_Write(stream, 2, p->Q_DIR); Bitstream_Write(stream, 13, p->L_PACKET); Bitstream_Write(stream, 2, p->Q_SCALE); Bitstream_Write(stream, 15, p->L_SECTION); //@ assert Q_DIR: EqualBits(stream, pos, pos + 2, p->Q_DIR); //@ assert L_PACKET: EqualBits(stream, pos + 2, pos + 15, p->L_PACKET); //@ assert Q_SCALE: EqualBits(stream, pos + 15, pos + 17, p->Q_SCALE); //@ assert L_SECTION: EqualBits(stream, pos + 17, pos + 32, p->L_SECTION); return 1; } else { return -2; } } else { return -1; } }
int Onboard_telephone_numbers_Encode_Bit(Bitstream* stream, const Onboard_telephone_numbers_Core* p) { if (Bitstream_Normal(stream, ONBOARD_TELEPHONE_NUMBERS_CORE_BITSIZE)) { if (Onboard_telephone_numbers_UpperBitsNotSet(p)) { //@ ghost const uint32_t pos = stream->bitpos; Bitstream_Write(stream, 13, p->L_PACKET); Bitstream_Write(stream, 5, p->N_ITER_1); for (uint32_t i = 0; i < p->N_ITER_1; ++i) { Onboard_telephone_numbers_Core_1_Encode_Bit(stream, &(p->sub_1[i])); } //@ assert L_PACKET: EqualBits(stream, pos, pos + 13, p->L_PACKET); return 1; } else { return -2; } } else { return -1; } }
int Axle_Load_Speed_Profile_Core_2_Encoder(Bitstream* stream, const Axle_Load_Speed_Profile_Core_2* p) { if (NormalBitstream(stream, AXLE_LOAD_SPEED_PROFILE_CORE_2_CORE_BITSIZE)) { if (Axle_Load_Speed_Profile_Core_2_UpperBitsNotSet(p)) { //@ ghost const uint32_t pos = stream->bitpos; Bitstream_Write(stream, 15, p->D_AXLELOAD_k); Bitstream_Write(stream, 15, p->L_AXLELOAD_k); Bitstream_Write(stream, 1, p->Q_FRONT_k); Bitstream_Write(stream, 5, p->N_ITER_2_1); for (uint32_t i = 0; i < p->N_ITER_2_1; ++i) { Axle_Load_Speed_Profile_Core_2_1_Encoder(stream, &(p->sub_2_1[i])); } //@ assert D_AXLELOAD_k: EqualBits(stream, pos, pos + 15, p->D_AXLELOAD_k); //@ assert L_AXLELOAD_k: EqualBits(stream, pos + 15, pos + 30, p->L_AXLELOAD_k); //@ assert Q_FRONT_k: EqualBits(stream, pos + 30, pos + 31, p->Q_FRONT_k); return 1; } else { return -2; } } else { return -1; } }
int Data_used_by_applications_outside_the_ERTMSETCS_system_Encoder(Bitstream* stream, const Data_used_by_applications_outside_the_ERTMSETCS_system_Core* p) { if (NormalBitstream(stream, DATA_USED_BY_APPLICATIONS_OUTSIDE_THE_ERTMSETCS_SYSTEM_CORE_BITSIZE)) { if (Data_used_by_applications_outside_the_ERTMSETCS_system_UpperBitsNotSet(p)) { //@ ghost const uint32_t pos = stream->bitpos; Bitstream_Write(stream, 2, p->Q_DIR); Bitstream_Write(stream, 13, p->L_PACKET); Bitstream_Write(stream, 9, p->NID_XUSER); if (p->NID_XUSER == 102) { Bitstream_Write(stream, 8, p->NID_NTC); } Bitstream_Write(stream, 8, p->Other_data_depending_on__NID_XUSER); //@ assert Q_DIR: EqualBits(stream, pos, pos + 2, p->Q_DIR); //@ assert L_PACKET: EqualBits(stream, pos + 2, pos + 15, p->L_PACKET); //@ assert NID_XUSER: EqualBits(stream, pos + 15, pos + 24, p->NID_XUSER); return 1; } else { return -2; } } else { return -1; } }
int Track_Condition_Station_Platforms_Core_1_Encoder(Bitstream* stream, const Track_Condition_Station_Platforms_Core_1* p) { if (NormalBitstream(stream, TRACK_CONDITION_STATION_PLATFORMS_CORE_1_CORE_BITSIZE)) { if (Track_Condition_Station_Platforms_Core_1_UpperBitsNotSet(p)) { //@ ghost const uint32_t pos = stream->bitpos; Bitstream_Write(stream, 15, p->D_TRACKCOND_k); Bitstream_Write(stream, 15, p->L_TRACKCOND_k); Bitstream_Write(stream, 4, p->M_PLATFORM_k); Bitstream_Write(stream, 2, p->Q_PLATFORM_k); //@ assert D_TRACKCOND_k: EqualBits(stream, pos, pos + 15, p->D_TRACKCOND_k); //@ assert L_TRACKCOND_k: EqualBits(stream, pos + 15, pos + 30, p->L_TRACKCOND_k); //@ assert M_PLATFORM_k: EqualBits(stream, pos + 30, pos + 34, p->M_PLATFORM_k); //@ assert Q_PLATFORM_k: EqualBits(stream, pos + 34, pos + 36, p->Q_PLATFORM_k); return 1; } else { return -2; } } else { return -1; } }
int Validated_train_data_Core_1_Encoder(Bitstream* stream, const Validated_train_data_Core_1* p) { if (NormalBitstream(stream, VALIDATED_TRAIN_DATA_CORE_1_CORE_BITSIZE)) { if (Validated_train_data_Core_1_UpperBitsNotSet(p)) { //@ ghost const uint32_t pos = stream->bitpos; Bitstream_Write(stream, 4, p->M_VOLTAGE_k); if ((p->M_VOLTAGE_k != 0) && (p->NID_CTRACTION_k != 0)) { Bitstream_Write(stream, 10, p->NID_CTRACTION_k); } //@ assert M_VOLTAGE_k: EqualBits(stream, pos, pos + 4, p->M_VOLTAGE_k); return 1; } else { return -2; } } else { return -1; } }
int Axle_Load_Speed_Profile_Core_1_Encoder(Bitstream* stream, const Axle_Load_Speed_Profile_Core_1* p) { if (NormalBitstream(stream, AXLE_LOAD_SPEED_PROFILE_CORE_1_CORE_BITSIZE)) { if (Axle_Load_Speed_Profile_Core_1_UpperBitsNotSet(p)) { //@ ghost const uint32_t pos = stream->bitpos; Bitstream_Write(stream, 7, p->M_AXLELOADCAT_n); Bitstream_Write(stream, 7, p->V_AXLELOAD_n); //@ assert M_AXLELOADCAT_n: EqualBits(stream, pos, pos + 7, p->M_AXLELOADCAT_n); //@ assert V_AXLELOAD_n: EqualBits(stream, pos + 7, pos + 14, p->V_AXLELOAD_n); return 1; } else { return -2; } } else { return -1; } }
int List_of_Balises_in_SR_Authority_Encoder(Bitstream* stream, const List_of_Balises_in_SR_Authority_Core* p) { if (NormalBitstream(stream, LIST_OF_BALISES_IN_SR_AUTHORITY_CORE_BITSIZE)) { if (List_of_Balises_in_SR_Authority_UpperBitsNotSet(p)) { //@ ghost const uint32_t pos = stream->bitpos; Bitstream_Write(stream, 2, p->Q_DIR); Bitstream_Write(stream, 13, p->L_PACKET); Bitstream_Write(stream, 5, p->N_ITER_1); for (uint32_t i = 0; i < p->N_ITER_1; ++i) { List_of_Balises_in_SR_Authority_Core_1_Encoder(stream, &(p->sub_1[i])); } //@ assert Q_DIR: EqualBits(stream, pos, pos + 2, p->Q_DIR); //@ assert L_PACKET: EqualBits(stream, pos + 2, pos + 15, p->L_PACKET); return 1; } else { return -2; } } else { return -1; } }
int DangerForShuntingInformation_EncodeBit(const DangerForShuntingInformation* p, Bitstream* stream) { if (Bitstream_Normal(stream, DANGERFORSHUNTINGINFORMATION_BITSIZE)) { if (DangerForShuntingInformation_UpperBitsNotSet(p)) { //@ ghost const uint32_t pos = stream->bitpos; Bitstream_Write(stream, 2, p->Q_DIR); Bitstream_Write(stream, 13, p->L_PACKET); Bitstream_Write(stream, 1, p->Q_ASPECT); //@ assert Q_DIR: EqualBits(stream, pos, pos + 2, p->Q_DIR); //@ assert L_PACKET: EqualBits(stream, pos + 2, pos + 15, p->L_PACKET); //@ assert Q_ASPECT: EqualBits(stream, pos + 15, pos + 16, p->Q_ASPECT); return 1; } else { return -2; } } else { return -1; } }
int Train_running_number_from_RBC_Encoder(Bitstream* stream, const Train_running_number_from_RBC* p) { if (NormalBitstream(stream, TRAIN_RUNNING_NUMBER_FROM_RBC_BITSIZE)) { if (Train_running_number_from_RBC_UpperBitsNotSet(p)) { uint8_t* addr = stream->addr; const uint32_t size = stream->size; const uint32_t pos = stream->bitpos; Bitstream_Write(stream, 2, p->Q_DIR); Bitstream_Write(stream, 13, p->L_PACKET); Bitstream_Write(stream, 32, p->NID_OPERATIONAL); //@ assert Q_DIR: EqualBits(stream, pos, pos + 2, p->Q_DIR); //@ assert L_PACKET: EqualBits(stream, pos + 2, pos + 15, p->L_PACKET); //@ assert NID_OPERATIONAL: EqualBits(stream, pos + 15, pos + 47, p->NID_OPERATIONAL); return 1; } else { return -2; } } else { return -1; } }
int Level23MovementAuthority_1_EncodeBit(const Level23MovementAuthority_1* p, Bitstream* stream) { if (Bitstream_Normal(stream, LEVEL23MOVEMENTAUTHORITY_1_BITSIZE)) { if (Level23MovementAuthority_1_UpperBitsNotSet(p)) { //@ ghost const uint32_t pos = stream->bitpos; Bitstream_Write(stream, 15, p->L_SECTION); Bitstream_Write(stream, 1, p->Q_SECTIONTIMER); Bitstream_Write(stream, 10, p->T_SECTIONTIMER); Bitstream_Write(stream, 15, p->D_SECTIONTIMERSTOPLOC); //@ assert L_SECTION: EqualBits(stream, pos, pos + 15, p->L_SECTION); //@ assert Q_SECTIONTIMER: EqualBits(stream, pos + 15, pos + 16, p->Q_SECTIONTIMER); //@ assert T_SECTIONTIMER: EqualBits(stream, pos + 16, pos + 26, p->T_SECTIONTIMER); //@ assert D_SECTIONTIMERSTOPLOC: EqualBits(stream, pos + 26, pos + 41, p->D_SECTIONTIMERSTOPLOC); return 1; } else { return -2; } } else { return -1; } }
int Stop_if_in_Staff_Responsible_Encoder(Bitstream* stream, const Stop_if_in_Staff_Responsible_Core* p) { if (NormalBitstream(stream, STOP_IF_IN_STAFF_RESPONSIBLE_CORE_BITSIZE)) { if (Stop_if_in_Staff_Responsible_UpperBitsNotSet(p)) { //@ ghost const uint32_t pos = stream->bitpos; Bitstream_Write(stream, 2, p->Q_DIR); Bitstream_Write(stream, 13, p->L_PACKET); Bitstream_Write(stream, 1, p->Q_SRSTOP); //@ assert Q_DIR: EqualBits(stream, pos, pos + 2, p->Q_DIR); //@ assert L_PACKET: EqualBits(stream, pos + 2, pos + 15, p->L_PACKET); //@ assert Q_SRSTOP: EqualBits(stream, pos + 15, pos + 16, p->Q_SRSTOP); return 1; } else { return -2; } } else { return -1; } }
int Position_Report_Parameters_Core_1_Encode_Bit(Bitstream* stream, const Position_Report_Parameters_Core_1* p) { if (Bitstream_Normal(stream, POSITION_REPORT_PARAMETERS_CORE_1_CORE_BITSIZE)) { if (Position_Report_Parameters_Core_1_UpperBitsNotSet(p)) { //@ ghost const uint32_t pos = stream->bitpos; Bitstream_Write(stream, 15, p->D_LOC); Bitstream_Write(stream, 1, p->Q_LGTLOC); //@ assert D_LOC: EqualBits(stream, pos, pos + 15, p->D_LOC); //@ assert Q_LGTLOC: EqualBits(stream, pos + 15, pos + 16, p->Q_LGTLOC); return 1; } else { return -2; } } else { return -1; } }
int Inhibition_of_revocable_TSRs_from_balises_in_L23_Encoder(Bitstream* stream, const Inhibition_of_revocable_TSRs_from_balises_in_L23_Core* p) { if (NormalBitstream(stream, INHIBITION_OF_REVOCABLE_TSRS_FROM_BALISES_IN_L23_CORE_BITSIZE)) { if (Inhibition_of_revocable_TSRs_from_balises_in_L23_UpperBitsNotSet(p)) { //@ ghost const uint32_t pos = stream->bitpos; Bitstream_Write(stream, 2, p->Q_DIR); Bitstream_Write(stream, 13, p->L_PACKET); //@ assert Q_DIR: EqualBits(stream, pos, pos + 2, p->Q_DIR); //@ assert L_PACKET: EqualBits(stream, pos + 2, pos + 15, p->L_PACKET); return 1; } else { return -2; } } else { return -1; } }
int RadioNetworkRegistration_EncodeBit(const RadioNetworkRegistration* p, Bitstream* stream) { if (Bitstream_Normal(stream, RADIONETWORKREGISTRATION_BITSIZE)) { if (RadioNetworkRegistration_UpperBitsNotSet(p)) { //@ ghost const uint32_t pos = stream->bitpos; Bitstream_Write(stream, 2, p->Q_DIR); Bitstream_Write(stream, 13, p->L_PACKET); Bitstream_Write(stream, 24, p->NID_MN); //@ assert Q_DIR: EqualBits(stream, pos, pos + 2, p->Q_DIR); //@ assert L_PACKET: EqualBits(stream, pos + 2, pos + 15, p->L_PACKET); //@ assert NID_MN: EqualBits(stream, pos + 15, pos + 39, p->NID_MN); return 1; } else { return -2; } } else { return -1; } }
int Staff_Responsible_distance_Information_from_loop_Core_1_Encode_Bit(Bitstream* stream, const Staff_Responsible_distance_Information_from_loop_Core_1* p) { if (Bitstream_Normal(stream, STAFF_RESPONSIBLE_DISTANCE_INFORMATION_FROM_LOOP_CORE_1_CORE_BITSIZE)) { if (Staff_Responsible_distance_Information_from_loop_Core_1_UpperBitsNotSet(p)) { //@ ghost const uint32_t pos = stream->bitpos; Bitstream_Write(stream, 1, p->Q_NEWCOUNTRY); if (p->Q_NEWCOUNTRY == 1) { Bitstream_Write(stream, 10, p->NID_C); } Bitstream_Write(stream, 14, p->NID_BG); Bitstream_Write(stream, 15, p->D_SR); //@ assert Q_NEWCOUNTRY: EqualBits(stream, pos, pos + 1, p->Q_NEWCOUNTRY); return 1; } else { return -2; } } else { return -1; } }
int Movement_Authority_Request_Parameters_Encode_Bit(Bitstream* stream, const Movement_Authority_Request_Parameters_Core* p) { if (Bitstream_Normal(stream, MOVEMENT_AUTHORITY_REQUEST_PARAMETERS_CORE_BITSIZE)) { if (Movement_Authority_Request_Parameters_UpperBitsNotSet(p)) { //@ ghost const uint32_t pos = stream->bitpos; Bitstream_Write(stream, 2, p->Q_DIR); Bitstream_Write(stream, 13, p->L_PACKET); Bitstream_Write(stream, 8, p->T_MAR); Bitstream_Write(stream, 10, p->T_TIMEOUTRQST); Bitstream_Write(stream, 8, p->T_CYCRQST); //@ assert Q_DIR: EqualBits(stream, pos, pos + 2, p->Q_DIR); //@ assert L_PACKET: EqualBits(stream, pos + 2, pos + 15, p->L_PACKET); //@ assert T_MAR: EqualBits(stream, pos + 15, pos + 23, p->T_MAR); //@ assert T_TIMEOUTRQST: EqualBits(stream, pos + 23, pos + 33, p->T_TIMEOUTRQST); //@ assert T_CYCRQST: EqualBits(stream, pos + 33, pos + 41, p->T_CYCRQST); return 1; } else { return -2; } } else { return -1; } }
int Track_Condition_Big_Metal_Masses_Core_1_Encode_Bit(Bitstream* stream, const Track_Condition_Big_Metal_Masses_Core_1* p) { if (Bitstream_Normal(stream, TRACK_CONDITION_BIG_METAL_MASSES_CORE_1_CORE_BITSIZE)) { if (Track_Condition_Big_Metal_Masses_Core_1_UpperBitsNotSet(p)) { //@ ghost const uint32_t pos = stream->bitpos; Bitstream_Write(stream, 15, p->D_TRACKCOND); Bitstream_Write(stream, 15, p->L_TRACKCOND); //@ assert D_TRACKCOND: EqualBits(stream, pos, pos + 15, p->D_TRACKCOND); //@ assert L_TRACKCOND: EqualBits(stream, pos + 15, pos + 30, p->L_TRACKCOND); return 1; } else { return -2; } } else { return -1; } }
int Default_balise_or_Loop_or_RIU_information_Encoder(Bitstream* stream, const Default_balise_or_Loop_or_RIU_information_Core* p) { if (NormalBitstream(stream, DEFAULT_BALISE_OR_LOOP_OR_RIU_INFORMATION_CORE_BITSIZE)) { if (Default_balise_or_Loop_or_RIU_information_UpperBitsNotSet(p)) { //@ ghost const uint32_t pos = stream->bitpos; Bitstream_Write(stream, 2, p->Q_DIR); Bitstream_Write(stream, 13, p->L_PACKET); //@ assert Q_DIR: EqualBits(stream, pos, pos + 2, p->Q_DIR); //@ assert L_PACKET: EqualBits(stream, pos + 2, pos + 15, p->L_PACKET); return 1; } else { return -2; } } else { return -1; } }