|
|
@ -128,6 +128,11 @@ int main(void) |
|
|
|
gw_setup_radio(); |
|
|
|
gw_setup_radio(); |
|
|
|
mq_init(&usb_inq); |
|
|
|
mq_init(&usb_inq); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// re-enumerate USB
|
|
|
|
|
|
|
|
LL_GPIO_SetOutputPin(RENUM_GPIO_Port, RENUM_Pin); |
|
|
|
|
|
|
|
LL_mDelay(100); |
|
|
|
|
|
|
|
LL_GPIO_ResetOutputPin(RENUM_GPIO_Port, RENUM_Pin); |
|
|
|
|
|
|
|
|
|
|
|
dbg("Main loop starts."); |
|
|
|
dbg("Main loop starts."); |
|
|
|
/* Infinite loop */ |
|
|
|
/* Infinite loop */ |
|
|
|
/* USER CODE BEGIN WHILE */ |
|
|
|
/* USER CODE BEGIN WHILE */ |
|
|
@ -135,8 +140,12 @@ int main(void) |
|
|
|
uint8_t buff[MQ_SLOT_LEN]; |
|
|
|
uint8_t buff[MQ_SLOT_LEN]; |
|
|
|
|
|
|
|
|
|
|
|
while (1) { |
|
|
|
while (1) { |
|
|
|
if (cnt++ > 500000) { |
|
|
|
cnt++; |
|
|
|
LL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin); |
|
|
|
if (cnt > 1400000) { |
|
|
|
|
|
|
|
LL_GPIO_SetOutputPin(LED_GPIO_Port, LED1_Pin); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if (cnt > 1500000) { |
|
|
|
|
|
|
|
LL_GPIO_ResetOutputPin(LED_GPIO_Port, LED1_Pin); |
|
|
|
cnt = 0; |
|
|
|
cnt = 0; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -144,6 +153,9 @@ int main(void) |
|
|
|
if (!usb_tx_busy) { |
|
|
|
if (!usb_tx_busy) { |
|
|
|
mq_read(&usb_inq, buff); |
|
|
|
mq_read(&usb_inq, buff); |
|
|
|
CDC_Transmit_FS(buff, MQ_SLOT_LEN); |
|
|
|
CDC_Transmit_FS(buff, MQ_SLOT_LEN); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// blinking - maybe this will work .. not sure
|
|
|
|
|
|
|
|
LL_GPIO_ResetOutputPin(LED_GPIO_Port, LEDRX_Pin); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
@ -160,15 +172,13 @@ void SystemClock_Config(void) |
|
|
|
|
|
|
|
|
|
|
|
LL_FLASH_SetLatency(LL_FLASH_LATENCY_2); |
|
|
|
LL_FLASH_SetLatency(LL_FLASH_LATENCY_2); |
|
|
|
|
|
|
|
|
|
|
|
if(LL_FLASH_GetLatency() != LL_FLASH_LATENCY_2) |
|
|
|
if (LL_FLASH_GetLatency() != LL_FLASH_LATENCY_2) { |
|
|
|
{ |
|
|
|
|
|
|
|
Error_Handler(); |
|
|
|
Error_Handler(); |
|
|
|
} |
|
|
|
} |
|
|
|
LL_RCC_HSE_Enable(); |
|
|
|
LL_RCC_HSE_Enable(); |
|
|
|
|
|
|
|
|
|
|
|
/* Wait till HSE is ready */ |
|
|
|
/* Wait till HSE is ready */ |
|
|
|
while(LL_RCC_HSE_IsReady() != 1) |
|
|
|
while (LL_RCC_HSE_IsReady() != 1) { |
|
|
|
{ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_HSE_DIV_1, LL_RCC_PLL_MUL_9); |
|
|
|
LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_HSE_DIV_1, LL_RCC_PLL_MUL_9); |
|
|
@ -176,8 +186,7 @@ void SystemClock_Config(void) |
|
|
|
LL_RCC_PLL_Enable(); |
|
|
|
LL_RCC_PLL_Enable(); |
|
|
|
|
|
|
|
|
|
|
|
/* Wait till PLL is ready */ |
|
|
|
/* Wait till PLL is ready */ |
|
|
|
while(LL_RCC_PLL_IsReady() != 1) |
|
|
|
while (LL_RCC_PLL_IsReady() != 1) { |
|
|
|
{ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); |
|
|
|
LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); |
|
|
@ -189,8 +198,7 @@ void SystemClock_Config(void) |
|
|
|
LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); |
|
|
|
LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); |
|
|
|
|
|
|
|
|
|
|
|
/* Wait till System clock is ready */ |
|
|
|
/* Wait till System clock is ready */ |
|
|
|
while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) |
|
|
|
while (LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL) { |
|
|
|
{ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
LL_Init1msTick(72000000); |
|
|
|
LL_Init1msTick(72000000); |
|
|
@ -219,13 +227,13 @@ void _Error_Handler(char *file, int line) |
|
|
|
{ |
|
|
|
{ |
|
|
|
/* USER CODE BEGIN Error_Handler_Debug */ |
|
|
|
/* USER CODE BEGIN Error_Handler_Debug */ |
|
|
|
/* User can add his own implementation to report the HAL error return state */ |
|
|
|
/* User can add his own implementation to report the HAL error return state */ |
|
|
|
while(1) |
|
|
|
while (1) { |
|
|
|
{ |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
/* USER CODE END Error_Handler_Debug */ |
|
|
|
/* USER CODE END Error_Handler_Debug */ |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
#ifdef USE_FULL_ASSERT |
|
|
|
#ifdef USE_FULL_ASSERT |
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* @brief Reports the name of the source file and the source line number |
|
|
|
* @brief Reports the name of the source file and the source line number |
|
|
|
* where the assert_param error has occurred. |
|
|
|
* where the assert_param error has occurred. |
|
|
@ -240,6 +248,7 @@ void assert_failed(uint8_t* file, uint32_t line) |
|
|
|
tex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ |
|
|
|
tex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ |
|
|
|
/* USER CODE END 6 */ |
|
|
|
/* USER CODE END 6 */ |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
#endif /* USE_FULL_ASSERT */ |
|
|
|
#endif /* USE_FULL_ASSERT */ |
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|