]> git.scottworley.com Git - tattlekey/blobdiff - client/tattlekey.c
client: Fancier blinking
[tattlekey] / client / tattlekey.c
index f34552bb58c8e48d2e642bb1f6c9c73f53c8669d..17a41f9651660fece5d92cfebe18f4f85e57e47e 100644 (file)
@@ -1,23 +1,34 @@
-/**
- * Copyright (c) 2020 Raspberry Pi (Trading) Ltd.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
+#include "pico/cyw43_arch.h"
 #include "pico/stdlib.h"
 
-int main() {
-#ifndef PICO_DEFAULT_LED_PIN
-#warning blink example requires a board with a regular LED
-#else
-  const uint LED_PIN = PICO_DEFAULT_LED_PIN;
-  gpio_init(LED_PIN);
-  gpio_set_dir(LED_PIN, GPIO_OUT);
+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) {
-    gpio_put(LED_PIN, 1);
-    sleep_ms(250);
-    gpio_put(LED_PIN, 0);
-    sleep_ms(250);
+    one_blink(duration);
   }
-#endif
+}
+
+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();
 }