summaryrefslogtreecommitdiff
path: root/src/telemini-v3.0
diff options
context:
space:
mode:
authorBdale Garbee <bdale@gag.com>2017-08-12 00:59:03 -0400
committerBdale Garbee <bdale@gag.com>2017-08-12 00:59:03 -0400
commit59c6167b9f1e9de30455af1632e9a0b65d64ad63 (patch)
treed27e4b3df53300081aa6ac0a30820c58a1c968ef /src/telemini-v3.0
parent41eedf88751910ea9c0a299444fbac769edb8427 (diff)
parentfccfa54bb3b746cecfcdc1fd497cf736bbfe3ef3 (diff)
Merge branch 'branch-1.8' into debian
Diffstat (limited to 'src/telemini-v3.0')
-rw-r--r--src/telemini-v3.0/.gitignore3
-rw-r--r--src/telemini-v3.0/ao_pins.h12
-rw-r--r--src/telemini-v3.0/ao_telemini.c22
-rw-r--r--src/telemini-v3.0/flash-loader/ao_pins.h8
4 files changed, 37 insertions, 8 deletions
diff --git a/src/telemini-v3.0/.gitignore b/src/telemini-v3.0/.gitignore
new file mode 100644
index 00000000..57946eb5
--- /dev/null
+++ b/src/telemini-v3.0/.gitignore
@@ -0,0 +1,3 @@
+ao_product.h
+*.bin
+*.elf
diff --git a/src/telemini-v3.0/ao_pins.h b/src/telemini-v3.0/ao_pins.h
index 351d28d8..17cff2ae 100644
--- a/src/telemini-v3.0/ao_pins.h
+++ b/src/telemini-v3.0/ao_pins.h
@@ -1,9 +1,10 @@
/*
- * Copyright © 2013 Keith Packard <keithp@keithp.com>
+ * Copyright © 2017 Keith Packard <keithp@keithp.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -66,6 +67,13 @@
#define HAS_IGNITE_REPORT 1
#define AO_SMALL_ALTITUDE_TABLE 1
+/* Use debug connector clock for recovery mode */
+#define HAS_FORCE_FREQ 1
+#define AO_RECOVERY_PORT (&stm_gpioa)
+#define AO_RECOVERY_PIN 14
+#define AO_RECOVERY_VALUE 0
+#define AO_RECOVERY_MODE AO_EXTI_MODE_PULL_UP
+
/* Beeper is on Tim1 CH3 */
#define BEEPER_CHANNEL 4
#define BEEPER_TIMER 2
diff --git a/src/telemini-v3.0/ao_telemini.c b/src/telemini-v3.0/ao_telemini.c
index 82c1acd4..a50268b9 100644
--- a/src/telemini-v3.0/ao_telemini.c
+++ b/src/telemini-v3.0/ao_telemini.c
@@ -1,9 +1,10 @@
/*
- * Copyright © 2011 Keith Packard <keithp@keithp.com>
+ * Copyright © 2017 Keith Packard <keithp@keithp.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -18,9 +19,26 @@
#include <ao.h>
#include <ao_exti.h>
+static void
+ao_check_recovery(void)
+{
+ int i;
+ ao_enable_input(AO_RECOVERY_PORT, AO_RECOVERY_PIN, AO_RECOVERY_MODE);
+ for (i = 0; i < 100; i++)
+ ao_arch_nop();
+ if (ao_gpio_get(AO_RECOVERY_PORT, AO_RECOVERY_PIN, AO_RECOVERY) == AO_RECOVERY_VALUE) {
+ ao_flight_force_idle = 1;
+ ao_force_freq = 1;
+ }
+ ao_gpio_set_mode(AO_RECOVERY_PORT, AO_RECOVERY_PIN, 0);
+ ao_disable_port(AO_RECOVERY_PORT);
+}
+
void
main(void)
{
+ ao_check_recovery();
+
ao_clock_init();
ao_task_init();
ao_timer_init();
diff --git a/src/telemini-v3.0/flash-loader/ao_pins.h b/src/telemini-v3.0/flash-loader/ao_pins.h
index fea9a645..c523d413 100644
--- a/src/telemini-v3.0/flash-loader/ao_pins.h
+++ b/src/telemini-v3.0/flash-loader/ao_pins.h
@@ -21,13 +21,13 @@
#include <ao_flash_stm_pins.h>
-/* beeper to 3.3V for boot loader mode */
+/* SWDIO to gnd for boot loader mode */
#define AO_BOOT_PIN 1
#define AO_BOOT_APPLICATION_GPIO stm_gpioa
-#define AO_BOOT_APPLICATION_PIN 3
-#define AO_BOOT_APPLICATION_VALUE 0
-#define AO_BOOT_APPLICATION_MODE AO_EXTI_MODE_PULL_DOWN
+#define AO_BOOT_APPLICATION_PIN 13
+#define AO_BOOT_APPLICATION_VALUE 1
+#define AO_BOOT_APPLICATION_MODE AO_EXTI_MODE_PULL_UP
/* USB */
#define HAS_USB 1