diff --git a/firmware/CHANGELOG.md b/firmware/CHANGELOG.md index bc5530d8fb..85e6f92717 100644 --- a/firmware/CHANGELOG.md +++ b/firmware/CHANGELOG.md @@ -39,6 +39,7 @@ Release template (copy/paste this for new release): ### Fixed - Fuel Priming reset fix #4627 - Slower than expected RPM information was slowing engine start #4629 + - Fix 36-2-1 trigger (Mitsubishi 4B11, etc) #4635 ## September 2022 Release - "Day 203" diff --git a/firmware/controllers/trigger/decoders/trigger_mitsubishi.cpp b/firmware/controllers/trigger/decoders/trigger_mitsubishi.cpp index ac3c67ee69..d501865e44 100644 --- a/firmware/controllers/trigger/decoders/trigger_mitsubishi.cpp +++ b/firmware/controllers/trigger/decoders/trigger_mitsubishi.cpp @@ -84,6 +84,7 @@ void initialize36_2_1_1(TriggerWaveform *s) { s->setSecondTriggerSynchronizationGap(1); // redundancy } +// Mitsubishi 4B11 void initialize36_2_1(TriggerWaveform *s) { s->initialize(FOUR_STROKE_CRANK_SENSOR, SyncEdge::RiseOnly); s->tdcPosition = 90; @@ -94,16 +95,16 @@ void initialize36_2_1(TriggerWaveform *s) { float oneTooth = 720 / totalTeethCount; - float offset = (36 - 17 - 2 - 16) * oneTooth; - - addSkippedToothTriggerEvents(TriggerWheel::T_PRIMARY, s, totalTeethCount, 0, toothWidth, /*offset*/offset, engineCycle, - NO_LEFT_FILTER, offset + 17 * oneTooth + 1); - - offset += (17 + 2) * oneTooth; + float offset = (36 - 16 - 2 - 17) * oneTooth; addSkippedToothTriggerEvents(TriggerWheel::T_PRIMARY, s, totalTeethCount, 0, toothWidth, /*offset*/offset, engineCycle, NO_LEFT_FILTER, offset + 16 * oneTooth + 1); + offset += (16 + 2) * oneTooth; + + addSkippedToothTriggerEvents(TriggerWheel::T_PRIMARY, s, totalTeethCount, 0, toothWidth, /*offset*/offset, engineCycle, + NO_LEFT_FILTER, offset + 17 * oneTooth + 1); + s->setTriggerSynchronizationGap(3); s->setSecondTriggerSynchronizationGap(1); // redundancy diff --git a/firmware/controllers/trigger/trigger_central.cpp b/firmware/controllers/trigger/trigger_central.cpp index 851856f680..e2ad4ab1e3 100644 --- a/firmware/controllers/trigger/trigger_central.cpp +++ b/firmware/controllers/trigger/trigger_central.cpp @@ -703,7 +703,14 @@ void TriggerCentral::handleShaftSignal(trigger_event_e signal, efitick_t timesta // basically, check that the tooth width is correct auto estimatedCurrentPhase = getCurrentEnginePhase(timestamp); if (estimatedCurrentPhase) { - triggerToothAngleError = expectedNextPhase - estimatedCurrentPhase.Value; + float angleError = expectedNextPhase - estimatedCurrentPhase.Value; + + float cycle = getEngineState()->engineCycle; + while (angleError < -cycle / 2) { + angleError += cycle; + } + + triggerToothAngleError = angleError; } // Record precise time and phase of the engine. This is used for VVT decode, and to check that the diff --git a/unit_tests/tests/tests.mk b/unit_tests/tests/tests.mk index 501e94a8eb..e54e289d28 100644 --- a/unit_tests/tests/tests.mk +++ b/unit_tests/tests/tests.mk @@ -13,6 +13,7 @@ TESTS_SRC_CPP = \ tests/trigger/test_real_cranking_miata_na6.cpp \ tests/trigger/test_real_cranking_nissan_vq40.cpp \ tests/trigger/test_trigger_skipped_wheel.cpp \ + tests/trigger/test_real_4b11.cpp \ tests/trigger/test_real_volkswagen.cpp \ tests/trigger/test_real_nb2_cranking.cpp \ tests/trigger/test_real_gm_24x.cpp \ diff --git a/unit_tests/tests/trigger/resources/4b11-running.csv b/unit_tests/tests/trigger/resources/4b11-running.csv new file mode 100644 index 0000000000..638b44aef8 --- /dev/null +++ b/unit_tests/tests/trigger/resources/4b11-running.csv @@ -0,0 +1,2048 @@ +Time[s], Channel 0, Channel 1 +5.217579750000000, 1, 1 +5.218129500000000, 0, 1 +5.218737249999999, 1, 1 +5.219288250000000, 0, 1 +5.219896250000000, 1, 1 +5.220446750000000, 0, 1 +5.221056500000000, 1, 1 +5.221608499999999, 0, 1 +5.222220750000000, 1, 1 +5.222381749999999, 1, 0 +5.222773999999999, 0, 0 +5.223388250000000, 1, 0 +5.223944749999999, 0, 0 +5.224562250000000, 1, 0 +5.225119500000000, 0, 0 +5.225736749999999, 1, 0 +5.226297750000000, 0, 0 +5.226915750000000, 1, 0 +5.227474500000000, 0, 0 +5.228093750000000, 1, 0 +5.228651000000000, 0, 0 +5.229271000000000, 1, 0 +5.229827750000000, 0, 0 +5.230447499999999, 1, 0 +5.231006000000000, 0, 0 +5.231626749999999, 1, 0 +5.232184500000000, 0, 0 +5.232806000000000, 1, 0 +5.233366000000000, 0, 0 +5.236180500000000, 1, 0 +5.236908000000000, 0, 0 +5.237527249999999, 1, 0 +5.238086249999999, 0, 0 +5.238705000000000, 1, 0 +5.239261500000000, 0, 0 +5.239879000000000, 1, 0 +5.240434250000000, 0, 0 +5.241050000000000, 1, 0 +5.241605250000000, 0, 0 +5.242222500000000, 1, 0 +5.242776000000000, 0, 0 +5.243393500000000, 1, 0 +5.243949250000000, 0, 0 +5.244568249999999, 1, 0 +5.245124250000000, 0, 0 +5.245745749999999, 1, 0 +5.246303000000000, 0, 0 +5.246924750000000, 1, 0 +5.247484000000000, 0, 0 +5.248106500000000, 1, 0 +5.248665750000000, 0, 0 +5.249288750000000, 1, 0 +5.249846750000000, 0, 0 +5.250470750000000, 1, 0 +5.251026000000000, 0, 0 +5.251645500000000, 1, 0 +5.252200500000000, 0, 0 +5.252816000000000, 1, 0 +5.253367000000000, 0, 0 +5.253979250000000, 1, 0 +5.254526750000000, 0, 0 +5.255135999999999, 1, 0 +5.255682500000000, 0, 0 +5.257223750000000, 1, 0 +5.257992000000000, 0, 0 +5.258595500000000, 1, 0 +5.259145000000000, 0, 0 +5.259752000000000, 1, 0 +5.260300249999999, 0, 0 +5.260907250000000, 1, 0 +5.261457750000000, 0, 0 +5.262066500000000, 1, 0 +5.262617250000000, 0, 0 +5.263228000000000, 1, 0 +5.263781000000000, 0, 0 +5.264394750000000, 1, 0 +5.264949500000000, 0, 0 +5.265412250000000, 0, 1 +5.265565500000000, 1, 1 +5.266123500000000, 0, 1 +5.266742750000000, 1, 1 +5.267301250000000, 0, 1 +5.267920500000000, 1, 1 +5.268483250000000, 0, 1 +5.269103500000000, 1, 1 +5.269663500000000, 0, 1 +5.270284750000000, 1, 1 +5.270843000000000, 0, 1 +5.271464750000000, 1, 1 +5.272021000000000, 0, 1 +5.272640249999999, 1, 1 +5.273196250000000, 0, 1 +5.273812250000000, 1, 1 +5.274363999999999, 0, 1 +5.274977250000000, 1, 1 +5.275527500000000, 0, 1 +5.278286500000000, 1, 1 +5.278994750000000, 0, 1 +5.279600500000000, 1, 1 +5.280147500000000, 0, 1 +5.280754250000000, 1, 1 +5.281299750000000, 0, 1 +5.281905999999999, 1, 1 +5.282451500000000, 0, 1 +5.283057250000000, 1, 1 +5.283603750000000, 0, 1 +5.284211750000000, 1, 1 +5.284758000000000, 0, 1 +5.285368249999999, 1, 1 +5.285916750000000, 0, 1 +5.286529250000000, 1, 1 +5.287078750000000, 0, 1 +5.287693750000000, 1, 1 +5.288245000000000, 0, 1 +5.288861000000000, 1, 1 +5.289414250000000, 0, 1 +5.290030499999999, 1, 1 +5.290583250000000, 0, 1 +5.291200000000000, 1, 1 +5.291752000000000, 0, 1 +5.292370000000000, 1, 1 +5.292921000000000, 0, 1 +5.293536500000000, 1, 1 +5.294090499999999, 0, 1 +5.294705500000000, 1, 1 +5.295258000000000, 0, 1 +5.295872000000000, 1, 1 +5.296421500000000, 0, 1 +5.297033000000000, 1, 1 +5.297581249999999, 0, 1 +5.299126500000000, 1, 1 +5.299893000000000, 0, 1 +5.300494749999999, 1, 1 +5.301041750000000, 0, 1 +5.301644749999999, 1, 1 +5.302189500000000, 0, 1 +5.302791000000000, 1, 1 +5.303336499999999, 0, 1 +5.303939000000000, 1, 1 +5.304483750000000, 0, 1 +5.305086999999999, 1, 1 +5.305633250000000, 0, 1 +5.306239000000000, 1, 1 +5.306398000000000, 1, 0 +5.306786250000000, 0, 0 +5.307393500000000, 1, 0 +5.307944249999999, 0, 0 +5.308555500000000, 1, 0 +5.309107500000000, 0, 0 +5.309719750000000, 1, 0 +5.310276249999999, 0, 0 +5.310889749999999, 1, 0 +5.311444499999999, 0, 0 +5.312060000000000, 1, 0 +5.312613499999999, 0, 0 +5.313229750000000, 1, 0 +5.313783250000000, 0, 0 +5.314399750000000, 1, 0 +5.314954750000000, 0, 0 +5.315572250000000, 1, 0 +5.316127499999999, 0, 0 +5.316746500000000, 1, 0 +5.317304249999999, 0, 0 +5.320113500000000, 1, 0 +5.320841000000000, 0, 0 +5.321460500000000, 1, 0 +5.322020750000000, 0, 0 +5.322640250000000, 1, 0 +5.323198500000000, 0, 0 +5.323817500000000, 1, 0 +5.324374000000000, 0, 0 +5.324991499999999, 1, 0 +5.325548250000000, 0, 0 +5.326167250000000, 1, 0 +5.326722250000000, 0, 0 +5.327341250000000, 1, 0 +5.327898500000000, 0, 0 +5.328519000000000, 1, 0 +5.329075500000000, 0, 0 +5.329698250000000, 1, 0 +5.330256250000000, 0, 0 +5.330879250000000, 1, 0 +5.331439749999999, 0, 0 +5.332062750000000, 1, 0 +5.332623250000000, 0, 0 +5.333247750000000, 1, 0 +5.333806249999999, 0, 0 +5.334432500000000, 1, 0 +5.334989500000000, 0, 0 +5.335611999999999, 1, 0 +5.336171999999999, 0, 0 +5.336792750000000, 1, 0 +5.337349250000000, 0, 0 +5.337967500000000, 1, 0 +5.338520500000000, 0, 0 +5.339136250000000, 1, 0 +5.339688000000000, 0, 0 +5.341241500000000, 1, 0 +5.342013500000000, 0, 0 +5.342619249999999, 1, 0 +5.343169749999999, 0, 0 +5.343777500000000, 1, 0 +5.344326000000000, 0, 0 +5.344931500000000, 1, 0 +5.345480750000000, 0, 0 +5.346087250000000, 1, 0 +5.346634500000000, 0, 0 +5.347241250000000, 1, 0 +5.347790499999999, 0, 0 +5.348400250000000, 1, 0 +5.348950500000000, 0, 0 +5.349412000000000, 0, 1 +5.349561749999999, 1, 1 +5.350115750000000, 0, 1 +5.350731250000000, 1, 1 +5.351287249999999, 0, 1 +5.351903999999999, 1, 1 +5.352465500000000, 0, 1 +5.353084249999999, 1, 1 +5.353644249999999, 0, 1 +5.354266000000000, 1, 1 +5.354824499999999, 0, 1 +5.355446250000000, 1, 1 +5.356003500000000, 0, 1 +5.356622750000000, 1, 1 +5.357178500000000, 0, 1 +5.357794250000000, 1, 1 +5.358346000000000, 0, 1 +5.358959500000000, 1, 1 +5.359510250000000, 0, 1 +5.362278250000000, 1, 1 +5.362992250000000, 0, 1 +5.363601750000000, 1, 1 +5.364152750000000, 0, 1 +5.364763249999999, 1, 1 +5.365312500000000, 0, 1 +5.365923000000000, 1, 1 +5.366471750000000, 0, 1 +5.367081250000000, 1, 1 +5.367630999999999, 0, 1 +5.368242749999999, 1, 1 +5.368791250000000, 0, 1 +5.369404250000000, 1, 1 +5.369955500000000, 0, 1 +5.370570000000000, 1, 1 +5.371121749999999, 0, 1 +5.371738500000000, 1, 1 +5.372292000000000, 0, 1 +5.372909750000000, 1, 1 +5.373464999999999, 0, 1 +5.374082749999999, 1, 1 +5.374637750000000, 0, 1 +5.375255750000000, 1, 1 +5.375809250000000, 0, 1 +5.376428250000000, 1, 1 +5.376980250000000, 0, 1 +5.377596500000000, 1, 1 +5.378150499999999, 0, 1 +5.378764500000000, 1, 1 +5.379316750000000, 0, 1 +5.379929499999999, 1, 1 +5.380477750000000, 0, 1 +5.381088000000000, 1, 1 +5.381635250000000, 0, 1 +5.383179500000000, 1, 1 +5.383943500000000, 0, 1 +5.384545250000000, 1, 1 +5.385091750000000, 0, 1 +5.385694750000000, 1, 1 +5.386239750000000, 0, 1 +5.386841749999999, 1, 1 +5.387387500000000, 0, 1 +5.387990750000000, 1, 1 +5.388535999999999, 0, 1 +5.389139999999999, 1, 1 +5.389686999999999, 0, 1 +5.390293750000000, 1, 1 +5.390449750000000, 1, 0 +5.390842000000000, 0, 0 +5.391450499999999, 1, 0 +5.392002250000000, 0, 0 +5.392614500000000, 1, 0 +5.393167249999999, 0, 0 +5.393780000000000, 1, 0 +5.394337000000000, 0, 0 +5.394951250000000, 1, 0 +5.395506000000000, 0, 0 +5.396121750000000, 1, 0 +5.396675750000000, 0, 0 +5.397292500000000, 1, 0 +5.397845999999999, 0, 0 +5.398463000000000, 1, 0 +5.399018499999999, 0, 0 +5.399636750000000, 1, 0 +5.400192500000000, 0, 0 +5.400812999999999, 1, 0 +5.401371500000000, 0, 0 +5.404192249999999, 1, 0 +5.404923500000000, 0, 0 +5.405546999999999, 1, 0 +5.406110750000000, 0, 0 +5.406734999999999, 1, 0 +5.407297250000000, 0, 0 +5.407920750000000, 1, 0 +5.408482250000000, 0, 0 +5.409104750000000, 1, 0 +5.409666500000000, 0, 0 +5.410291000000000, 1, 0 +5.410850750000000, 0, 0 +5.411474999999999, 1, 0 +5.412037250000000, 0, 0 +5.412662249999999, 1, 0 +5.413224000000000, 0, 0 +5.413850750000000, 1, 0 +5.414413750000000, 0, 0 +5.415041000000000, 1, 0 +5.415605250000000, 0, 0 +5.416232750000000, 1, 0 +5.416796499999999, 0, 0 +5.417424250000000, 1, 0 +5.417986500000000, 0, 0 +5.418615750000000, 1, 0 +5.419175999999999, 0, 0 +5.419801750000000, 1, 0 +5.420363500000000, 0, 0 +5.420986500000000, 1, 0 +5.421544500000000, 0, 0 +5.422164749999999, 1, 0 +5.422719499999999, 0, 0 +5.423337249999999, 1, 0 +5.423890500000000, 0, 0 +5.425451250000000, 1, 0 +5.426226000000000, 0, 0 +5.426835000000000, 1, 0 +5.427388250000000, 0, 0 +5.427999000000000, 1, 0 +5.428550250000000, 0, 0 +5.429159500000000, 1, 0 +5.429711750000000, 0, 0 +5.430321500000000, 1, 0 +5.430872750000000, 0, 0 +5.431483500000000, 1, 0 +5.432035750000000, 0, 0 +5.432648250000000, 1, 0 +5.433201000000000, 0, 0 +5.433670250000000, 0, 1 +5.433814250000000, 1, 1 +5.434369250000000, 0, 1 +5.434985250000000, 1, 1 +5.435540749999999, 0, 1 +5.436157000000000, 1, 1 +5.436717499999999, 0, 1 +5.437335249999999, 1, 1 +5.437893250000000, 0, 1 +5.438513250000000, 1, 1 +5.439070249999999, 0, 1 +5.439691000000000, 1, 1 +5.440247750000000, 0, 1 +5.440867250000000, 1, 1 +5.441424500000000, 0, 1 +5.442042750000000, 1, 1 +5.442597249999999, 0, 1 +5.443214250000000, 1, 1 +5.443768500000000, 0, 1 +5.446557750000000, 1, 1 +5.447277000000000, 0, 1 +5.447891500000000, 1, 1 +5.448446750000000, 0, 1 +5.449062250000000, 1, 1 +5.449616000000000, 0, 1 +5.450231250000000, 1, 1 +5.450784000000000, 0, 1 +5.451397750000000, 1, 1 +5.451951250000000, 0, 1 +5.452567250000000, 1, 1 +5.453119500000000, 0, 1 +5.453736250000000, 1, 1 +5.454291000000000, 0, 1 +5.454909499999999, 1, 1 +5.455464750000000, 0, 1 +5.456085750000000, 1, 1 +5.456642749999999, 0, 1 +5.457264500000000, 1, 1 +5.457823500000000, 0, 1 +5.458445750000000, 1, 1 +5.459004250000000, 0, 1 +5.459626750000000, 1, 1 +5.460184500000000, 0, 1 +5.460809250000000, 1, 1 +5.461366000000000, 0, 1 +5.461988000000000, 1, 1 +5.462548000000000, 0, 1 +5.463169750000000, 1, 1 +5.463728250000000, 0, 1 +5.464348999999999, 1, 1 +5.464904250000000, 0, 1 +5.465522249999999, 1, 1 +5.466076500000000, 0, 1 +5.467639000000000, 1, 1 +5.468412250000000, 0, 1 +5.469020000000000, 1, 1 +5.469572749999999, 0, 1 +5.470182250000000, 1, 1 +5.470732250000000, 0, 1 +5.471339500000000, 1, 1 +5.471889750000000, 0, 1 +5.472497499999999, 1, 1 +5.473046249999999, 0, 1 +5.473653500000000, 1, 1 +5.474203000000000, 0, 1 +5.474812249999999, 1, 1 +5.474976250000000, 1, 0 +5.475362250000000, 0, 0 +5.475972000000000, 1, 0 +5.476524749999999, 0, 0 +5.477137750000000, 1, 0 +5.477691249999999, 0, 0 +5.478305250000000, 1, 0 +5.478863000000000, 0, 0 +5.479479000000000, 1, 0 +5.480035000000000, 0, 0 +5.480652999999999, 1, 0 +5.481209000000000, 0, 0 +5.481828999999999, 1, 0 +5.482385250000000, 0, 0 +5.483005500000000, 1, 0 +5.483564500000000, 0, 0 +5.484186250000000, 1, 0 +5.484745250000000, 0, 0 +5.485367999999999, 1, 0 +5.485929749999999, 0, 0 +5.488760000000000, 1, 0 +5.489492250000000, 0, 0 +5.490116250000000, 1, 0 +5.490680500000000, 0, 0 +5.491305000000000, 1, 0 +5.491867249999999, 0, 0 +5.492490999999999, 1, 0 +5.493052000000000, 0, 0 +5.493674250000000, 1, 0 +5.494235250000000, 0, 0 +5.494858750000000, 1, 0 +5.495418000000000, 0, 0 +5.496041500000000, 1, 0 +5.496602999999999, 0, 0 +5.497227500000000, 1, 0 +5.497789000000000, 0, 0 +5.498416250000000, 1, 0 +5.498978500000000, 0, 0 +5.499605499999999, 1, 0 +5.500170000000000, 0, 0 +5.500797250000000, 1, 0 +5.501361500000000, 0, 0 +5.501989500000000, 1, 0 +5.502552000000000, 0, 0 +5.503181500000000, 1, 0 +5.503741750000000, 0, 0 +5.504366999999999, 1, 0 +5.504928250000000, 0, 0 +5.505550250000000, 1, 0 +5.506108250000000, 0, 0 +5.506727250000000, 1, 0 +5.507281000000000, 0, 0 +5.507897499999999, 1, 0 +5.508450000000000, 0, 0 +5.510009500000000, 1, 0 +5.510786500000000, 0, 0 +5.511397250000000, 1, 0 +5.511953000000000, 0, 0 +5.512567250000000, 1, 0 +5.513122500000000, 0, 0 +5.513736499999999, 1, 0 +5.514294250000000, 0, 0 +5.514910500000000, 1, 0 +5.515467999999999, 0, 0 +5.516086000000000, 1, 0 +5.516645749999999, 0, 0 +5.517266250000000, 1, 0 +5.517827250000000, 0, 0 +5.518291749999999, 0, 1 +5.518448999999999, 1, 1 +5.519012750000000, 0, 1 +5.519638250000000, 1, 1 +5.520202750000000, 0, 1 +5.520828250000000, 1, 1 +5.521396999999999, 0, 1 +5.522023500000000, 1, 1 +5.522590000000000, 0, 1 +5.523218249999999, 1, 1 +5.523782000000000, 0, 1 +5.524410000000000, 1, 1 +5.524972750000000, 0, 1 +5.525598500000000, 1, 1 +5.526160500000000, 0, 1 +5.526783500000000, 1, 1 +5.527340499999999, 0, 1 +5.527959750000000, 1, 1 +5.528515750000000, 0, 1 +5.531301249999999, 1, 1 +5.532018000000000, 0, 1 +5.532629249999999, 1, 1 +5.533180750000000, 0, 1 +5.533792249999999, 1, 1 +5.534342750000000, 0, 1 +5.534954250000000, 1, 1 +5.535504250000000, 0, 1 +5.536115500000000, 1, 1 +5.536666750000000, 0, 1 +5.537280500000000, 1, 1 +5.537831499999999, 0, 1 +5.538447000000000, 1, 1 +5.539001250000000, 0, 1 +5.539619249999999, 1, 1 +5.540174500000000, 0, 1 +5.540795999999999, 1, 1 +5.541353249999999, 0, 1 +5.541975499999999, 1, 1 +5.542535000000000, 0, 1 +5.543158000000000, 1, 1 +5.543717000000000, 0, 1 +5.544340249999999, 1, 1 +5.544897499999999, 0, 1 +5.545521750000000, 1, 1 +5.546076750000000, 0, 1 +5.546696499999999, 1, 1 +5.547253250000000, 0, 1 +5.547870750000000, 1, 1 +5.548424750000000, 0, 1 +5.549040499999999, 1, 1 +5.549590999999999, 0, 1 +5.550204000000000, 1, 1 +5.550754000000000, 0, 1 +5.552306250000000, 1, 1 +5.553076750000000, 0, 1 +5.553682999999999, 1, 1 +5.554234000000000, 0, 1 +5.554842250000000, 1, 1 +5.555391999999999, 0, 1 +5.555999250000000, 1, 1 +5.556550250000000, 0, 1 +5.557159250000000, 1, 1 +5.557709500000000, 0, 1 +5.558319750000000, 1, 1 +5.558871750000000, 0, 1 +5.559484250000000, 1, 1 +5.559642250000000, 1, 0 +5.560037500000000, 0, 0 +5.560651500000000, 1, 0 +5.561207749999999, 0, 0 +5.561825000000000, 1, 0 +5.562381999999999, 0, 0 +5.562999250000000, 1, 0 +5.563559750000000, 0, 0 +5.564177750000000, 1, 0 +5.564735750000000, 0, 0 +5.565354999999999, 1, 0 +5.565911750000000, 0, 0 +5.566532250000000, 1, 0 +5.567089000000000, 0, 0 +5.567710000000000, 1, 0 +5.568269250000000, 0, 0 +5.568891750000000, 1, 0 +5.569451500000000, 0, 0 +5.570075500000000, 1, 0 +5.570638250000000, 0, 0 +5.573481500000000, 1, 0 +5.574216000000000, 0, 0 +5.574843500000000, 1, 0 +5.575411500000000, 0, 0 +5.576040000000000, 1, 0 +5.576606750000000, 0, 0 +5.577235249999999, 1, 0 +5.577801249999999, 0, 0 +5.578428750000000, 1, 0 +5.578995500000000, 0, 0 +5.579625000000000, 1, 0 +5.580190249999999, 0, 0 +5.580819500000000, 1, 0 +5.581386999999999, 0, 0 +5.582018000000000, 1, 0 +5.582585000000000, 0, 0 +5.583218000000000, 1, 0 +5.583786250000000, 0, 0 +5.584419500000000, 1, 0 +5.584989500000000, 0, 0 +5.585622750000000, 1, 0 +5.586192500000000, 0, 0 +5.586826500000000, 1, 0 +5.587394000000000, 0, 0 +5.588029000000000, 1, 0 +5.588594250000000, 0, 0 +5.589224750000000, 1, 0 +5.589790499999999, 0, 0 +5.590417250000000, 1, 0 +5.590978499999999, 0, 0 +5.591602000000000, 1, 0 +5.592159500000000, 0, 0 +5.592780250000000, 1, 0 +5.593336750000000, 0, 0 +5.594905499999999, 1, 0 +5.595685000000000, 0, 0 +5.596297499999999, 1, 0 +5.596854749999999, 0, 0 +5.597469500000000, 1, 0 +5.598024500000000, 0, 0 +5.598637750000000, 1, 0 +5.599193750000000, 0, 0 +5.599807250000000, 1, 0 +5.600362250000000, 0, 0 +5.600976250000000, 1, 0 +5.601531749999999, 0, 0 +5.602148000000000, 1, 0 +5.602703500000000, 0, 0 +5.603174500000000, 0, 1 +5.603320000000000, 1, 1 +5.603877750000000, 0, 1 +5.604496999999999, 1, 1 +5.605055249999999, 0, 1 +5.605673749999999, 1, 1 +5.606236000000000, 0, 1 +5.606855500000000, 1, 1 +5.607414500000000, 0, 1 +5.608035249999999, 1, 1 +5.608592250000000, 0, 1 +5.609212500000000, 1, 1 +5.609768250000000, 0, 1 +5.610385750000000, 1, 1 +5.610940250000000, 0, 1 +5.611555000000000, 1, 1 +5.612105250000000, 0, 1 +5.612716750000000, 1, 1 +5.613266250000000, 0, 1 +5.616027750000000, 1, 1 +5.616741250000000, 0, 1 +5.617350500000000, 1, 1 +5.617901750000000, 0, 1 +5.618513249999999, 1, 1 +5.619064000000000, 0, 1 +5.619676500000000, 1, 1 +5.620227499999999, 0, 1 +5.620840500000000, 1, 1 +5.621393500000000, 0, 1 +5.622010000000000, 1, 1 +5.622563749999999, 0, 1 +5.623182500000000, 1, 1 +5.623740000000000, 0, 1 +5.624361749999999, 1, 1 +5.624920250000000, 0, 1 +5.625545250000000, 1, 1 +5.626105250000000, 0, 1 +5.626731250000000, 1, 1 +5.627293750000000, 0, 1 +5.627920000000000, 1, 1 +5.628482500000000, 0, 1 +5.629109000000000, 1, 1 +5.629669750000000, 0, 1 +5.630297250000000, 1, 1 +5.630856000000000, 0, 1 +5.631479000000000, 1, 1 +5.632039499999999, 0, 1 +5.632660500000000, 1, 1 +5.633217750000000, 0, 1 +5.633836500000000, 1, 1 +5.634390250000000, 0, 1 +5.635006499999999, 1, 1 +5.635559000000000, 0, 1 +5.637117000000000, 1, 1 +5.637891000000000, 0, 1 +5.638499250000000, 1, 1 +5.639052500000000, 0, 1 +5.639663250000000, 1, 1 +5.640214500000000, 0, 1 +5.640823500000000, 1, 1 +5.641376500000000, 0, 1 +5.641986750000000, 1, 1 +5.642538999999999, 0, 1 +5.643150500000000, 1, 1 +5.643703749999999, 0, 1 +5.644317249999999, 1, 1 +5.644477250000000, 1, 0 +5.644871250000000, 0, 0 +5.645485750000000, 1, 0 +5.646042500000000, 0, 0 +5.646659750000000, 1, 0 +5.647216750000000, 0, 0 +5.647834000000000, 1, 0 +5.648394250000000, 0, 0 +5.649012000000000, 1, 0 +5.649569750000000, 0, 0 +5.650189000000000, 1, 0 +5.650745750000000, 0, 0 +5.651365750000000, 1, 0 +5.651922500000000, 0, 0 +5.652542500000000, 1, 0 +5.653101749999999, 0, 0 +5.653723250000000, 1, 0 +5.654281999999999, 0, 0 +5.654904999999999, 1, 0 +5.655466250000000, 0, 0 +5.658294750000000, 1, 0 +5.659025750000000, 0, 0 +5.659649250000000, 1, 0 +5.660213000000000, 0, 0 +5.660837000000000, 1, 0 +5.661398999999999, 0, 0 +5.662022250000000, 1, 0 +5.662582749999999, 0, 0 +5.663204500000000, 1, 0 +5.663765250000000, 0, 0 +5.664388250000000, 1, 0 +5.664947000000000, 0, 0 +5.665570499999999, 1, 0 +5.666131500000000, 0, 0 +5.666755999999999, 1, 0 +5.667317250000000, 0, 0 +5.667943999999999, 1, 0 +5.668506499999999, 0, 0 +5.669133500000000, 1, 0 +5.669697750000000, 0, 0 +5.670325249999999, 1, 0 +5.670889250000000, 0, 0 +5.671517750000000, 1, 0 +5.672080250000000, 0, 0 +5.672709500000000, 1, 0 +5.673269749999999, 0, 0 +5.673894750000000, 1, 0 +5.674455249999999, 0, 0 +5.675076000000000, 1, 0 +5.675632750000000, 0, 0 +5.676250500000000, 1, 0 +5.676803000000000, 0, 0 +5.677417999999999, 1, 0 +5.677969249999999, 0, 0 +5.679524750000000, 1, 0 +5.680297250000000, 0, 0 +5.680905500000000, 1, 0 +5.681458750000000, 0, 0 +5.682070500000000, 1, 0 +5.682623000000000, 0, 0 +5.683234499999999, 1, 0 +5.683789500000000, 0, 0 +5.684402749999999, 1, 0 +5.684958000000000, 0, 0 +5.685573000000000, 1, 0 +5.686129999999999, 0, 0 +5.686748250000000, 1, 0 +5.687306749999999, 0, 0 +5.687770000000000, 0, 1 +5.687926750000000, 1, 1 +5.688488500000000, 0, 1 +5.689112499999999, 1, 1 +5.689674999999999, 0, 1 +5.690298750000000, 1, 1 +5.690866499999999, 0, 1 +5.691491750000000, 1, 1 +5.692056750000000, 0, 1 +5.692684000000000, 1, 1 +5.693246750000000, 0, 1 +5.693873500000000, 1, 1 +5.694434750000000, 0, 1 +5.695058250000000, 1, 1 +5.695618250000000, 0, 1 +5.696238500000000, 1, 1 +5.696793250000000, 0, 1 +5.697410250000000, 1, 1 +5.697963750000000, 0, 1 +5.700739250000000, 1, 1 +5.701454000000000, 0, 1 +5.702064000000000, 1, 1 +5.702615000000000, 0, 1 +5.703226000000000, 1, 1 +5.703776250000000, 0, 1 +5.704387500000000, 1, 1 +5.704937250000000, 0, 1 +5.705548750000000, 1, 1 +5.706100000000000, 0, 1 +5.706714000000000, 1, 1 +5.707264500000000, 0, 1 +5.707879750000000, 1, 1 +5.708433749999999, 0, 1 +5.709050749999999, 1, 1 +5.709604750000000, 0, 1 +5.710224750000000, 1, 1 +5.710780000000000, 0, 1 +5.711399999999999, 1, 1 +5.711957500000000, 0, 1 +5.712577500000000, 1, 1 +5.713134000000000, 0, 1 +5.713754250000000, 1, 1 +5.714309000000000, 0, 1 +5.714929750000000, 1, 1 +5.715482750000000, 0, 1 +5.716099750000000, 1, 1 +5.716654000000000, 0, 1 +5.717268250000000, 1, 1 +5.717819000000000, 0, 1 +5.718430250000000, 1, 1 +5.718977250000000, 0, 1 +5.719586250000000, 1, 1 +5.720132000000000, 0, 1 +5.721672499999999, 1, 1 +5.722438250000000, 0, 1 +5.723040500000000, 1, 1 +5.723588250000000, 0, 1 +5.724193500000000, 1, 1 +5.724739500000000, 0, 1 +5.725344000000000, 1, 1 +5.725892249999999, 0, 1 +5.726497999999999, 1, 1 +5.727046000000000, 0, 1 +5.727653500000000, 1, 1 +5.728203750000000, 0, 1 +5.728814000000000, 1, 1 +5.728976500000000, 1, 0 +5.729365500000000, 0, 0 +5.729977250000000, 1, 0 +5.730532000000000, 0, 0 +5.731147249999999, 1, 0 +5.731701999999999, 0, 0 +5.732317249999999, 1, 0 +5.732876000000000, 0, 0 +5.733492000000000, 1, 0 +5.734048000000000, 0, 0 +5.734665499999999, 1, 0 +5.735220249999999, 0, 0 +5.735838500000000, 1, 0 +5.736393500000000, 0, 0 +5.737012249999999, 1, 0 +5.737569499999999, 0, 0 +5.738189750000000, 1, 0 +5.738747000000000, 0, 0 +5.739368750000000, 1, 0 +5.739929500000000, 0, 0 +5.742758500000000, 1, 0 +5.743490000000000, 0, 0 +5.744114250000000, 1, 0 +5.744678500000000, 0, 0 +5.745303250000000, 1, 0 +5.745866250000000, 0, 0 +5.746490500000000, 1, 0 +5.747052999999999, 0, 0 +5.747676750000000, 1, 0 +5.748239750000000, 0, 0 +5.748865250000000, 1, 0 +5.749426499999999, 0, 0 +5.750052000000000, 1, 0 +5.750615250000000, 0, 0 +5.751241750000000, 1, 0 +5.751804500000000, 0, 0 +5.752432750000000, 1, 0 +5.752996749999999, 0, 0 +5.753625500000000, 1, 0 +5.754191000000000, 0, 0 +5.754819500000000, 1, 0 +5.755385000000000, 0, 0 +5.756014250000000, 1, 0 +5.756577750000000, 0, 0 +5.757208250000000, 1, 0 +5.757770000000000, 0, 0 +5.758397000000000, 1, 0 +5.758960750000000, 0, 0 +5.759586000000000, 1, 0 +5.760146750000000, 0, 0 +5.760769250000000, 1, 0 +5.761326500000000, 0, 0 +5.761947000000000, 1, 0 +5.762502500000000, 0, 0 +5.764070750000000, 1, 0 +5.764847500000000, 0, 0 +5.765458750000000, 1, 0 +5.766014250000000, 0, 0 +5.766627250000000, 1, 0 +5.767180750000000, 0, 0 +5.767792500000000, 1, 0 +5.768346750000000, 0, 0 +5.768959000000000, 1, 0 +5.769511749999999, 0, 0 +5.770124249999999, 1, 0 +5.770678250000000, 0, 0 +5.771292499999999, 1, 0 +5.771846750000000, 0, 0 +5.772313000000000, 0, 1 +5.772461750000000, 1, 1 +5.773018250000000, 0, 1 +5.773635750000000, 1, 1 +5.774192750000000, 0, 1 +5.774810000000000, 1, 1 +5.775371000000000, 0, 1 +5.775988750000000, 1, 1 +5.776547000000000, 0, 1 +5.777166250000000, 1, 1 +5.777723000000000, 0, 1 +5.778342500000000, 1, 1 +5.778897750000000, 0, 1 +5.779515249999999, 1, 1 +5.780070750000000, 0, 1 +5.780686500000000, 1, 1 +5.781238000000000, 0, 1 +5.781850749999999, 1, 1 +5.782400750000000, 0, 1 +5.785156750000000, 1, 1 +5.785868250000000, 0, 1 +5.786475500000000, 1, 1 +5.787023250000000, 0, 1 +5.787631500000000, 1, 1 +5.788179250000000, 0, 1 +5.788788750000000, 1, 1 +5.789337000000000, 0, 1 +5.789946500000000, 1, 1 +5.790497250000000, 0, 1 +5.791110750000000, 1, 1 +5.791661749999999, 0, 1 +5.792277749999999, 1, 1 +5.792833000000000, 0, 1 +5.793452250000000, 1, 1 +5.794008499999999, 0, 1 +5.794631499999999, 1, 1 +5.795189750000000, 0, 1 +5.795813500000000, 1, 1 +5.796374250000000, 0, 1 +5.796998749999999, 1, 1 +5.797559250000000, 0, 1 +5.798184000000000, 1, 1 +5.798743249999999, 0, 1 +5.799369250000000, 1, 1 +5.799926250000000, 0, 1 +5.800548000000000, 1, 1 +5.801106000000000, 0, 1 +5.801724500000000, 1, 1 +5.802279250000000, 0, 1 +5.802895250000000, 1, 1 +5.803446500000000, 0, 1 +5.804060250000000, 1, 1 +5.804610500000000, 0, 1 +5.806162500000000, 1, 1 +5.806933500000000, 0, 1 +5.807539750000000, 1, 1 +5.808091249999999, 0, 1 +5.808700249999999, 1, 1 +5.809250250000000, 0, 1 +5.809858250000000, 1, 1 +5.810409249999999, 0, 1 +5.811018000000000, 1, 1 +5.811569000000000, 0, 1 +5.812179250000000, 1, 1 +5.812731250000000, 0, 1 +5.813343750000000, 1, 1 +5.813498750000000, 1, 0 +5.813896750000000, 0, 0 +5.814510500000000, 1, 0 +5.815066250000000, 0, 0 +5.815683000000000, 1, 0 +5.816238999999999, 0, 0 +5.816854999999999, 1, 0 +5.817414749999999, 0, 0 +5.818031250000000, 1, 0 +5.818588249999999, 0, 0 +5.819206250000000, 1, 0 +5.819761250000000, 0, 0 +5.820380000000000, 1, 0 +5.820934250000000, 0, 0 +5.821552250000000, 1, 0 +5.822108249999999, 0, 0 +5.822726750000000, 1, 0 +5.823282750000000, 0, 0 +5.823901999999999, 1, 0 +5.824459750000000, 0, 0 +5.827267000000000, 1, 0 +5.827992249999999, 0, 0 +5.828609500000000, 1, 0 +5.829167249999999, 0, 0 +5.829784750000000, 1, 0 +5.830339749999999, 0, 0 +5.830955500000000, 1, 0 +5.831508749999999, 0, 0 +5.832123000000000, 1, 0 +5.832676750000000, 0, 0 +5.833292250000000, 1, 0 +5.833844249999999, 0, 0 +5.834460249999999, 1, 0 +5.835014250000000, 0, 0 +5.835630999999999, 1, 0 +5.836185250000000, 0, 0 +5.836804500000000, 1, 0 +5.837360250000000, 0, 0 +5.837981000000000, 1, 0 +5.838539249999999, 0, 0 +5.839160499999999, 1, 0 +5.839718500000000, 0, 0 +5.840340500000000, 1, 0 +5.840897500000000, 0, 0 +5.841521250000000, 1, 0 +5.842076749999999, 0, 0 +5.842696750000000, 1, 0 +5.843254000000000, 0, 0 +5.843872000000000, 1, 0 +5.844426250000000, 0, 0 +5.845041999999999, 1, 0 +5.845592750000000, 0, 0 +5.846207000000000, 1, 0 +5.846757250000000, 0, 0 +5.848311250000000, 1, 0 +5.849084500000000, 0, 0 +5.849692500000000, 1, 0 +5.850245750000000, 0, 0 +5.850856750000000, 1, 0 +5.851409250000000, 0, 0 +5.852020000000000, 1, 0 +5.852574250000000, 0, 0 +5.853186500000000, 1, 0 +5.853740500000000, 0, 0 +5.854354000000000, 1, 0 +5.854909500000000, 0, 0 +5.855525500000000, 1, 0 +5.856081750000000, 0, 0 +5.856543500000000, 0, 1 +5.856698750000000, 1, 1 +5.857257499999999, 0, 1 +5.857877750000000, 1, 1 +5.858436999999999, 0, 1 +5.859056250000000, 1, 1 +5.859619500000000, 0, 1 +5.860240249999999, 1, 1 +5.860800500000000, 0, 1 +5.861422250000000, 1, 1 +5.861980500000000, 0, 1 +5.862602000000000, 1, 1 +5.863157999999999, 0, 1 +5.863776000000000, 1, 1 +5.864331000000000, 0, 1 +5.864945500000000, 1, 1 +5.865495999999999, 0, 1 +5.866107250000000, 1, 1 +5.866656750000000, 0, 1 +5.869410750000000, 1, 1 +5.870120000000000, 0, 1 +5.870725500000000, 1, 1 +5.871272750000000, 0, 1 +5.871879250000000, 1, 1 +5.872425000000000, 0, 1 +5.873031750000000, 1, 1 +5.873577750000000, 0, 1 +5.874184500000000, 1, 1 +5.874731499999999, 0, 1 +5.875341000000000, 1, 1 +5.875887750000000, 0, 1 +5.876498750000000, 1, 1 +5.877049250000000, 0, 1 +5.877663000000000, 1, 1 +5.878213750000000, 0, 1 +5.878830000000000, 1, 1 +5.879382750000000, 0, 1 +5.880000000000000, 1, 1 +5.880554500000000, 0, 1 +5.881171500000000, 1, 1 +5.881725250000000, 0, 1 +5.882342500000000, 1, 1 +5.882894500000000, 0, 1 +5.883512500000000, 1, 1 +5.884061750000000, 0, 1 +5.884675750000000, 1, 1 +5.885226250000000, 0, 1 +5.885836750000000, 1, 1 +5.886384749999999, 0, 1 +5.886993250000000, 1, 1 +5.887538250000000, 0, 1 +5.888145000000000, 1, 1 +5.888689250000000, 0, 1 +5.890224750000000, 1, 1 +5.890988999999999, 0, 1 +5.891589499999999, 1, 1 +5.892135250000000, 0, 1 +5.892738250000000, 1, 1 +5.893282500000000, 0, 1 +5.893885000000000, 1, 1 +5.894430499999999, 0, 1 +5.895033499999999, 1, 1 +5.895578749999999, 0, 1 +5.896182749999999, 1, 1 +5.896729750000000, 0, 1 +5.897336500000000, 1, 1 +5.897503250000000, 1, 0 +5.897884500000000, 0, 0 +5.898492750000000, 1, 0 +5.899043499999999, 0, 0 +5.899611000000000, 0, 1 +5.899611250000000, 0, 0 +5.899655249999999, 1, 0 +5.900206750000000, 0, 0 +5.900818000000000, 1, 0 +5.901373500000000, 0, 0 +5.901985250000000, 1, 0 +5.902537750000000, 0, 0 +5.903151500000000, 1, 0 +5.903702249999999, 0, 0 +5.904316000000000, 1, 0 +5.904866999999999, 0, 0 +5.905480750000000, 1, 0 +5.906034000000000, 0, 0 +5.906649000000000, 1, 0 +5.907202000000000, 0, 0 +5.907818750000000, 1, 0 +5.908373750000000, 0, 0 +5.911174500000000, 1, 0 +5.911897750000000, 0, 0 +5.912515000000000, 1, 0 +5.913072750000000, 0, 0 +5.913690250000000, 1, 0 +5.914245999999999, 0, 0 +5.914862500000000, 1, 0 +5.915417000000000, 0, 0 +5.916032000000000, 1, 0 +5.916586250000000, 0, 0 +5.917202250000000, 1, 0 +5.917755000000000, 0, 0 +5.918371749999999, 1, 0 +5.918926250000000, 0, 0 +5.919544000000000, 1, 0 +5.920098250000000, 0, 0 +5.920717250000000, 1, 0 +5.921272750000000, 0, 0 +5.921892250000000, 1, 0 +5.922449500000000, 0, 0 +5.923069250000000, 1, 0 +5.923626000000000, 0, 0 +5.924246249999999, 1, 0 +5.924801250000000, 0, 0 +5.925422500000000, 1, 0 +5.925975999999999, 0, 0 +5.926594250000000, 1, 0 +5.927149000000000, 0, 0 +5.927764499999999, 1, 0 +5.928317250000000, 0, 0 +5.928930750000000, 1, 0 +5.929479750000000, 0, 0 +5.930090750000000, 1, 0 +5.930638249999999, 0, 0 +5.932181750000000, 1, 0 +5.932947500000000, 0, 0 +5.933549250000000, 1, 0 +5.934096250000000, 0, 0 +5.934699999999999, 1, 0 +5.935244750000000, 0, 0 +5.935847000000000, 1, 0 +5.936392499999999, 0, 0 +5.936995000000000, 1, 0 +5.937539249999999, 0, 0 +5.938142000000000, 1, 0 +5.938687000000000, 0, 0 +5.939291750000000, 1, 0 +5.939837499999999, 0, 0 +5.940298500000000, 0, 1 +5.940443500000000, 1, 1 +5.940992250000000, 0, 1 +5.941601500000000, 1, 1 +5.942151750000000, 0, 1 +5.942762249999999, 1, 1 +5.943317500000000, 0, 1 +5.943930000000000, 1, 1 +5.944484500000000, 0, 1 +5.945100249999999, 1, 1 +5.945653750000000, 0, 1 +5.946270750000000, 1, 1 +5.946824500000000, 0, 1 +5.947441000000000, 1, 1 +5.947995750000000, 0, 1 +5.948611000000000, 1, 1 +5.949162750000000, 0, 1 +5.949776249999999, 1, 1 +5.950327250000000, 0, 1 +5.953094750000000, 1, 1 +5.953808749999999, 0, 1 +5.954418250000000, 1, 1 +5.954968249999999, 0, 1 +5.955578000000000, 1, 1 +5.956126500000000, 0, 1 +5.956735750000000, 1, 1 +5.957283500000000, 0, 1 +5.957891500000000, 1, 1 +5.958439750000000, 0, 1 +5.959048999999999, 1, 1 +5.959595750000000, 0, 1 +5.960205750000000, 1, 1 +5.960754750000000, 0, 1 +5.961366249999999, 1, 1 +5.961914999999999, 0, 1 +5.962529249999999, 1, 1 +5.963079500000000, 0, 1 +5.963693999999999, 1, 1 +5.964246500000000, 0, 1 +5.964861500000000, 1, 1 +5.965414000000000, 0, 1 +5.966029499999999, 1, 1 +5.966580500000000, 0, 1 +5.967197500000000, 1, 1 +5.967747000000000, 0, 1 +5.968360499999999, 1, 1 +5.968911749999999, 0, 1 +5.969523250000000, 1, 1 +5.970072500000000, 0, 1 +5.970682000000000, 1, 1 +5.971228249999999, 0, 1 +5.971835749999999, 1, 1 +5.972380500000000, 0, 1 +5.973916000000000, 1, 1 +5.974679000000000, 0, 1 +5.975278749999999, 1, 1 +5.975823999999999, 0, 1 +5.976426000000000, 1, 1 +5.976969749999999, 0, 1 +5.977570750000000, 1, 1 +5.978115750000000, 0, 1 +5.978718000000000, 1, 1 +5.979262749999999, 0, 1 +5.979865999999999, 1, 1 +5.980412750000000, 0, 1 +5.981018750000000, 1, 1 +5.981177000000000, 1, 0 +5.981566000000000, 0, 0 +5.982173500000000, 1, 0 +5.982724000000000, 0, 0 +5.983334999999999, 1, 0 +5.983886249999999, 0, 0 +5.984497250000000, 1, 0 +5.985052749999999, 0, 0 +5.985664750000000, 1, 0 +5.986218000000000, 0, 0 +5.986831749999999, 1, 0 +5.987383250000000, 0, 0 +5.987998000000000, 1, 0 +5.988550000000000, 0, 0 +5.989165000000000, 1, 0 +5.989719249999999, 0, 0 +5.990336000000000, 1, 0 +5.990890500000000, 0, 0 +5.991508749999999, 1, 0 +5.992066749999999, 0, 0 +5.994883499999999, 1, 0 +5.995614250000000, 0, 0 +5.996237000000000, 1, 0 +5.996800749999999, 0, 0 +5.997424750000000, 1, 0 +5.997986500000000, 0, 0 +5.998609750000000, 1, 0 +5.999171000000000, 0, 0 +5.999792750000000, 1, 0 +6.000354000000000, 0, 0 +6.000977250000000, 1, 0 +6.001537500000000, 0, 0 +6.002161249999999, 1, 0 +6.002723250000000, 0, 0 +6.003348750000000, 1, 0 +6.003909750000000, 0, 0 +6.004537000000000, 1, 0 +6.005099749999999, 0, 0 +6.005727250000000, 1, 0 +6.006291500000000, 0, 0 +6.006918750000000, 1, 0 +6.007482749999999, 0, 0 +6.008110750000000, 1, 0 +6.008672499999999, 0, 0 +6.009301250000000, 1, 0 +6.009860499999999, 0, 0 +6.010484750000000, 1, 0 +6.011044500000000, 0, 0 +6.011665250000000, 1, 0 +6.012221750000000, 0, 0 +6.012839500000000, 1, 0 +6.013392250000000, 0, 0 +6.014007749999999, 1, 0 +6.014559750000000, 0, 0 +6.016115500000000, 1, 0 +6.016888750000000, 0, 0 +6.017495750000000, 1, 0 +6.018047999999999, 0, 0 +6.018657000000000, 1, 0 +6.019207499999999, 0, 0 +6.019814999999999, 1, 0 +6.020365750000000, 0, 0 +6.020974250000000, 1, 0 +6.021523750000000, 0, 0 +6.022132249999999, 1, 0 +6.022682500000000, 0, 0 +6.023292500000000, 1, 0 +6.023842999999999, 0, 0 +6.024305750000000, 0, 1 +6.024453750000000, 1, 1 +6.025006500000000, 0, 1 +6.025620000000000, 1, 1 +6.026172750000000, 0, 1 +6.026785500000000, 1, 1 +6.027342249999999, 0, 1 +6.027955749999999, 1, 1 +6.028509499999999, 0, 1 +6.029124250000000, 1, 1 +6.029676500000000, 0, 1 +6.030291500000000, 1, 1 +6.030842499999999, 0, 1 +6.031455999999999, 1, 1 +6.032007999999999, 0, 1 +6.032620250000000, 1, 1 +6.033169500000000, 0, 1 +6.033780250000000, 1, 1 +6.034329250000000, 0, 1 +6.037086250000000, 1, 1 +6.037800499999999, 0, 1 +6.038409000000000, 1, 1 +6.038958750000000, 0, 1 +6.039568999999999, 1, 1 +6.040118250000000, 0, 1 +6.040728750000000, 1, 1 +6.041278500000000, 0, 1 +6.041889500000000, 1, 1 +6.042440999999999, 0, 1 +6.043055250000000, 1, 1 +6.043606250000000, 0, 1 +6.044222000000000, 1, 1 +6.044776499999999, 0, 1 +6.045394750000000, 1, 1 +6.045949750000000, 0, 1 +6.046571000000000, 1, 1 +6.047128000000000, 0, 1 +6.047750250000000, 1, 1 +6.048309250000000, 0, 1 +6.048931749999999, 1, 1 +6.049490250000000, 0, 1 +6.050113000000000, 1, 1 +6.050670250000000, 0, 1 +6.051294500000000, 1, 1 +6.051850500000000, 0, 1 +6.052472000000000, 1, 1 +6.053030499999999, 0, 1 +6.053650500000000, 1, 1 +6.054207250000000, 0, 1 +6.054825999999999, 1, 1 +6.055380000000000, 0, 1 +6.055996500000000, 1, 1 +6.056550000000000, 0, 1 +6.058108499999999, 1, 1 +6.058882250000000, 0, 1 +6.059489750000000, 1, 1 +6.060042250000000, 0, 1 +6.060651500000000, 1, 1 +6.061201500000000, 0, 1 +6.061809250000000, 1, 1 +6.062359750000000, 0, 1 +6.062967749999999, 1, 1 +6.063517249999999, 0, 1 +6.064126000000000, 1, 1 +6.064676250000000, 0, 1 +6.065286500000000, 1, 1 +6.065446750000000, 1, 0 +6.065837500000000, 0, 0 +6.066449000000000, 1, 0 +6.067002500000000, 0, 0 +6.067616999999999, 1, 0 +6.068170750000000, 0, 0 +6.068785249999999, 1, 0 +6.069343249999999, 0, 0 +6.069958499999999, 1, 0 +6.070514250000000, 0, 0 +6.071131250000000, 1, 0 +6.071685749999999, 0, 0 +6.072303750000000, 1, 0 +6.072858750000000, 0, 0 +6.073477500000000, 1, 0 +6.074034750000000, 0, 0 +6.074654750000000, 1, 0 +6.075212250000000, 0, 0 +6.075834250000000, 1, 0 +6.076394500000000, 0, 0 +6.079221250000000, 1, 0 +6.079954250000000, 0, 0 +6.080578999999999, 1, 0 +6.081143500000000, 0, 0 +6.081768750000000, 1, 0 +6.082332000000000, 0, 0 +6.082957000000000, 1, 0 +6.083519000000000, 0, 0 +6.084142500000000, 1, 0 +6.084705000000000, 0, 0 +6.085330000000000, 1, 0 +6.085890750000000, 0, 0 +6.086516000000000, 1, 0 +6.087078750000000, 0, 0 +6.087704749999999, 1, 0 +6.088267249999999, 0, 0 +6.088895249999999, 1, 0 +6.089458749999999, 0, 0 +6.090087250000000, 1, 0 +6.090652749999999, 0, 0 +6.091281250000000, 1, 0 +6.091846500000000, 0, 0 +6.092474999999999, 1, 0 +6.093038500000000, 0, 0 +6.093668249999999, 1, 0 +6.094228250000000, 0, 0 +6.094852250000000, 1, 0 +6.095413000000000, 0, 0 +6.096033750000000, 1, 0 +6.096590000000000, 0, 0 +6.097207750000000, 1, 0 +6.097760000000000, 0, 0 +6.098374750000000, 1, 0 +6.098926250000000, 0, 0 +6.100482500000000, 1, 0 +6.101255000000000, 0, 0 +6.101863000000000, 1, 0 +6.102416499999999, 0, 0 +6.103027750000000, 1, 0 +6.103580500000000, 0, 0 +6.104191999999999, 1, 0 +6.104746749999999, 0, 0 +6.105360249999999, 1, 0 +6.105915250000000, 0, 0 +6.106530750000000, 1, 0 +6.107088000000000, 0, 0 +6.107706500000000, 1, 0 +6.108265500000000, 0, 0 +6.108731250000000, 0, 1 +6.108886500000000, 1, 1 +6.109448500000000, 0, 1 +6.110072750000000, 1, 1 +6.110636250000000, 0, 1 +6.111260750000000, 1, 1 +6.111828500000000, 0, 1 +6.112454250000000, 1, 1 +6.113019749999999, 0, 1 +6.113646999999999, 1, 1 +6.114211249999999, 0, 1 +6.114839249999999, 1, 1 +6.115402250000000, 0, 1 +6.116028750000000, 1, 1 +6.116592250000000, 0, 1 +6.117217249999999, 1, 1 +6.117777750000000, 0, 1 +6.118400500000000, 1, 1 +6.118959250000000, 0, 1 +6.121757750000000, 1, 1 +6.122477249999999, 0, 1 +6.123090500000000, 1, 1 +6.123644250000000, 0, 1 +6.124257249999999, 1, 1 +6.124809000000000, 0, 1 +6.125421500000000, 1, 1 +6.125972249999999, 0, 1 +6.126583999999999, 1, 1 +6.127136000000000, 0, 1 +6.127750000000000, 1, 1 +6.128301250000000, 0, 1 +6.128917000000000, 1, 1 +6.129471499999999, 0, 1 +6.130089750000000, 1, 1 +6.130644999999999, 0, 1 +6.131266500000000, 1, 1 +6.131824000000000, 0, 1 +6.132446250000000, 1, 1 +6.133006249999999, 0, 1 +6.133629500000000, 1, 1 +6.134189000000000, 0, 1 +6.134812500000000, 1, 1 +6.135371000000000, 0, 1 +6.135996500000000, 1, 1 +6.136553250000000, 0, 1 +6.137175500000000, 1, 1 +6.137735250000000, 0, 1 +6.138356750000000, 1, 1 +6.138915000000000, 0, 1 +6.139535500000000, 1, 1 +6.140091000000000, 0, 1 +6.140709500000000, 1, 1 +6.141263749999999, 0, 1 +6.142826500000000, 1, 1 +6.143600999999999, 0, 1 +6.144209750000000, 1, 1 +6.144763500000000, 0, 1 +6.145374250000000, 1, 1 +6.145925750000000, 0, 1 +6.146535500000000, 1, 1 +6.147088750000000, 0, 1 +6.147699250000000, 1, 1 +6.148251750000000, 0, 1 +6.148863749999999, 1, 1 +6.149417250000000, 0, 1 +6.150031500000000, 1, 1 +6.150192250000000, 1, 0 +6.150586250000000, 0, 0 +6.151202000000000, 1, 0 +6.151760749999999, 0, 0 +6.152304249999999, 0, 1 +6.152304500000000, 0, 0 +6.152380249999999, 1, 0 +6.152940000000000, 0, 0 +6.153560250000000, 1, 0 +6.154124250000000, 0, 0 +6.154745750000000, 1, 0 +6.155307000000000, 0, 0 +6.155930250000000, 1, 0 +6.156490499999999, 0, 0 +6.157114750000000, 1, 0 +6.157674999999999, 0, 0 +6.158299500000000, 1, 0 +6.158862249999999, 0, 0 +6.159488000000000, 1, 0 +6.160050750000000, 0, 0 +6.160677499999999, 1, 0 +6.161242499999999, 0, 0 +6.164091750000000, 1, 0 +6.164826499999999, 0, 0 +6.165454749999999, 1, 0 +6.166022000000000, 0, 0 +6.166650250000000, 1, 0 +6.167215750000000, 0, 0 +6.167843000000000, 1, 0 +6.168407500000000, 0, 0 +6.169033250000000, 1, 0 +6.169597500000000, 0, 0 +6.170224750000000, 1, 0 +6.170787750000000, 0, 0 +6.171415499999999, 1, 0 +6.171980500000000, 0, 0 +6.172609000000000, 1, 0 +6.173173250000000, 0, 0 +6.173802999999999, 1, 0 +6.174368749999999, 0, 0 +6.174999499999999, 1, 0 +6.175567000000000, 0, 0 +6.176197999999999, 1, 0 +6.176765500000000, 0, 0 +6.177397000000000, 1, 0 +6.177963000000000, 0, 0 +6.178596750000000, 1, 0 +6.179161000000000, 0, 0 +6.179791499999999, 1, 0 +6.180358500000000, 0, 0 +6.180987500000000, 1, 0 +6.181552000000000, 0, 0 +6.182179000000000, 1, 0 +6.182740750000000, 0, 0 +6.183365750000000, 1, 0 +6.183926000000000, 0, 0 +6.185505000000000, 1, 0 +6.186288500000000, 0, 0 +6.186903999999999, 1, 0 +6.187463250000000, 0, 0 +6.188080250000000, 1, 0 +6.188637000000000, 0, 0 +6.189252000000000, 1, 0 +6.189809250000000, 0, 0 +6.190424000000000, 1, 0 +6.190979500000000, 0, 0 +6.191594750000000, 1, 0 +6.192151500000000, 0, 0 +6.192768750000000, 1, 0 +6.193326500000000, 0, 0 +6.193793749999999, 0, 1 +6.193945250000000, 1, 1 +6.194506250000000, 0, 1 +6.195129250000000, 1, 1 +6.195691500000000, 0, 1 +6.196315500000000, 1, 1 +6.196883750000000, 0, 1 +6.197510250000000, 1, 1 +6.198077250000000, 0, 1 +6.198707000000000, 1, 1 +6.199273250000000, 0, 1 +6.199904249999999, 1, 1 +6.200470000000000, 0, 1 +6.201099500000000, 1, 1 +6.201665500000000, 0, 1 +6.202292500000000, 1, 1 +6.202854749999999, 0, 1 +6.203479499999999, 1, 1 +6.204040500000000, 0, 1 +6.206856250000000, 1, 1 +6.207581750000000, 0, 1 +6.208201750000000, 1, 1 +6.208760750000000, 0, 1 +6.209380749999999, 1, 1 +6.209939250000000, 0, 1 +6.210559249999999, 1, 1 +6.211117000000000, 0, 1 +6.211736500000000, 1, 1 +6.212295000000000, 0, 1 +6.212916500000000, 1, 1 +6.213474000000000, 0, 1 +6.214096000000000, 1, 1 +6.214656250000000, 0, 1 +6.215280750000000, 1, 1 +6.215841250000000, 0, 1 +6.216468250000000, 1, 1 +6.217030500000000, 0, 1 +6.217658750000000, 1, 1 +6.218223000000000, 0, 1 +6.218850750000000, 1, 1 +6.219415000000000, 0, 1 +6.220043500000000, 1, 1 +6.220605750000000, 0, 1 +6.221235000000000, 1, 1 +6.221795750000000, 0, 1 +6.222421250000000, 1, 1 +6.222983750000000, 0, 1 +6.223606750000000, 1, 1 +6.224166250000000, 0, 1 +6.224787249999999, 1, 1 +6.225343500000000, 0, 1 +6.225962500000000, 1, 1 +6.226517749999999, 0, 1 +6.228082000000000, 1, 1 +6.228860249999999, 0, 1 +6.229470750000000, 1, 1 +6.230026000000000, 0, 1 +6.230639000000000, 1, 1 +6.231192500000000, 0, 1 +6.231804250000000, 1, 1 +6.232359250000000, 0, 1 +6.232972250000000, 1, 1 +6.233527000000000, 0, 1 +6.234141500000000, 1, 1 +6.234698250000000, 0, 1 +6.235315500000000, 1, 1 +6.235474500000000, 1, 0 +6.235873750000000, 0, 0 +6.236492999999999, 1, 0 +6.237054250000000, 0, 0 +6.237677499999999, 1, 0 +6.238239750000000, 0, 0 +6.238862999999999, 1, 0 +6.239429250000000, 0, 0 +6.240053750000000, 1, 0 +6.240616999999999, 0, 0 +6.241242499999999, 1, 0 +6.241804500000000, 0, 0 +6.242430499999999, 1, 0 +6.242992000000000, 0, 0 +6.243617500000000, 1, 0 +6.244180999999999, 0, 0 +6.244807750000000, 1, 0 +6.245370250000000, 0, 0 +6.245997000000000, 1, 0 +6.246561750000000, 0, 0 +6.249396500000000, 1, 0 +6.250128500000000, 0, 0 +6.250750999999999, 1, 0 +6.251313000000000, 0, 0 +6.251935250000000, 1, 0 +6.252494749999999, 0, 0 +6.253115999999999, 1, 0 +6.253673750000000, 0, 0 +6.254292749999999, 1, 0 +6.254850999999999, 0, 0 +6.255471000000000, 1, 0 +6.256027749999999, 0, 0 +6.256648750000000, 1, 0 +6.257207500000000, 0, 0 +6.257829750000000, 1, 0 +6.258388249999999, 0, 0 +6.259012750000000, 1, 0 +6.259573250000000, 0, 0 +6.260198500000000, 1, 0 +6.260761250000000, 0, 0 +6.261387500000000, 1, 0 +6.261950250000000, 0, 0 +6.262577749999999, 1, 0 +6.263140000000000, 0, 0 +6.263769500000000, 1, 0 +6.264330500000000, 0, 0 +6.264956750000000, 1, 0 +6.265519749999999, 0, 0 +6.266144000000000, 1, 0 +6.266704000000000, 0, 0 +6.267326499999999, 1, 0 +6.267882999999999, 0, 0 +6.268503000000000, 1, 0 +6.269058750000000, 0, 0 +6.270624750000000, 1, 0 +6.271406499999999, 0, 0 +6.272019500000000, 1, 0 +6.272577000000000, 0, 0 +6.273193249999999, 1, 0 +6.273749500000000, 0, 0 +6.274365000000000, 1, 0 +6.274923250000000, 0, 0 +6.275540250000000, 1, 0 +6.276098250000000, 0, 0 +6.276716250000000, 1, 0 +6.277276000000000, 0, 0 +6.277896999999999, 1, 0 +6.278457500000000, 0, 0 +6.278934000000000, 0, 1 +6.279079749999999, 1, 1 +6.279643249999999, 0, 1 +6.280268749999999, 1, 1 +6.280833250000000, 0, 1 +6.281459249999999, 1, 1 +6.282027750000000, 0, 1 +6.282654249999999, 1, 1 +6.283220750000000, 0, 1 +6.283849000000000, 1, 1 +6.284413250000000, 0, 1 +6.285041000000000, 1, 1 +6.285604250000000, 0, 1 +6.286230000000000, 1, 1 +6.286792750000000, 0, 1 +6.287416749999999, 1, 1 +6.287974999999999, 0, 1 +6.288595000000000, 1, 1 +6.289152750000000, 0, 1 +6.291942000000000, 1, 1 +6.292661250000000, 0, 1 +6.293273500000000, 1, 1 +6.293826250000000, 0, 1 +6.294438749999999, 1, 1 +6.294989750000000, 0, 1 +6.295602000000000, 1, 1 +6.296152500000000, 0, 1 +6.296763500000000, 1, 1 +6.297315250000000, 0, 1 +6.297929500000000, 1, 1 +6.298480750000000, 0, 1 +6.299096749999999, 1, 1 +6.299651250000000, 0, 1 +6.300269999999999, 1, 1 +6.300825499999999, 0, 1 +6.301447749999999, 1, 1 +6.302005749999999, 0, 1 +6.302629000000000, 1, 1 +6.303189250000000, 0, 1 +6.303813250000000, 1, 1 +6.304373000000000, 0, 1 +6.304997250000000, 1, 1 +6.305555999999999, 0, 1 +6.306182000000000, 1, 1 +6.306738750000000, 0, 1 +6.307360750000000, 1, 1 +6.307919750000000, 0, 1 +6.308539499999999, 1, 1 +6.309095500000000, 0, 1 +6.309712999999999, 1, 1 +6.310265999999999, 0, 1 +6.310881750000000, 1, 1 +6.311433750000000, 0, 1 +6.312992250000000, 1, 1 +6.313765500000000, 0, 1 +6.314373750000000, 1, 1 +6.314927500000000, 0, 1 +6.315538249999999, 1, 1 +6.316090000000000, 0, 1 +6.316699750000000, 1, 1 +6.317253000000000, 0, 1 +6.317863750000000, 1, 1 +6.318416249999999, 0, 1 +6.319027999999999, 1, 1 +6.319582250000000, 0, 1 +6.320196500000000, 1, 1 +6.320360249999999, 1, 0 +6.320751500000000, 0, 0 +6.321367000000000, 1, 0 +6.321924750000000, 0, 0 +6.322543500000000, 1, 0 +6.323102000000000, 0, 0 +6.323720499999999, 1, 0 +6.324282750000000, 0, 0 +6.324902499999999, 1, 0 +6.325461499999999, 0, 0 +6.326082250000000, 1, 0 +6.326640250000000, 0, 0 +6.327262250000000, 1, 0 +6.327820249999999, 0, 0 +6.328442750000000, 1, 0 +6.329003750000000, 0, 0 +6.329628000000000, 1, 0 +6.330189750000000, 0, 0 +6.330815500000000, 1, 0 +6.331379999999999, 0, 0 +6.334228250000000, 1, 0 +6.334968500000000, 0, 0 +6.335598500000000, 1, 0 +6.336167499999999, 0, 0 +6.336798500000000, 1, 0 +6.337367000000000, 0, 0 +6.337998000000000, 1, 0 +6.338565750000000, 0, 0 +6.339195500000000, 1, 0 +6.339764250000000, 0, 0 +6.340395249999999, 1, 0 +6.340962999999999, 0, 0 +6.341595000000000, 1, 0 +6.342164500000000, 0, 0 +6.342797750000000, 1, 0 +6.343367000000000, 0, 0 +6.344002250000000, 1, 0 +6.344572500000000, 0, 0 +6.345208250000000, 1, 0 +6.345780000000000, 0, 0 +6.346415749999999, 1, 0 +6.346987250000000, 0, 0 +6.347623749999999, 1, 0 +6.348193999999999, 0, 0 +6.348831750000000, 1, 0 +6.349399750000000, 0, 0 +6.350033499999999, 1, 0 +6.350603250000000, 0, 0 +6.351234499999999, 1, 0 +6.351800750000000, 0, 0 +6.352429250000000, 1, 0 +6.352991250000000, 0, 0 +6.353616750000000, 1, 0 +6.354177249999999, 0, 0 +6.355757499999999, 1, 0 +6.356543500000000, 0, 0 +6.357160749999999, 1, 0 +6.357721750000000, 0, 0 +6.358340500000000, 1, 0 +6.358899249999999, 0, 0 +6.359516750000000, 1, 0 +6.360076500000000, 0, 0 +6.360694250000000, 1, 0 +6.361252500000000, 0, 0 +6.361871000000000, 1, 0 +6.362430000000000, 0, 0 +6.363049750000000, 1, 0 +6.363609250000000, 0, 0 +6.364073500000000, 0, 1 +6.364229500000000, 1, 1 +6.364791250000000, 0, 1 +6.365414500000000, 1, 1 +6.365976750000000, 0, 1 +6.366599250000000, 1, 1 +6.367165500000000, 0, 1 +6.367789000000000, 1, 1 +6.368351750000000, 0, 1 +6.368976500000000, 1, 1 +6.369537500000000, 0, 1 +6.370162000000000, 1, 1 +6.370722250000000, 0, 1 +6.371344750000000, 1, 1 +6.371905000000000, 0, 1 +6.372526250000000, 1, 1 +6.373082500000000, 0, 1 +6.373701250000000, 1, 1 +6.374256000000000, 0, 1 +6.377038250000000, 1, 1 +6.377755000000000, 0, 1 +6.378367250000000, 1, 1 +6.378920000000000, 0, 1 +6.379533749999999, 1, 1 +6.380086500000000, 0, 1 +6.380701250000000, 1, 1 +6.381254500000000, 0, 1 +6.381870500000000, 1, 1 +6.382426000000000, 0, 1 +6.383045000000000, 1, 1 +6.383601250000000, 0, 1 +6.384222500000000, 1, 1 +6.384782250000000, 0, 1 +6.385406750000000, 1, 1 +6.385967750000000, 0, 1 +6.386595499999999, 1, 1 +6.387159000000000, 0, 1 +6.387788250000000, 1, 1 +6.388354000000000, 0, 1 +6.388984250000000, 1, 1 +6.389550250000000, 0, 1 +6.390181249999999, 1, 1 +6.390746249999999, 0, 1 +6.391379499999999, 1, 1 +6.391942999999999, 0, 1 +6.392572749999999, 1, 1 +6.393139250000000, 0, 1 +6.393767250000000, 1, 1 +6.394331250000000, 0, 1 +6.394957250000000, 1, 1 +6.395517750000000, 0, 1 +6.396141000000000, 1, 1 +6.396700000000000, 0, 1 +6.398274499999999, 1, 1 +6.399055750000000, 0, 1 +6.399669250000000, 1, 1 +6.400227500000000, 0, 1 +6.400843249999999, 1, 1 +6.401398749999999, 0, 1 +6.402012750000000, 1, 1 +6.402569499999999, 0, 1 +6.403184749999999, 1, 1 +6.403741000000000, 0, 1 +6.404357500000000, 1, 1 +6.404915500000000, 0, 1 +6.405534250000000, 1, 1 +6.405693500000000, 1, 0 +6.406092999999999, 0, 0 +6.406713000000000, 1, 0 +6.407274750000000, 0, 0 +6.407897750000000, 1, 0 +6.408460000000000, 0, 0 +6.409082750000000, 1, 0 +6.409648750000000, 0, 0 +6.410272000000000, 1, 0 +6.410835250000000, 0, 0 +6.411460500000000, 1, 0 +6.412021750000000, 0, 0 +6.412647499999999, 1, 0 +6.413208500000000, 0, 0 +6.413833500000000, 1, 0 +6.414396249999999, 0, 0 +6.415021749999999, 1, 0 +6.415583000000000, 0, 0 +6.416208000000000, 1, 0 +6.416770499999999, 0, 0 +6.419593500000000, 1, 0 +6.420321250000000, 0, 0 +6.420941500000000, 1, 0 +6.421501000000000, 0, 0 +6.422120749999999, 1, 0 +6.422677999999999, 0, 0 +6.423296750000000, 1, 0 +6.423853250000000, 0, 0 +6.424470250000000, 1, 0 +6.425027249999999, 0, 0 +6.425646749999999, 1, 0 +6.426202750000000, 0, 0 +6.426823499999999, 1, 0 +6.427383000000000, 0, 0 +6.428006500000000, 1, 0 +6.428566500000000, 0, 0 +6.429193250000000, 1, 0 +6.429755750000000, 0, 0 +6.430383750000000, 1, 0 +6.430949000000000, 0, 0 +6.431577750000000, 1, 0 +6.432142750000000, 0, 0 +6.432772249999999, 1, 0 +6.433336000000000, 0, 0 +6.433966750000000, 1, 0 +6.434528500000000, 0, 0 +6.435155500000000, 1, 0 +6.435719000000000, 0, 0 +6.436343249999999, 1, 0 +6.436903750000000, 0, 0 +6.437526000000000, 1, 0 +6.438082750000000, 0, 0 +6.438702500000000, 1, 0 +6.439258250000000, 0, 0 +6.440824750000000, 1, 0 +6.441605249999999, 0, 0 +6.442217749999999, 1, 0 +6.442774750000000, 0, 0 +6.443390249999999, 1, 0 +6.443945750000000, 0, 0 +6.444560249999999, 1, 0 +6.445117750000000, 0, 0 +6.445733499999999, 1, 0 +6.446290749999999, 0, 0 +6.446908250000000, 1, 0 +6.447466749999999, 0, 0 +6.448086750000000, 1, 0 +6.448646500000000, 0, 0 +6.449120750000000, 0, 1 +6.449267750000000, 1, 1 +6.449830749999999, 0, 1 +6.450455499999999, 1, 1 +6.451019000000000, 0, 1 +6.451643750000000, 1, 1 +6.452211500000000, 0, 1 +6.452836500000000, 1, 1 +6.453402000000000, 0, 1 +6.454028750000000, 1, 1 +6.454591750000000, 0, 1 +6.455217999999999, 1, 1 +6.455779499999999, 0, 1 +6.456403500000000, 1, 1 +6.456963500000000, 0, 1 +6.457584250000000, 1, 1 +6.458139249999999, 0, 1 +6.458756500000000, 1, 1 +6.459310250000000, 0, 1 +6.462087250000000, 1, 1 +6.462803249999999, 0, 1 +6.463414500000000, 1, 1 +6.463966000000000, 0, 1 +6.464577999999999, 1, 1 +6.465128500000000, 0, 1 +6.465740250000000, 1, 1 +6.466290750000000, 0, 1 +6.466902750000000, 1, 1 +6.467454500000000, 0, 1 +6.468069750000000, 1, 1 +6.468621250000000, 0, 1 +6.469238000000000, 1, 1 +6.469793249999999, 0, 1 +6.470412500000000, 1, 1 +6.470968249999999, 0, 1 +6.471590500000000, 1, 1 +6.472148000000000, 0, 1 +6.472770250000000, 1, 1 +6.473330000000000, 0, 1 +6.473952250000000, 1, 1 +6.474511000000000, 0, 1 +6.475133250000000, 1, 1 +6.475690500000000, 0, 1 +6.476314500000000, 1, 1 +6.476870500000000, 0, 1 +6.477492000000000, 1, 1 +6.478051250000000, 0, 1 +6.478672250000000, 1, 1 +6.479230250000000, 0, 1 +6.479851000000000, 1, 1 +6.480406500000000, 0, 1 +6.481025000000000, 1, 1 +6.481579500000000, 0, 1 +6.483141250000000, 1, 1 +6.483915000000000, 0, 1 +6.484522999999999, 1, 1 +6.485075500000000, 0, 1 +6.485685500000000, 1, 1 +6.486235750000000, 0, 1 +6.486843749999999, 1, 1 +6.487394500000000, 0, 1 +6.488003000000000, 1, 1 +6.488553000000000, 0, 1 +6.489162250000000, 1, 1 +6.489713750000000, 0, 1 +6.490324999999999, 1, 1 +6.490487750000000, 1, 0 +6.490877750000000, 0, 0 +6.491491249999999, 1, 0 +6.492047500000000, 0, 0 +6.492665000000000, 1, 0 +6.493222250000000, 0, 0 +6.493840749999999, 1, 0 +6.494402500000000, 0, 0 +6.495022250000000, 1, 0 +6.495582000000000, 0, 0 +6.496204499999999, 1, 0 +6.496763000000000, 0, 0 +6.497386000000000, 1, 0 +6.497945499999999, 0, 0 +6.498568750000000, 1, 0 +6.499130249999999, 0, 0 +6.499755000000000, 1, 0 +6.500316750000000, 0, 0 +6.500942750000000, 1, 0 +6.501507500000000, 0, 0 +6.504356250000000, 1, 0 +6.505093500000000, 0, 0 +6.505723499999999, 1, 0 +6.506292500000000, 0, 0 \ No newline at end of file diff --git a/unit_tests/tests/trigger/resources/4b11-running.logicdata b/unit_tests/tests/trigger/resources/4b11-running.logicdata new file mode 100644 index 0000000000..7d529db9b8 Binary files /dev/null and b/unit_tests/tests/trigger/resources/4b11-running.logicdata differ diff --git a/unit_tests/tests/trigger/test_real_4b11.cpp b/unit_tests/tests/trigger/test_real_4b11.cpp new file mode 100644 index 0000000000..758dcbbb9d --- /dev/null +++ b/unit_tests/tests/trigger/test_real_4b11.cpp @@ -0,0 +1,42 @@ +// Mitsubishi 4B11 trigger pattern +// Crank: 36-2-1 +// Cam: Single tooth (half moon) + +#include "pch.h" + +#include "logicdata_csv_reader.h" + +TEST(real4b11, running) { + CsvReader reader(1, /* vvtCount */ 0); + + reader.open("tests/trigger/resources/4b11-running.csv"); + EngineTestHelper eth(TEST_ENGINE); + engineConfiguration->isFasterEngineSpinUpEnabled = true; + engineConfiguration->alwaysInstantRpm = true; + + eth.setTriggerType(TT_36_2_1); + + int eventCount = 0; + bool gotRpm = false; + + while (reader.haveMore()) { + reader.processLine(ð); + eventCount++; + engine->rpmCalculator.onSlowCallback(); + + // Expect that all teeth are in the correct spot + float angleError = getTriggerCentral()->triggerToothAngleError; + EXPECT_TRUE(angleError < 3 && angleError > -3) << "tooth angle of " << angleError << " at timestamp " << (getTimeNowNt() / 1e8); + + auto rpm = Sensor::getOrZero(SensorType::Rpm); + if (!gotRpm && rpm) { + gotRpm = true; + + // We should get first RPM on exactly the first sync point - this means the instant RPM pre-sync event copy all worked OK + EXPECT_EQ(eventCount, 30); + EXPECT_NEAR(rpm, 1436.23f, 0.1); + } + } + + ASSERT_EQ(0, eth.recentWarnings()->getCount()); +} diff --git a/unit_tests/tests/trigger/test_real_gm_24x.cpp b/unit_tests/tests/trigger/test_real_gm_24x.cpp index de117c4daa..47922e19a0 100644 --- a/unit_tests/tests/trigger/test_real_gm_24x.cpp +++ b/unit_tests/tests/trigger/test_real_gm_24x.cpp @@ -21,6 +21,10 @@ TEST(crankingGm24x, gmRealCrankingFromFile) { engine->rpmCalculator.onSlowCallback(); + // Expect that all teeth are in the correct spot + float angleError = getTriggerCentral()->triggerToothAngleError; + EXPECT_TRUE(angleError < 3 && angleError > -3) << "tooth angle of " << angleError << " at timestamp " << (getTimeNowNt() / 1e8); + auto rpm = Sensor::getOrZero(SensorType::Rpm); if (!gotRpm && rpm) { gotRpm = true;