From 242d07f50b51bf542eaf8ce239368abeddbe5e26 Mon Sep 17 00:00:00 2001 From: Andrey Date: Tue, 6 Aug 2024 17:10:18 -0400 Subject: [PATCH] only: new trigger method --- firmware/controllers/trigger/decoders/trigger_structure.cpp | 5 +++++ firmware/controllers/trigger/decoders/trigger_structure.h | 2 ++ 2 files changed, 7 insertions(+) diff --git a/firmware/controllers/trigger/decoders/trigger_structure.cpp b/firmware/controllers/trigger/decoders/trigger_structure.cpp index 9c3e88e8d6..1a7c5ef765 100644 --- a/firmware/controllers/trigger/decoders/trigger_structure.cpp +++ b/firmware/controllers/trigger/decoders/trigger_structure.cpp @@ -243,6 +243,11 @@ void TriggerWaveform::addToothRiseFall(angle_t angle, angle_t width, TriggerWhee addEvent360(angle, TriggerValue::FALL, channelIndex); } +void TriggerWaveform::addToothFallRise(angle_t angle, angle_t width, TriggerWheel const channelIndex) { + addEvent360(angle - width, TriggerValue::FALL, channelIndex); + addEvent360(angle, TriggerValue::RISE, channelIndex); +} + void TriggerWaveform::addEventAngle(angle_t angle, TriggerValue const state, TriggerWheel const channelIndex) { addEvent(angle / getCycleDuration(), state, channelIndex); } diff --git a/firmware/controllers/trigger/decoders/trigger_structure.h b/firmware/controllers/trigger/decoders/trigger_structure.h index f505ad6399..a924ddfd79 100644 --- a/firmware/controllers/trigger/decoders/trigger_structure.h +++ b/firmware/controllers/trigger/decoders/trigger_structure.h @@ -187,6 +187,8 @@ public: void addEvent360(angle_t angle, TriggerValue const state, TriggerWheel const channelIndex = TriggerWheel::T_PRIMARY); void addToothRiseFall(angle_t angle, angle_t width = 10, TriggerWheel const channelIndex = TriggerWheel::T_PRIMARY); + // fun: yet another inconsistency, right?! + void addToothFallRise(angle_t angle, angle_t width = 10, TriggerWheel const channelIndex = TriggerWheel::T_PRIMARY); /** * This version of the method is best when same wheel could be mounted either on crank or cam