Add button tests
This is implemented by connecting the DTR pin of the serial device to the BTN_UP pin of the watch. Also, make it possible to flash different applications with the Makefile. Resolves #4
This commit is contained in:
@@ -27,10 +27,13 @@
|
||||
using BSP::Schedule::Task;
|
||||
using BSP::Schedule::NextTime;
|
||||
using BSP::ReturnCode;
|
||||
using BSP::ButtonManager;
|
||||
using Button = ButtonManager::Button;
|
||||
using ButtonState = ButtonManager::ButtonState;
|
||||
|
||||
ScreenManager::ScreenManager(BSP::Schedule::TaskScheduler &scheduler,
|
||||
BSP::DisplayDriver &display,
|
||||
BSP::ButtonManager &buttons)
|
||||
ButtonManager &buttons)
|
||||
: m_scheduler(scheduler)
|
||||
, m_screen_stack{nullptr}
|
||||
, m_screen_stack_depth(0)
|
||||
@@ -43,23 +46,23 @@ ScreenManager::ScreenManager(BSP::Schedule::TaskScheduler &scheduler,
|
||||
ReturnCode ScreenManager::init()
|
||||
{
|
||||
m_buttons.set_callback(
|
||||
BSP::ButtonManager::Button::UP,
|
||||
[this](BSP::ButtonManager::ButtonState state) {
|
||||
if (state == BSP::ButtonManager::ButtonState::PRESSED) {
|
||||
Button::UP,
|
||||
[this](ButtonState state) {
|
||||
if (state == ButtonState::PRESSED) {
|
||||
current_screen()->notify_up_button();
|
||||
}});
|
||||
|
||||
m_buttons.set_callback(
|
||||
BSP::ButtonManager::Button::MID,
|
||||
[this](BSP::ButtonManager::ButtonState state) {
|
||||
if (state == BSP::ButtonManager::ButtonState::PRESSED) {
|
||||
Button::MID,
|
||||
[this](ButtonState state) {
|
||||
if (state == ButtonState::PRESSED) {
|
||||
return current_screen()->notify_middle_button();
|
||||
}});
|
||||
|
||||
m_buttons.set_callback(
|
||||
BSP::ButtonManager::Button::DOWN,
|
||||
[this](BSP::ButtonManager::ButtonState state) {
|
||||
if (state == BSP::ButtonManager::ButtonState::PRESSED) {
|
||||
Button::DOWN,
|
||||
[this](ButtonState state) {
|
||||
if (state == ButtonState::PRESSED) {
|
||||
current_screen()->notify_down_button();
|
||||
}});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user