Skip to content

Commit e605ce6

Browse files
committed
Debugging additions
1 parent c78d799 commit e605ce6

File tree

1 file changed

+21
-0
lines changed
  • ports/stm32f4/common-hal/busio

1 file changed

+21
-0
lines changed

ports/stm32f4/common-hal/busio/UART.c

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,31 +49,43 @@ void uart_reset(void) {
4949
#ifdef USART1
5050
reserved_uart[0] = false;
5151
MP_STATE_PORT(cpy_uart_obj_all)[0] = NULL;
52+
__HAL_RCC_USART1_FORCE_RESET();
53+
__HAL_RCC_USART1_RELEASE_RESET();
5254
__HAL_RCC_USART1_CLK_DISABLE();
5355
#endif
5456
#ifdef USART2
5557
reserved_uart[1] = false;
5658
MP_STATE_PORT(cpy_uart_obj_all)[1] = NULL;
59+
__HAL_RCC_USART2_FORCE_RESET();
60+
__HAL_RCC_USART2_RELEASE_RESET();
5761
__HAL_RCC_USART2_CLK_DISABLE();
5862
#endif
5963
#ifdef USART3
6064
reserved_uart[2] = false;
6165
MP_STATE_PORT(cpy_uart_obj_all)[2] = NULL;
66+
__HAL_RCC_USART3_FORCE_RESET();
67+
__HAL_RCC_USART3_RELEASE_RESET();
6268
__HAL_RCC_USART3_CLK_DISABLE();
6369
#endif
6470
#ifdef UART4
6571
reserved_uart[3] = false;
6672
MP_STATE_PORT(cpy_uart_obj_all)[3] = NULL;
73+
__HAL_RCC_UART4_FORCE_RESET();
74+
__HAL_RCC_UART4_RELEASE_RESET();
6775
__HAL_RCC_UART4_CLK_DISABLE();
6876
#endif
6977
#ifdef UART5
7078
reserved_uart[4] = false;
7179
MP_STATE_PORT(cpy_uart_obj_all)[4] = NULL;
80+
__HAL_RCC_UART5_FORCE_RESET();
81+
__HAL_RCC_UART5_RELEASE_RESET();
7282
__HAL_RCC_UART5_CLK_DISABLE();
7383
#endif
7484
#ifdef USART6
7585
reserved_uart[5] = false;
7686
MP_STATE_PORT(cpy_uart_obj_all)[5] = NULL;
87+
__HAL_RCC_USART6_FORCE_RESET();
88+
__HAL_RCC_USART6_RELEASE_RESET();
7789
__HAL_RCC_USART6_CLK_DISABLE();
7890
#endif
7991
//TODO: this technically needs to go to 10 to support F413. Any way to condense?
@@ -302,6 +314,14 @@ void common_hal_busio_uart_construct(busio_uart_obj_t *self,
302314
errflag = 0;
303315
rxflag = 0;
304316
bsyflag = 0;
317+
318+
//interrupt debuggery
319+
GPIO_InitStruct.Pin = pin_mask(7);
320+
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
321+
GPIO_InitStruct.Pull = GPIO_NOPULL;
322+
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
323+
HAL_GPIO_Init(pin_port(2), &GPIO_InitStruct);
324+
HAL_GPIO_WritePin(pin_port(2),pin_mask(7),0);
305325
}
306326

307327
bool common_hal_busio_uart_deinited(busio_uart_obj_t *self) {
@@ -466,6 +486,7 @@ STATIC void call_hal_irq(int uart_num) {
466486
if(context != NULL) {
467487
HAL_NVIC_ClearPendingIRQ(context->irq);
468488
HAL_UART_IRQHandler(&context->handle);
489+
HAL_GPIO_TogglePin(pin_port(2),pin_mask(7));
469490
}
470491
}
471492

0 commit comments

Comments
 (0)