summaryrefslogtreecommitdiff
path: root/include/badge
diff options
context:
space:
mode:
authoruvok2025-08-02 18:56:34 +0200
committeruvok2025-08-02 19:00:02 +0200
commit98baf20860831957285a6d2acca1680bae15124f (patch)
treeafe4265bd66cb0f7edb5d2137b528ce6a473f1fa /include/badge
parentb3027f3fd49e64d19a5054831117e4598f491ab9 (diff)
Prepare having a display indicator
Diffstat (limited to 'include/badge')
-rw-r--r--include/badge/ble.h15
-rw-r--r--include/badge/display.h2
-rw-r--r--include/badge/indicator.h11
3 files changed, 26 insertions, 2 deletions
diff --git a/include/badge/ble.h b/include/badge/ble.h
index 231b103..27b4749 100644
--- a/include/badge/ble.h
+++ b/include/badge/ble.h
@@ -1,13 +1,24 @@
#pragma once
+#include "indicator.h"
#include <stdint.h>
namespace de::uvok::badge
{
+ enum class BleActionType
+ {
+ None,
+ Template,
+ Indicator
+ };
+
typedef struct
{
- bool has_data;
- uint8_t new_template;
+ BleActionType action_type;
+ union {
+ uint8_t new_template;
+ DisplayIndicator new_indicator;
+ };
} ble_poll_result_t;
void ble_init(void);
diff --git a/include/badge/display.h b/include/badge/display.h
index 567eef5..d78c899 100644
--- a/include/badge/display.h
+++ b/include/badge/display.h
@@ -1,5 +1,6 @@
#pragma once
+#include "indicator.h"
#include <stdint.h>
namespace de::uvok::badge
@@ -13,4 +14,5 @@ namespace de::uvok::badge
uint8_t display_prev(void);
uint8_t display_refresh(void);
void display_direct(uint8_t num);
+ void display_indicator(DisplayIndicator);
} // namespace de::uvok::badge
diff --git a/include/badge/indicator.h b/include/badge/indicator.h
new file mode 100644
index 0000000..033a186
--- /dev/null
+++ b/include/badge/indicator.h
@@ -0,0 +1,11 @@
+#pragma once
+
+namespace de::uvok::badge
+{
+ enum class DisplayIndicator
+ {
+ None,
+ Advertising,
+ Connected
+ };
+} // namespace de::uvok::badge