56 lines
1.4 KiB
C++
56 lines
1.4 KiB
C++
#include "start.h"
|
|
#include <cstdio>
|
|
#include "FreeRTOS.h"
|
|
#include "LogDriver.hpp"
|
|
#include "GPIO_Pin_STM32.hpp"
|
|
#include "BinLeds.hpp"
|
|
|
|
GPIO_Pin_STM32 ledOrange(GPIOD, GPIO_PIN_13);
|
|
GPIO_Pin_STM32 ledGreen(GPIOD, GPIO_PIN_12);
|
|
GPIO_Pin_STM32 ledRed(GPIOD, GPIO_PIN_14);
|
|
GPIO_Pin_STM32 ledBlue(GPIOD, GPIO_PIN_15);
|
|
BinLeds discoveryLeds((GPIO_Pin*[]){&ledOrange, &ledGreen, &ledRed, &ledBlue}, 4);
|
|
|
|
// Queues
|
|
|
|
// Components
|
|
|
|
void executableDispatch(void* _executable){
|
|
Executable* executable = static_cast<Executable*>(_executable);
|
|
executable->execute();
|
|
vTaskDelete(NULL);
|
|
}
|
|
|
|
void start(){
|
|
discoveryLeds.set(1);
|
|
printf("----------------INIT----------------\n");
|
|
printf("X and Y: %lu\n", HAL_GetUIDw0());
|
|
printf("Wafer number: %c\n", (uint8_t)HAL_GetUIDw1());
|
|
printf("Lot number: %c%c%c%c%c%c%c\n",
|
|
(uint8_t)(HAL_GetUIDw1()>>8),
|
|
(uint8_t)(HAL_GetUIDw1()>>16),
|
|
(uint8_t)(HAL_GetUIDw1()>>24),
|
|
(uint8_t)(HAL_GetUIDw2()),
|
|
(uint8_t)(HAL_GetUIDw2()>>8),
|
|
(uint8_t)(HAL_GetUIDw2()>>16),
|
|
(uint8_t)(HAL_GetUIDw2()>>24)
|
|
);
|
|
discoveryLeds.set(2);
|
|
|
|
// Init log facility
|
|
LogDriver::getInstance()->init();
|
|
TaskHandle_t hTaskLogDriver;
|
|
xTaskCreate(executableDispatch, "LogDriver", 256, LogDriver::getInstance(), 20, &hTaskLogDriver);
|
|
|
|
// Init queues
|
|
|
|
// Init shared resources
|
|
|
|
//Init components
|
|
|
|
//Init tasks
|
|
|
|
discoveryLeds.set(3);
|
|
vTaskDelete(nullptr);
|
|
}
|