aboutsummaryrefslogtreecommitdiff
path: root/src/platforms/native/platform.h
diff options
context:
space:
mode:
authorGareth McMullin2015-02-28 22:09:50 -0800
committerGareth McMullin2015-02-28 22:09:50 -0800
commit5eff0ab5d648408cf4df528d2be3d29b04034083 (patch)
tree695a54fb12639cad87eb9282d544fde39ccfbcf6 /src/platforms/native/platform.h
parent48fb7ec6625000c2d93456de0649dc0b67b7d6c0 (diff)
Factor out common GPIO code in STM32 platforms.
Diffstat (limited to 'src/platforms/native/platform.h')
-rw-r--r--src/platforms/native/platform.h33
1 files changed, 3 insertions, 30 deletions
diff --git a/src/platforms/native/platform.h b/src/platforms/native/platform.h
index 73b6c59..2fa1e84 100644
--- a/src/platforms/native/platform.h
+++ b/src/platforms/native/platform.h
@@ -35,9 +35,9 @@
#include <alloca.h>
#include "gdb_packet.h"
+#include "gpio.h"
#include "morse.h"
-#define INLINE_GPIO
#define CDCACM_PACKET_SIZE 64
#define PLATFORM_HAS_TRACESWO
#define PLATFORM_HAS_POWER_SWITCH
@@ -164,14 +164,6 @@ extern volatile uint32_t timeout_counter;
extern jmp_buf fatal_error_jmpbuf;
-
-#define gpio_set_val(port, pin, val) do { \
- if(val) \
- gpio_set((port), (pin)); \
- else \
- gpio_clear((port), (pin)); \
-} while(0)
-
#define SET_RUN_STATE(state) {running_status = (state);}
#define SET_IDLE_STATE(state) {gpio_set_val(LED_PORT, LED_IDLE_RUN, state);}
#define SET_ERROR_STATE(state) {gpio_set_val(LED_PORT, LED_ERROR, state);}
@@ -189,6 +181,8 @@ extern jmp_buf fatal_error_jmpbuf;
int platform_init(void);
const char *platform_target_voltage(void);
int platform_hwversion(void);
+void platform_set_timeout(uint32_t ms);
+bool platform_timeout_expired(void);
void platform_delay(uint32_t delay);
/* <cdcacm.c> */
@@ -205,27 +199,6 @@ void uart_usb_buf_drain(uint8_t ep);
#define sprintf siprintf
#define vasprintf vasiprintf
-#ifdef INLINE_GPIO
-static inline void _gpio_set(uint32_t gpioport, uint16_t gpios)
-{
- GPIO_BSRR(gpioport) = gpios;
-}
-#define gpio_set _gpio_set
-
-static inline void _gpio_clear(uint32_t gpioport, uint16_t gpios)
-{
- GPIO_BRR(gpioport) = gpios;
-}
-#define gpio_clear _gpio_clear
-
-static inline uint16_t _gpio_get(uint32_t gpioport, uint16_t gpios)
-{
- return (uint16_t)GPIO_IDR(gpioport) & gpios;
-}
-#define gpio_get _gpio_get
-#endif
-
-
#define disconnect_usb() gpio_set_mode(USB_PU_PORT, GPIO_MODE_INPUT, 0, USB_PU_PIN);
void assert_boot_pin(void);
void setup_vbus_irq(void);