summaryrefslogtreecommitdiffstats
path: root/firmware
diff options
context:
space:
mode:
authorLouis Burda <quent.burda@gmail.com>2024-11-09 00:56:31 +0100
committerLouis Burda <quent.burda@gmail.com>2024-11-09 00:56:31 +0100
commit188b65034fa91ed692ef698602f005bece581272 (patch)
treeabbe81d033b1b085d8b0e15d3785ae06dba91233 /firmware
parentc0f8b7f02f08653953fd200d0676cdbad2b01ebc (diff)
downloaddesk-andon-188b65034fa91ed692ef698602f005bece581272.tar.gz
desk-andon-188b65034fa91ed692ef698602f005bece581272.zip
Add test mode
Diffstat (limited to 'firmware')
-rw-r--r--firmware/notes8
-rw-r--r--firmware/src/main/main.c21
2 files changed, 22 insertions, 7 deletions
diff --git a/firmware/notes b/firmware/notes
index 3795e63..1296a35 100644
--- a/firmware/notes
+++ b/firmware/notes
@@ -1,9 +1,13 @@
V_GS,LOW = V_DD - (V_DD - V_CC - V_TVS) * (R2 / (R1 + R2))
V_GS,HIGH = V_DD - V_DD * (R2 / (R1 + R2))
-V_DD = 0.6 * (1 + R1 / R2) = 0.6 * (1 + 100 / 5.1) = 12.4
-V_GS,LOW = 12.4 - (12.4 - 5 - 0.7) * (100 / (100 + 10)) = 0.6 V
+V_TVS ~= 6.3 V
+
+V_DD = 0.6 * (1 + R1 / R2) = 0.6 * (1 + 100 / 5.1) = 12.4 V
+V_GS,LOW = 12.4 - ((12.4 - V_TVS) * (100 / (100 + 10)) + V_TVS) = 0.55 V
V_GS,HIGH = 12.4 - 12.4 * (100 / (100 + 10)) = 1.13 V
+V_GS,TH = 0.6-0.7
+
Default stdio driver flushes after newline. May sleep for 50ms
when the tx fifo is full, but generally unbuffered.
diff --git a/firmware/src/main/main.c b/firmware/src/main/main.c
index a9ed2d0..1324d9f 100644
--- a/firmware/src/main/main.c
+++ b/firmware/src/main/main.c
@@ -347,6 +347,19 @@ http_init(void)
httpd_register_uri_handler(server, &http_post);
}
+static void
+test_init(void)
+{
+ uint8_t bv = 0;
+ int tick = 0;
+ while (1) {
+ printf("Tick %i\n", ++tick);
+ set_output(1 << bv);
+ bv = (bv + 1) % (SPEAKER + 1);
+ vTaskDelay(TICKS_MS(1000));
+ }
+}
+
void
app_main(void)
{
@@ -366,13 +379,11 @@ app_main(void)
xTaskCreate(lcd_task_main, "lcd", 16 * 1024, NULL, tskIDLE_PRIORITY, &lcd_task);
vTaskDelay(TICKS_MS(500));
+ test_init();
+
wifi_init();
http_init();
- int tick = 0;
- while (1) {
- printf("Tick %i\n", ++tick);
- vTaskDelay(TICKS_MS(1000));
- }
+ while (1) vTaskDelay(1000);
}