aboutsummaryrefslogtreecommitdiff
path: root/src/platforms/launchpad-icdi
diff options
context:
space:
mode:
Diffstat (limited to 'src/platforms/launchpad-icdi')
-rw-r--r--src/platforms/launchpad-icdi/platform.c15
-rw-r--r--src/platforms/launchpad-icdi/platform.h15
2 files changed, 12 insertions, 18 deletions
diff --git a/src/platforms/launchpad-icdi/platform.c b/src/platforms/launchpad-icdi/platform.c
index e689f0c..ff67fa0 100644
--- a/src/platforms/launchpad-icdi/platform.c
+++ b/src/platforms/launchpad-icdi/platform.c
@@ -33,7 +33,6 @@
extern void trace_tick(void);
-jmp_buf fatal_error_jmpbuf;
uint8_t running_status;
volatile uint32_t timeout_counter;
@@ -86,10 +85,20 @@ platform_init(void)
cdcacm_init();
}
+void platform_timeout_set(uint32_t ms)
+{
+ timeout_counter = ms / 10;
+}
+
+bool platform_timeout_is_expired(void)
+{
+ return timeout_counter == 0;
+}
+
void platform_delay(uint32_t delay)
{
- timeout_counter = delay * 10;
- while(timeout_counter);
+ platform_timeout_set(delay);
+ while (platform_timeout_is_expired());
}
const char *platform_target_voltage(void)
diff --git a/src/platforms/launchpad-icdi/platform.h b/src/platforms/launchpad-icdi/platform.h
index dc2efcf..52b963e 100644
--- a/src/platforms/launchpad-icdi/platform.h
+++ b/src/platforms/launchpad-icdi/platform.h
@@ -17,10 +17,6 @@
#ifndef __PLATFORM_H
#define __PLATFORM_H
-#include "gdb_packet.h"
-
-#include <setjmp.h>
-
#include <libopencm3/lm4f/gpio.h>
#include <libopencm3/usb/usbd.h>
@@ -31,7 +27,6 @@
#define DFU_IDENT "Black Magic Firmware Upgrade (Launchpad)"
#define DFU_IFACE_STRING "lolwut"
-extern jmp_buf fatal_error_jmpbuf;
extern uint8_t running_status;
extern volatile uint32_t timeout_counter;
@@ -108,16 +103,6 @@ extern usbd_driver lm4f_usb_driver;
#define SET_IDLE_STATE(state) {}
#define SET_ERROR_STATE(state) SET_IDLE_STATE(state)
-#define PLATFORM_SET_FATAL_ERROR_RECOVERY() {setjmp(fatal_error_jmpbuf);}
-#define PLATFORM_FATAL_ERROR(error) { \
- if( running_status ) gdb_putpacketz("X1D"); \
- else gdb_putpacketz("EFF"); \
- running_status = 0; \
- target_list_free(); \
- morse("TARGET LOST.", 1); \
- longjmp(fatal_error_jmpbuf, (error)); \
-}
-
#define PLATFORM_HAS_TRACESWO
inline static void gpio_set_val(uint32_t port, uint8_t pin, uint8_t val) {