/************************************************************************** * * Copyright (c) 2020-2024 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 PermeateTank.c * * @author (last) Sean Nash * @date (last) 12-Nov-2024 * * @author (original) Sean Nash * @date (original) 12-Nov-2024 * ***************************************************************************/ #include "FPOperationModes.h" #include "Level.h" #include "Messaging.h" #include "PermeateTank.h" #include "TaskGeneral.h" #include "Timers.h" #include "Utilities.h" #include "Valves.h" /** * @addtogroup FPPermeateTank * @{ */ // ********** private definitions ********** #define PERMEATE_TANK_PUMP_DATA_PUB_INTERVAL ( MS_PER_SECOND / TASK_GENERAL_INTERVAL ) ///< Interval (ms/task time) for permeate tank broadcast // ********** private data ********** static PERMEATE_TANK_STATE_T permeateTankControllerState; ///< Current state of permeate controller state machine. static U32 permeateTankDataPublicationTimerCounter; ///< Used to schedule permeate tank data publication to CAN bus. static OVERRIDE_U32_T permeateTankPublishInterval; ///< Interval (in ms) at which to publish permeate tank data to CAN bus. // ********** private function prototypes ********** static void publishAirTrapData( void ); /************************************************************************* * TEST SUPPORT FUNCTIONS *************************************************************************/ /**@}*/