summaryrefslogtreecommitdiff
path: root/supervisor
diff options
context:
space:
mode:
authorScott Shawcroft <scott.shawcroft@gmail.com>2017-11-15 14:44:14 -0800
committerScott Shawcroft <scott.shawcroft@gmail.com>2017-11-16 09:04:17 -0800
commitecc47d5258acfd903d3aba03b336e248e85ff5c2 (patch)
treec481ee18cc7333b3e64fa8c8b66a27418b26a075 /supervisor
parent2d34450872d40cf308981ffda6b1736528b1fba7 (diff)
Create supervisor module.
It can control autoreload and the rgb status led.
Diffstat (limited to 'supervisor')
-rw-r--r--supervisor/shared/autoreload.c12
-rw-r--r--supervisor/shared/autoreload.h4
2 files changed, 15 insertions, 1 deletions
diff --git a/supervisor/shared/autoreload.c b/supervisor/shared/autoreload.c
index b1d0f05a9..39c33c05e 100644
--- a/supervisor/shared/autoreload.c
+++ b/supervisor/shared/autoreload.c
@@ -31,13 +31,15 @@
volatile uint32_t autoreload_delay_ms = 0;
bool autoreload_enabled = false;
+static bool autoreload_suspended = false;
volatile bool reload_next_character = false;
inline void autoreload_tick() {
if (autoreload_delay_ms == 0) {
return;
}
- if (autoreload_delay_ms == 1 && autoreload_enabled && !reload_next_character) {
+ if (autoreload_delay_ms == 1 && autoreload_enabled &&
+ !autoreload_suspended && !reload_next_character) {
mp_keyboard_interrupt();
reload_next_character = true;
}
@@ -53,6 +55,14 @@ void autoreload_disable() {
autoreload_enabled = false;
}
+void autoreload_suspend() {
+ autoreload_suspended = true;
+}
+
+void autoreload_resume() {
+ autoreload_suspended = false;
+}
+
inline bool autoreload_is_enabled() {
return autoreload_enabled;
}
diff --git a/supervisor/shared/autoreload.h b/supervisor/shared/autoreload.h
index bc3c6d21d..62f9fe073 100644
--- a/supervisor/shared/autoreload.h
+++ b/supervisor/shared/autoreload.h
@@ -39,4 +39,8 @@ void autoreload_enable(void);
void autoreload_disable(void);
bool autoreload_is_enabled(void);
+// Temporarily turn it off. Used during the REPL.
+void autoreload_suspend(void);
+void autoreload_resume(void);
+
#endif // MICROPY_INCLUDED_SUPERVISOR_AUTORELOAD_H