]> git.scottworley.com Git - tattlekey/blobdiff - client/tattlekey.c
client: Fancier blinking
[tattlekey] / client / tattlekey.c
index 910f6963b15ba10a647a2d42c1242398bb8d0d0d..17a41f9651660fece5d92cfebe18f4f85e57e47e 100644 (file)
@@ -1,22 +1,34 @@
-/**
- * Copyright (c) 2022 Raspberry Pi (Trading) Ltd.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
 #include "pico/cyw43_arch.h"
 #include "pico/stdlib.h"
 
-int main() {
-  stdio_init_all();
-  if (cyw43_arch_init()) {
-    printf("Wi-Fi init failed");
-    return -1;
-  }
+void one_blink(int duration) {
+  cyw43_arch_gpio_put(CYW43_WL_GPIO_LED_PIN, 1);
+  sleep_ms(duration);
+  cyw43_arch_gpio_put(CYW43_WL_GPIO_LED_PIN, 0);
+  sleep_ms(duration);
+}
+
+void signal(int count, int duration) {
+  for (int i = 0; i < count; i++)
+    one_blink(duration);
+  sleep_ms(1000);
+}
+
+void blink_forever(int duration) {
   while (true) {
-    cyw43_arch_gpio_put(CYW43_WL_GPIO_LED_PIN, 1);
-    sleep_ms(250);
-    cyw43_arch_gpio_put(CYW43_WL_GPIO_LED_PIN, 0);
-    sleep_ms(250);
+    one_blink(duration);
   }
 }
+
+void signal_error_by_blinking() { blink_forever(100); }
+void signal_success_by_blinking() { blink_forever(400); }
+
+int main() {
+  stdio_init_all();
+  if (cyw43_arch_init())
+    signal_error_by_blinking();
+  signal(1, 200);
+  signal(2, 200);
+  signal(3, 200);
+  signal_success_by_blinking();
+}