mirror of
https://github.com/Ikatono/stream_pad.git
synced 2025-10-29 04:56:01 -05:00
bunch of updates
This commit is contained in:
4
.gitignore
vendored
4
.gitignore
vendored
@@ -1,3 +1,7 @@
|
|||||||
*.code-workspace
|
*.code-workspace
|
||||||
*.kate-swp
|
*.kate-swp
|
||||||
build/*
|
build/*
|
||||||
|
#these are the generated source files for the embedded protobuf
|
||||||
|
src/protogen/*
|
||||||
|
#python virtual environment
|
||||||
|
*/venv/*
|
||||||
|
|||||||
2
FreeRTOS
2
FreeRTOS
Submodule FreeRTOS updated: 154dee1c86...b4fd629652
@@ -1,4 +1,5 @@
|
|||||||
syntax = "proto3";
|
syntax = "proto3";
|
||||||
|
package Messaging;
|
||||||
|
|
||||||
enum WheelAction {
|
enum WheelAction {
|
||||||
None = 0;
|
None = 0;
|
||||||
@@ -38,5 +39,4 @@ message Config {
|
|||||||
WheelAction wheel_action = 14;
|
WheelAction wheel_action = 14;
|
||||||
}
|
}
|
||||||
repeated Page pages = 1;
|
repeated Page pages = 1;
|
||||||
optional WheelAction wheel_action = 2;
|
|
||||||
}
|
}
|
||||||
@@ -3,9 +3,12 @@
|
|||||||
|
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
|
||||||
|
namespace Configuration
|
||||||
|
{
|
||||||
struct ActionId
|
struct ActionId
|
||||||
{
|
{
|
||||||
uint32_t value;
|
uint32_t value;
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
|
||||||
#endif //H_C91B532FD0D0486EAE4B48A326F9CA8C
|
#endif //H_C91B532FD0D0486EAE4B48A326F9CA8C
|
||||||
|
|||||||
120
src/Button.hpp
120
src/Button.hpp
@@ -6,7 +6,10 @@
|
|||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
#include "Pixel.hpp"
|
#include "Pixel.hpp"
|
||||||
#include "ActionId.hpp"
|
#include "ActionId.hpp"
|
||||||
|
#include "ProtoConfig.h"
|
||||||
|
|
||||||
|
namespace Configuration
|
||||||
|
{
|
||||||
class Page;
|
class Page;
|
||||||
|
|
||||||
class Button
|
class Button
|
||||||
@@ -24,7 +27,28 @@ class Button
|
|||||||
//for custom actions, this tells the host what to do
|
//for custom actions, this tells the host what to do
|
||||||
ActionId action_id;
|
ActionId action_id;
|
||||||
public:
|
public:
|
||||||
Button(Button&& other)
|
inline Button()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
inline Button(const Button& other)
|
||||||
|
{
|
||||||
|
hold_text = other.hold_text;
|
||||||
|
keycodes = other.keycodes;
|
||||||
|
color = other.color;
|
||||||
|
goto_page = other.goto_page;
|
||||||
|
action_id = other.action_id;
|
||||||
|
}
|
||||||
|
inline Button& operator=(const Button& other)
|
||||||
|
{
|
||||||
|
hold_text = other.hold_text;
|
||||||
|
keycodes = other.keycodes;
|
||||||
|
color = other.color;
|
||||||
|
goto_page = other.goto_page;
|
||||||
|
action_id = other.action_id;
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
inline Button(Button&& other)
|
||||||
{
|
{
|
||||||
hold_text = std::move(other.hold_text);
|
hold_text = std::move(other.hold_text);
|
||||||
keycodes = std::move(other.keycodes);
|
keycodes = std::move(other.keycodes);
|
||||||
@@ -32,6 +56,100 @@ class Button
|
|||||||
goto_page = other.goto_page;
|
goto_page = other.goto_page;
|
||||||
action_id = other.action_id;
|
action_id = other.action_id;
|
||||||
}
|
}
|
||||||
|
template<
|
||||||
|
uint32_t Config_pages_REP_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_page_text_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button1_Button_button_text_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button1_Button_keys_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button2_Button_button_text_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button2_Button_keys_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button3_Button_button_text_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button3_Button_keys_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button4_Button_button_text_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button4_Button_keys_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button5_Button_button_text_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button5_Button_keys_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button6_Button_button_text_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button6_Button_keys_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button7_Button_button_text_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button7_Button_keys_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button8_Button_button_text_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button8_Button_keys_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button9_Button_button_text_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button9_Button_keys_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button10_Button_button_text_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button10_Button_keys_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button11_Button_button_text_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button11_Button_keys_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button12_Button_button_text_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button12_Button_keys_LENGTH>
|
||||||
|
void load(const typename Messaging::Config<Config_pages_REP_LENGTH,
|
||||||
|
Config_pages_Page_page_text_LENGTH,
|
||||||
|
Config_pages_Page_button1_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button1_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button2_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button2_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button3_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button3_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button4_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button4_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button5_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button5_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button6_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button6_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button7_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button7_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button8_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button8_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button9_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button9_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button10_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button10_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button11_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button11_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button12_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button12_Button_keys_LENGTH>::Page
|
||||||
|
<Config_pages_Page_page_text_LENGTH,
|
||||||
|
Config_pages_Page_button1_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button1_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button2_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button2_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button3_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button3_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button4_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button4_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button5_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button5_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button6_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button6_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button7_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button7_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button8_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button8_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button9_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button9_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button10_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button10_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button11_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button11_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button12_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button12_Button_keys_LENGTH>::Button
|
||||||
|
<Config_pages_Page_button1_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button1_Button_keys_LENGTH> &ser)
|
||||||
|
{
|
||||||
|
hold_text.assign(ser.button_text());
|
||||||
|
for (int i = 0; i++; i < ser.get_keys().get_length())
|
||||||
|
keycodes.emplace_back(ser.get_keys()[i]);
|
||||||
|
{
|
||||||
|
auto c = ser.get_led();
|
||||||
|
color.red() = static_cast<uint8_t>(c.get_red());
|
||||||
|
color.green() = static_cast<uint8_t>(c.get_green());
|
||||||
|
color.blue() = static_cast<uint8_t>(c.get_blue());
|
||||||
|
}
|
||||||
|
//goto_page = ser.get_goto_page();
|
||||||
|
action_id.value = ser.get_action_id();
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
|
||||||
#endif //H_B4D7EE1A3D57466AA444F3FC912641B9
|
#endif //H_B4D7EE1A3D57466AA444F3FC912641B9
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
#include "Config.hpp"
|
||||||
|
|
||||||
|
namespace Configuration
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|||||||
@@ -3,7 +3,10 @@
|
|||||||
|
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include "Page.hpp"
|
#include "Page.hpp"
|
||||||
|
#include "ProtoConfig.h"
|
||||||
|
|
||||||
|
namespace Configuration
|
||||||
|
{
|
||||||
class Config
|
class Config
|
||||||
{
|
{
|
||||||
std::vector<Page> pages;
|
std::vector<Page> pages;
|
||||||
@@ -12,6 +15,100 @@ class Config
|
|||||||
{
|
{
|
||||||
return pages[index];
|
return pages[index];
|
||||||
}
|
}
|
||||||
|
void append(const Page& new_page)
|
||||||
|
{
|
||||||
|
pages.push_back(new_page);
|
||||||
|
}
|
||||||
|
template<
|
||||||
|
uint32_t Config_pages_REP_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_page_text_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button1_Button_button_text_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button1_Button_keys_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button2_Button_button_text_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button2_Button_keys_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button3_Button_button_text_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button3_Button_keys_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button4_Button_button_text_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button4_Button_keys_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button5_Button_button_text_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button5_Button_keys_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button6_Button_button_text_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button6_Button_keys_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button7_Button_button_text_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button7_Button_keys_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button8_Button_button_text_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button8_Button_keys_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button9_Button_button_text_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button9_Button_keys_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button10_Button_button_text_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button10_Button_keys_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button11_Button_button_text_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button11_Button_keys_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button12_Button_button_text_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button12_Button_keys_LENGTH>
|
||||||
|
void load(const Messaging::Config<
|
||||||
|
Config_pages_REP_LENGTH,
|
||||||
|
Config_pages_Page_page_text_LENGTH,
|
||||||
|
Config_pages_Page_button1_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button1_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button2_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button2_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button3_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button3_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button4_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button4_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button5_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button5_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button6_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button6_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button7_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button7_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button8_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button8_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button9_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button9_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button10_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button10_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button11_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button11_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button12_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button12_Button_keys_LENGTH> &ser)
|
||||||
|
{
|
||||||
|
auto _pages = ser.get_pages();
|
||||||
|
for (uint32_t i = 0; i++; i < _pages.get_length())
|
||||||
|
{
|
||||||
|
pages.emplace_back(Page());
|
||||||
|
pages.back().load<
|
||||||
|
Config_pages_REP_LENGTH,
|
||||||
|
Config_pages_Page_page_text_LENGTH,
|
||||||
|
Config_pages_Page_button1_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button1_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button2_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button2_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button3_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button3_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button4_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button4_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button5_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button5_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button6_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button6_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button7_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button7_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button8_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button8_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button9_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button9_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button10_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button10_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button11_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button11_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button12_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button12_Button_keys_LENGTH>
|
||||||
|
(_pages.get_const(i));
|
||||||
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
|
||||||
#endif //H_AE095F749CEA4FC29AC38902BC5FD5D1
|
#endif //H_AE095F749CEA4FC29AC38902BC5FD5D1
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
#include "Page.hpp"
|
#include "Page.hpp"
|
||||||
|
|
||||||
|
namespace Configuration
|
||||||
|
{
|
||||||
std::array<Pixel, 12> Page::led_rgb;
|
std::array<Pixel, 12> Page::led_rgb;
|
||||||
|
|
||||||
void Page::update_leds()
|
void Page::update_leds()
|
||||||
@@ -7,3 +9,4 @@ void Page::update_leds()
|
|||||||
for (int i = 0; i < 12; i++)
|
for (int i = 0; i < 12; i++)
|
||||||
led_rgb[i] = buttons[i].color;
|
led_rgb[i] = buttons[i].color;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|||||||
121
src/Page.hpp
121
src/Page.hpp
@@ -3,19 +3,136 @@
|
|||||||
|
|
||||||
#include <array>
|
#include <array>
|
||||||
#include "Button.hpp"
|
#include "Button.hpp"
|
||||||
|
#include "ProtoConfig.h"
|
||||||
|
|
||||||
|
namespace Configuration
|
||||||
|
{
|
||||||
class Page
|
class Page
|
||||||
{
|
{
|
||||||
static std::array<Pixel, 12> led_rgb;
|
static std::array<Pixel, 12> led_rgb;
|
||||||
std::array<Button, 12> buttons;
|
std::array<Button, 12> buttons;
|
||||||
std::string distplay_text;
|
std::string display_text;
|
||||||
public:
|
public:
|
||||||
Page(Page&& other) : buttons(std::move(other.buttons)) { }
|
inline Page() { }
|
||||||
|
inline Page(const Page& other)
|
||||||
|
{
|
||||||
|
buttons = other.buttons;
|
||||||
|
display_text = other.display_text;
|
||||||
|
}
|
||||||
|
inline Page(Page&& other) : buttons(std::move(other.buttons)) { }
|
||||||
|
template<
|
||||||
|
uint32_t Config_pages_REP_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_page_text_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button1_Button_button_text_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button1_Button_keys_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button2_Button_button_text_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button2_Button_keys_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button3_Button_button_text_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button3_Button_keys_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button4_Button_button_text_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button4_Button_keys_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button5_Button_button_text_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button5_Button_keys_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button6_Button_button_text_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button6_Button_keys_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button7_Button_button_text_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button7_Button_keys_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button8_Button_button_text_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button8_Button_keys_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button9_Button_button_text_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button9_Button_keys_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button10_Button_button_text_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button10_Button_keys_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button11_Button_button_text_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button11_Button_keys_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button12_Button_button_text_LENGTH,
|
||||||
|
uint32_t Config_pages_Page_button12_Button_keys_LENGTH>
|
||||||
|
void load(const typename Messaging::Config<Config_pages_REP_LENGTH,
|
||||||
|
Config_pages_Page_page_text_LENGTH,
|
||||||
|
Config_pages_Page_button1_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button1_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button2_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button2_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button3_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button3_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button4_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button4_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button5_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button5_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button6_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button6_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button7_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button7_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button8_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button8_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button9_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button9_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button10_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button10_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button11_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button11_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button12_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button12_Button_keys_LENGTH>::Page
|
||||||
|
<Config_pages_Page_page_text_LENGTH,
|
||||||
|
Config_pages_Page_button1_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button1_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button2_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button2_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button3_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button3_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button4_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button4_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button5_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button5_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button6_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button6_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button7_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button7_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button8_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button8_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button9_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button9_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button10_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button10_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button11_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button11_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button12_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button12_Button_keys_LENGTH> &ser)
|
||||||
|
{
|
||||||
|
buttons[0].load<Config_pages_REP_LENGTH,
|
||||||
|
Config_pages_Page_page_text_LENGTH,
|
||||||
|
Config_pages_Page_button1_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button1_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button2_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button2_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button3_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button3_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button4_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button4_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button5_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button5_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button6_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button6_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button7_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button7_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button8_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button8_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button9_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button9_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button10_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button10_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button11_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button11_Button_keys_LENGTH,
|
||||||
|
Config_pages_Page_button12_Button_button_text_LENGTH,
|
||||||
|
Config_pages_Page_button12_Button_keys_LENGTH>
|
||||||
|
(ser.get_button1());
|
||||||
|
}
|
||||||
void update_leds();
|
void update_leds();
|
||||||
Button& button(std::size_t index)
|
Button& button(std::size_t index)
|
||||||
{
|
{
|
||||||
return buttons[index];
|
return buttons[index];
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
|
||||||
#endif //H_1AAB801F01BA49D0BB2AAB917C307E50
|
#endif //H_1AAB801F01BA49D0BB2AAB917C307E50
|
||||||
|
|||||||
@@ -3,6 +3,8 @@
|
|||||||
|
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
|
||||||
|
namespace Configuration
|
||||||
|
{
|
||||||
struct Pixel
|
struct Pixel
|
||||||
{
|
{
|
||||||
uint32_t value;
|
uint32_t value;
|
||||||
@@ -20,5 +22,6 @@ struct Pixel
|
|||||||
uint8_t& white() { return *(reinterpret_cast<uint8_t*>(value)+0); }
|
uint8_t& white() { return *(reinterpret_cast<uint8_t*>(value)+0); }
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
|
||||||
#endif //H_FF2FF9A6BC114C719F44441B6FD238C2
|
#endif //H_FF2FF9A6BC114C719F44441B6FD238C2
|
||||||
|
|||||||
43
src/main.cpp
Normal file
43
src/main.cpp
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
#include "Config.hpp"
|
||||||
|
#include "Page.hpp"
|
||||||
|
#include "ProtoConfig.h"
|
||||||
|
#include "ReadBufferInterface.h"
|
||||||
|
#include "ReadBufferFixedSize.h"
|
||||||
|
//#include <stdio.h>
|
||||||
|
#include "pico/stdlib.h"
|
||||||
|
#include <cstring>
|
||||||
|
|
||||||
|
constexpr uint32_t MAX_KEY_PRESSES = 5;
|
||||||
|
constexpr uint32_t MAX_STR_LENGTH = 50;
|
||||||
|
constexpr uint32_t MAX_PAGES = 12;
|
||||||
|
constexpr uint32_t BUFFER_SIZE = 1024;
|
||||||
|
|
||||||
|
using ConfigDeser = Messaging::Config<MAX_PAGES, MAX_STR_LENGTH, MAX_STR_LENGTH,
|
||||||
|
MAX_KEY_PRESSES, MAX_STR_LENGTH, MAX_KEY_PRESSES, MAX_STR_LENGTH,
|
||||||
|
MAX_KEY_PRESSES, MAX_STR_LENGTH, MAX_KEY_PRESSES, MAX_STR_LENGTH,
|
||||||
|
MAX_KEY_PRESSES, MAX_STR_LENGTH, MAX_KEY_PRESSES, MAX_STR_LENGTH,
|
||||||
|
MAX_KEY_PRESSES, MAX_STR_LENGTH, MAX_KEY_PRESSES, MAX_STR_LENGTH,
|
||||||
|
MAX_KEY_PRESSES, MAX_STR_LENGTH, MAX_KEY_PRESSES, MAX_STR_LENGTH,
|
||||||
|
MAX_KEY_PRESSES, MAX_STR_LENGTH, MAX_KEY_PRESSES>;
|
||||||
|
|
||||||
|
Configuration::Config config;
|
||||||
|
Configuration::Page *active_page;
|
||||||
|
char config_buffer[1024];
|
||||||
|
|
||||||
|
extern "C"
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
stdio_init_all();
|
||||||
|
{
|
||||||
|
EmbeddedProto::ReadBufferFixedSize<BUFFER_SIZE> buffer;
|
||||||
|
ConfigDeser config_message;
|
||||||
|
if (!gets(reinterpret_cast<char*>(buffer.get_data())))
|
||||||
|
{
|
||||||
|
//read failed
|
||||||
|
}
|
||||||
|
buffer.set_bytes_written(std::strlen(reinterpret_cast<char*>(buffer.get_data())));
|
||||||
|
config_message.deserialize(buffer);
|
||||||
|
config.load(config_message);
|
||||||
|
}
|
||||||
|
while (true);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user