summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2014-02-01 00:06:30 -0800
committerKeith Packard <keithp@keithp.com>2018-04-26 19:33:48 -0700
commit6247e0c81084b59365ceca0ced33d2db92a72444 (patch)
tree1d2e7e7f32cb7ee8a6d18e89ef8d53708dc41967 /src
parent04aa1dfa7918dcf4eea9ec4cef5a31ac2a61a00d (diff)
altos/fox: Enable system timer in flash loader and prod watchdog with it
This makes it possible to reflash the board without needing to disable the watchdog. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src')
-rw-r--r--src/fox1ihu/flash-loader/ao_pins.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/fox1ihu/flash-loader/ao_pins.h b/src/fox1ihu/flash-loader/ao_pins.h
index 3a942c9c..90917a38 100644
--- a/src/fox1ihu/flash-loader/ao_pins.h
+++ b/src/fox1ihu/flash-loader/ao_pins.h
@@ -21,6 +21,20 @@
/* External crystal at 8MHz */
#define AO_HSE 8000000
+#define AO_WATCHDOG_PORT (&stm_gpiod)
+#define AO_WATCHDOG_BIT 3
+
+#define AO_FLASH_LOADER_INIT do { \
+ ao_enable_output(AO_WATCHDOG_PORT, AO_WATCHDOG_BIT, AO_WATCHDOG, 0); \
+ } while (0)
+
+#define AO_TIMER_HOOK do { \
+ static uint8_t watchdog; \
+ ao_gpio_set(AO_WATCHDOG_PORT, AO_WATCHDOG_BIT, AO_WATCHDOG_PIN, watchdog); \
+ watchdog ^= 1; \
+ } while (0)
+
+#define HAS_TICK 1
#include <ao_flash_stm_pins.h>
/* Detatched signal, PD6 */