summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Evans <[email protected]>2021-07-27 12:07:19 +1000
committerBen Evans <[email protected]>2021-07-27 12:07:19 +1000
commit0953be9d7f037dea3e60011d0c0d0bfac743f3e0 (patch)
tree67496700ceb8767d3916eadafe5f6f6f55b07e19
parentd058645f977bfa1358fb4aeae2890f4a371fb66c (diff)
Small tidy up for waveshare openh743i BSP.
-rw-r--r--hw/bsp/waveshare_openh743i/board.c22
1 files changed, 17 insertions, 5 deletions
diff --git a/hw/bsp/waveshare_openh743i/board.c b/hw/bsp/waveshare_openh743i/board.c
index db05af586..4468c0668 100644
--- a/hw/bsp/waveshare_openh743i/board.c
+++ b/hw/bsp/waveshare_openh743i/board.c
@@ -100,6 +100,7 @@
#define OTG_FS_VBUS_SENSE 1
#define OTG_HS_VBUS_SENSE 0
+
//--------------------------------------------------------------------+
// MACRO TYPEDEF CONSTANT ENUM
//--------------------------------------------------------------------+
@@ -107,6 +108,7 @@
UART_HandleTypeDef uartHandle;
TIM_HandleTypeDef tim2Handle;
+
//--------------------------------------------------------------------+
// Forward USB interrupt events to TinyUSB IRQ Handler
//--------------------------------------------------------------------+
@@ -125,6 +127,7 @@ void OTG_HS_IRQHandler(void)
tud_int_handler(1);
}
+
//--------------------------------------------------------------------+
// RCC Clock
//--------------------------------------------------------------------+
@@ -230,17 +233,19 @@ static void init_timer(void)
return;
}
-//Custom board delay implementation using timer ticks
+
+// Custom board delay implementation using timer ticks
static inline void timer_board_delay(uint32_t ms)
{
uint32_t startMs = __HAL_TIM_GET_COUNTER(&tim2Handle);
while ((__HAL_TIM_GET_COUNTER(&tim2Handle) - startMs) < ms)
{
- asm("nop");
+ asm("nop"); //do nothing
}
}
+//Board initialisation
void board_init(void)
{
GPIO_InitTypeDef GPIO_InitStruct;
@@ -418,11 +423,11 @@ void board_init(void)
#endif // rhport = 1
- //Disable the timer use for delays
+ //Disable the timer used for delays
HAL_TIM_Base_Stop(&tim2Handle);
__HAL_RCC_TIM2_CLK_DISABLE();
- // 1ms tick timer
+ // Configure systick 1ms tick timer
SysTick_Config(SystemCoreClock / 1000);
//Enable systick
@@ -431,20 +436,22 @@ void board_init(void)
return;
}
+
//--------------------------------------------------------------------+
// Board porting API
//--------------------------------------------------------------------+
-
void board_led_write(bool state)
{
HAL_GPIO_WritePin(LED_PORT, LED_PIN, state ? LED_STATE_ON : (1 - LED_STATE_ON));
}
+
uint32_t board_button_read(void)
{
return (BUTTON_STATE_ACTIVE == HAL_GPIO_ReadPin(BUTTON_PORT, BUTTON_PIN)) ? 1 : 0;
}
+
int board_uart_read(uint8_t *buf, int len)
{
(void)buf;
@@ -452,12 +459,14 @@ int board_uart_read(uint8_t *buf, int len)
return 0;
}
+
int board_uart_write(void const *buf, int len)
{
HAL_UART_Transmit(&uartHandle, (uint8_t *)buf, len, 0xffff);
return len;
}
+
#if CFG_TUSB_OS == OPT_OS_NONE
volatile uint32_t system_ticks = 0;
void SysTick_Handler(void)
@@ -465,17 +474,20 @@ void SysTick_Handler(void)
system_ticks++;
}
+
uint32_t board_millis(void)
{
return system_ticks;
}
#endif
+
void HardFault_Handler(void)
{
asm("bkpt");
}
+
// Required by __libc_init_array in startup code if we are compiling using
// -nostdlib/-nostartfiles.
void _init(void)