/************************************************************************** * * Copyright (c) 2024-2025 Diality Inc. - All Rights Reserved. * * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * * @file TaskPriority.c * * @author (last) Michael Garthwaite * @date (last) 30-Jul-2025 * * @author (original) Dara Navaei * @date (original) 06-Oct-2024 * ***************************************************************************/ #include "Conductivity.h" #include "Flow.h" #include "FPGA.h" #include "InternalADC.h" #include "Level.h" #include "Pressure.h" #include "SystemCommFP.h" #include "TaskPriority.h" #include "Temperature.h" #include "Valves.h" #include "WatchdogMgmt.h" /** * @addtogroup TaskPriority * @{ */ /*********************************************************************//** * @brief * The taskPriority function handles the scheduled Priority Task interrupt. * Calls the executive functions for FPGA, pumps, valves, and buttons. * @details \b Inputs: none * @details \b Outputs: Executive functions running in priority task are called. * @return none *************************************************************************/ void taskPriority( void ) { // 1st pass for FPGA execFPGA( TRUE ); // Verify processor clock speed against FPGA clock // execFPGAClockSpeedTest(); // Monitor internal ADC channels execInternalADC(); // Monitor conductivity sensors execConductivity(); // Monitor levels execLevels(); // Monitor pressure sensors execPressureSensor(); // Monitor flow sensors execFlowMonitor(); // Monitor Temperature sensors execTemperatureSensors(); // Control valves execValves(); // 2nd pass for FPGA execFPGA( FALSE ); // Check in with watchdog manager checkInWithWatchdogMgmt( TASK_PRIORITY ); } /**@}*/