/* * POWThread.cpp * * Created on: 16 Jan 2021 * Author: Ralim */ #include "BSP.h" #include "FreeRTOS.h" #include "QC3.h" #include "Settings.h" #include "cmsis_os.h" #include "fusbpd.h" #include "main.hpp" #include "stdlib.h" #include "task.h" // Small worker thread to handle power (mostly QC) related steps void startPOWTask(void const *argument __unused) { // You have to run this once we are willing to answer PD messages // Setting up too early can mean that we miss the ~20ms window to respond on some chargers #ifdef POW_PD if (usb_pd_detect() == true) { // Spawn all of the USB-C processors fusb302_start_processing(); } #endif vTaskDelay(TICKS_100MS); // Init any other misc sensors postRToSInit(); for (;;) { power_check(); osDelay(TICKS_100MS); // Slow down update rate } }