From aea5fd0303fe1bd50cc5b34198770bc362ba6ef4 Mon Sep 17 00:00:00 2001 From: Cookiebowser <lucas.doering@live.de> Date: Thu, 11 May 2023 14:32:45 +0200 Subject: [PATCH] added execution benchmarks for rust-embedded --- .../execution/Rust_embedded/CAN_BUS_tlc.rs | 496 ++ .../Rust_embedded/CAN_BUS_tlc_exec.rs | 4616 +++++++++++++++++ .../execution/Rust_embedded/Counter100000.rs | 59 + .../Cruise_finite1_deterministic.rs | 554 ++ .../Cruise_finite1_deterministic_exec.rs | 1422 +++++ .../Rust_embedded/DataValidationTest.rs | 118 + .../Rust_embedded/InsertionSortWhile.rs | 97 + benchmarks/execution/Rust_embedded/Lift.rs | 62 + .../execution/Rust_embedded/LiftExec.rs | 73 + benchmarks/execution/Rust_embedded/Makefile | 37 + .../execution/Rust_embedded/TrafficLight.rs | 148 + .../Rust_embedded/TrafficLightExec.rs | 67 + .../Train_1_beebook_deterministic.rs | 895 ++++ .../Train_1_beebook_deterministic_exec.rs | 155 + .../Rust_embedded/scheduler_deterministic.rs | 151 + .../scheduler_deterministic_exec.rs | 93 + 16 files changed, 9043 insertions(+) create mode 100644 benchmarks/execution/Rust_embedded/CAN_BUS_tlc.rs create mode 100644 benchmarks/execution/Rust_embedded/CAN_BUS_tlc_exec.rs create mode 100644 benchmarks/execution/Rust_embedded/Counter100000.rs create mode 100644 benchmarks/execution/Rust_embedded/Cruise_finite1_deterministic.rs create mode 100644 benchmarks/execution/Rust_embedded/Cruise_finite1_deterministic_exec.rs create mode 100644 benchmarks/execution/Rust_embedded/DataValidationTest.rs create mode 100644 benchmarks/execution/Rust_embedded/InsertionSortWhile.rs create mode 100644 benchmarks/execution/Rust_embedded/Lift.rs create mode 100644 benchmarks/execution/Rust_embedded/LiftExec.rs create mode 100644 benchmarks/execution/Rust_embedded/Makefile create mode 100644 benchmarks/execution/Rust_embedded/TrafficLight.rs create mode 100644 benchmarks/execution/Rust_embedded/TrafficLightExec.rs create mode 100644 benchmarks/execution/Rust_embedded/Train_1_beebook_deterministic.rs create mode 100644 benchmarks/execution/Rust_embedded/Train_1_beebook_deterministic_exec.rs create mode 100644 benchmarks/execution/Rust_embedded/scheduler_deterministic.rs create mode 100644 benchmarks/execution/Rust_embedded/scheduler_deterministic_exec.rs diff --git a/benchmarks/execution/Rust_embedded/CAN_BUS_tlc.rs b/benchmarks/execution/Rust_embedded/CAN_BUS_tlc.rs new file mode 100644 index 000000000..070cae4fc --- /dev/null +++ b/benchmarks/execution/Rust_embedded/CAN_BUS_tlc.rs @@ -0,0 +1,496 @@ +#![ allow( dead_code, unused, non_snake_case, non_camel_case_types, unused_assignments ) ] +//#![no_std] //std is enabled for the generated machine by default, since without it there is no println which makes unit-testing very difficult +use btypes::{bset, brel}; +use btypes::bset::BSet; +use btypes::bset::SetItem; +use btypes::bset::PowSetItem; +use btypes::bset::PowAble; +use btypes::bset::NestedSet; +use btypes::brelation::BRelation; +use btypes::brelation::RelLeftItem; +use btypes::brelation::RelPowAble; +use btypes::bboolean::BBoolean; +use btypes::bboolean::BBool; +use btypes::bboolean::BOOL; +use btypes::binteger::BInteger; +use btypes::binteger::BInt; +use btypes::binteger::set_BInteger; +use btypes::btuple::BTuple; + + + + +//set_enum_declaration +#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord)] +pub enum T1state { + #[default] + T1_EN = 0, + T1_CALC = 1, + T1_SEND = 2, + T1_WAIT = 3 +} + +impl T1state { + pub fn equal(&self, other: &T1state) -> bool { *self == *other } + pub fn unequal(&self, other: &T1state) -> bool { *self != *other } + pub const fn to_idx(self) -> usize { self as usize } + pub fn from_idx(idx: usize) -> Self { + match idx { + 0 => Self::T1_EN, + 1 => Self::T1_CALC, + 2 => Self::T1_SEND, + 3 => Self::T1_WAIT, + _ => panic!("T1state index out of range! {:?}", idx) + } + } +} + +impl SetItem<4> for T1state { + fn as_idx(&self) -> usize { self.to_idx() } + fn from_idx(idx: usize) -> Self { Self::from_idx(idx) } +} + +type set_T1state = BSet<T1state, 4>; +//set_enum_declaration done + +//set_enum_declaration +#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord)] +pub enum T2mode { + #[default] + T2MODE_SENSE = 0, + T2MODE_TRANSMIT = 1, + T2MODE_RELEASE = 2 +} + +impl T2mode { + pub fn equal(&self, other: &T2mode) -> bool { *self == *other } + pub fn unequal(&self, other: &T2mode) -> bool { *self != *other } + pub const fn to_idx(self) -> usize { self as usize } + pub fn from_idx(idx: usize) -> Self { + match idx { + 0 => Self::T2MODE_SENSE, + 1 => Self::T2MODE_TRANSMIT, + 2 => Self::T2MODE_RELEASE, + _ => panic!("T2mode index out of range! {:?}", idx) + } + } +} + +impl SetItem<3> for T2mode { + fn as_idx(&self) -> usize { self.to_idx() } + fn from_idx(idx: usize) -> Self { Self::from_idx(idx) } +} + +type set_T2mode = BSet<T2mode, 3>; +//set_enum_declaration done + +//set_enum_declaration +#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord)] +pub enum T2state { + #[default] + T2_EN = 0, + T2_RCV = 1, + T2_PROC = 2, + T2_CALC = 3, + T2_SEND = 4, + T2_WAIT = 5, + T2_RELEASE = 6 +} + +impl T2state { + pub fn equal(&self, other: &T2state) -> bool { *self == *other } + pub fn unequal(&self, other: &T2state) -> bool { *self != *other } + pub const fn to_idx(self) -> usize { self as usize } + pub fn from_idx(idx: usize) -> Self { + match idx { + 0 => Self::T2_EN, + 1 => Self::T2_RCV, + 2 => Self::T2_PROC, + 3 => Self::T2_CALC, + 4 => Self::T2_SEND, + 5 => Self::T2_WAIT, + 6 => Self::T2_RELEASE, + _ => panic!("T2state index out of range! {:?}", idx) + } + } +} + +impl SetItem<7> for T2state { + fn as_idx(&self) -> usize { self.to_idx() } + fn from_idx(idx: usize) -> Self { Self::from_idx(idx) } +} + +type set_T2state = BSet<T2state, 7>; +//set_enum_declaration done + +//set_enum_declaration +#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord)] +pub enum T3state { + #[default] + T3_READY = 0, + T3_WRITE = 1, + T3_RELEASE = 2, + T3_READ = 3, + T3_PROC = 4, + T3_WAIT = 5 +} + +impl T3state { + pub fn equal(&self, other: &T3state) -> bool { *self == *other } + pub fn unequal(&self, other: &T3state) -> bool { *self != *other } + pub const fn to_idx(self) -> usize { self as usize } + pub fn from_idx(idx: usize) -> Self { + match idx { + 0 => Self::T3_READY, + 1 => Self::T3_WRITE, + 2 => Self::T3_RELEASE, + 3 => Self::T3_READ, + 4 => Self::T3_PROC, + 5 => Self::T3_WAIT, + _ => panic!("T3state index out of range! {:?}", idx) + } + } +} + +impl SetItem<6> for T3state { + fn as_idx(&self) -> usize { self.to_idx() } + fn from_idx(idx: usize) -> Self { Self::from_idx(idx) } +} + +type set_T3state = BSet<T3state, 6>; +//set_enum_declaration done + +//relation_declaration +type rel_BInteger_X_BInteger = BRelation<BInteger, { BInteger::VARIANTS }, BInteger, { BInteger::VARIANTS }, 0>; +//relation_declaration done + + + + + + + + + +#[derive(Default, Debug)]pub struct CAN_BUS_tlc { + /*declarations*/BUSpriority: BInteger, + BUSvalue: BInteger, + BUSwrite: rel_BInteger_X_BInteger, + T1_state: T1state, + T1_timer: BInteger, + T1_writevalue: BInteger, + T2_mode: T2mode, + T2_readpriority: BInteger, + T2_readvalue: BInteger, + T2_state: T2state, + T2_timer: BInteger, + T2_writevalue: BInteger, + T2v: BInteger, + T3_enabled: BBoolean, + T3_evaluated: BBoolean, + T3_readpriority: BInteger, + T3_readvalue: BInteger, + T3_state: T3state, + /*constant_declarations*/NATSET: set_BInteger, + /*sets*//*set_declaration*/_T1state: set_T1state, + /*set_declaration*/_T2mode: set_T2mode, + /*set_declaration*/_T2state: set_T2state, + /*set_declaration*/_T3state: set_T3state, +} + + +impl CAN_BUS_tlc { + + pub fn new() -> CAN_BUS_tlc { + //values: '' + let mut m: CAN_BUS_tlc = Default::default(); + m.init(); + return m; + } + fn init(&mut self) { + /*set_initializations*///set_initialization + self._T1state = bset![T1state, /*enum_call*/T1state::T1_EN, /*enum_call*/T1state::T1_CALC, /*enum_call*/T1state::T1_SEND, /*enum_call*/T1state::T1_WAIT]; + //set_initialization + self._T2mode = bset![T2mode, /*enum_call*/T2mode::T2MODE_SENSE, /*enum_call*/T2mode::T2MODE_TRANSMIT, /*enum_call*/T2mode::T2MODE_RELEASE]; + //set_initialization + self._T2state = bset![T2state, /*enum_call*/T2state::T2_EN, /*enum_call*/T2state::T2_RCV, /*enum_call*/T2state::T2_PROC, /*enum_call*/T2state::T2_CALC, /*enum_call*/T2state::T2_SEND, /*enum_call*/T2state::T2_WAIT, /*enum_call*/T2state::T2_RELEASE]; + //set_initialization + self._T3state = bset![T3state, /*enum_call*/T3state::T3_READY, /*enum_call*/T3state::T3_WRITE, /*enum_call*/T3state::T3_RELEASE, /*enum_call*/T3state::T3_READ, /*enum_call*/T3state::T3_PROC, /*enum_call*/T3state::T3_WAIT]; + /*properties*///constant_initialization + self.NATSET = set_BInteger::interval(&0, &5); + /*body*/self.T2v = 0; + self.T3_evaluated = true; + self.T3_enabled = true; + self.T1_state = /*enum_call*/T1state::T1_EN; + self.T2_state = /*enum_call*/T2state::T2_EN; + self.T3_state = /*enum_call*/T3state::T3_READY; + self.T1_writevalue = 0; + self.T2_writevalue = 0; + self.T2_readvalue = 0; + self.T2_readpriority = 0; + self.T3_readvalue = 0; + self.T3_readpriority = 0; + self.T1_timer = 2; + self.T2_timer = 3; + self.BUSwrite = brel![rel_BInteger_X_BInteger, (0.clone(), 0.clone())].clone().clone(); + self.BUSvalue = 0; + self.BUSpriority = 0; + self.T2_mode = /*enum_call*/T2mode::T2MODE_SENSE; + /*includesInitialization*/ + } + + pub fn get_NATSET(&self) -> set_BInteger { + return self.NATSET.clone(); + } + + pub fn get_BUSpriority(&self) -> BInteger { + return self.BUSpriority.clone(); + } + + pub fn get_BUSvalue(&self) -> BInteger { + return self.BUSvalue.clone(); + } + + pub fn get_BUSwrite(&self) -> rel_BInteger_X_BInteger { + return self.BUSwrite.clone(); + } + + pub fn get_T1_state(&self) -> T1state { + return self.T1_state.clone(); + } + + pub fn get_T1_timer(&self) -> BInteger { + return self.T1_timer.clone(); + } + + pub fn get_T1_writevalue(&self) -> BInteger { + return self.T1_writevalue.clone(); + } + + pub fn get_T2_mode(&self) -> T2mode { + return self.T2_mode.clone(); + } + + pub fn get_T2_readpriority(&self) -> BInteger { + return self.T2_readpriority.clone(); + } + + pub fn get_T2_readvalue(&self) -> BInteger { + return self.T2_readvalue.clone(); + } + + pub fn get_T2_state(&self) -> T2state { + return self.T2_state.clone(); + } + + pub fn get_T2_timer(&self) -> BInteger { + return self.T2_timer.clone(); + } + + pub fn get_T2_writevalue(&self) -> BInteger { + return self.T2_writevalue.clone(); + } + + pub fn get_T2v(&self) -> BInteger { + return self.T2v.clone(); + } + + pub fn get_T3_enabled(&self) -> BBoolean { + return self.T3_enabled.clone(); + } + + pub fn get_T3_evaluated(&self) -> BBoolean { + return self.T3_evaluated.clone(); + } + + pub fn get_T3_readpriority(&self) -> BInteger { + return self.T3_readpriority.clone(); + } + + pub fn get_T3_readvalue(&self) -> BInteger { + return self.T3_readvalue.clone(); + } + + pub fn get_T3_state(&self) -> T3state { + return self.T3_state.clone(); + } + + pub fn get__T1state(&self) -> set_T1state { + return self._T1state.clone(); + } + + pub fn get__T2mode(&self) -> set_T2mode { + return self._T2mode.clone(); + } + + pub fn get__T2state(&self) -> set_T2state { + return self._T2state.clone(); + } + + pub fn get__T3state(&self) -> set_T3state { + return self._T3state.clone(); + } + + pub fn T1Evaluate(&mut self) -> () { + //pre_assert + self.T1_timer = 0; + self.T1_state = /*enum_call*/T1state::T1_CALC; + + } + + pub fn T1Calculate(&mut self, mut p: BInteger) -> () { + //pre_assert + self.T1_writevalue = p; + self.T1_state = /*enum_call*/T1state::T1_SEND; + + } + + pub fn T1SendResult(&mut self, mut ppriority: BInteger, mut pv: BInteger) -> () { + //pre_assert + let mut _ld_BUSwrite = self.BUSwrite.clone(); + self.BUSwrite = _ld_BUSwrite._override(&brel![rel_BInteger_X_BInteger, (ppriority.clone(), pv.clone())]).clone().clone(); + self.T1_state = /*enum_call*/T1state::T1_WAIT; + + } + + pub fn T1Wait(&mut self, mut pt: BInteger) -> () { + //pre_assert + self.T1_timer = pt; + self.T1_state = /*enum_call*/T1state::T1_EN; + + } + + pub fn T2Evaluate(&mut self) -> () { + //pre_assert + self.T2_timer = 0; + self.T2_state = /*enum_call*/T2state::T2_RCV; + + } + + pub fn T2ReadBus(&mut self, mut ppriority: BInteger, mut pv: BInteger) -> () { + //pre_assert + self.T2_readvalue = pv; + self.T2_readpriority = ppriority; + self.T2_state = /*enum_call*/T2state::T2_PROC; + + } + + pub fn T2Reset(&mut self) -> () { + //pre_assert + let mut _ld_T2v = self.T2v.clone(); + self.T2_writevalue = _ld_T2v; + self.T2v = 0; + self.T2_state = /*enum_call*/T2state::T2_SEND; + self.T2_mode = /*enum_call*/T2mode::T2MODE_TRANSMIT; + + } + + pub fn T2Complete(&mut self) -> () { + //pre_assert + self.T2_state = /*enum_call*/T2state::T2_RELEASE; + self.T2_mode = /*enum_call*/T2mode::T2MODE_SENSE; + + } + + pub fn T2ReleaseBus(&mut self, mut ppriority: BInteger) -> () { + //pre_assert + let mut _ld_BUSwrite = self.BUSwrite.clone(); + self.BUSwrite = _ld_BUSwrite.domainSubstraction(&bset![BInteger, ppriority]).clone().clone(); + self.T2_state = /*enum_call*/T2state::T2_WAIT; + + } + + pub fn T2Calculate(&mut self) -> () { + //pre_assert + self.T2v = self.T2_readvalue; + self.T2_state = /*enum_call*/T2state::T2_WAIT; + + } + + pub fn T2WriteBus(&mut self, mut ppriority: BInteger, mut pv: BInteger) -> () { + //pre_assert + let mut _ld_BUSwrite = self.BUSwrite.clone(); + self.BUSwrite = _ld_BUSwrite._override(&brel![rel_BInteger_X_BInteger, (ppriority.clone(), pv.clone())]).clone().clone(); + self.T2_state = /*enum_call*/T2state::T2_WAIT; + + } + + pub fn T2Wait(&mut self, mut pt: BInteger) -> () { + //pre_assert + self.T2_timer = pt; + self.T2_state = /*enum_call*/T2state::T2_EN; + + } + + pub fn T3Initiate(&mut self) -> () { + //pre_assert + self.T3_state = /*enum_call*/T3state::T3_WRITE; + self.T3_enabled = false; + + } + + pub fn T3Evaluate(&mut self) -> () { + //pre_assert + self.T3_state = /*enum_call*/T3state::T3_READ; + + } + + pub fn T3writebus(&mut self, mut ppriority: BInteger, mut pv: BInteger) -> () { + //pre_assert + let mut _ld_BUSwrite = self.BUSwrite.clone(); + self.BUSwrite = _ld_BUSwrite._override(&brel![rel_BInteger_X_BInteger, (ppriority.clone(), pv.clone())]).clone().clone(); + self.T3_state = /*enum_call*/T3state::T3_WAIT; + + } + + pub fn T3Read(&mut self, mut ppriority: BInteger, mut pv: BInteger) -> () { + //pre_assert + self.T3_readvalue = pv; + self.T3_readpriority = ppriority; + self.T3_state = /*enum_call*/T3state::T3_PROC; + + } + + pub fn T3Poll(&mut self) -> () { + //pre_assert + self.T3_state = /*enum_call*/T3state::T3_WAIT; + + } + + pub fn T3ReleaseBus(&mut self, mut ppriority: BInteger) -> () { + //pre_assert + let mut _ld_BUSwrite = self.BUSwrite.clone(); + self.BUSwrite = _ld_BUSwrite.domainSubstraction(&bset![BInteger, ppriority]).clone().clone(); + self.T3_state = /*enum_call*/T3state::T3_RELEASE; + + } + + pub fn T3Wait(&mut self) -> () { + //pre_assert + self.T3_state = /*enum_call*/T3state::T3_READY; + self.T3_evaluated = true; + + } + + pub fn T3ReEnableWait(&mut self) -> () { + //pre_assert + self.T3_state = /*enum_call*/T3state::T3_READY; + self.T3_evaluated = true; + self.T3_enabled = true; + + } + + pub fn Update(&mut self, mut pmax: BInteger) -> () { + //pre_assert + let mut _ld_T1_timer = self.T1_timer.clone(); + let mut _ld_T2_timer = self.T2_timer.clone(); + self.BUSvalue = self.BUSwrite.functionCall(&pmax); + self.BUSpriority = pmax; + self.T1_timer = _ld_T1_timer.minus(&1); + self.T2_timer = _ld_T2_timer.minus(&1); + self.T3_evaluated = false; + + } +} + + diff --git a/benchmarks/execution/Rust_embedded/CAN_BUS_tlc_exec.rs b/benchmarks/execution/Rust_embedded/CAN_BUS_tlc_exec.rs new file mode 100644 index 000000000..6f24691f5 --- /dev/null +++ b/benchmarks/execution/Rust_embedded/CAN_BUS_tlc_exec.rs @@ -0,0 +1,4616 @@ +#![ allow( dead_code, unused, non_snake_case, non_camel_case_types, unused_assignments ) ] +//#![no_std] //std is enabled for the generated machine by default, since without it there is no println which makes unit-testing very difficult +use btypes::{bset, brel}; +use btypes::bset::BSet; +use btypes::bset::SetItem; +use btypes::bset::PowSetItem; +use btypes::bset::PowAble; +use btypes::bset::NestedSet; +use btypes::brelation::BRelation; +use btypes::brelation::RelLeftItem; +use btypes::brelation::RelPowAble; +use btypes::bboolean::BBoolean; +use btypes::bboolean::BBool; +use btypes::bboolean::BOOL; +use btypes::binteger::BInteger; +use btypes::binteger::BInt; +use btypes::binteger::set_BInteger; +use btypes::btuple::BTuple; + + +mod CAN_BUS_tlc; + + + + +#[derive(Default, Debug)]pub struct CAN_BUS_tlc_exec { + /*declarations*/counter: BInteger, + /*includes*/_CAN_BUS_tlc: CAN_BUS_tlc::CAN_BUS_tlc, +} + + +impl CAN_BUS_tlc_exec { + + pub fn new() -> CAN_BUS_tlc_exec { + //values: '' + let mut m: CAN_BUS_tlc_exec = Default::default(); + m.init(); + return m; + } + fn init(&mut self) { + /*set_initializations*/ + /*properties*/ + /*body*/self.counter = 0; + /*includesInitialization*/self._CAN_BUS_tlc = CAN_BUS_tlc::CAN_BUS_tlc::new(); + } + + pub fn get_counter(&self) -> BInteger { + return self.counter.clone(); + } + + pub fn simulate(&mut self) -> () { + self._CAN_BUS_tlc.Update(0); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(3); + self._CAN_BUS_tlc.T1SendResult(3,3); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(3); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T1SendResult(3,3); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(3); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T1SendResult(3,3); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T1Calculate(3); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T1SendResult(3,3); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(3); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1SendResult(3,3); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(3); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T1SendResult(3,3); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(3); + self._CAN_BUS_tlc.T1SendResult(3,3); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(3); + self._CAN_BUS_tlc.T1SendResult(3,3); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(3); + self._CAN_BUS_tlc.T1SendResult(3,3); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(3); + self._CAN_BUS_tlc.T1SendResult(3,3); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(3); + self._CAN_BUS_tlc.T1SendResult(3,3); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(3); + self._CAN_BUS_tlc.T1SendResult(3,3); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(3); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T1SendResult(3,3); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(3); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1SendResult(3,3); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(3); + self._CAN_BUS_tlc.T1SendResult(3,3); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T1Calculate(3); + self._CAN_BUS_tlc.T1SendResult(3,3); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(3); + self._CAN_BUS_tlc.T1SendResult(3,3); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T1Calculate(3); + self._CAN_BUS_tlc.T1SendResult(3,3); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T1Calculate(3); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T1SendResult(3,3); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(3); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1SendResult(3,3); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(3); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T1SendResult(3,3); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(3); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1SendResult(3,3); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(3); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T1SendResult(3,3); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T1Calculate(3); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T1SendResult(3,3); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(3); + self._CAN_BUS_tlc.T1SendResult(3,3); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(3); + self._CAN_BUS_tlc.T1SendResult(3,3); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(3); + self._CAN_BUS_tlc.T1SendResult(3,3); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T1Calculate(3); + self._CAN_BUS_tlc.T1SendResult(3,3); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(3); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T1SendResult(3,3); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(3); + self._CAN_BUS_tlc.T1SendResult(3,3); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(3); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T1SendResult(3,3); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(3,1); + self._CAN_BUS_tlc.T2Calculate(); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2WriteBus(5,1); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,1); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(3); + self._CAN_BUS_tlc.T1SendResult(3,3); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,1); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T3Read(5,1); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(3); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T1SendResult(3,3); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(3); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1SendResult(3,3); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(3); + self._CAN_BUS_tlc.T1SendResult(3,3); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(3); + self._CAN_BUS_tlc.T1SendResult(3,3); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(3); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1SendResult(3,3); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Calculate(3); + self._CAN_BUS_tlc.T1SendResult(3,3); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(3); + self._CAN_BUS_tlc.T1SendResult(3,3); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(3); + self._CAN_BUS_tlc.T1SendResult(3,3); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(3); + self._CAN_BUS_tlc.T1SendResult(3,3); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(3); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1SendResult(3,3); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(3); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1SendResult(3,3); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(3); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1SendResult(3,3); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1.negative()); + self._CAN_BUS_tlc.T1SendResult(3,1.negative()); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1Calculate(3); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1SendResult(3,3); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(0); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1SendResult(3,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + while self.counter.less(&300000) { + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Read(4,0); + self._CAN_BUS_tlc.T2ReadBus(4,0); + self._CAN_BUS_tlc.T3Poll(); + self._CAN_BUS_tlc.T2Reset(); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T2WriteBus(5,0); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(2); + self._CAN_BUS_tlc.T1SendResult(3,2); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(5); + self._CAN_BUS_tlc.T2Evaluate(); + self._CAN_BUS_tlc.T3Evaluate(); + self._CAN_BUS_tlc.T2ReadBus(5,0); + self._CAN_BUS_tlc.T2Complete(); + self._CAN_BUS_tlc.T2ReleaseBus(5); + self._CAN_BUS_tlc.T2Wait(3); + self._CAN_BUS_tlc.T3Read(5,0); + self._CAN_BUS_tlc.T3ReleaseBus(4); + self._CAN_BUS_tlc.T3ReEnableWait(); + self._CAN_BUS_tlc.Update(3); + self._CAN_BUS_tlc.T1Evaluate(); + self._CAN_BUS_tlc.T1Calculate(1); + self._CAN_BUS_tlc.T3Initiate(); + self._CAN_BUS_tlc.T1SendResult(3,1); + self._CAN_BUS_tlc.T3writebus(4,0); + self._CAN_BUS_tlc.T1Wait(2); + self._CAN_BUS_tlc.T3Wait(); + self._CAN_BUS_tlc.Update(4); + self.counter = self.counter.plus(&1); + } + } +} + +fn main() { + let mut can_exec = CAN_BUS_tlc_exec::new(); + can_exec.simulate(); +} diff --git a/benchmarks/execution/Rust_embedded/Counter100000.rs b/benchmarks/execution/Rust_embedded/Counter100000.rs new file mode 100644 index 000000000..817f199d5 --- /dev/null +++ b/benchmarks/execution/Rust_embedded/Counter100000.rs @@ -0,0 +1,59 @@ +#![ allow( dead_code, unused, non_snake_case, non_camel_case_types, unused_assignments ) ] +//#![no_std] //std is enabled for the generated machine by default, since without it there is no println which makes unit-testing very difficult +use btypes::{bset, brel}; +use btypes::bset::BSet; +use btypes::bset::SetItem; +use btypes::bset::PowSetItem; +use btypes::bset::PowAble; +use btypes::bset::NestedSet; +use btypes::brelation::BRelation; +use btypes::brelation::RelLeftItem; +use btypes::brelation::RelPowAble; +use btypes::bboolean::BBoolean; +use btypes::bboolean::BBool; +use btypes::bboolean::BOOL; +use btypes::binteger::BInteger; +use btypes::binteger::BInt; +use btypes::binteger::set_BInteger; +use btypes::btuple::BTuple; + + + + + + +#[derive(Default, Debug)]pub struct Counter100000 { + /*declarations*/counter: BInteger, +} + + +impl Counter100000 { + + pub fn new() -> Counter100000 { + //values: '' + let mut m: Counter100000 = Default::default(); + m.init(); + return m; + } + fn init(&mut self) { + /*set_initializations*/ + /*properties*/ + /*body*/self.counter = 0; + /*includesInitialization*/ + } + + pub fn get_counter(&self) -> BInteger { + return self.counter.clone(); + } + + pub fn simulate(&mut self) -> () { + while self.counter.less(&100000) { + self.counter = self.counter.plus(&1); + } + } +} + +fn main() { + let mut counter = Counter10000::new(); + counter.simulate(); +} diff --git a/benchmarks/execution/Rust_embedded/Cruise_finite1_deterministic.rs b/benchmarks/execution/Rust_embedded/Cruise_finite1_deterministic.rs new file mode 100644 index 000000000..fdaf812ac --- /dev/null +++ b/benchmarks/execution/Rust_embedded/Cruise_finite1_deterministic.rs @@ -0,0 +1,554 @@ +#![ allow( dead_code, unused, non_snake_case, non_camel_case_types, unused_assignments ) ] +//#![no_std] //std is enabled for the generated machine by default, since without it there is no println which makes unit-testing very difficult +use btypes::{bset, brel}; +use btypes::bset::BSet; +use btypes::bset::SetItem; +use btypes::bset::PowSetItem; +use btypes::bset::PowAble; +use btypes::bset::NestedSet; +use btypes::brelation::BRelation; +use btypes::brelation::RelLeftItem; +use btypes::brelation::RelPowAble; +use btypes::bboolean::BBoolean; +use btypes::bboolean::BBool; +use btypes::bboolean::BOOL; +use btypes::binteger::BInteger; +use btypes::binteger::BInt; +use btypes::binteger::set_BInteger; +use btypes::btuple::BTuple; + + + + +//set_enum_declaration +#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord)] +pub enum RSset { + #[default] + RSnone = 0, + RSpos = 1, + RSneg = 2, + RSequal = 3 +} + +impl RSset { + pub fn equal(&self, other: &RSset) -> bool { *self == *other } + pub fn unequal(&self, other: &RSset) -> bool { *self != *other } + pub const fn to_idx(self) -> usize { self as usize } + pub fn from_idx(idx: usize) -> Self { + match idx { + 0 => Self::RSnone, + 1 => Self::RSpos, + 2 => Self::RSneg, + 3 => Self::RSequal, + _ => panic!("RSset index out of range! {:?}", idx) + } + } +} + +impl SetItem<4> for RSset { + fn as_idx(&self) -> usize { self.to_idx() } + fn from_idx(idx: usize) -> Self { Self::from_idx(idx) } +} + +type set_RSset = BSet<RSset, 4>; +//set_enum_declaration done + +//set_enum_declaration +#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord)] +pub enum ODset { + #[default] + ODnone = 0, + ODclose = 1, + ODveryclose = 2 +} + +impl ODset { + pub fn equal(&self, other: &ODset) -> bool { *self == *other } + pub fn unequal(&self, other: &ODset) -> bool { *self != *other } + pub const fn to_idx(self) -> usize { self as usize } + pub fn from_idx(idx: usize) -> Self { + match idx { + 0 => Self::ODnone, + 1 => Self::ODclose, + 2 => Self::ODveryclose, + _ => panic!("ODset index out of range! {:?}", idx) + } + } +} + +impl SetItem<3> for ODset { + fn as_idx(&self) -> usize { self.to_idx() } + fn from_idx(idx: usize) -> Self { Self::from_idx(idx) } +} + +type set_ODset = BSet<ODset, 3>; +//set_enum_declaration done + + +#[derive(Default, Debug)]pub struct Cruise_finite1_deterministic { + /*declarations*/CruiseAllowed: BBoolean, + CruiseActive: BBoolean, + VehicleAtCruiseSpeed: BBoolean, + VehicleCanKeepSpeed: BBoolean, + VehicleTryKeepSpeed: BBoolean, + SpeedAboveMax: BBoolean, + VehicleTryKeepTimeGap: BBoolean, + CruiseSpeedAtMax: BBoolean, + ObstaclePresent: BBoolean, + ObstacleDistance: ODset, + ObstacleRelativeSpeed: RSset, + ObstacleStatusJustChanged: BBoolean, + CCInitialisationInProgress: BBoolean, + CruiseSpeedChangeInProgress: BBoolean, + NumberOfSetCruise: BInteger, + /*sets*//*set_declaration*/_RSset: set_RSset, + /*set_declaration*/_ODset: set_ODset, +} + + +impl Cruise_finite1_deterministic { + + pub fn new() -> Cruise_finite1_deterministic { + //values: '' + let mut m: Cruise_finite1_deterministic = Default::default(); + m.init(); + return m; + } + fn init(&mut self) { + /*set_initializations*///set_initialization + self._RSset = bset![RSset, /*enum_call*/RSset::RSnone, /*enum_call*/RSset::RSpos, /*enum_call*/RSset::RSneg, /*enum_call*/RSset::RSequal]; + //set_initialization + self._ODset = bset![ODset, /*enum_call*/ODset::ODnone, /*enum_call*/ODset::ODclose, /*enum_call*/ODset::ODveryclose]; + /*properties*/ + /*body*/self.CruiseAllowed = false; + self.CruiseActive = false; + self.VehicleAtCruiseSpeed = false; + self.VehicleCanKeepSpeed = false; + self.VehicleTryKeepSpeed = false; + self.SpeedAboveMax = false; + self.VehicleTryKeepTimeGap = false; + self.NumberOfSetCruise = 0; + self.CruiseSpeedAtMax = false; + self.ObstacleDistance = /*enum_call*/ODset::ODnone; + self.ObstacleStatusJustChanged = false; + self.CCInitialisationInProgress = false; + self.CruiseSpeedChangeInProgress = false; + self.ObstaclePresent = false; + self.ObstacleRelativeSpeed = /*enum_call*/RSset::RSnone; + /*includesInitialization*/ + } + + pub fn get_CruiseAllowed(&self) -> BBoolean { + return self.CruiseAllowed.clone(); + } + + pub fn get_CruiseActive(&self) -> BBoolean { + return self.CruiseActive.clone(); + } + + pub fn get_VehicleAtCruiseSpeed(&self) -> BBoolean { + return self.VehicleAtCruiseSpeed.clone(); + } + + pub fn get_VehicleCanKeepSpeed(&self) -> BBoolean { + return self.VehicleCanKeepSpeed.clone(); + } + + pub fn get_VehicleTryKeepSpeed(&self) -> BBoolean { + return self.VehicleTryKeepSpeed.clone(); + } + + pub fn get_SpeedAboveMax(&self) -> BBoolean { + return self.SpeedAboveMax.clone(); + } + + pub fn get_VehicleTryKeepTimeGap(&self) -> BBoolean { + return self.VehicleTryKeepTimeGap.clone(); + } + + pub fn get_CruiseSpeedAtMax(&self) -> BBoolean { + return self.CruiseSpeedAtMax.clone(); + } + + pub fn get_ObstaclePresent(&self) -> BBoolean { + return self.ObstaclePresent.clone(); + } + + pub fn get_ObstacleDistance(&self) -> ODset { + return self.ObstacleDistance.clone(); + } + + pub fn get_ObstacleRelativeSpeed(&self) -> RSset { + return self.ObstacleRelativeSpeed.clone(); + } + + pub fn get_ObstacleStatusJustChanged(&self) -> BBoolean { + return self.ObstacleStatusJustChanged.clone(); + } + + pub fn get_CCInitialisationInProgress(&self) -> BBoolean { + return self.CCInitialisationInProgress.clone(); + } + + pub fn get_CruiseSpeedChangeInProgress(&self) -> BBoolean { + return self.CruiseSpeedChangeInProgress.clone(); + } + + pub fn get_NumberOfSetCruise(&self) -> BInteger { + return self.NumberOfSetCruise.clone(); + } + + pub fn get__RSset(&self) -> set_RSset { + return self._RSset.clone(); + } + + pub fn get__ODset(&self) -> set_ODset { + return self._ODset.clone(); + } + + pub fn CruiseBecomesNotAllowed(&mut self) -> () { + //select + if self.CruiseAllowed.equal(&true) { + self.CruiseAllowed = false; + self.CruiseActive = false; + self.VehicleCanKeepSpeed = false; + self.VehicleTryKeepSpeed = false; + self.VehicleAtCruiseSpeed = false; + self.VehicleTryKeepTimeGap = false; + self.CruiseSpeedAtMax = false; + self.ObstacleDistance = /*enum_call*/ODset::ODnone; + self.NumberOfSetCruise = 0; + self.ObstacleStatusJustChanged = false; + self.CCInitialisationInProgress = false; + self.CruiseSpeedChangeInProgress = false; + } else { + panic!("ERROR: called SELECT-function with incompatible parameters!"); + } + } + + pub fn CruiseBecomesAllowed(&mut self) -> () { + //select + if self.CruiseAllowed.equal(&false) { + self.CruiseAllowed = true; + } else { + panic!("ERROR: called SELECT-function with incompatible parameters!"); + } + } + + pub fn SetCruiseSpeed(&mut self, mut vcks: BBoolean, mut csam: BBoolean) -> () { + //pre_assert + //select + if self.CruiseAllowed.equal(&true) { + let mut _ld_NumberOfSetCruise = self.NumberOfSetCruise.clone(); + let mut _ld_CruiseActive = self.CruiseActive.clone(); + self.CruiseActive = true; + self.VehicleCanKeepSpeed = vcks; + //if + if self.SpeedAboveMax.equal(&false) { + self.VehicleAtCruiseSpeed = true; + self.CruiseSpeedAtMax = csam; + } //else + else { + self.CruiseSpeedAtMax = true; + } + self.ObstacleStatusJustChanged = true; + //if + if _ld_CruiseActive.equal(&true) { + self.CruiseSpeedChangeInProgress = true; + } //else + else { + self.CCInitialisationInProgress = true; + } + //if + if _ld_NumberOfSetCruise.less(&1) { + self.NumberOfSetCruise = _ld_NumberOfSetCruise.plus(&1); + } + } else { + panic!("ERROR: called SELECT-function with incompatible parameters!"); + } + + } + + pub fn CCInitialisationFinished(&mut self, mut vtks: BBoolean, mut vtktg: BBoolean) -> () { + //pre_assert + //select + if self.CCInitialisationInProgress.equal(&true) { + self.VehicleTryKeepTimeGap = vtktg; + self.VehicleTryKeepSpeed = vtks; + } else { + panic!("ERROR: called SELECT-function with incompatible parameters!"); + } + + } + + pub fn CCInitialisationDelayFinished(&mut self) -> () { + //select + if (((((self.CCInitialisationInProgress.equal(&true) && (((self.VehicleTryKeepSpeed.equal(&true) || self.VehicleTryKeepTimeGap.equal(&true)) || self.ObstacleStatusJustChanged.equal(&true)) || self.CruiseSpeedChangeInProgress.equal(&true))) && self.ObstacleDistance.equal(&/*enum_call*/ODset::ODnone).implies(|| self.VehicleTryKeepSpeed.equal(&true))) && (((self.ObstacleDistance.equal(&/*enum_call*/ODset::ODclose) && self.ObstacleRelativeSpeed.unequal(&/*enum_call*/RSset::RSpos)) && self.ObstacleStatusJustChanged.equal(&false)) && self.CruiseSpeedChangeInProgress.equal(&false)).implies(|| self.VehicleTryKeepTimeGap.equal(&true))) && ((self.ObstacleDistance.equal(&/*enum_call*/ODset::ODveryclose) && self.ObstacleStatusJustChanged.equal(&false)) && self.CruiseSpeedChangeInProgress.equal(&false)).implies(|| self.VehicleTryKeepTimeGap.equal(&true))) && (((self.ObstacleRelativeSpeed.equal(&/*enum_call*/RSset::RSpos) && self.ObstacleDistance.unequal(&/*enum_call*/ODset::ODveryclose)) && self.ObstacleStatusJustChanged.equal(&false)) && self.CruiseSpeedChangeInProgress.equal(&false)).implies(|| self.VehicleTryKeepSpeed.equal(&true))) { + self.CCInitialisationInProgress = true; + } else { + panic!("ERROR: called SELECT-function with incompatible parameters!"); + } + } + + pub fn CruiseSpeedChangeFinished(&mut self, mut vtks: BBoolean, mut vtktg: BBoolean) -> () { + //select + if ((((((((((BOOL.elementOf(&vtks) && BOOL.elementOf(&vtktg)) && (((vtks.equal(&true) || vtktg.equal(&true)) || self.ObstacleStatusJustChanged.equal(&true)) || self.CCInitialisationInProgress.equal(&true))) && self.ObstaclePresent.equal(&false).implies(|| vtktg.equal(&false))) && self.ObstacleDistance.equal(&/*enum_call*/ODset::ODnone).implies(|| vtks.equal(&true))) && (((self.ObstacleDistance.equal(&/*enum_call*/ODset::ODclose) && self.ObstacleRelativeSpeed.unequal(&/*enum_call*/RSset::RSpos)) && self.ObstacleStatusJustChanged.equal(&false)) && self.CCInitialisationInProgress.equal(&false)).implies(|| vtktg.equal(&true))) && ((self.ObstacleDistance.equal(&/*enum_call*/ODset::ODveryclose) && self.ObstacleStatusJustChanged.equal(&false)) && self.CCInitialisationInProgress.equal(&false)).implies(|| vtktg.equal(&true))) && (((self.ObstacleRelativeSpeed.equal(&/*enum_call*/RSset::RSpos) && self.ObstacleDistance.unequal(&/*enum_call*/ODset::ODveryclose)) && self.ObstacleStatusJustChanged.equal(&false)) && self.CCInitialisationInProgress.equal(&false)).implies(|| vtks.equal(&true))) && (self.ObstacleRelativeSpeed.equal(&/*enum_call*/RSset::RSequal) && self.ObstacleDistance.equal(&/*enum_call*/ODset::ODnone)).implies(|| vtktg.equal(&false))) && (self.ObstacleRelativeSpeed.equal(&/*enum_call*/RSset::RSneg) && self.ObstacleDistance.equal(&/*enum_call*/ODset::ODnone)).implies(|| vtktg.equal(&false))) && (self.ObstacleRelativeSpeed.equal(&/*enum_call*/RSset::RSpos) && self.ObstacleDistance.unequal(&/*enum_call*/ODset::ODveryclose)).implies(|| vtktg.equal(&false))) { + //select + if self.CruiseSpeedChangeInProgress.equal(&true) { + self.VehicleTryKeepTimeGap = vtktg; + self.VehicleTryKeepSpeed = vtks; + } else { + panic!("ERROR: called SELECT-function with incompatible parameters!"); + } + } else { + panic!("ERROR: called SELECT-function with incompatible parameters!"); + } + } + + pub fn CruiseSpeedChangeDelayFinished(&mut self) -> () { + //select + if (((((self.CruiseSpeedChangeInProgress.equal(&true) && (((self.VehicleTryKeepSpeed.equal(&true) || self.VehicleTryKeepTimeGap.equal(&true)) || self.ObstacleStatusJustChanged.equal(&true)) || self.CCInitialisationInProgress.equal(&true))) && self.ObstacleDistance.equal(&/*enum_call*/ODset::ODnone).implies(|| self.VehicleTryKeepSpeed.equal(&true))) && (((self.ObstacleDistance.equal(&/*enum_call*/ODset::ODclose) && self.ObstacleRelativeSpeed.unequal(&/*enum_call*/RSset::RSpos)) && self.ObstacleStatusJustChanged.equal(&false)) && self.CCInitialisationInProgress.equal(&false)).implies(|| self.VehicleTryKeepTimeGap.equal(&true))) && ((self.ObstacleDistance.equal(&/*enum_call*/ODset::ODveryclose) && self.ObstacleStatusJustChanged.equal(&false)) && self.CCInitialisationInProgress.equal(&false)).implies(|| self.VehicleTryKeepTimeGap.equal(&true))) && (((self.ObstacleRelativeSpeed.equal(&/*enum_call*/RSset::RSpos) && self.ObstacleDistance.unequal(&/*enum_call*/ODset::ODveryclose)) && self.ObstacleStatusJustChanged.equal(&false)) && self.CCInitialisationInProgress.equal(&false)).implies(|| self.VehicleTryKeepSpeed.equal(&true))) { + self.CruiseSpeedChangeInProgress = true; + } else { + panic!("ERROR: called SELECT-function with incompatible parameters!"); + } + } + + pub fn CruiseOff(&mut self) -> () { + //select + if self.CruiseActive.equal(&true) { + self.CruiseActive = false; + self.VehicleCanKeepSpeed = false; + self.VehicleTryKeepSpeed = false; + self.VehicleAtCruiseSpeed = false; + self.VehicleTryKeepTimeGap = false; + self.CruiseSpeedAtMax = false; + self.ObstacleDistance = /*enum_call*/ODset::ODnone; + self.NumberOfSetCruise = 0; + self.ObstacleStatusJustChanged = false; + self.CCInitialisationInProgress = false; + self.CruiseSpeedChangeInProgress = false; + } else { + panic!("ERROR: called SELECT-function with incompatible parameters!"); + } + } + + pub fn ExternalForcesBecomesExtreme(&mut self) -> () { + //select + if self.VehicleCanKeepSpeed.equal(&true) { + self.VehicleCanKeepSpeed = false; + } else { + panic!("ERROR: called SELECT-function with incompatible parameters!"); + } + } + + pub fn ExternalForcesBecomesNormal(&mut self) -> () { + //select + if (self.CruiseActive.equal(&true) && self.VehicleCanKeepSpeed.equal(&false)) { + self.VehicleCanKeepSpeed = true; + } else { + panic!("ERROR: called SELECT-function with incompatible parameters!"); + } + } + + pub fn VehicleLeavesCruiseSpeed(&mut self) -> () { + //select + if ((self.VehicleAtCruiseSpeed.equal(&true) && (self.VehicleCanKeepSpeed.equal(&false) && self.VehicleTryKeepSpeed.equal(&true))) || self.VehicleTryKeepSpeed.equal(&false)) { + self.VehicleAtCruiseSpeed = false; + } else { + panic!("ERROR: called SELECT-function with incompatible parameters!"); + } + } + + pub fn VehicleReachesCruiseSpeed(&mut self) -> () { + //select + if ((self.CruiseActive.equal(&true) && self.VehicleAtCruiseSpeed.equal(&false)) && self.SpeedAboveMax.equal(&false)) { + self.VehicleAtCruiseSpeed = true; + } else { + panic!("ERROR: called SELECT-function with incompatible parameters!"); + } + } + + pub fn VehicleExceedsMaxCruiseSpeed(&mut self) -> () { + //select + if (self.SpeedAboveMax.equal(&false) && ((self.CruiseActive.equal(&false) || self.VehicleCanKeepSpeed.equal(&false)) || ((self.ObstacleStatusJustChanged.equal(&false) && self.CCInitialisationInProgress.equal(&false)) && self.CruiseSpeedChangeInProgress.equal(&false)).not())) { + self.SpeedAboveMax = true; + self.VehicleAtCruiseSpeed = false; + } else { + panic!("ERROR: called SELECT-function with incompatible parameters!"); + } + } + + pub fn VehicleFallsBelowMaxCruiseSpeed(&mut self) -> () { + //select + if self.SpeedAboveMax.equal(&true) { + self.SpeedAboveMax = false; + //if + if (self.CruiseActive.equal(&true) && self.CruiseSpeedAtMax.equal(&true)) { + self.VehicleAtCruiseSpeed = true; + } + } else { + panic!("ERROR: called SELECT-function with incompatible parameters!"); + } + } + + pub fn ObstacleDistanceBecomesVeryClose(&mut self) -> () { + //select + if (self.ObstacleDistance.equal(&/*enum_call*/ODset::ODclose) && self.ObstacleRelativeSpeed.equal(&/*enum_call*/RSset::RSneg)) { + self.ObstacleDistance = /*enum_call*/ODset::ODveryclose; + self.ObstacleStatusJustChanged = true; + } else { + panic!("ERROR: called SELECT-function with incompatible parameters!"); + } + } + + pub fn ObstacleDistanceBecomesClose(&mut self) -> () { + //select + if ((self.ObstaclePresent.equal(&true) && self.CruiseActive.equal(&true)) && ((self.ObstacleDistance.equal(&/*enum_call*/ODset::ODveryclose) && self.ObstacleRelativeSpeed.equal(&/*enum_call*/RSset::RSpos)) || (self.ObstacleDistance.equal(&/*enum_call*/ODset::ODnone) && self.ObstacleRelativeSpeed.equal(&/*enum_call*/RSset::RSneg)))) { + self.ObstacleDistance = /*enum_call*/ODset::ODclose; + self.ObstacleStatusJustChanged = true; + //if + if self.ObstacleRelativeSpeed.equal(&/*enum_call*/RSset::RSpos) { + self.VehicleTryKeepTimeGap = false; + } + } else { + panic!("ERROR: called SELECT-function with incompatible parameters!"); + } + } + + pub fn ObstacleDistanceBecomesBig(&mut self) -> () { + //select + if (self.ObstacleDistance.equal(&/*enum_call*/ODset::ODclose) && self.ObstacleRelativeSpeed.equal(&/*enum_call*/RSset::RSpos)) { + self.ObstacleStatusJustChanged = true; + self.ObstacleDistance = /*enum_call*/ODset::ODnone; + self.VehicleTryKeepTimeGap = false; + } else { + panic!("ERROR: called SELECT-function with incompatible parameters!"); + } + } + + pub fn ObstacleStartsTravelFaster(&mut self) -> () { + //select + if (self.ObstaclePresent.equal(&true) && self.ObstacleRelativeSpeed.equal(&/*enum_call*/RSset::RSequal)) { + self.ObstacleRelativeSpeed = /*enum_call*/RSset::RSpos; + //if + if self.CruiseActive.equal(&true) { + self.ObstacleStatusJustChanged = true; + } + //if + if self.ObstacleDistance.unequal(&/*enum_call*/ODset::ODveryclose) { + self.VehicleTryKeepTimeGap = false; + } + } else { + panic!("ERROR: called SELECT-function with incompatible parameters!"); + } + } + + pub fn ObstacleStopsTravelFaster(&mut self) -> () { + //select + if self.ObstacleRelativeSpeed.equal(&/*enum_call*/RSset::RSpos) { + self.ObstacleRelativeSpeed = /*enum_call*/RSset::RSequal; + //if + if self.CruiseActive.equal(&true) { + self.ObstacleStatusJustChanged = true; + } + } else { + panic!("ERROR: called SELECT-function with incompatible parameters!"); + } + } + + pub fn ObstacleStartsTravelSlower(&mut self) -> () { + //select + if self.ObstacleRelativeSpeed.equal(&/*enum_call*/RSset::RSequal) { + self.ObstacleRelativeSpeed = /*enum_call*/RSset::RSneg; + //if + if self.CruiseActive.equal(&true) { + self.ObstacleStatusJustChanged = true; + } + } else { + panic!("ERROR: called SELECT-function with incompatible parameters!"); + } + } + + pub fn ObstacleStopsTravelSlower(&mut self) -> () { + //select + if self.ObstacleRelativeSpeed.equal(&/*enum_call*/RSset::RSneg) { + self.ObstacleRelativeSpeed = /*enum_call*/RSset::RSequal; + //if + if self.CruiseActive.equal(&true) { + self.ObstacleStatusJustChanged = true; + } + } else { + panic!("ERROR: called SELECT-function with incompatible parameters!"); + } + } + + pub fn ObstacleAppearsWhenCruiseActive(&mut self, mut ors: RSset, mut od: ODset) -> () { + //pre_assert + //select + if (self.ObstaclePresent.equal(&false) && self.CruiseActive.equal(&true)) { + self.ObstaclePresent = true; + self.ObstacleStatusJustChanged = true; + self.ObstacleRelativeSpeed = ors; + self.ObstacleDistance = od; + } else { + panic!("ERROR: called SELECT-function with incompatible parameters!"); + } + + } + + pub fn ObstacleAppearsWhenCruiseInactive(&mut self, mut ors: RSset) -> () { + //pre_assert + //select + if (self.ObstaclePresent.equal(&false) && self.CruiseActive.equal(&false)) { + self.ObstaclePresent = true; + self.ObstacleRelativeSpeed = ors; + self.ObstacleDistance = /*enum_call*/ODset::ODnone; + } else { + panic!("ERROR: called SELECT-function with incompatible parameters!"); + } + + } + + pub fn ObstacleDisappears(&mut self) -> () { + //select + if self.ObstaclePresent.equal(&true) { + self.ObstaclePresent = false; + self.ObstacleRelativeSpeed = /*enum_call*/RSset::RSnone; + //if + if self.CruiseActive.equal(&true) { + self.ObstacleStatusJustChanged = true; + } + self.ObstacleDistance = /*enum_call*/ODset::ODnone; + self.VehicleTryKeepTimeGap = false; + } else { + panic!("ERROR: called SELECT-function with incompatible parameters!"); + } + } + + pub fn VehicleManageObstacle(&mut self, mut vtks: BBoolean, mut vtktg: BBoolean) -> () { + //select + if ((((((((((BOOL.elementOf(&vtks) && BOOL.elementOf(&vtktg)) && (((vtks.equal(&true) || vtktg.equal(&true)) || self.CCInitialisationInProgress.equal(&true)) || self.CruiseSpeedChangeInProgress.equal(&true))) && self.ObstaclePresent.equal(&false).implies(|| vtktg.equal(&false))) && self.ObstacleDistance.equal(&/*enum_call*/ODset::ODnone).implies(|| vtks.equal(&true))) && (((self.ObstacleDistance.equal(&/*enum_call*/ODset::ODclose) && self.ObstacleRelativeSpeed.unequal(&/*enum_call*/RSset::RSpos)) && self.CCInitialisationInProgress.equal(&false)) && self.CruiseSpeedChangeInProgress.equal(&false)).implies(|| vtktg.equal(&true))) && ((self.ObstacleDistance.equal(&/*enum_call*/ODset::ODveryclose) && self.CCInitialisationInProgress.equal(&false)) && self.CruiseSpeedChangeInProgress.equal(&false)).implies(|| vtktg.equal(&true))) && (((self.ObstacleRelativeSpeed.equal(&/*enum_call*/RSset::RSpos) && self.ObstacleDistance.unequal(&/*enum_call*/ODset::ODveryclose)) && self.CCInitialisationInProgress.equal(&false)) && self.CruiseSpeedChangeInProgress.equal(&false)).implies(|| vtks.equal(&true))) && (self.ObstacleRelativeSpeed.equal(&/*enum_call*/RSset::RSequal) && self.ObstacleDistance.equal(&/*enum_call*/ODset::ODnone)).implies(|| vtktg.equal(&false))) && (self.ObstacleRelativeSpeed.equal(&/*enum_call*/RSset::RSneg) && self.ObstacleDistance.equal(&/*enum_call*/ODset::ODnone)).implies(|| vtktg.equal(&false))) && (self.ObstacleRelativeSpeed.equal(&/*enum_call*/RSset::RSpos) && self.ObstacleDistance.unequal(&/*enum_call*/ODset::ODveryclose)).implies(|| vtktg.equal(&false))) { + //select + if self.ObstacleStatusJustChanged.equal(&true) { + self.VehicleTryKeepTimeGap = vtktg; + self.VehicleTryKeepSpeed = vtks; + } else { + panic!("ERROR: called SELECT-function with incompatible parameters!"); + } + } else { + panic!("ERROR: called SELECT-function with incompatible parameters!"); + } + } + + pub fn ObstacleBecomesOld(&mut self) -> () { + //select + if (((((self.ObstacleStatusJustChanged.equal(&true) && (((self.VehicleTryKeepSpeed.equal(&true) || self.VehicleTryKeepTimeGap.equal(&true)) || self.CCInitialisationInProgress.equal(&true)) || self.CruiseSpeedChangeInProgress.equal(&true))) && self.ObstacleDistance.equal(&/*enum_call*/ODset::ODnone).implies(|| self.VehicleTryKeepSpeed.equal(&true))) && (((self.ObstacleDistance.equal(&/*enum_call*/ODset::ODclose) && self.ObstacleRelativeSpeed.unequal(&/*enum_call*/RSset::RSpos)) && self.CCInitialisationInProgress.equal(&false)) && self.CruiseSpeedChangeInProgress.equal(&false)).implies(|| self.VehicleTryKeepTimeGap.equal(&true))) && ((self.ObstacleDistance.equal(&/*enum_call*/ODset::ODveryclose) && self.CCInitialisationInProgress.equal(&false)) && self.CruiseSpeedChangeInProgress.equal(&false)).implies(|| self.VehicleTryKeepTimeGap.equal(&true))) && (((self.ObstacleRelativeSpeed.equal(&/*enum_call*/RSset::RSpos) && self.ObstacleDistance.unequal(&/*enum_call*/ODset::ODveryclose)) && self.CCInitialisationInProgress.equal(&false)) && self.CruiseSpeedChangeInProgress.equal(&false)).implies(|| self.VehicleTryKeepSpeed.equal(&true))) { + self.ObstacleStatusJustChanged = false; + } else { + panic!("ERROR: called SELECT-function with incompatible parameters!"); + } + } +} + + diff --git a/benchmarks/execution/Rust_embedded/Cruise_finite1_deterministic_exec.rs b/benchmarks/execution/Rust_embedded/Cruise_finite1_deterministic_exec.rs new file mode 100644 index 000000000..40f6a8a0c --- /dev/null +++ b/benchmarks/execution/Rust_embedded/Cruise_finite1_deterministic_exec.rs @@ -0,0 +1,1422 @@ +#![ allow( dead_code, unused, non_snake_case, non_camel_case_types, unused_assignments ) ] +//#![no_std] //std is enabled for the generated machine by default, since without it there is no println which makes unit-testing very difficult +use btypes::{bset, brel}; +use btypes::bset::BSet; +use btypes::bset::SetItem; +use btypes::bset::PowSetItem; +use btypes::bset::PowAble; +use btypes::bset::NestedSet; +use btypes::brelation::BRelation; +use btypes::brelation::RelLeftItem; +use btypes::brelation::RelPowAble; +use btypes::bboolean::BBoolean; +use btypes::bboolean::BBool; +use btypes::bboolean::BOOL; +use btypes::binteger::BInteger; +use btypes::binteger::BInt; +use btypes::binteger::set_BInteger; +use btypes::btuple::BTuple; + + +mod Cruise_finite1_deterministic; + + + + +#[derive(Default, Debug)]pub struct Cruise_finite1_deterministic_exec { + /*declarations*/counter: BInteger, + /*includes*/_Cruise_finite1_deterministic: Cruise_finite1_deterministic::Cruise_finite1_deterministic, +} + + +impl Cruise_finite1_deterministic_exec { + + pub fn new() -> Cruise_finite1_deterministic_exec { + //values: '' + let mut m: Cruise_finite1_deterministic_exec = Default::default(); + m.init(); + return m; + } + fn init(&mut self) { + /*set_initializations*/ + /*properties*/ + /*body*/self.counter = 0; + /*includesInitialization*/self._Cruise_finite1_deterministic = Cruise_finite1_deterministic::Cruise_finite1_deterministic::new(); + } + + pub fn get_counter(&self) -> BInteger { + return self.counter.clone(); + } + + pub fn simulate(&mut self) -> () { + while self.counter.less(&100000) { + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CruiseSpeedChangeFinished(true,false); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CruiseOff(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.VehicleLeavesCruiseSpeed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationDelayFinished(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.CruiseSpeedChangeDelayFinished(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.ExternalForcesBecomesNormal(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleLeavesCruiseSpeed(); + self._Cruise_finite1_deterministic.ExternalForcesBecomesNormal(); + self._Cruise_finite1_deterministic.ExternalForcesBecomesExtreme(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleExceedsMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleFallsBelowMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleLeavesCruiseSpeed(); + self._Cruise_finite1_deterministic.ExternalForcesBecomesNormal(); + self._Cruise_finite1_deterministic.VehicleReachesCruiseSpeed(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleLeavesCruiseSpeed(); + self._Cruise_finite1_deterministic.ExternalForcesBecomesNormal(); + self._Cruise_finite1_deterministic.VehicleExceedsMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.ObstacleAppearsWhenCruiseActive(/*enum_call*/Cruise_finite1_deterministic::RSset::RSpos,/*enum_call*/Cruise_finite1_deterministic::ODset::ODclose); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.VehicleFallsBelowMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleLeavesCruiseSpeed(); + self._Cruise_finite1_deterministic.ExternalForcesBecomesNormal(); + self._Cruise_finite1_deterministic.ObstacleStopsTravelFaster(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleLeavesCruiseSpeed(); + self._Cruise_finite1_deterministic.VehicleExceedsMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.ObstacleStartsTravelFaster(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleFallsBelowMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.VehicleExceedsMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.ExternalForcesBecomesExtreme(); + self._Cruise_finite1_deterministic.VehicleFallsBelowMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.ExternalForcesBecomesNormal(); + self._Cruise_finite1_deterministic.ObstacleStopsTravelFaster(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleLeavesCruiseSpeed(); + self._Cruise_finite1_deterministic.ExternalForcesBecomesNormal(); + self._Cruise_finite1_deterministic.VehicleExceedsMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.ObstacleStartsTravelSlower(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleFallsBelowMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleLeavesCruiseSpeed(); + self._Cruise_finite1_deterministic.ExternalForcesBecomesNormal(); + self._Cruise_finite1_deterministic.VehicleExceedsMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.ObstacleDistanceBecomesClose(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.VehicleFallsBelowMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleLeavesCruiseSpeed(); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,false); + self._Cruise_finite1_deterministic.ExternalForcesBecomesNormal(); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,true); + self._Cruise_finite1_deterministic.ObstacleDistanceBecomesVeryClose(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleLeavesCruiseSpeed(); + self._Cruise_finite1_deterministic.ExternalForcesBecomesNormal(); + self._Cruise_finite1_deterministic.VehicleExceedsMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.ObstacleDistanceBecomesClose(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleFallsBelowMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleLeavesCruiseSpeed(); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,false); + self._Cruise_finite1_deterministic.ExternalForcesBecomesNormal(); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,true); + self._Cruise_finite1_deterministic.ObstacleStopsTravelSlower(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleLeavesCruiseSpeed(); + self._Cruise_finite1_deterministic.ExternalForcesBecomesNormal(); + self._Cruise_finite1_deterministic.VehicleExceedsMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.ObstacleStartsTravelFaster(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleFallsBelowMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleLeavesCruiseSpeed(); + self._Cruise_finite1_deterministic.ExternalForcesBecomesNormal(); + self._Cruise_finite1_deterministic.VehicleExceedsMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.ObstacleDisappears(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.VehicleFallsBelowMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.VehicleExceedsMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.ExternalForcesBecomesExtreme(); + self._Cruise_finite1_deterministic.VehicleFallsBelowMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.ExternalForcesBecomesNormal(); + self._Cruise_finite1_deterministic.ObstacleAppearsWhenCruiseActive(/*enum_call*/Cruise_finite1_deterministic::RSset::RSpos,/*enum_call*/Cruise_finite1_deterministic::ODset::ODclose); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleLeavesCruiseSpeed(); + self._Cruise_finite1_deterministic.ExternalForcesBecomesNormal(); + self._Cruise_finite1_deterministic.VehicleExceedsMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.ObstacleStopsTravelFaster(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleFallsBelowMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleLeavesCruiseSpeed(); + self._Cruise_finite1_deterministic.ExternalForcesBecomesNormal(); + self._Cruise_finite1_deterministic.VehicleExceedsMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.ObstacleStartsTravelSlower(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.VehicleFallsBelowMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.VehicleExceedsMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.ExternalForcesBecomesExtreme(); + self._Cruise_finite1_deterministic.VehicleFallsBelowMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.ExternalForcesBecomesNormal(); + self._Cruise_finite1_deterministic.ObstacleDistanceBecomesClose(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleLeavesCruiseSpeed(); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,true); + self._Cruise_finite1_deterministic.ExternalForcesBecomesNormal(); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,false); + self._Cruise_finite1_deterministic.VehicleExceedsMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.ObstacleDistanceBecomesVeryClose(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.VehicleFallsBelowMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleLeavesCruiseSpeed(); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,false); + self._Cruise_finite1_deterministic.ExternalForcesBecomesNormal(); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,true); + self._Cruise_finite1_deterministic.ObstacleStopsTravelSlower(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleLeavesCruiseSpeed(); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,true); + self._Cruise_finite1_deterministic.VehicleExceedsMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.ObstacleStartsTravelFaster(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleFallsBelowMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleLeavesCruiseSpeed(); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,true); + self._Cruise_finite1_deterministic.ExternalForcesBecomesNormal(); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,false); + self._Cruise_finite1_deterministic.ObstacleDistanceBecomesClose(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleLeavesCruiseSpeed(); + self._Cruise_finite1_deterministic.ExternalForcesBecomesNormal(); + self._Cruise_finite1_deterministic.VehicleExceedsMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.ObstacleStopsTravelFaster(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleFallsBelowMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleLeavesCruiseSpeed(); + self._Cruise_finite1_deterministic.ExternalForcesBecomesNormal(); + self._Cruise_finite1_deterministic.VehicleExceedsMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.ObstacleStartsTravelSlower(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.VehicleFallsBelowMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.VehicleExceedsMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.ExternalForcesBecomesExtreme(); + self._Cruise_finite1_deterministic.VehicleFallsBelowMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.ExternalForcesBecomesNormal(); + self._Cruise_finite1_deterministic.ObstacleDistanceBecomesClose(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleLeavesCruiseSpeed(); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,true); + self._Cruise_finite1_deterministic.ExternalForcesBecomesNormal(); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,false); + self._Cruise_finite1_deterministic.VehicleExceedsMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.ObstacleDistanceBecomesVeryClose(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.VehicleFallsBelowMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleLeavesCruiseSpeed(); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,false); + self._Cruise_finite1_deterministic.ExternalForcesBecomesNormal(); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,true); + self._Cruise_finite1_deterministic.ObstacleStopsTravelSlower(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleLeavesCruiseSpeed(); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,true); + self._Cruise_finite1_deterministic.VehicleExceedsMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.ObstacleStartsTravelFaster(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleFallsBelowMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleLeavesCruiseSpeed(); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,true); + self._Cruise_finite1_deterministic.ExternalForcesBecomesNormal(); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,false); + self._Cruise_finite1_deterministic.ObstacleStopsTravelFaster(); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.ObstacleDisappears(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleLeavesCruiseSpeed(); + self._Cruise_finite1_deterministic.VehicleExceedsMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.ObstacleAppearsWhenCruiseActive(/*enum_call*/Cruise_finite1_deterministic::RSset::RSpos,/*enum_call*/Cruise_finite1_deterministic::ODset::ODclose); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleFallsBelowMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleLeavesCruiseSpeed(); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.ExternalForcesBecomesNormal(); + self._Cruise_finite1_deterministic.ObstacleDistanceBecomesBig(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleLeavesCruiseSpeed(); + self._Cruise_finite1_deterministic.VehicleExceedsMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.ObstacleStopsTravelFaster(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleFallsBelowMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.VehicleExceedsMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.ExternalForcesBecomesExtreme(); + self._Cruise_finite1_deterministic.VehicleFallsBelowMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.ExternalForcesBecomesNormal(); + self._Cruise_finite1_deterministic.ObstacleStartsTravelFaster(); + self._Cruise_finite1_deterministic.ExternalForcesBecomesExtreme(); + self._Cruise_finite1_deterministic.VehicleExceedsMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.ObstacleDisappears(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.VehicleFallsBelowMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.VehicleExceedsMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.ExternalForcesBecomesExtreme(); + self._Cruise_finite1_deterministic.VehicleFallsBelowMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.ExternalForcesBecomesNormal(); + self._Cruise_finite1_deterministic.ObstacleAppearsWhenCruiseActive(/*enum_call*/Cruise_finite1_deterministic::RSset::RSpos,/*enum_call*/Cruise_finite1_deterministic::ODset::ODclose); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleLeavesCruiseSpeed(); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.ExternalForcesBecomesNormal(); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,false); + self._Cruise_finite1_deterministic.VehicleExceedsMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.ObstacleStopsTravelFaster(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.VehicleFallsBelowMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleLeavesCruiseSpeed(); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,false); + self._Cruise_finite1_deterministic.ExternalForcesBecomesNormal(); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,true); + self._Cruise_finite1_deterministic.ObstacleStartsTravelSlower(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleLeavesCruiseSpeed(); + self._Cruise_finite1_deterministic.ExternalForcesBecomesNormal(); + self._Cruise_finite1_deterministic.VehicleExceedsMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.ObstacleDistanceBecomesClose(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleFallsBelowMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleLeavesCruiseSpeed(); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,false); + self._Cruise_finite1_deterministic.ExternalForcesBecomesNormal(); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.ObstacleDistanceBecomesVeryClose(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleLeavesCruiseSpeed(); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,true); + self._Cruise_finite1_deterministic.ExternalForcesBecomesNormal(); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,false); + self._Cruise_finite1_deterministic.VehicleExceedsMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.ObstacleStopsTravelSlower(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.VehicleFallsBelowMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleLeavesCruiseSpeed(); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,false); + self._Cruise_finite1_deterministic.ExternalForcesBecomesNormal(); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,true); + self._Cruise_finite1_deterministic.ObstacleStartsTravelFaster(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleLeavesCruiseSpeed(); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,true); + self._Cruise_finite1_deterministic.VehicleExceedsMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleManageObstacle(true,true); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.VehicleFallsBelowMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleLeavesCruiseSpeed(); + self._Cruise_finite1_deterministic.ExternalForcesBecomesNormal(); + self._Cruise_finite1_deterministic.ObstacleStopsTravelFaster(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleLeavesCruiseSpeed(); + self._Cruise_finite1_deterministic.VehicleExceedsMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.ObstacleStartsTravelSlower(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleFallsBelowMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.VehicleExceedsMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.ExternalForcesBecomesExtreme(); + self._Cruise_finite1_deterministic.VehicleFallsBelowMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.ExternalForcesBecomesNormal(); + self._Cruise_finite1_deterministic.ObstacleDistanceBecomesClose(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleLeavesCruiseSpeed(); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,true); + self._Cruise_finite1_deterministic.ExternalForcesBecomesNormal(); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,false); + self._Cruise_finite1_deterministic.VehicleExceedsMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.ObstacleDistanceBecomesVeryClose(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.VehicleFallsBelowMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleLeavesCruiseSpeed(); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,false); + self._Cruise_finite1_deterministic.ExternalForcesBecomesNormal(); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,true); + self._Cruise_finite1_deterministic.ObstacleStopsTravelSlower(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleLeavesCruiseSpeed(); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,true); + self._Cruise_finite1_deterministic.VehicleExceedsMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.ObstacleStartsTravelFaster(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.VehicleFallsBelowMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleLeavesCruiseSpeed(); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,true); + self._Cruise_finite1_deterministic.ExternalForcesBecomesNormal(); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,false); + self._Cruise_finite1_deterministic.ObstacleDistanceBecomesClose(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleLeavesCruiseSpeed(); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,false); + self._Cruise_finite1_deterministic.VehicleExceedsMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.ObstacleStopsTravelFaster(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleFallsBelowMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleLeavesCruiseSpeed(); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,false); + self._Cruise_finite1_deterministic.ExternalForcesBecomesNormal(); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(false,true); + self._Cruise_finite1_deterministic.ObstacleDisappears(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleLeavesCruiseSpeed(); + self._Cruise_finite1_deterministic.ExternalForcesBecomesNormal(); + self._Cruise_finite1_deterministic.VehicleExceedsMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.ObstacleBecomesOld(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.VehicleFallsBelowMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.ObstacleAppearsWhenCruiseInactive(/*enum_call*/Cruise_finite1_deterministic::RSset::RSpos); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.VehicleExceedsMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.VehicleFallsBelowMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.VehicleLeavesCruiseSpeed(); + self._Cruise_finite1_deterministic.ExternalForcesBecomesNormal(); + self._Cruise_finite1_deterministic.VehicleExceedsMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.ExternalForcesBecomesExtreme(); + self._Cruise_finite1_deterministic.ObstacleStopsTravelFaster(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.VehicleFallsBelowMaxCruiseSpeed(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self._Cruise_finite1_deterministic.CruiseBecomesAllowed(); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,false); + self._Cruise_finite1_deterministic.CCInitialisationFinished(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(true,false); + self._Cruise_finite1_deterministic.SetCruiseSpeed(false,true); + self._Cruise_finite1_deterministic.VehicleLeavesCruiseSpeed(); + self._Cruise_finite1_deterministic.ExternalForcesBecomesNormal(); + self._Cruise_finite1_deterministic.ObstacleStartsTravelFaster(); + self._Cruise_finite1_deterministic.ExternalForcesBecomesExtreme(); + self._Cruise_finite1_deterministic.ObstacleDisappears(); + self._Cruise_finite1_deterministic.CruiseBecomesNotAllowed(); + self.counter = self.counter.plus(&1); + } + } +} + +fn main() { + let mut cruise = Cruise_finite1_deterministic_exec::new(); + cruise.simulate(); +} diff --git a/benchmarks/execution/Rust_embedded/DataValidationTest.rs b/benchmarks/execution/Rust_embedded/DataValidationTest.rs new file mode 100644 index 000000000..be0e55632 --- /dev/null +++ b/benchmarks/execution/Rust_embedded/DataValidationTest.rs @@ -0,0 +1,118 @@ +#![ allow( dead_code, unused, non_snake_case, non_camel_case_types, unused_assignments ) ] +//#![no_std] //std is enabled for the generated machine by default, since without it there is no println which makes unit-testing very difficult +use btypes::{bset, brel}; +use btypes::bset::BSet; +use btypes::bset::SetItem; +use btypes::bset::PowSetItem; +use btypes::bset::PowAble; +use btypes::bset::NestedSet; +use btypes::brelation::BRelation; +use btypes::brelation::RelLeftItem; +use btypes::brelation::RelPowAble; +use btypes::bboolean::BBoolean; +use btypes::bboolean::BBool; +use btypes::bboolean::BOOL; +use btypes::binteger::BInteger; +use btypes::binteger::BInt; +use btypes::binteger::set_BInteger; +use btypes::btuple::BTuple; + + + + + +//relation_declaration +type rel_BInteger_X_BInteger = BRelation<BInteger, { BInteger::VARIANTS }, BInteger, { BInteger::VARIANTS }, 0>; +//relation_declaration done + + + +#[derive(Default, Debug)]pub struct DataValidationTest { + /*declarations*/counter: BInteger, + error: BBoolean, + checked: BBoolean, + /*constant_declarations*/n: BInteger, + ids: set_BInteger, + value: rel_BInteger_X_BInteger, + ids_for_value: rel_BInteger_X_BInteger, +} + + +impl DataValidationTest { + + pub fn new() -> DataValidationTest { + //values: '' + let mut m: DataValidationTest = Default::default(); + m.init(); + return m; + } + fn init(&mut self) { + /*set_initializations*/ + /*properties*///constant_initialization + self.n = 20001; + //constant_initialization + self.ids = set_BInteger::interval(&1, &self.n); + //constant_initialization + let mut _ic_set_0 = rel_BInteger_X_BInteger::empty(); + //iteration_construct_enumeration + for _ic_x_1 in set_BInteger::interval(&1, &self.n).clone().iter() { + //lambda_expression TODO: FASTER + _ic_set_0 = _ic_set_0.union(&brel![rel_BInteger_X_BInteger, (_ic_x_1.clone(), _ic_x_1.modulo(&100))]); + + } + self.value = _ic_set_0; + //constant_initialization + self.ids_for_value = self.value.inverse(); + /*body*/self.counter = 0; + self.error = false; + self.checked = false; + /*includesInitialization*/ + } + + pub fn get_n(&self) -> BInteger { + return self.n.clone(); + } + + pub fn get_ids(&self) -> set_BInteger { + return self.ids.clone(); + } + + pub fn get_value(&self) -> rel_BInteger_X_BInteger { + return self.value.clone(); + } + + pub fn get_ids_for_value(&self) -> rel_BInteger_X_BInteger { + return self.ids_for_value.clone(); + } + + pub fn get_counter(&self) -> BInteger { + return self.counter.clone(); + } + + pub fn get_error(&self) -> BBoolean { + return self.error.clone(); + } + + pub fn get_checked(&self) -> BBoolean { + return self.checked.clone(); + } + + pub fn Validate(&mut self) -> () { + while self.counter.less(&self.n) { + self.counter = self.counter.plus(&1); + //if + if self.ids.notElementOf(&self.counter) { + self.error = true; + } //elseif + else if set_BInteger::interval(&0, &99).notElementOf(&self.value.functionCall(&self.counter)) { + self.error = true; + } //elseif + else if self.ids_for_value.relationImage(&bset![BInteger, self.value.functionCall(&self.counter)]).card().less(&self.n.divide(&100)) { + self.error = true; + } + } + self.checked = true; + } +} + + diff --git a/benchmarks/execution/Rust_embedded/InsertionSortWhile.rs b/benchmarks/execution/Rust_embedded/InsertionSortWhile.rs new file mode 100644 index 000000000..dd1cec6f4 --- /dev/null +++ b/benchmarks/execution/Rust_embedded/InsertionSortWhile.rs @@ -0,0 +1,97 @@ +#![ allow( dead_code, unused, non_snake_case, non_camel_case_types, unused_assignments ) ] +//#![no_std] //std is enabled for the generated machine by default, since without it there is no println which makes unit-testing very difficult +use btypes::{bset, brel}; +use btypes::bset::BSet; +use btypes::bset::SetItem; +use btypes::bset::PowSetItem; +use btypes::bset::PowAble; +use btypes::bset::NestedSet; +use btypes::brelation::BRelation; +use btypes::brelation::RelLeftItem; +use btypes::brelation::RelPowAble; +use btypes::bboolean::BBoolean; +use btypes::bboolean::BBool; +use btypes::bboolean::BOOL; +use btypes::binteger::BInteger; +use btypes::binteger::BInt; +use btypes::binteger::set_BInteger; +use btypes::btuple::BTuple; + + + + + +//relation_declaration +type rel_BInteger_X_BInteger = BRelation<BInteger, { BInteger::VARIANTS }, BInteger, { BInteger::VARIANTS }, 0>; +//relation_declaration done + + + +#[derive(Default, Debug)]pub struct InsertionSortWhile { + /*declarations*/arr: rel_BInteger_X_BInteger, + sorted: BBoolean, + /*constant_declarations*/n: BInteger, +} + + +impl InsertionSortWhile { + + pub fn new() -> InsertionSortWhile { + //values: '' + let mut m: InsertionSortWhile = Default::default(); + m.init(); + return m; + } + fn init(&mut self) { + /*set_initializations*/ + /*properties*///constant_initialization + self.n = 1000; + /*body*/let mut _ic_set_0 = rel_BInteger_X_BInteger::empty(); + //iteration_construct_enumeration + for _ic_i_1 in set_BInteger::interval(&1, &self.n).clone().iter() { + //lambda_expression TODO: FASTER + _ic_set_0 = _ic_set_0.union(&brel![rel_BInteger_X_BInteger, (_ic_i_1.clone(), self.n.minus(&_ic_i_1))]); + + } + self.arr = _ic_set_0.clone().clone(); + self.sorted = false; + /*includesInitialization*/ + } + + pub fn get_n(&self) -> BInteger { + return self.n.clone(); + } + + pub fn get_arr(&self) -> rel_BInteger_X_BInteger { + return self.arr.clone(); + } + + pub fn get_sorted(&self) -> BBoolean { + return self.sorted.clone(); + } + + pub fn Sort(&mut self) -> () { + //select + if self.sorted.equal(&false) { + let mut i: Option<BInteger> = Option::None; + i = Option::Some(2); + while i.unwrap().lessEqual(&self.n) { + let mut key: Option<BInteger> = Option::None; + let mut j: Option<BInteger> = Option::None; + key = Option::Some(self.arr.functionCall(&i.unwrap())); + j = Option::Some(i.unwrap().minus(&1)); + while (j.unwrap().greaterEqual(&1) && self.arr.functionCall(&j.unwrap()).greater(&key.unwrap())) { + self.arr = self.arr._override_single(j.unwrap().plus(&1), self.arr.functionCall(&j.unwrap())); + j = Option::Some(j.unwrap().minus(&1)); + } + self.arr = self.arr._override_single(j.unwrap().plus(&1), key.unwrap()); + i = Option::Some(i.unwrap().plus(&1)); + } + self.sorted = true; + } else { + panic!("ERROR: called SELECT-function with incompatible parameters!"); + } + } +} + + diff --git a/benchmarks/execution/Rust_embedded/Lift.rs b/benchmarks/execution/Rust_embedded/Lift.rs new file mode 100644 index 000000000..3a2fddcad --- /dev/null +++ b/benchmarks/execution/Rust_embedded/Lift.rs @@ -0,0 +1,62 @@ +#![ allow( dead_code, unused, non_snake_case, non_camel_case_types, unused_assignments ) ] +//#![no_std] //std is enabled for the generated machine by default, since without it there is no println which makes unit-testing very difficult +use btypes::{bset, brel}; +use btypes::bset::BSet; +use btypes::bset::SetItem; +use btypes::bset::PowSetItem; +use btypes::bset::PowAble; +use btypes::bset::NestedSet; +use btypes::brelation::BRelation; +use btypes::brelation::RelLeftItem; +use btypes::brelation::RelPowAble; +use btypes::bboolean::BBoolean; +use btypes::bboolean::BBool; +use btypes::bboolean::BOOL; +use btypes::binteger::BInteger; +use btypes::binteger::BInt; +use btypes::binteger::set_BInteger; +use btypes::btuple::BTuple; + + + + + + +#[derive(Default, Debug)]pub struct Lift { + /*declarations*/floor: BInteger, +} + + +impl Lift { + + pub fn new() -> Lift { + //values: '' + let mut m: Lift = Default::default(); + m.init(); + return m; + } + fn init(&mut self) { + /*set_initializations*/ + /*properties*/ + /*body*/self.floor = 0; + /*includesInitialization*/ + } + + pub fn get_floor(&self) -> BInteger { + return self.floor.clone(); + } + + pub fn inc(&mut self) -> () { + //pre_assert + self.floor = self.floor.plus(&1); + + } + + pub fn dec(&mut self) -> () { + //pre_assert + self.floor = self.floor.minus(&1); + + } +} + + diff --git a/benchmarks/execution/Rust_embedded/LiftExec.rs b/benchmarks/execution/Rust_embedded/LiftExec.rs new file mode 100644 index 000000000..c72824e65 --- /dev/null +++ b/benchmarks/execution/Rust_embedded/LiftExec.rs @@ -0,0 +1,73 @@ +#![ allow( dead_code, unused, non_snake_case, non_camel_case_types, unused_assignments ) ] +//#![no_std] //std is enabled for the generated machine by default, since without it there is no println which makes unit-testing very difficult +use btypes::{bset, brel}; +use btypes::bset::BSet; +use btypes::bset::SetItem; +use btypes::bset::PowSetItem; +use btypes::bset::PowAble; +use btypes::bset::NestedSet; +use btypes::brelation::BRelation; +use btypes::brelation::RelLeftItem; +use btypes::brelation::RelPowAble; +use btypes::bboolean::BBoolean; +use btypes::bboolean::BBool; +use btypes::bboolean::BOOL; +use btypes::binteger::BInteger; +use btypes::binteger::BInt; +use btypes::binteger::set_BInteger; +use btypes::btuple::BTuple; + + +mod Lift; + + + + +#[derive(Default, Debug)]pub struct LiftExec { + /*declarations*/counter: BInteger, + /*includes*/_Lift: Lift::Lift, +} + + +impl LiftExec { + + pub fn new() -> LiftExec { + //values: '' + let mut m: LiftExec = Default::default(); + m.init(); + return m; + } + fn init(&mut self) { + /*set_initializations*/ + /*properties*/ + /*body*/self.counter = 0; + /*includesInitialization*/self._Lift = Lift::Lift::new(); + } + + pub fn get_counter(&self) -> BInteger { + return self.counter.clone(); + } + + pub fn simulate(&mut self) -> () { + while self.counter.less(&10000000) { + let mut i: Option<BInteger> = Option::None; + i = Option::Some(0); + while i.unwrap().less(&100) { + self._Lift.inc(); + i = Option::Some(i.unwrap().plus(&1)); + } + let mut _i: Option<BInteger> = Option::None; + _i = Option::Some(0); + while _i.unwrap().less(&100) { + self._Lift.dec(); + _i = Option::Some(_i.unwrap().plus(&1)); + } + self.counter = self.counter.plus(&1); + } + } +} + +fn main() { + let mut exec = LiftExec::new(); + exec.simulate(); +} diff --git a/benchmarks/execution/Rust_embedded/Makefile b/benchmarks/execution/Rust_embedded/Makefile new file mode 100644 index 000000000..f8970137c --- /dev/null +++ b/benchmarks/execution/Rust_embedded/Makefile @@ -0,0 +1,37 @@ +.SUFFIXES: + +.PHONY: all clean + +all: LiftExec TrafficLightExec scheduler_deterministic_exec CAN_BUS_tlc_exec Train_1_beebook_deterministic_exec Cruise_finite1_deterministic_exec + +OUTPUT ?= runtimes.txt + +#CARGO_PROJ_PATH=../../../btypes_primitives/src/main/rust_embedded/bmachine +CARGO_PROJ_PATH=../../../btypes_primitives/src/main/rust_embedded/bmachine_bitvec +#CARGO_BUILD=cargo build --release --manifest-path $(CARGO_PROJ_PATH)/Cargo.toml +CARGO_BUILD=cargo +nightly build --release --manifest-path $(CARGO_PROJ_PATH)/Cargo.toml + +%.main : %.rs + cp $(*).rs $(CARGO_PROJ_PATH)/src/$(*).rs + +%Exec.cp : %Exec.rs %.main + cp $(*)Exec.rs $(CARGO_PROJ_PATH)/src/main.rs + +%_exec.cp : %_exec.rs %.main + cp $(*)_exec.rs $(CARGO_PROJ_PATH)/src/main.rs + +% : clean %.cp + $(CARGO_BUILD) + /usr/bin/time -f "$(*) %E %M" -ao $(OUTPUT) $(CARGO_PROJ_PATH)/target/release/bmachine + /usr/bin/time -f "$(*) %E %M" -ao $(OUTPUT) $(CARGO_PROJ_PATH)/target/release/bmachine + /usr/bin/time -f "$(*) %E %M" -ao $(OUTPUT) $(CARGO_PROJ_PATH)/target/release/bmachine + /usr/bin/time -f "$(*) %E %M" -ao $(OUTPUT) $(CARGO_PROJ_PATH)/target/release/bmachine + /usr/bin/time -f "$(*) %E %M" -ao $(OUTPUT) $(CARGO_PROJ_PATH)/target/release/bmachine + /usr/bin/time -f "$(*) %E %M" -ao $(OUTPUT) $(CARGO_PROJ_PATH)/target/release/bmachine + /usr/bin/time -f "$(*) %E %M" -ao $(OUTPUT) $(CARGO_PROJ_PATH)/target/release/bmachine + /usr/bin/time -f "$(*) %E %M" -ao $(OUTPUT) $(CARGO_PROJ_PATH)/target/release/bmachine + /usr/bin/time -f "$(*) %E %M" -ao $(OUTPUT) $(CARGO_PROJ_PATH)/target/release/bmachine + /usr/bin/time -f "$(*) %E %M" -ao $(OUTPUT) $(CARGO_PROJ_PATH)/target/release/bmachine + +clean: + rm -f $(CARGO_PROJ_PATH)/src/*.rs \ No newline at end of file diff --git a/benchmarks/execution/Rust_embedded/TrafficLight.rs b/benchmarks/execution/Rust_embedded/TrafficLight.rs new file mode 100644 index 000000000..6ca45c2c6 --- /dev/null +++ b/benchmarks/execution/Rust_embedded/TrafficLight.rs @@ -0,0 +1,148 @@ +#![ allow( dead_code, unused, non_snake_case, non_camel_case_types, unused_assignments ) ] +//#![no_std] //std is enabled for the generated machine by default, since without it there is no println which makes unit-testing very difficult +use btypes::{bset, brel}; +use btypes::bset::BSet; +use btypes::bset::SetItem; +use btypes::bset::PowSetItem; +use btypes::bset::PowAble; +use btypes::bset::NestedSet; +use btypes::brelation::BRelation; +use btypes::brelation::RelLeftItem; +use btypes::brelation::RelPowAble; +use btypes::bboolean::BBoolean; +use btypes::bboolean::BBool; +use btypes::bboolean::BOOL; +use btypes::binteger::BInteger; +use btypes::binteger::BInt; +use btypes::binteger::set_BInteger; +use btypes::btuple::BTuple; + + + + +//set_enum_declaration +#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord)] +pub enum colors { + #[default] + red = 0, + redyellow = 1, + yellow = 2, + green = 3 +} + +impl colors { + pub fn equal(&self, other: &colors) -> bool { *self == *other } + pub fn unequal(&self, other: &colors) -> bool { *self != *other } + pub const fn to_idx(self) -> usize { self as usize } + pub fn from_idx(idx: usize) -> Self { + match idx { + 0 => Self::red, + 1 => Self::redyellow, + 2 => Self::yellow, + 3 => Self::green, + _ => panic!("colors index out of range! {:?}", idx) + } + } +} + +impl SetItem<4> for colors { + fn as_idx(&self) -> usize { self.to_idx() } + fn from_idx(idx: usize) -> Self { Self::from_idx(idx) } +} + +type set_colors = BSet<colors, 4>; +//set_enum_declaration done + + +#[derive(Default, Debug)]pub struct TrafficLight { + /*declarations*/tl_cars: colors, + tl_peds: colors, + /*sets*//*set_declaration*/_colors: set_colors, +} + + +impl TrafficLight { + + pub fn new() -> TrafficLight { + //values: '' + let mut m: TrafficLight = Default::default(); + m.init(); + return m; + } + fn init(&mut self) { + /*set_initializations*///set_initialization + self._colors = bset![colors, /*enum_call*/colors::red, /*enum_call*/colors::redyellow, /*enum_call*/colors::yellow, /*enum_call*/colors::green]; + /*properties*/ + /*body*/self.tl_cars = /*enum_call*/colors::red; + self.tl_peds = /*enum_call*/colors::red; + /*includesInitialization*/ + } + + pub fn get_tl_cars(&self) -> colors { + return self.tl_cars.clone(); + } + + pub fn get_tl_peds(&self) -> colors { + return self.tl_peds.clone(); + } + + pub fn get__colors(&self) -> set_colors { + return self._colors.clone(); + } + + pub fn cars_ry(&mut self) -> () { + //select + if (self.tl_cars.equal(&/*enum_call*/colors::red) && self.tl_peds.equal(&/*enum_call*/colors::red)) { + self.tl_cars = /*enum_call*/colors::redyellow; + } else { + panic!("ERROR: called SELECT-function with incompatible parameters!"); + } + } + + pub fn cars_y(&mut self) -> () { + //select + if (self.tl_cars.equal(&/*enum_call*/colors::green) && self.tl_peds.equal(&/*enum_call*/colors::red)) { + self.tl_cars = /*enum_call*/colors::yellow; + } else { + panic!("ERROR: called SELECT-function with incompatible parameters!"); + } + } + + pub fn cars_g(&mut self) -> () { + //select + if (self.tl_cars.equal(&/*enum_call*/colors::redyellow) && self.tl_peds.equal(&/*enum_call*/colors::red)) { + self.tl_cars = /*enum_call*/colors::green; + } else { + panic!("ERROR: called SELECT-function with incompatible parameters!"); + } + } + + pub fn cars_r(&mut self) -> () { + //select + if (self.tl_cars.equal(&/*enum_call*/colors::yellow) && self.tl_peds.equal(&/*enum_call*/colors::red)) { + self.tl_cars = /*enum_call*/colors::red; + } else { + panic!("ERROR: called SELECT-function with incompatible parameters!"); + } + } + + pub fn peds_r(&mut self) -> () { + //select + if (self.tl_peds.equal(&/*enum_call*/colors::green) && self.tl_cars.equal(&/*enum_call*/colors::red)) { + self.tl_peds = /*enum_call*/colors::red; + } else { + panic!("ERROR: called SELECT-function with incompatible parameters!"); + } + } + + pub fn peds_g(&mut self) -> () { + //select + if (self.tl_peds.equal(&/*enum_call*/colors::red) && self.tl_cars.equal(&/*enum_call*/colors::red)) { + self.tl_peds = /*enum_call*/colors::green; + } else { + panic!("ERROR: called SELECT-function with incompatible parameters!"); + } + } +} + + diff --git a/benchmarks/execution/Rust_embedded/TrafficLightExec.rs b/benchmarks/execution/Rust_embedded/TrafficLightExec.rs new file mode 100644 index 000000000..23a4fde42 --- /dev/null +++ b/benchmarks/execution/Rust_embedded/TrafficLightExec.rs @@ -0,0 +1,67 @@ +#![ allow( dead_code, unused, non_snake_case, non_camel_case_types, unused_assignments ) ] +//#![no_std] //std is enabled for the generated machine by default, since without it there is no println which makes unit-testing very difficult +use btypes::{bset, brel}; +use btypes::bset::BSet; +use btypes::bset::SetItem; +use btypes::bset::PowSetItem; +use btypes::bset::PowAble; +use btypes::bset::NestedSet; +use btypes::brelation::BRelation; +use btypes::brelation::RelLeftItem; +use btypes::brelation::RelPowAble; +use btypes::bboolean::BBoolean; +use btypes::bboolean::BBool; +use btypes::bboolean::BOOL; +use btypes::binteger::BInteger; +use btypes::binteger::BInt; +use btypes::binteger::set_BInteger; +use btypes::btuple::BTuple; + + +mod TrafficLight; + + + + +#[derive(Default, Debug)]pub struct TrafficLightExec { + /*declarations*/counter: BInteger, + /*includes*/_TrafficLight: TrafficLight::TrafficLight, +} + + +impl TrafficLightExec { + + pub fn new() -> TrafficLightExec { + //values: '' + let mut m: TrafficLightExec = Default::default(); + m.init(); + return m; + } + fn init(&mut self) { + /*set_initializations*/ + /*properties*/ + /*body*/self.counter = 0; + /*includesInitialization*/self._TrafficLight = TrafficLight::TrafficLight::new(); + } + + pub fn get_counter(&self) -> BInteger { + return self.counter.clone(); + } + + pub fn simulate(&mut self) -> () { + while self.counter.less(&300000000) { + self._TrafficLight.cars_ry(); + self._TrafficLight.cars_g(); + self._TrafficLight.cars_y(); + self._TrafficLight.cars_r(); + self._TrafficLight.peds_g(); + self._TrafficLight.peds_r(); + self.counter = self.counter.plus(&1); + } + } +} + +fn main() { + let mut exec = TrafficLightExec::new(); + exec.simulate(); +} diff --git a/benchmarks/execution/Rust_embedded/Train_1_beebook_deterministic.rs b/benchmarks/execution/Rust_embedded/Train_1_beebook_deterministic.rs new file mode 100644 index 000000000..a50c126a4 --- /dev/null +++ b/benchmarks/execution/Rust_embedded/Train_1_beebook_deterministic.rs @@ -0,0 +1,895 @@ +#![ allow( dead_code, unused, non_snake_case, non_camel_case_types, unused_assignments ) ] +//#![no_std] //std is enabled for the generated machine by default, since without it there is no println which makes unit-testing very difficult +use btypes::{bset, brel}; +use btypes::bset::BSet; +use btypes::bset::SetItem; +use btypes::bset::PowSetItem; +use btypes::bset::PowAble; +use btypes::bset::NestedSet; +use btypes::brelation::BRelation; +use btypes::brelation::RelLeftItem; +use btypes::brelation::RelPowAble; +use btypes::bboolean::BBoolean; +use btypes::bboolean::BBool; +use btypes::bboolean::BOOL; +use btypes::binteger::BInteger; +use btypes::binteger::BInt; +use btypes::binteger::set_BInteger; +use btypes::btuple::BTuple; + + + + +//set_enum_declaration +#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord)] +pub enum BLOCKS { + #[default] + A = 0, + B = 1, + C = 2, + D = 3, + E = 4, + F = 5, + G = 6, + H = 7, + I = 8, + J = 9, + K = 10, + L = 11, + M = 12, + N = 13 +} + +impl BLOCKS { + pub fn equal(&self, other: &BLOCKS) -> bool { *self == *other } + pub fn unequal(&self, other: &BLOCKS) -> bool { *self != *other } + pub const fn to_idx(self) -> usize { self as usize } + pub fn from_idx(idx: usize) -> Self { + match idx { + 0 => Self::A, + 1 => Self::B, + 2 => Self::C, + 3 => Self::D, + 4 => Self::E, + 5 => Self::F, + 6 => Self::G, + 7 => Self::H, + 8 => Self::I, + 9 => Self::J, + 10 => Self::K, + 11 => Self::L, + 12 => Self::M, + 13 => Self::N, + _ => panic!("BLOCKS index out of range! {:?}", idx) + } + } +} + +impl SetItem<14> for BLOCKS { + fn as_idx(&self) -> usize { self.to_idx() } + fn from_idx(idx: usize) -> Self { Self::from_idx(idx) } +} + +type set_BLOCKS = BSet<BLOCKS, 14>; +//set_enum_declaration done + +//set_enum_declaration +#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord)] +pub enum ROUTES { + #[default] + R1 = 0, + R2 = 1, + R3 = 2, + R4 = 3, + R5 = 4, + R6 = 5, + R7 = 6, + R8 = 7, + R9 = 8, + R10 = 9 +} + +impl ROUTES { + pub fn equal(&self, other: &ROUTES) -> bool { *self == *other } + pub fn unequal(&self, other: &ROUTES) -> bool { *self != *other } + pub const fn to_idx(self) -> usize { self as usize } + pub fn from_idx(idx: usize) -> Self { + match idx { + 0 => Self::R1, + 1 => Self::R2, + 2 => Self::R3, + 3 => Self::R4, + 4 => Self::R5, + 5 => Self::R6, + 6 => Self::R7, + 7 => Self::R8, + 8 => Self::R9, + 9 => Self::R10, + _ => panic!("ROUTES index out of range! {:?}", idx) + } + } +} + +impl SetItem<10> for ROUTES { + fn as_idx(&self) -> usize { self.to_idx() } + fn from_idx(idx: usize) -> Self { Self::from_idx(idx) } +} + +type set_ROUTES = BSet<ROUTES, 10>; +//set_enum_declaration done + +//relation_declaration +#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord)] +pub enum BLOCKS_X_BLOCKS { + #[default] + A_A = 0, + A_B = 1, + A_C = 2, + A_D = 3, + A_E = 4, + A_F = 5, + A_G = 6, + A_H = 7, + A_I = 8, + A_J = 9, + A_K = 10, + A_L = 11, + A_M = 12, + A_N = 13, + B_A = 14, + B_B = 15, + B_C = 16, + B_D = 17, + B_E = 18, + B_F = 19, + B_G = 20, + B_H = 21, + B_I = 22, + B_J = 23, + B_K = 24, + B_L = 25, + B_M = 26, + B_N = 27, + C_A = 28, + C_B = 29, + C_C = 30, + C_D = 31, + C_E = 32, + C_F = 33, + C_G = 34, + C_H = 35, + C_I = 36, + C_J = 37, + C_K = 38, + C_L = 39, + C_M = 40, + C_N = 41, + D_A = 42, + D_B = 43, + D_C = 44, + D_D = 45, + D_E = 46, + D_F = 47, + D_G = 48, + D_H = 49, + D_I = 50, + D_J = 51, + D_K = 52, + D_L = 53, + D_M = 54, + D_N = 55, + E_A = 56, + E_B = 57, + E_C = 58, + E_D = 59, + E_E = 60, + E_F = 61, + E_G = 62, + E_H = 63, + E_I = 64, + E_J = 65, + E_K = 66, + E_L = 67, + E_M = 68, + E_N = 69, + F_A = 70, + F_B = 71, + F_C = 72, + F_D = 73, + F_E = 74, + F_F = 75, + F_G = 76, + F_H = 77, + F_I = 78, + F_J = 79, + F_K = 80, + F_L = 81, + F_M = 82, + F_N = 83, + G_A = 84, + G_B = 85, + G_C = 86, + G_D = 87, + G_E = 88, + G_F = 89, + G_G = 90, + G_H = 91, + G_I = 92, + G_J = 93, + G_K = 94, + G_L = 95, + G_M = 96, + G_N = 97, + H_A = 98, + H_B = 99, + H_C = 100, + H_D = 101, + H_E = 102, + H_F = 103, + H_G = 104, + H_H = 105, + H_I = 106, + H_J = 107, + H_K = 108, + H_L = 109, + H_M = 110, + H_N = 111, + I_A = 112, + I_B = 113, + I_C = 114, + I_D = 115, + I_E = 116, + I_F = 117, + I_G = 118, + I_H = 119, + I_I = 120, + I_J = 121, + I_K = 122, + I_L = 123, + I_M = 124, + I_N = 125, + J_A = 126, + J_B = 127, + J_C = 128, + J_D = 129, + J_E = 130, + J_F = 131, + J_G = 132, + J_H = 133, + J_I = 134, + J_J = 135, + J_K = 136, + J_L = 137, + J_M = 138, + J_N = 139, + K_A = 140, + K_B = 141, + K_C = 142, + K_D = 143, + K_E = 144, + K_F = 145, + K_G = 146, + K_H = 147, + K_I = 148, + K_J = 149, + K_K = 150, + K_L = 151, + K_M = 152, + K_N = 153, + L_A = 154, + L_B = 155, + L_C = 156, + L_D = 157, + L_E = 158, + L_F = 159, + L_G = 160, + L_H = 161, + L_I = 162, + L_J = 163, + L_K = 164, + L_L = 165, + L_M = 166, + L_N = 167, + M_A = 168, + M_B = 169, + M_C = 170, + M_D = 171, + M_E = 172, + M_F = 173, + M_G = 174, + M_H = 175, + M_I = 176, + M_J = 177, + M_K = 178, + M_L = 179, + M_M = 180, + M_N = 181, + N_A = 182, + N_B = 183, + N_C = 184, + N_D = 185, + N_E = 186, + N_F = 187, + N_G = 188, + N_H = 189, + N_I = 190, + N_J = 191, + N_K = 192, + N_L = 193, + N_M = 194, + N_N = 195 +} +type rel_BLOCKS_X_BLOCKS = BRelation<BLOCKS, { BLOCKS::VARIANTS }, BLOCKS, { BLOCKS::VARIANTS }, 196>; +//relation_declaration done + + + +//relation_declaration +type rel_ROUTES_X_SetBLOCKS_X_BLOCKS = BRelation<ROUTES, { ROUTES::VARIANTS }, rel_BLOCKS_X_BLOCKS, { rel_BLOCKS_X_BLOCKS::VARIANTS }, 0>; +//relation_declaration done + + + +//enum_set_declaration start +#[derive(Default, Debug, Clone, Copy)] +// each enum value corresponds to one BSet +pub enum SetBLOCKS_X_BLOCKS { + #[default] + SET_SET_A_B__B_C__L_A_TES_TES = 0, + SET_SET_A_B__B_D__D_E__E_F__F_G__L_A_TES_TES = 1, + SET_SET_A_B__B_D__D_K__J_N__K_J__L_A_TES_TES = 2, + SET_SET_F_G__H_I__I_K__K_F__M_H_TES_TES = 3, + SET_SET_H_I__I_J__J_N__M_H_TES_TES = 4, + SET_SET_A_L__B_A__C_B_TES_TES = 5, + SET_SET_A_L__B_A__D_B__E_D__F_E__G_F_TES_TES = 6, + SET_SET_A_L__B_A__D_B__J_K__K_D__N_J_TES_TES = 7, + SET_SET_F_K__G_F__H_M__I_H__K_I_TES_TES = 8, + SET_SET_H_M__I_H__J_I__N_J_TES_TES = 9 +} +type set_SetBLOCKS_X_BLOCKS = BSet<rel_BLOCKS_X_BLOCKS, 10>; + +impl PowSetItem<10, 196> for BLOCKS_X_BLOCKS { + type SetRepr = SetBLOCKS_X_BLOCKS; + fn arr_to_idx(set: [bool; 196]) -> usize { + match set { + [false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false] => 0, + [false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false] => 1, + [false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, true, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false] => 2, + [false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false] => 3, + [false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false] => 4, + [false, false, false, false, false, false, false, false, false, false, false, true, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false] => 5, + [false, false, false, false, false, false, false, false, false, false, false, true, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false] => 6, + [false, false, false, false, false, false, false, false, false, false, false, true, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false] => 7, + [false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false] => 8, + [false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false] => 9, + _ => panic!("Attempting to convert non-existing set to index!") // only happens if this is a const-set and code-generation missed a necessary value + } + } + fn idx_to_arr(idx: usize) -> [bool; 196] { + match idx { + 0 => [false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false], + 1 => [false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false], + 2 => [false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, true, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false], + 3 => [false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false], + 4 => [false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false], + 5 => [false, false, false, false, false, false, false, false, false, false, false, true, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false], + 6 => [false, false, false, false, false, false, false, false, false, false, false, true, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false], + 7 => [false, false, false, false, false, false, false, false, false, false, false, true, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false], + 8 => [false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false], + 9 => [false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false], + _ => panic!("SetBLOCKS_X_BLOCKS index out of range! {:?}", idx) + } + } +} +impl RelLeftItem<{BLOCKS::VARIANTS}, BLOCKS, { BLOCKS::VARIANTS}, 10, 196> for BLOCKS { + type RelEnum = BLOCKS_X_BLOCKS; +} +impl SetBLOCKS_X_BLOCKS { + pub const fn to_idx(self) -> usize { self as usize } + pub fn from_idx(idx: usize) -> Self { + match idx { + 0 => Self::SET_SET_A_B__B_C__L_A_TES_TES, + 1 => Self::SET_SET_A_B__B_D__D_E__E_F__F_G__L_A_TES_TES, + 2 => Self::SET_SET_A_B__B_D__D_K__J_N__K_J__L_A_TES_TES, + 3 => Self::SET_SET_F_G__H_I__I_K__K_F__M_H_TES_TES, + 4 => Self::SET_SET_H_I__I_J__J_N__M_H_TES_TES, + 5 => Self::SET_SET_A_L__B_A__C_B_TES_TES, + 6 => Self::SET_SET_A_L__B_A__D_B__E_D__F_E__G_F_TES_TES, + 7 => Self::SET_SET_A_L__B_A__D_B__J_K__K_D__N_J_TES_TES, + 8 => Self::SET_SET_F_K__G_F__H_M__I_H__K_I_TES_TES, + 9 => Self::SET_SET_H_M__I_H__J_I__N_J_TES_TES, + _ => panic!("SetBLOCKS_X_BLOCKS index out of range! {:?}", idx) + } + } +} + +impl SetItem<10> for SetBLOCKS_X_BLOCKS { + fn as_idx(&self) -> usize { self.to_idx() } + fn from_idx(idx: usize) -> Self { Self::from_idx(idx) } +} + +//enum_set_declaration done + +//relation_declaration +#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord)] +pub enum ROUTES_X_BLOCKS { + #[default] + R1_A = 0, + R1_B = 1, + R1_C = 2, + R1_D = 3, + R1_E = 4, + R1_F = 5, + R1_G = 6, + R1_H = 7, + R1_I = 8, + R1_J = 9, + R1_K = 10, + R1_L = 11, + R1_M = 12, + R1_N = 13, + R2_A = 14, + R2_B = 15, + R2_C = 16, + R2_D = 17, + R2_E = 18, + R2_F = 19, + R2_G = 20, + R2_H = 21, + R2_I = 22, + R2_J = 23, + R2_K = 24, + R2_L = 25, + R2_M = 26, + R2_N = 27, + R3_A = 28, + R3_B = 29, + R3_C = 30, + R3_D = 31, + R3_E = 32, + R3_F = 33, + R3_G = 34, + R3_H = 35, + R3_I = 36, + R3_J = 37, + R3_K = 38, + R3_L = 39, + R3_M = 40, + R3_N = 41, + R4_A = 42, + R4_B = 43, + R4_C = 44, + R4_D = 45, + R4_E = 46, + R4_F = 47, + R4_G = 48, + R4_H = 49, + R4_I = 50, + R4_J = 51, + R4_K = 52, + R4_L = 53, + R4_M = 54, + R4_N = 55, + R5_A = 56, + R5_B = 57, + R5_C = 58, + R5_D = 59, + R5_E = 60, + R5_F = 61, + R5_G = 62, + R5_H = 63, + R5_I = 64, + R5_J = 65, + R5_K = 66, + R5_L = 67, + R5_M = 68, + R5_N = 69, + R6_A = 70, + R6_B = 71, + R6_C = 72, + R6_D = 73, + R6_E = 74, + R6_F = 75, + R6_G = 76, + R6_H = 77, + R6_I = 78, + R6_J = 79, + R6_K = 80, + R6_L = 81, + R6_M = 82, + R6_N = 83, + R7_A = 84, + R7_B = 85, + R7_C = 86, + R7_D = 87, + R7_E = 88, + R7_F = 89, + R7_G = 90, + R7_H = 91, + R7_I = 92, + R7_J = 93, + R7_K = 94, + R7_L = 95, + R7_M = 96, + R7_N = 97, + R8_A = 98, + R8_B = 99, + R8_C = 100, + R8_D = 101, + R8_E = 102, + R8_F = 103, + R8_G = 104, + R8_H = 105, + R8_I = 106, + R8_J = 107, + R8_K = 108, + R8_L = 109, + R8_M = 110, + R8_N = 111, + R9_A = 112, + R9_B = 113, + R9_C = 114, + R9_D = 115, + R9_E = 116, + R9_F = 117, + R9_G = 118, + R9_H = 119, + R9_I = 120, + R9_J = 121, + R9_K = 122, + R9_L = 123, + R9_M = 124, + R9_N = 125, + R10_A = 126, + R10_B = 127, + R10_C = 128, + R10_D = 129, + R10_E = 130, + R10_F = 131, + R10_G = 132, + R10_H = 133, + R10_I = 134, + R10_J = 135, + R10_K = 136, + R10_L = 137, + R10_M = 138, + R10_N = 139 +} +type rel_ROUTES_X_BLOCKS = BRelation<ROUTES, { ROUTES::VARIANTS }, BLOCKS, { BLOCKS::VARIANTS }, 140>; +//relation_declaration done + +//relation_declaration +#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord)] +pub enum BLOCKS_X_ROUTES { + #[default] + A_R1 = 0, + A_R2 = 1, + A_R3 = 2, + A_R4 = 3, + A_R5 = 4, + A_R6 = 5, + A_R7 = 6, + A_R8 = 7, + A_R9 = 8, + A_R10 = 9, + B_R1 = 10, + B_R2 = 11, + B_R3 = 12, + B_R4 = 13, + B_R5 = 14, + B_R6 = 15, + B_R7 = 16, + B_R8 = 17, + B_R9 = 18, + B_R10 = 19, + C_R1 = 20, + C_R2 = 21, + C_R3 = 22, + C_R4 = 23, + C_R5 = 24, + C_R6 = 25, + C_R7 = 26, + C_R8 = 27, + C_R9 = 28, + C_R10 = 29, + D_R1 = 30, + D_R2 = 31, + D_R3 = 32, + D_R4 = 33, + D_R5 = 34, + D_R6 = 35, + D_R7 = 36, + D_R8 = 37, + D_R9 = 38, + D_R10 = 39, + E_R1 = 40, + E_R2 = 41, + E_R3 = 42, + E_R4 = 43, + E_R5 = 44, + E_R6 = 45, + E_R7 = 46, + E_R8 = 47, + E_R9 = 48, + E_R10 = 49, + F_R1 = 50, + F_R2 = 51, + F_R3 = 52, + F_R4 = 53, + F_R5 = 54, + F_R6 = 55, + F_R7 = 56, + F_R8 = 57, + F_R9 = 58, + F_R10 = 59, + G_R1 = 60, + G_R2 = 61, + G_R3 = 62, + G_R4 = 63, + G_R5 = 64, + G_R6 = 65, + G_R7 = 66, + G_R8 = 67, + G_R9 = 68, + G_R10 = 69, + H_R1 = 70, + H_R2 = 71, + H_R3 = 72, + H_R4 = 73, + H_R5 = 74, + H_R6 = 75, + H_R7 = 76, + H_R8 = 77, + H_R9 = 78, + H_R10 = 79, + I_R1 = 80, + I_R2 = 81, + I_R3 = 82, + I_R4 = 83, + I_R5 = 84, + I_R6 = 85, + I_R7 = 86, + I_R8 = 87, + I_R9 = 88, + I_R10 = 89, + J_R1 = 90, + J_R2 = 91, + J_R3 = 92, + J_R4 = 93, + J_R5 = 94, + J_R6 = 95, + J_R7 = 96, + J_R8 = 97, + J_R9 = 98, + J_R10 = 99, + K_R1 = 100, + K_R2 = 101, + K_R3 = 102, + K_R4 = 103, + K_R5 = 104, + K_R6 = 105, + K_R7 = 106, + K_R8 = 107, + K_R9 = 108, + K_R10 = 109, + L_R1 = 110, + L_R2 = 111, + L_R3 = 112, + L_R4 = 113, + L_R5 = 114, + L_R6 = 115, + L_R7 = 116, + L_R8 = 117, + L_R9 = 118, + L_R10 = 119, + M_R1 = 120, + M_R2 = 121, + M_R3 = 122, + M_R4 = 123, + M_R5 = 124, + M_R6 = 125, + M_R7 = 126, + M_R8 = 127, + M_R9 = 128, + M_R10 = 129, + N_R1 = 130, + N_R2 = 131, + N_R3 = 132, + N_R4 = 133, + N_R5 = 134, + N_R6 = 135, + N_R7 = 136, + N_R8 = 137, + N_R9 = 138, + N_R10 = 139 +} +type rel_BLOCKS_X_ROUTES = BRelation<BLOCKS, { BLOCKS::VARIANTS }, ROUTES, { ROUTES::VARIANTS }, 140>; +//relation_declaration done + +#[derive(Default, Debug)]pub struct Train_1_beebook_deterministic { + /*declarations*/LBT: set_BLOCKS, + TRK: rel_BLOCKS_X_BLOCKS, + frm: set_ROUTES, + OCC: set_BLOCKS, + resbl: set_BLOCKS, + resrt: set_ROUTES, + rsrtbl: rel_BLOCKS_X_ROUTES, + /*constant_declarations*/fst: rel_ROUTES_X_BLOCKS, + lst: rel_ROUTES_X_BLOCKS, + nxt: rel_ROUTES_X_SetBLOCKS_X_BLOCKS, + rtbl: rel_BLOCKS_X_ROUTES, + /*sets*//*set_declaration*/_BLOCKS: set_BLOCKS, + /*set_declaration*/_ROUTES: set_ROUTES, +} + + +impl Train_1_beebook_deterministic { + + pub fn new() -> Train_1_beebook_deterministic { + //values: '' + let mut m: Train_1_beebook_deterministic = Default::default(); + m.init(); + return m; + } + fn init(&mut self) { + /*set_initializations*///set_initialization + self._BLOCKS = bset![BLOCKS, /*enum_call*/BLOCKS::A, /*enum_call*/BLOCKS::B, /*enum_call*/BLOCKS::C, /*enum_call*/BLOCKS::D, /*enum_call*/BLOCKS::E, /*enum_call*/BLOCKS::F, /*enum_call*/BLOCKS::G, /*enum_call*/BLOCKS::H, /*enum_call*/BLOCKS::I, /*enum_call*/BLOCKS::J, /*enum_call*/BLOCKS::K, /*enum_call*/BLOCKS::L, /*enum_call*/BLOCKS::M, /*enum_call*/BLOCKS::N]; + //set_initialization + self._ROUTES = bset![ROUTES, /*enum_call*/ROUTES::R1, /*enum_call*/ROUTES::R2, /*enum_call*/ROUTES::R3, /*enum_call*/ROUTES::R4, /*enum_call*/ROUTES::R5, /*enum_call*/ROUTES::R6, /*enum_call*/ROUTES::R7, /*enum_call*/ROUTES::R8, /*enum_call*/ROUTES::R9, /*enum_call*/ROUTES::R10]; + /*properties*///constant_initialization + self.nxt = brel![rel_ROUTES_X_SetBLOCKS_X_BLOCKS, (/*enum_call*/ROUTES::R1.clone(), brel![rel_BLOCKS_X_BLOCKS, (/*enum_call*/BLOCKS::L.clone(), /*enum_call*/BLOCKS::A.clone()), (/*enum_call*/BLOCKS::A.clone(), /*enum_call*/BLOCKS::B.clone()), (/*enum_call*/BLOCKS::B.clone(), /*enum_call*/BLOCKS::C.clone())].clone()), (/*enum_call*/ROUTES::R2.clone(), brel![rel_BLOCKS_X_BLOCKS, (/*enum_call*/BLOCKS::L.clone(), /*enum_call*/BLOCKS::A.clone()), (/*enum_call*/BLOCKS::A.clone(), /*enum_call*/BLOCKS::B.clone()), (/*enum_call*/BLOCKS::B.clone(), /*enum_call*/BLOCKS::D.clone()), (/*enum_call*/BLOCKS::D.clone(), /*enum_call*/BLOCKS::E.clone()), (/*enum_call*/BLOCKS::E.clone(), /*enum_call*/BLOCKS::F.clone()), (/*enum_call*/BLOCKS::F.clone(), /*enum_call*/BLOCKS::G.clone())].clone()), (/*enum_call*/ROUTES::R3.clone(), brel![rel_BLOCKS_X_BLOCKS, (/*enum_call*/BLOCKS::L.clone(), /*enum_call*/BLOCKS::A.clone()), (/*enum_call*/BLOCKS::A.clone(), /*enum_call*/BLOCKS::B.clone()), (/*enum_call*/BLOCKS::B.clone(), /*enum_call*/BLOCKS::D.clone()), (/*enum_call*/BLOCKS::D.clone(), /*enum_call*/BLOCKS::K.clone()), (/*enum_call*/BLOCKS::K.clone(), /*enum_call*/BLOCKS::J.clone()), (/*enum_call*/BLOCKS::J.clone(), /*enum_call*/BLOCKS::N.clone())].clone()), (/*enum_call*/ROUTES::R4.clone(), brel![rel_BLOCKS_X_BLOCKS, (/*enum_call*/BLOCKS::M.clone(), /*enum_call*/BLOCKS::H.clone()), (/*enum_call*/BLOCKS::H.clone(), /*enum_call*/BLOCKS::I.clone()), (/*enum_call*/BLOCKS::I.clone(), /*enum_call*/BLOCKS::K.clone()), (/*enum_call*/BLOCKS::K.clone(), /*enum_call*/BLOCKS::F.clone()), (/*enum_call*/BLOCKS::F.clone(), /*enum_call*/BLOCKS::G.clone())].clone()), (/*enum_call*/ROUTES::R5.clone(), brel![rel_BLOCKS_X_BLOCKS, (/*enum_call*/BLOCKS::M.clone(), /*enum_call*/BLOCKS::H.clone()), (/*enum_call*/BLOCKS::H.clone(), /*enum_call*/BLOCKS::I.clone()), (/*enum_call*/BLOCKS::I.clone(), /*enum_call*/BLOCKS::J.clone()), (/*enum_call*/BLOCKS::J.clone(), /*enum_call*/BLOCKS::N.clone())].clone()), (/*enum_call*/ROUTES::R6.clone(), brel![rel_BLOCKS_X_BLOCKS, (/*enum_call*/BLOCKS::C.clone(), /*enum_call*/BLOCKS::B.clone()), (/*enum_call*/BLOCKS::B.clone(), /*enum_call*/BLOCKS::A.clone()), (/*enum_call*/BLOCKS::A.clone(), /*enum_call*/BLOCKS::L.clone())].clone()), (/*enum_call*/ROUTES::R7.clone(), brel![rel_BLOCKS_X_BLOCKS, (/*enum_call*/BLOCKS::G.clone(), /*enum_call*/BLOCKS::F.clone()), (/*enum_call*/BLOCKS::F.clone(), /*enum_call*/BLOCKS::E.clone()), (/*enum_call*/BLOCKS::E.clone(), /*enum_call*/BLOCKS::D.clone()), (/*enum_call*/BLOCKS::D.clone(), /*enum_call*/BLOCKS::B.clone()), (/*enum_call*/BLOCKS::B.clone(), /*enum_call*/BLOCKS::A.clone()), (/*enum_call*/BLOCKS::A.clone(), /*enum_call*/BLOCKS::L.clone())].clone()), (/*enum_call*/ROUTES::R8.clone(), brel![rel_BLOCKS_X_BLOCKS, (/*enum_call*/BLOCKS::N.clone(), /*enum_call*/BLOCKS::J.clone()), (/*enum_call*/BLOCKS::J.clone(), /*enum_call*/BLOCKS::K.clone()), (/*enum_call*/BLOCKS::K.clone(), /*enum_call*/BLOCKS::D.clone()), (/*enum_call*/BLOCKS::D.clone(), /*enum_call*/BLOCKS::B.clone()), (/*enum_call*/BLOCKS::B.clone(), /*enum_call*/BLOCKS::A.clone()), (/*enum_call*/BLOCKS::A.clone(), /*enum_call*/BLOCKS::L.clone())].clone()), (/*enum_call*/ROUTES::R9.clone(), brel![rel_BLOCKS_X_BLOCKS, (/*enum_call*/BLOCKS::G.clone(), /*enum_call*/BLOCKS::F.clone()), (/*enum_call*/BLOCKS::F.clone(), /*enum_call*/BLOCKS::K.clone()), (/*enum_call*/BLOCKS::K.clone(), /*enum_call*/BLOCKS::I.clone()), (/*enum_call*/BLOCKS::I.clone(), /*enum_call*/BLOCKS::H.clone()), (/*enum_call*/BLOCKS::H.clone(), /*enum_call*/BLOCKS::M.clone())].clone()), (/*enum_call*/ROUTES::R10.clone(), brel![rel_BLOCKS_X_BLOCKS, (/*enum_call*/BLOCKS::N.clone(), /*enum_call*/BLOCKS::J.clone()), (/*enum_call*/BLOCKS::J.clone(), /*enum_call*/BLOCKS::I.clone()), (/*enum_call*/BLOCKS::I.clone(), /*enum_call*/BLOCKS::H.clone()), (/*enum_call*/BLOCKS::H.clone(), /*enum_call*/BLOCKS::M.clone())].clone())]; + //constant_initialization + self.fst = brel![rel_ROUTES_X_BLOCKS, (/*enum_call*/ROUTES::R1.clone(), /*enum_call*/BLOCKS::L.clone()), (/*enum_call*/ROUTES::R2.clone(), /*enum_call*/BLOCKS::L.clone()), (/*enum_call*/ROUTES::R3.clone(), /*enum_call*/BLOCKS::L.clone()), (/*enum_call*/ROUTES::R4.clone(), /*enum_call*/BLOCKS::M.clone()), (/*enum_call*/ROUTES::R5.clone(), /*enum_call*/BLOCKS::M.clone()), (/*enum_call*/ROUTES::R6.clone(), /*enum_call*/BLOCKS::C.clone()), (/*enum_call*/ROUTES::R7.clone(), /*enum_call*/BLOCKS::G.clone()), (/*enum_call*/ROUTES::R8.clone(), /*enum_call*/BLOCKS::N.clone()), (/*enum_call*/ROUTES::R9.clone(), /*enum_call*/BLOCKS::G.clone()), (/*enum_call*/ROUTES::R10.clone(), /*enum_call*/BLOCKS::N.clone())]; + //constant_initialization + self.lst = brel![rel_ROUTES_X_BLOCKS, (/*enum_call*/ROUTES::R1.clone(), /*enum_call*/BLOCKS::C.clone()), (/*enum_call*/ROUTES::R2.clone(), /*enum_call*/BLOCKS::G.clone()), (/*enum_call*/ROUTES::R3.clone(), /*enum_call*/BLOCKS::N.clone()), (/*enum_call*/ROUTES::R4.clone(), /*enum_call*/BLOCKS::G.clone()), (/*enum_call*/ROUTES::R5.clone(), /*enum_call*/BLOCKS::N.clone()), (/*enum_call*/ROUTES::R6.clone(), /*enum_call*/BLOCKS::L.clone()), (/*enum_call*/ROUTES::R7.clone(), /*enum_call*/BLOCKS::L.clone()), (/*enum_call*/ROUTES::R8.clone(), /*enum_call*/BLOCKS::L.clone()), (/*enum_call*/ROUTES::R9.clone(), /*enum_call*/BLOCKS::M.clone()), (/*enum_call*/ROUTES::R10.clone(), /*enum_call*/BLOCKS::M.clone())]; + //constant_initialization + let mut _ic_set_0 = rel_BLOCKS_X_ROUTES::empty(); + //iteration_construct_enumeration + for _ic_b_1 in self._BLOCKS.clone().iter() { + //iteration_construct_enumeration + for _ic_r_1 in self._ROUTES.clone().iter() { + //set_comprehension_predicate + if (self.nxt.domain().elementOf(&_ic_r_1) && (self.nxt.functionCall(&_ic_r_1).domain().elementOf(&_ic_b_1) || self.nxt.functionCall(&_ic_r_1).range().elementOf(&_ic_b_1))) { + _ic_set_0 = _ic_set_0.union(&brel![rel_BLOCKS_X_ROUTES, (_ic_b_1.clone(), _ic_r_1.clone())]); + } + + } + } + self.rtbl = _ic_set_0; + /*body*/self.resrt = bset![ROUTES].clone().clone(); + self.resbl = bset![BLOCKS].clone().clone(); + self.rsrtbl = brel![rel_BLOCKS_X_ROUTES].clone().clone(); + self.OCC = bset![BLOCKS].clone().clone(); + self.TRK = brel![rel_BLOCKS_X_BLOCKS].clone().clone(); + self.frm = bset![ROUTES].clone().clone(); + self.LBT = bset![BLOCKS].clone().clone(); + /*includesInitialization*/ + } + + pub fn get_fst(&self) -> rel_ROUTES_X_BLOCKS { + return self.fst.clone(); + } + + pub fn get_lst(&self) -> rel_ROUTES_X_BLOCKS { + return self.lst.clone(); + } + + pub fn get_nxt(&self) -> rel_ROUTES_X_SetBLOCKS_X_BLOCKS { + return self.nxt.clone(); + } + + pub fn get_rtbl(&self) -> rel_BLOCKS_X_ROUTES { + return self.rtbl.clone(); + } + + pub fn get_LBT(&self) -> set_BLOCKS { + return self.LBT.clone(); + } + + pub fn get_TRK(&self) -> rel_BLOCKS_X_BLOCKS { + return self.TRK.clone(); + } + + pub fn get_frm(&self) -> set_ROUTES { + return self.frm.clone(); + } + + pub fn get_OCC(&self) -> set_BLOCKS { + return self.OCC.clone(); + } + + pub fn get_resbl(&self) -> set_BLOCKS { + return self.resbl.clone(); + } + + pub fn get_resrt(&self) -> set_ROUTES { + return self.resrt.clone(); + } + + pub fn get_rsrtbl(&self) -> rel_BLOCKS_X_ROUTES { + return self.rsrtbl.clone(); + } + + pub fn get__BLOCKS(&self) -> set_BLOCKS { + return self._BLOCKS.clone(); + } + + pub fn get__ROUTES(&self) -> set_ROUTES { + return self._ROUTES.clone(); + } + + pub fn route_reservation(&mut self, mut r: ROUTES) -> () { + //pre_assert + let mut _ld_resrt = self.resrt.clone(); + let mut _ld_rsrtbl = self.rsrtbl.clone(); + let mut _ld_resbl = self.resbl.clone(); + self.resrt = _ld_resrt.union(&bset![ROUTES, r]).clone().clone(); + self.rsrtbl = _ld_rsrtbl.union(&self.rtbl.rangeRestriction(&bset![ROUTES, r])).clone().clone(); + self.resbl = _ld_resbl.union(&self.rtbl.inverse().relationImage(&bset![ROUTES, r])).clone().clone(); + + } + + pub fn route_freeing(&mut self, mut r: ROUTES) -> () { + //pre_assert + let mut _ld_frm = self.frm.clone(); + let mut _ld_resrt = self.resrt.clone(); + self.resrt = _ld_resrt.difference(&bset![ROUTES, r]).clone().clone(); + self.frm = _ld_frm.difference(&bset![ROUTES, r]).clone().clone(); + + } + + pub fn FRONT_MOVE_1(&mut self, mut r: ROUTES) -> () { + //pre_assert + let mut _ld_OCC = self.OCC.clone(); + let mut _ld_LBT = self.LBT.clone(); + self.OCC = _ld_OCC.union(&bset![BLOCKS, self.fst.functionCall(&r)]).clone().clone(); + self.LBT = _ld_LBT.union(&bset![BLOCKS, self.fst.functionCall(&r)]).clone().clone(); + + } + + pub fn FRONT_MOVE_2(&mut self, mut b: BLOCKS) -> () { + //pre_assert + self.OCC = self.OCC.union(&bset![BLOCKS, self.TRK.functionCall(&b)]).clone().clone(); + + } + + pub fn BACK_MOVE_1(&mut self, mut b: BLOCKS) -> () { + //pre_assert + let mut _ld_rsrtbl = self.rsrtbl.clone(); + let mut _ld_resbl = self.resbl.clone(); + let mut _ld_OCC = self.OCC.clone(); + let mut _ld_LBT = self.LBT.clone(); + self.OCC = _ld_OCC.difference(&bset![BLOCKS, b]).clone().clone(); + self.rsrtbl = _ld_rsrtbl.domainSubstraction(&bset![BLOCKS, b]).clone().clone(); + self.resbl = _ld_resbl.difference(&bset![BLOCKS, b]).clone().clone(); + self.LBT = _ld_LBT.difference(&bset![BLOCKS, b]).clone().clone(); + + } + + pub fn BACK_MOVE_2(&mut self, mut b: BLOCKS) -> () { + //pre_assert + let mut _ld_rsrtbl = self.rsrtbl.clone(); + let mut _ld_resbl = self.resbl.clone(); + let mut _ld_OCC = self.OCC.clone(); + let mut _ld_LBT = self.LBT.clone(); + self.OCC = _ld_OCC.difference(&bset![BLOCKS, b]).clone().clone(); + self.rsrtbl = _ld_rsrtbl.domainSubstraction(&bset![BLOCKS, b]).clone().clone(); + self.resbl = _ld_resbl.difference(&bset![BLOCKS, b]).clone().clone(); + self.LBT = _ld_LBT.difference(&bset![BLOCKS, b]).union(&bset![BLOCKS, self.TRK.functionCall(&b)]).clone().clone(); + + } + + pub fn point_positionning(&mut self, mut r: ROUTES) -> () { + //pre_assert + self.TRK = self.TRK.domainSubstraction(&self.nxt.functionCall(&r).domain()).rangeSubstraction(&self.nxt.functionCall(&r).range()).union(&self.nxt.functionCall(&r)).clone().clone(); + + } + + pub fn route_formation(&mut self, mut r: ROUTES) -> () { + //pre_assert + self.frm = self.frm.union(&bset![ROUTES, r]).clone().clone(); + + } +} + + diff --git a/benchmarks/execution/Rust_embedded/Train_1_beebook_deterministic_exec.rs b/benchmarks/execution/Rust_embedded/Train_1_beebook_deterministic_exec.rs new file mode 100644 index 000000000..bf623a73c --- /dev/null +++ b/benchmarks/execution/Rust_embedded/Train_1_beebook_deterministic_exec.rs @@ -0,0 +1,155 @@ +#![ allow( dead_code, unused, non_snake_case, non_camel_case_types, unused_assignments ) ] +//#![no_std] //std is enabled for the generated machine by default, since without it there is no println which makes unit-testing very difficult +use btypes::{bset, brel}; +use btypes::bset::BSet; +use btypes::bset::SetItem; +use btypes::bset::PowSetItem; +use btypes::bset::PowAble; +use btypes::bset::NestedSet; +use btypes::brelation::BRelation; +use btypes::brelation::RelLeftItem; +use btypes::brelation::RelPowAble; +use btypes::bboolean::BBoolean; +use btypes::bboolean::BBool; +use btypes::bboolean::BOOL; +use btypes::binteger::BInteger; +use btypes::binteger::BInt; +use btypes::binteger::set_BInteger; +use btypes::btuple::BTuple; + + +mod Train_1_beebook_deterministic; + + + + +#[derive(Default, Debug)]pub struct Train_1_beebook_deterministic_exec { + /*declarations*/counter: BInteger, + /*includes*/_Train_1_beebook_deterministic: Train_1_beebook_deterministic::Train_1_beebook_deterministic, +} + + +impl Train_1_beebook_deterministic_exec { + + pub fn new() -> Train_1_beebook_deterministic_exec { + //values: '' + let mut m: Train_1_beebook_deterministic_exec = Default::default(); + m.init(); + return m; + } + fn init(&mut self) { + /*set_initializations*/ + /*properties*/ + /*body*/self.counter = 0; + /*includesInitialization*/self._Train_1_beebook_deterministic = Train_1_beebook_deterministic::Train_1_beebook_deterministic::new(); + } + + pub fn get_counter(&self) -> BInteger { + return self.counter.clone(); + } + + pub fn simulate(&mut self) -> () { + while self.counter.less(&10000) { + self._Train_1_beebook_deterministic.route_reservation(/*enum_call*/Train_1_beebook_deterministic::ROUTES::R1); + self._Train_1_beebook_deterministic.route_reservation(/*enum_call*/Train_1_beebook_deterministic::ROUTES::R4); + self._Train_1_beebook_deterministic.point_positionning(/*enum_call*/Train_1_beebook_deterministic::ROUTES::R1); + self._Train_1_beebook_deterministic.point_positionning(/*enum_call*/Train_1_beebook_deterministic::ROUTES::R4); + self._Train_1_beebook_deterministic.route_formation(/*enum_call*/Train_1_beebook_deterministic::ROUTES::R1); + self._Train_1_beebook_deterministic.FRONT_MOVE_1(/*enum_call*/Train_1_beebook_deterministic::ROUTES::R1); + self._Train_1_beebook_deterministic.FRONT_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::L); + self._Train_1_beebook_deterministic.FRONT_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::A); + self._Train_1_beebook_deterministic.FRONT_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::B); + self._Train_1_beebook_deterministic.BACK_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::L); + self._Train_1_beebook_deterministic.BACK_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::A); + self._Train_1_beebook_deterministic.BACK_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::B); + self._Train_1_beebook_deterministic.BACK_MOVE_1(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::C); + self._Train_1_beebook_deterministic.route_reservation(/*enum_call*/Train_1_beebook_deterministic::ROUTES::R6); + self._Train_1_beebook_deterministic.route_freeing(/*enum_call*/Train_1_beebook_deterministic::ROUTES::R1); + self._Train_1_beebook_deterministic.route_formation(/*enum_call*/Train_1_beebook_deterministic::ROUTES::R4); + self._Train_1_beebook_deterministic.point_positionning(/*enum_call*/Train_1_beebook_deterministic::ROUTES::R6); + self._Train_1_beebook_deterministic.route_formation(/*enum_call*/Train_1_beebook_deterministic::ROUTES::R6); + self._Train_1_beebook_deterministic.FRONT_MOVE_1(/*enum_call*/Train_1_beebook_deterministic::ROUTES::R4); + self._Train_1_beebook_deterministic.FRONT_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::M); + self._Train_1_beebook_deterministic.FRONT_MOVE_1(/*enum_call*/Train_1_beebook_deterministic::ROUTES::R6); + self._Train_1_beebook_deterministic.FRONT_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::C); + self._Train_1_beebook_deterministic.FRONT_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::H); + self._Train_1_beebook_deterministic.BACK_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::C); + self._Train_1_beebook_deterministic.BACK_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::M); + self._Train_1_beebook_deterministic.FRONT_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::I); + self._Train_1_beebook_deterministic.BACK_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::H); + self._Train_1_beebook_deterministic.FRONT_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::B); + self._Train_1_beebook_deterministic.BACK_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::B); + self._Train_1_beebook_deterministic.BACK_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::I); + self._Train_1_beebook_deterministic.route_reservation(/*enum_call*/Train_1_beebook_deterministic::ROUTES::R5); + self._Train_1_beebook_deterministic.point_positionning(/*enum_call*/Train_1_beebook_deterministic::ROUTES::R5); + self._Train_1_beebook_deterministic.FRONT_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::A); + self._Train_1_beebook_deterministic.FRONT_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::K); + self._Train_1_beebook_deterministic.route_formation(/*enum_call*/Train_1_beebook_deterministic::ROUTES::R5); + self._Train_1_beebook_deterministic.BACK_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::A); + self._Train_1_beebook_deterministic.BACK_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::K); + self._Train_1_beebook_deterministic.FRONT_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::F); + self._Train_1_beebook_deterministic.BACK_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::F); + self._Train_1_beebook_deterministic.FRONT_MOVE_1(/*enum_call*/Train_1_beebook_deterministic::ROUTES::R5); + self._Train_1_beebook_deterministic.FRONT_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::M); + self._Train_1_beebook_deterministic.BACK_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::M); + self._Train_1_beebook_deterministic.FRONT_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::H); + self._Train_1_beebook_deterministic.BACK_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::H); + self._Train_1_beebook_deterministic.FRONT_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::I); + self._Train_1_beebook_deterministic.FRONT_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::J); + self._Train_1_beebook_deterministic.BACK_MOVE_1(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::L); + self._Train_1_beebook_deterministic.BACK_MOVE_1(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::G); + self._Train_1_beebook_deterministic.route_reservation(/*enum_call*/Train_1_beebook_deterministic::ROUTES::R1); + self._Train_1_beebook_deterministic.point_positionning(/*enum_call*/Train_1_beebook_deterministic::ROUTES::R1); + self._Train_1_beebook_deterministic.route_formation(/*enum_call*/Train_1_beebook_deterministic::ROUTES::R1); + self._Train_1_beebook_deterministic.route_freeing(/*enum_call*/Train_1_beebook_deterministic::ROUTES::R4); + self._Train_1_beebook_deterministic.BACK_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::I); + self._Train_1_beebook_deterministic.BACK_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::J); + self._Train_1_beebook_deterministic.route_freeing(/*enum_call*/Train_1_beebook_deterministic::ROUTES::R6); + self._Train_1_beebook_deterministic.route_reservation(/*enum_call*/Train_1_beebook_deterministic::ROUTES::R9); + self._Train_1_beebook_deterministic.FRONT_MOVE_1(/*enum_call*/Train_1_beebook_deterministic::ROUTES::R1); + self._Train_1_beebook_deterministic.BACK_MOVE_1(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::N); + self._Train_1_beebook_deterministic.point_positionning(/*enum_call*/Train_1_beebook_deterministic::ROUTES::R9); + self._Train_1_beebook_deterministic.FRONT_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::L); + self._Train_1_beebook_deterministic.route_formation(/*enum_call*/Train_1_beebook_deterministic::ROUTES::R9); + self._Train_1_beebook_deterministic.route_freeing(/*enum_call*/Train_1_beebook_deterministic::ROUTES::R5); + self._Train_1_beebook_deterministic.BACK_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::L); + self._Train_1_beebook_deterministic.FRONT_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::A); + self._Train_1_beebook_deterministic.FRONT_MOVE_1(/*enum_call*/Train_1_beebook_deterministic::ROUTES::R9); + self._Train_1_beebook_deterministic.FRONT_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::B); + self._Train_1_beebook_deterministic.FRONT_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::G); + self._Train_1_beebook_deterministic.BACK_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::A); + self._Train_1_beebook_deterministic.BACK_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::G); + self._Train_1_beebook_deterministic.BACK_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::B); + self._Train_1_beebook_deterministic.FRONT_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::F); + self._Train_1_beebook_deterministic.BACK_MOVE_1(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::C); + self._Train_1_beebook_deterministic.route_reservation(/*enum_call*/Train_1_beebook_deterministic::ROUTES::R6); + self._Train_1_beebook_deterministic.point_positionning(/*enum_call*/Train_1_beebook_deterministic::ROUTES::R6); + self._Train_1_beebook_deterministic.route_formation(/*enum_call*/Train_1_beebook_deterministic::ROUTES::R6); + self._Train_1_beebook_deterministic.BACK_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::F); + self._Train_1_beebook_deterministic.route_freeing(/*enum_call*/Train_1_beebook_deterministic::ROUTES::R1); + self._Train_1_beebook_deterministic.FRONT_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::K); + self._Train_1_beebook_deterministic.FRONT_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::I); + self._Train_1_beebook_deterministic.FRONT_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::H); + self._Train_1_beebook_deterministic.FRONT_MOVE_1(/*enum_call*/Train_1_beebook_deterministic::ROUTES::R6); + self._Train_1_beebook_deterministic.FRONT_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::C); + self._Train_1_beebook_deterministic.FRONT_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::B); + self._Train_1_beebook_deterministic.FRONT_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::A); + self._Train_1_beebook_deterministic.BACK_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::K); + self._Train_1_beebook_deterministic.BACK_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::I); + self._Train_1_beebook_deterministic.BACK_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::H); + self._Train_1_beebook_deterministic.BACK_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::C); + self._Train_1_beebook_deterministic.BACK_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::B); + self._Train_1_beebook_deterministic.BACK_MOVE_2(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::A); + self._Train_1_beebook_deterministic.BACK_MOVE_1(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::L); + self._Train_1_beebook_deterministic.BACK_MOVE_1(/*enum_call*/Train_1_beebook_deterministic::BLOCKS::M); + self._Train_1_beebook_deterministic.route_freeing(/*enum_call*/Train_1_beebook_deterministic::ROUTES::R6); + self._Train_1_beebook_deterministic.route_freeing(/*enum_call*/Train_1_beebook_deterministic::ROUTES::R9); + self.counter = self.counter.plus(&1); + } + } +} + +fn main() { + let mut exec = Train_1_beebook_deterministic_exec::new(); + exec.simulate(); +} diff --git a/benchmarks/execution/Rust_embedded/scheduler_deterministic.rs b/benchmarks/execution/Rust_embedded/scheduler_deterministic.rs new file mode 100644 index 000000000..7da6e6c38 --- /dev/null +++ b/benchmarks/execution/Rust_embedded/scheduler_deterministic.rs @@ -0,0 +1,151 @@ +#![ allow( dead_code, unused, non_snake_case, non_camel_case_types, unused_assignments ) ] +//#![no_std] //std is enabled for the generated machine by default, since without it there is no println which makes unit-testing very difficult +use btypes::{bset, brel}; +use btypes::bset::BSet; +use btypes::bset::SetItem; +use btypes::bset::PowSetItem; +use btypes::bset::PowAble; +use btypes::bset::NestedSet; +use btypes::brelation::BRelation; +use btypes::brelation::RelLeftItem; +use btypes::brelation::RelPowAble; +use btypes::bboolean::BBoolean; +use btypes::bboolean::BBool; +use btypes::bboolean::BOOL; +use btypes::binteger::BInteger; +use btypes::binteger::BInt; +use btypes::binteger::set_BInteger; +use btypes::btuple::BTuple; + + + + +//set_enum_declaration +#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord)] +pub enum PID { + #[default] + process1 = 0, + process2 = 1, + process3 = 2 +} + +impl PID { + pub fn equal(&self, other: &PID) -> bool { *self == *other } + pub fn unequal(&self, other: &PID) -> bool { *self != *other } + pub const fn to_idx(self) -> usize { self as usize } + pub fn from_idx(idx: usize) -> Self { + match idx { + 0 => Self::process1, + 1 => Self::process2, + 2 => Self::process3, + _ => panic!("PID index out of range! {:?}", idx) + } + } +} + +impl SetItem<3> for PID { + fn as_idx(&self) -> usize { self.to_idx() } + fn from_idx(idx: usize) -> Self { Self::from_idx(idx) } +} + +type set_PID = BSet<PID, 3>; +//set_enum_declaration done + + +#[derive(Default, Debug)]pub struct scheduler_deterministic { + /*declarations*/active: set_PID, + _ready: set_PID, + waiting: set_PID, + /*sets*//*set_declaration*/_PID: set_PID, +} + + +impl scheduler_deterministic { + + pub fn new() -> scheduler_deterministic { + //values: '' + let mut m: scheduler_deterministic = Default::default(); + m.init(); + return m; + } + fn init(&mut self) { + /*set_initializations*///set_initialization + self._PID = bset![PID, /*enum_call*/PID::process1, /*enum_call*/PID::process2, /*enum_call*/PID::process3]; + /*properties*/ + /*body*/self.active = bset![PID].clone().clone(); + self._ready = bset![PID].clone().clone(); + self.waiting = bset![PID].clone().clone(); + /*includesInitialization*/ + } + + pub fn get_active(&self) -> set_PID { + return self.active.clone(); + } + + pub fn get__ready(&self) -> set_PID { + return self._ready.clone(); + } + + pub fn get_waiting(&self) -> set_PID { + return self.waiting.clone(); + } + + pub fn get__PID(&self) -> set_PID { + return self._PID.clone(); + } + + pub fn _new(&mut self, mut pp: PID) -> () { + //select + if ((self._PID.elementOf(&pp) && self.active.notElementOf(&pp)) && self._ready.union(&self.waiting).notElementOf(&pp)) { + self.waiting = self.waiting.union(&bset![PID, pp]).clone().clone(); + } else { + panic!("ERROR: called SELECT-function with incompatible parameters!"); + } + } + + pub fn del(&mut self, mut pp: PID) -> () { + //select + if self.waiting.elementOf(&pp) { + self.waiting = self.waiting.difference(&bset![PID, pp]).clone().clone(); + } else { + panic!("ERROR: called SELECT-function with incompatible parameters!"); + } + } + + pub fn ready(&mut self, mut rr: PID) -> () { + //select + if self.waiting.elementOf(&rr) { + self.waiting = self.waiting.difference(&bset![PID, rr]).clone().clone(); + //if + if self.active.equal(&bset![PID]) { + self.active = bset![PID, rr].clone().clone(); + } //else + else { + self._ready = self._ready.union(&bset![PID, rr]).clone().clone(); + } + } else { + panic!("ERROR: called SELECT-function with incompatible parameters!"); + } + } + + pub fn swap(&mut self, mut pp: PID) -> () { + //pre_assert + //select + if self.active.unequal(&bset![PID]) { + self.waiting = self.waiting.union(&self.active).clone().clone(); + //if + if self._ready.equal(&bset![PID]) { + self.active = bset![PID].clone().clone(); + } //else + else { + self.active = bset![PID, pp].clone().clone(); + self._ready = self._ready.difference(&bset![PID, pp]).clone().clone(); + } + } else { + panic!("ERROR: called SELECT-function with incompatible parameters!"); + } + + } +} + + diff --git a/benchmarks/execution/Rust_embedded/scheduler_deterministic_exec.rs b/benchmarks/execution/Rust_embedded/scheduler_deterministic_exec.rs new file mode 100644 index 000000000..b0ced0252 --- /dev/null +++ b/benchmarks/execution/Rust_embedded/scheduler_deterministic_exec.rs @@ -0,0 +1,93 @@ +#![ allow( dead_code, unused, non_snake_case, non_camel_case_types, unused_assignments ) ] +//#![no_std] //std is enabled for the generated machine by default, since without it there is no println which makes unit-testing very difficult +use btypes::{bset, brel}; +use btypes::bset::BSet; +use btypes::bset::SetItem; +use btypes::bset::PowSetItem; +use btypes::bset::PowAble; +use btypes::bset::NestedSet; +use btypes::brelation::BRelation; +use btypes::brelation::RelLeftItem; +use btypes::brelation::RelPowAble; +use btypes::bboolean::BBoolean; +use btypes::bboolean::BBool; +use btypes::bboolean::BOOL; +use btypes::binteger::BInteger; +use btypes::binteger::BInt; +use btypes::binteger::set_BInteger; +use btypes::btuple::BTuple; + + +mod scheduler_deterministic; + + + + +#[derive(Default, Debug)]pub struct scheduler_deterministic_exec { + /*declarations*/counter: BInteger, + /*includes*/_scheduler_deterministic: scheduler_deterministic::scheduler_deterministic, +} + + +impl scheduler_deterministic_exec { + + pub fn new() -> scheduler_deterministic_exec { + //values: '' + let mut m: scheduler_deterministic_exec = Default::default(); + m.init(); + return m; + } + fn init(&mut self) { + /*set_initializations*/ + /*properties*/ + /*body*/self.counter = 0; + /*includesInitialization*/self._scheduler_deterministic = scheduler_deterministic::scheduler_deterministic::new(); + } + + pub fn get_counter(&self) -> BInteger { + return self.counter.clone(); + } + + pub fn simulate(&mut self) -> () { + while self.counter.less(&300000) { + self._scheduler_deterministic._new(/*enum_call*/scheduler_deterministic::PID::process1); + self._scheduler_deterministic._new(/*enum_call*/scheduler_deterministic::PID::process2); + self._scheduler_deterministic._new(/*enum_call*/scheduler_deterministic::PID::process3); + self._scheduler_deterministic.del(/*enum_call*/scheduler_deterministic::PID::process1); + self._scheduler_deterministic._new(/*enum_call*/scheduler_deterministic::PID::process1); + self._scheduler_deterministic.del(/*enum_call*/scheduler_deterministic::PID::process2); + self._scheduler_deterministic.del(/*enum_call*/scheduler_deterministic::PID::process1); + self._scheduler_deterministic.del(/*enum_call*/scheduler_deterministic::PID::process3); + self._scheduler_deterministic._new(/*enum_call*/scheduler_deterministic::PID::process1); + self._scheduler_deterministic._new(/*enum_call*/scheduler_deterministic::PID::process2); + self._scheduler_deterministic.del(/*enum_call*/scheduler_deterministic::PID::process1); + self._scheduler_deterministic.ready(/*enum_call*/scheduler_deterministic::PID::process2); + self._scheduler_deterministic._new(/*enum_call*/scheduler_deterministic::PID::process1); + self._scheduler_deterministic._new(/*enum_call*/scheduler_deterministic::PID::process3); + self._scheduler_deterministic.del(/*enum_call*/scheduler_deterministic::PID::process1); + self._scheduler_deterministic.ready(/*enum_call*/scheduler_deterministic::PID::process3); + self._scheduler_deterministic._new(/*enum_call*/scheduler_deterministic::PID::process1); + self._scheduler_deterministic.ready(/*enum_call*/scheduler_deterministic::PID::process1); + self._scheduler_deterministic.swap(/*enum_call*/scheduler_deterministic::PID::process1); + self._scheduler_deterministic.del(/*enum_call*/scheduler_deterministic::PID::process2); + self._scheduler_deterministic.swap(/*enum_call*/scheduler_deterministic::PID::process3); + self._scheduler_deterministic._new(/*enum_call*/scheduler_deterministic::PID::process2); + self._scheduler_deterministic.del(/*enum_call*/scheduler_deterministic::PID::process1); + self._scheduler_deterministic.del(/*enum_call*/scheduler_deterministic::PID::process2); + self._scheduler_deterministic.swap(/*enum_call*/scheduler_deterministic::PID::process1); + self._scheduler_deterministic._new(/*enum_call*/scheduler_deterministic::PID::process1); + self._scheduler_deterministic._new(/*enum_call*/scheduler_deterministic::PID::process2); + self._scheduler_deterministic.del(/*enum_call*/scheduler_deterministic::PID::process1); + self._scheduler_deterministic.del(/*enum_call*/scheduler_deterministic::PID::process3); + self._scheduler_deterministic._new(/*enum_call*/scheduler_deterministic::PID::process1); + self._scheduler_deterministic.del(/*enum_call*/scheduler_deterministic::PID::process2); + self._scheduler_deterministic.del(/*enum_call*/scheduler_deterministic::PID::process1); + self.counter = self.counter.plus(&1); + } + } +} + +fn main() { + let mut exec = scheduler_deterministic_exec::new(); + exec.simulate(); +} -- GitLab