atmel-samd: Fixup autoreset after switching boot to running once.
This commit is contained in:
parent
3f5028c666
commit
b1925b1bd8
@ -64,4 +64,5 @@ void autoreload_start() {
|
||||
|
||||
void autoreload_stop() {
|
||||
autoreload_delay_ms = 0;
|
||||
reload_next_character = false;
|
||||
}
|
||||
|
@ -47,8 +47,8 @@ MP_DEFINE_CONST_FUN_OBJ_0(samd_enable_autoreload_obj, samd_enable_autoreload);
|
||||
|
||||
//| .. method:: disable_autoreload()
|
||||
//|
|
||||
//| Disable autoreload based on USB file write activity until the next reload
|
||||
//| or until `enable_autoreload` is called.
|
||||
//| Disable autoreload based on USB file write activity until
|
||||
//| `enable_autoreload` is called.
|
||||
//|
|
||||
STATIC mp_obj_t samd_disable_autoreload(void) {
|
||||
autoreload_disable();
|
||||
|
@ -118,7 +118,6 @@ void reset_mp(void) {
|
||||
reset_status_led();
|
||||
new_status_color(0x8f008f);
|
||||
autoreload_stop();
|
||||
autoreload_enable();
|
||||
|
||||
// Sync the file systems in case any used RAM from the GC to cache. As soon
|
||||
// as we re-init the GC all bets are off on the cache.
|
||||
@ -249,6 +248,8 @@ bool start_mp(safe_mode_t safe_mode) {
|
||||
mp_hal_stdout_tx_str("Auto-reload is on. Simply save files over USB to run them or enter REPL to disable.\r\n");
|
||||
} else if (safe_mode != NO_SAFE_MODE) {
|
||||
mp_hal_stdout_tx_str("Running in safe mode! Auto-reload is off.\r\n");
|
||||
} else if (!autoreload_is_enabled()) {
|
||||
mp_hal_stdout_tx_str("Auto-reload is off.\r\n");
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@ -320,10 +321,12 @@ bool start_mp(safe_mode_t safe_mode) {
|
||||
mp_hal_stdout_tx_str("\r\n\r\n");
|
||||
}
|
||||
|
||||
if (!cdc_enabled_at_start && autoreload_is_enabled()) {
|
||||
mp_hal_stdout_tx_str("Auto-reload is on. Simply save files over USB to run them or enter REPL to disable.\r\n");
|
||||
} else {
|
||||
mp_hal_stdout_tx_str("Auto-reload is off.\r\n");
|
||||
if (!cdc_enabled_at_start) {
|
||||
if (autoreload_is_enabled()) {
|
||||
mp_hal_stdout_tx_str("Auto-reload is on. Simply save files over USB to run them or enter REPL to disable.\r\n");
|
||||
} else {
|
||||
mp_hal_stdout_tx_str("Auto-reload is off.\r\n");
|
||||
}
|
||||
}
|
||||
if (safe_mode != NO_SAFE_MODE) {
|
||||
mp_hal_stdout_tx_str("\r\nYou are running in safe mode which means something really bad happened.\r\n");
|
||||
@ -618,6 +621,7 @@ int main(void) {
|
||||
for (;;) {
|
||||
if (!skip_repl) {
|
||||
// The REPL mode can change, or it can request a reload.
|
||||
bool autoreload_on = autoreload_is_enabled();
|
||||
autoreload_disable();
|
||||
new_status_color(REPL_RUNNING);
|
||||
if (pyexec_mode_kind == PYEXEC_MODE_RAW_REPL) {
|
||||
@ -625,6 +629,9 @@ int main(void) {
|
||||
} else {
|
||||
exit_code = pyexec_friendly_repl();
|
||||
}
|
||||
if (autoreload_on) {
|
||||
autoreload_enable();
|
||||
}
|
||||
reset_samd21();
|
||||
reset_mp();
|
||||
}
|
||||
|
@ -131,9 +131,6 @@ int receive_usb(void) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Disable autoreload if someone is using the repl.
|
||||
autoreload_disable();
|
||||
|
||||
// Copy from head.
|
||||
cpu_irq_disable();
|
||||
int data = usb_rx_buf[usb_rx_buf_head];
|
||||
|
Loading…
Reference in New Issue
Block a user