52 lines
1.1 KiB
C
52 lines
1.1 KiB
C
|
|
#include "line_sensor_init.h"
|
|
#include "ultrasonic_sensor.h"
|
|
#include "car_config.h"
|
|
|
|
#define READ_LEFT_SENSOR_PRIO (tskIDLE_PRIORITY + 2UL)
|
|
|
|
void
|
|
launch(car_struct_t *car_struct)
|
|
{
|
|
TaskHandle_t h_monitor_left_sensor_task = NULL;
|
|
xTaskCreate(monitor_left_sensor_task,
|
|
"read_left_sensor_task",
|
|
configMINIMAL_STACK_SIZE,
|
|
(void *)car_struct->obs,
|
|
READ_LEFT_SENSOR_PRIO,
|
|
&h_monitor_left_sensor_task);
|
|
|
|
TaskHandle_t h_monitor_ultrasonic_task = NULL;
|
|
xTaskCreate(check_obstacle,
|
|
"read_ultrasonic_task",
|
|
configMINIMAL_STACK_SIZE,
|
|
(void *)car_struct->obs,
|
|
READ_LEFT_SENSOR_PRIO,
|
|
&h_monitor_ultrasonic_task);
|
|
}
|
|
|
|
int
|
|
main(void)
|
|
{
|
|
stdio_usb_init();
|
|
|
|
obs_t obs = { 0, 0 };
|
|
|
|
car_struct_t car_struct = { .obs = &obs };
|
|
|
|
sleep_ms(2000);
|
|
|
|
printf("Test started!\n");
|
|
|
|
line_sensor_init();
|
|
printf("Line sensor initialized!\n");
|
|
|
|
init_ultrasonic();
|
|
printf("Ultrasonic sensor initialized!\n");
|
|
|
|
launch(&car_struct);
|
|
|
|
vTaskStartScheduler();
|
|
|
|
return (0);
|
|
} |