#ifndef WASTE_EX_H #define WASTE_EX_H typedef enum { CartridgeStateOUT, CartridgeStateIN, CartridgeStateSELECTED, CartridgeStateACTIVE, CartridgeStateFULL }CartridgeStateEnum; typedef enum { WasteCartridge_upper, WasteCartridge_middle, WasteCartridge_lower, MaxWasteCartridges }WasteCartridgeEnum; typedef enum{ WasteTankStateIdle, WasteTankStateFull, WasteTankStateEmptying, WasteTankStatePaused }WasteTankStateEnum; extern bool DoorState; /////////////////////////////// Cartridges ////////////////////////////////////// void cartCART_INSERTED (WasteCartridgeEnum); //{called from polling function. validate, set state to IN) void cartCART_EXTRACTED(WasteCartridgeEnum); //{called from polling function. set state to out, if was ACTIVE – notify waste module) WasteCartridgeEnum cartSELECT_CART(void); //{ if there is no SELECTED cartridge select the first cartridge in IN state. If there is none, return -1} void cartFILLING_START(void); //{set state of SELECTED to ACTIVE} void cartFILLING_END(void); //{set state of ACTIVE to FULL} CartridgeStateEnum cartGetState (WasteCartridgeEnum); bool cartGetPresence (WasteCartridgeEnum CartId); bool cartCart_door();//Polled by polling function. Notify waste. Poll each 1 second. During active filling poll each 100msec bool NoCartAvailable(); void Waste_Init(); void Waste_StateMachine(void); void Waste_StateMachine_OneSecond_Call(void); bool SetWastePump( bool power); bool WHS_IsContainerEmpty(); bool WHS_IsContainerFull(); bool WHS_WasteCartridgeLowerPresent(); bool WHS_WasteCartridgeMiddlePresent(); bool WHS_IsEmptying(); uint32_t Waste_CheckState(int *AlarmId); uint32_t Waste_Prepare(void); uint32_t Waste_Check_Flows(void); bool WHS_IsVocPpmOverAlarmLimit(); void setWastePrepareValues(float HeadLimit,float WasteLimit); extern bool ReadingVocEverySec; #endif