|
@@ -255,8 +255,8 @@ int main(void)
|
|
|
printf("\r\n\r\n\r\n");
|
|
printf("\r\n\r\n\r\n");
|
|
|
printf("**************************\r\n");
|
|
printf("**************************\r\n");
|
|
|
printf("** TEST APP INFORMATION **\r\n");
|
|
printf("** TEST APP INFORMATION **\r\n");
|
|
|
- printf(" - SBC M33 freeRTOS, truztzone, CAM, AI, EPS\r\n");
|
|
|
|
|
- printf(" - 2023. 6. 19. 10:00\r\n");
|
|
|
|
|
|
|
+ printf(" - SBC M33 freeRTOS, truztzone, CAM, EPS\r\n");
|
|
|
|
|
+ printf(" - 2023. 7. 13. 12:00\r\n");
|
|
|
printf("**************************\r\n");
|
|
printf("**************************\r\n");
|
|
|
printf("\r\n\r\n\r\n");
|
|
printf("\r\n\r\n\r\n");
|
|
|
/* after SBC boot-up, sbc power gpio pin should be ON */
|
|
/* after SBC boot-up, sbc power gpio pin should be ON */
|
|
@@ -937,10 +937,21 @@ static void MX_USART3_UART_Init(void)
|
|
|
/* USER CODE END USART3_Init 0 */
|
|
/* USER CODE END USART3_Init 0 */
|
|
|
|
|
|
|
|
/* USER CODE BEGIN USART3_Init 1 */
|
|
/* USER CODE BEGIN USART3_Init 1 */
|
|
|
-
|
|
|
|
|
|
|
+/*
|
|
|
|
|
+ * use below code if code is re-generated by .ioc modification
|
|
|
|
|
+#if CAM_CHANGE_BAUDRATE
|
|
|
|
|
+ huart3.Init.BaudRate = 38400;
|
|
|
|
|
+#else
|
|
|
|
|
+ huart3.Init.BaudRate = 115200;
|
|
|
|
|
+#endif
|
|
|
|
|
+*/
|
|
|
/* USER CODE END USART3_Init 1 */
|
|
/* USER CODE END USART3_Init 1 */
|
|
|
huart3.Instance = USART3;
|
|
huart3.Instance = USART3;
|
|
|
|
|
+#if CAM_CHANGE_BAUDRATE
|
|
|
|
|
+ huart3.Init.BaudRate = 38400;
|
|
|
|
|
+#else
|
|
|
huart3.Init.BaudRate = 115200;
|
|
huart3.Init.BaudRate = 115200;
|
|
|
|
|
+#endif
|
|
|
huart3.Init.WordLength = UART_WORDLENGTH_8B;
|
|
huart3.Init.WordLength = UART_WORDLENGTH_8B;
|
|
|
huart3.Init.StopBits = UART_STOPBITS_1;
|
|
huart3.Init.StopBits = UART_STOPBITS_1;
|
|
|
huart3.Init.Parity = UART_PARITY_NONE;
|
|
huart3.Init.Parity = UART_PARITY_NONE;
|
|
@@ -1190,8 +1201,8 @@ static void MX_GPIO_Init(void)
|
|
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
|
|
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
|
|
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
|
|
|
|
|
|
|
|
- /*Configure GPIO pins : PF6 PF7 */
|
|
|
|
|
- GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7;
|
|
|
|
|
|
|
+ /*Configure GPIO pins : PF6 PF7 PF11 */
|
|
|
|
|
+ GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_11;
|
|
|
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
|
|
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
|
|
|
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
|
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
|
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
|
@@ -1200,7 +1211,7 @@ static void MX_GPIO_Init(void)
|
|
|
/*Configure GPIO pins : PF8 PF9 PF10 */
|
|
/*Configure GPIO pins : PF8 PF9 PF10 */
|
|
|
GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10;
|
|
GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10;
|
|
|
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
|
|
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
|
|
|
- GPIO_InitStruct.Pull = GPIO_PULLDOWN;
|
|
|
|
|
|
|
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
|
|
|
HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
|
|
HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
|
|
|
|
|
|
|
|
/*Configure GPIO pin : PB2 */
|
|
/*Configure GPIO pin : PB2 */
|
|
@@ -1210,13 +1221,6 @@ static void MX_GPIO_Init(void)
|
|
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
|
|
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
|
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
|
|
|
|
|
|
|
- /*Configure GPIO pin : PF11 */
|
|
|
|
|
- GPIO_InitStruct.Pin = GPIO_PIN_11;
|
|
|
|
|
- GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
|
|
|
|
|
- GPIO_InitStruct.Pull = GPIO_PULLDOWN;
|
|
|
|
|
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
|
|
|
|
- HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
|
|
|
|
|
-
|
|
|
|
|
/*Configure GPIO pins : PG6 PG15 */
|
|
/*Configure GPIO pins : PG6 PG15 */
|
|
|
GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_15;
|
|
GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_15;
|
|
|
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
|
|
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
|
|
@@ -1227,8 +1231,8 @@ static void MX_GPIO_Init(void)
|
|
|
/*Configure GPIO pin : PC7 */
|
|
/*Configure GPIO pin : PC7 */
|
|
|
GPIO_InitStruct.Pin = GPIO_PIN_7;
|
|
GPIO_InitStruct.Pin = GPIO_PIN_7;
|
|
|
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
|
|
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
|
|
|
- GPIO_InitStruct.Pull = GPIO_PULLDOWN;
|
|
|
|
|
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
|
|
|
|
|
|
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
|
|
|
|
|
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
|
|
|
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
|
|
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
|
|
|
|
|
|
|
|
/*Configure GPIO pin : PA8 */
|
|
/*Configure GPIO pin : PA8 */
|
|
@@ -1256,8 +1260,8 @@ static void MX_GPIO_Init(void)
|
|
|
/*Configure GPIO pin : PG11 */
|
|
/*Configure GPIO pin : PG11 */
|
|
|
GPIO_InitStruct.Pin = GPIO_PIN_11;
|
|
GPIO_InitStruct.Pin = GPIO_PIN_11;
|
|
|
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
|
|
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
|
|
|
- GPIO_InitStruct.Pull = GPIO_PULLDOWN;
|
|
|
|
|
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
|
|
|
|
|
|
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
|
|
|
|
|
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
|
|
|
HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
|
|
HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
|
|
|
|
|
|
|
|
/* USER CODE BEGIN MX_GPIO_Init_2 */
|
|
/* USER CODE BEGIN MX_GPIO_Init_2 */
|
|
@@ -1292,7 +1296,7 @@ void taskEPSRunner(void *argument)
|
|
|
printf("[EPS] E Level: %d\r\n",
|
|
printf("[EPS] E Level: %d\r\n",
|
|
|
energy_level_curr);
|
|
energy_level_curr);
|
|
|
|
|
|
|
|
- if (energy_level_curr == 1)
|
|
|
|
|
|
|
+ if (energy_level_curr <= EPS_SBC_OFF_LEVEL)
|
|
|
{
|
|
{
|
|
|
imc_sbc_power_off(0);
|
|
imc_sbc_power_off(0);
|
|
|
}
|
|
}
|
|
@@ -1300,7 +1304,7 @@ void taskEPSRunner(void *argument)
|
|
|
energy_level_prev = energy_level_curr;
|
|
energy_level_prev = energy_level_curr;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- osDelay(10);
|
|
|
|
|
|
|
+ osDelay(DELAY_AFTER_WORK);
|
|
|
}
|
|
}
|
|
|
/* USER CODE END 5 */
|
|
/* USER CODE END 5 */
|
|
|
}
|
|
}
|
|
@@ -1371,10 +1375,17 @@ void taskSnapRunner(void *argument)
|
|
|
*/
|
|
*/
|
|
|
imc_cam_power_off(0);
|
|
imc_cam_power_off(0);
|
|
|
|
|
|
|
|
-// if (decodeMyImage((uint8_t*)IMG_RAM_ADDR, ilen, 0, 0, 0, NULL, 1) != DEC_ENON)
|
|
|
|
|
-// goto ERROR;
|
|
|
|
|
|
|
+ /* DO SOMETHING */
|
|
|
|
|
+#if 0
|
|
|
|
|
+ if (decodeMyImage((uint8_t*)IMG_RAM_ADDR, ilen, 0, 0, 0, NULL, 1) != DEC_ENON)
|
|
|
|
|
+ goto ERROR;
|
|
|
|
|
+
|
|
|
|
|
|
|
|
// osSemaphoreRelease(full);
|
|
// osSemaphoreRelease(full);
|
|
|
|
|
+#else
|
|
|
|
|
+ printf ("[SBC] wait %dms for next job\r\n", DELAY_AFTER_WORK);
|
|
|
|
|
+ osDelay(DELAY_AFTER_WORK);
|
|
|
|
|
+#endif
|
|
|
|
|
|
|
|
continue;
|
|
continue;
|
|
|
|
|
|
|
@@ -1386,7 +1397,7 @@ ERROR:
|
|
|
* 2022. 11. 11. start of this while loop, CAM init is called
|
|
* 2022. 11. 11. start of this while loop, CAM init is called
|
|
|
*/
|
|
*/
|
|
|
#if 1
|
|
#if 1
|
|
|
- printf("[CAM] ERROR HANDLING; CAM OFF > 10ms delay > CAM ON\r\n");
|
|
|
|
|
|
|
+ printf("[CAM] ERROR HANDLING; CAM OFF > %dms delay > CAM ON\r\n", DELAY_BEFORE_ERR_HANDLING);
|
|
|
imc_cam_power_off(0);
|
|
imc_cam_power_off(0);
|
|
|
// osSemaphoreRelease(empty);
|
|
// osSemaphoreRelease(empty);
|
|
|
|
|
|
|
@@ -1420,7 +1431,7 @@ void taskAIRunner(void *argument)
|
|
|
/* Infinite loop */
|
|
/* Infinite loop */
|
|
|
for(;;)
|
|
for(;;)
|
|
|
{
|
|
{
|
|
|
- osDelay(100);
|
|
|
|
|
|
|
+ osDelay(DELAY_AFTER_WORK);
|
|
|
}
|
|
}
|
|
|
/* USER CODE END taskAIRunner */
|
|
/* USER CODE END taskAIRunner */
|
|
|
}
|
|
}
|