raspikeyer/src/winkeyer.h

32 lines
No EOL
585 B
C++

#pragma once
#include <vector>
#include <functional>
#include "pico/util/queue.h"
class WinKeyer final
{
public:
void run(queue_t &queue);
void addObserver(std::function<void()> obs);
private:
enum class CommandState {
None,
Admin,
AdminEchoTest,
LoadDefaults,
KeyImmediate,
};
enum class WkMode {
WK1,
WK2,
WK3,
};
CommandState m_commandState {CommandState::None};
WkMode m_wkMode {WkMode::WK1};
bool m_hostOpen {false};
std::vector<std::function<void()>> m_observers;
};