diff --git a/src/keyer.cpp b/src/keyer.cpp index 72d5207..3e81201 100644 --- a/src/keyer.cpp +++ b/src/keyer.cpp @@ -40,6 +40,12 @@ Keyer::Keyer(uint8_t wpm, Mode mode) : m_wpm(wpm), m_mode(mode) m_elementDuration = calcElementDurationUs(m_wpm); } +void Keyer::setSpeed(uint8_t wpm) +{ + m_wpm = wpm; + m_elementDuration = calcElementDurationUs(wpm); +} + void Keyer::run() { auto timestamp = get_absolute_time(); diff --git a/src/keyer.h b/src/keyer.h index 1c48384..bc32db9 100644 --- a/src/keyer.h +++ b/src/keyer.h @@ -16,12 +16,15 @@ public: Dah, InterCharSpace, }; + Keyer() = delete; Keyer(uint8_t wpm, Mode mode); + void setMode(Mode mode) { m_mode = mode; } + void setSpeed(uint8_t wpm); + void run(); private: - Keyer(){}; State state{State::Wait}; State m_previousState{State::Wait}; uint8_t m_wpm{18};