state tracking for sseg

This commit is contained in:
Mitchell Marino 2025-03-28 00:48:33 -05:00 committed by Mitchell M
parent 4f2f0fccda
commit c359ecb544

View File

@ -1,5 +1,6 @@
#include "sseg.h"
#include "esp_log.h"
#include <esp_log.h>
#include "state_tracking.h"
TM1640* sseg = nullptr;
@ -18,12 +19,22 @@ void set_game_sseg_raw(const uint8_t* segments) {
sseg->setSegments(segments[1], 1);
sseg->setSegments(segments[2], 2);
sseg->setSegments(segments[3], 3);
if (is_state_tracking()) {
char buf[32];
sprintf(buf, "%d,%d,%d,%d", segments[0], segments[1], segments[2], segments[3]);
event_occured("SSEG_G_RAW", buf);
}
}
void clear_game_sseg() {
sseg->setSegments(0, 0);
sseg->setSegments(0, 1);
sseg->setSegments(0, 2);
sseg->setSegments(0, 3);
if (is_state_tracking()) {
event_occured("SSEG_G_CLR", NULL);
}
}
void set_module_sseg_raw(const uint8_t* segments) {
@ -31,6 +42,12 @@ void set_module_sseg_raw(const uint8_t* segments) {
sseg->setSegments(segments[1], 5);
sseg->setSegments(segments[2], 6);
sseg->setSegments(segments[3], 7);
if (is_state_tracking()) {
char buf[32];
sprintf(buf, "%d,%d,%d,%d", segments[0], segments[1], segments[2], segments[3]);
event_occured("SSEG_M_RAW", buf);
}
}
void clear_module_sseg() {
@ -38,6 +55,10 @@ void clear_module_sseg() {
sseg->setSegments(0, 5);
sseg->setSegments(0, 6);
sseg->setSegments(0, 7);
if (is_state_tracking()) {
event_occured("SSEG_M_CLR", NULL);
}
}
void set_game_sseg_num(uint32_t value, uint8_t dot_pos) {
@ -46,6 +67,12 @@ void set_game_sseg_num(uint32_t value, uint8_t dot_pos) {
sseg->sendChar(3-i, TM16XX_NUMBER_FONT[idx], i == dot_pos);
value = value / 10;
}
if (is_state_tracking()) {
char buf[16];
sprintf(buf, "%ld,%d", value, dot_pos);
event_occured("SSEG_G", buf);
}
}
void set_module_sseg_num(uint32_t value, uint8_t dot_pos) {
@ -54,4 +81,10 @@ void set_module_sseg_num(uint32_t value, uint8_t dot_pos) {
sseg->sendChar(7-i, TM16XX_NUMBER_FONT[idx], i == dot_pos);
value = value / 10;
}
if (is_state_tracking()) {
char buf[16];
sprintf(buf, "%ld,%d", value, dot_pos);
event_occured("SSEG_M", buf);
}
}