#ifndef MODULES_IDS_IDS_H_ #define MODULES_IDS_IDS_H_ #include "PMR/common/MessageContainer.pb-c.h" #include "PMR/Hardware/HardwareDispenser.pb-c.h" #include "drivers/motors/motor.h" #include "ids_ex.h" #define LUBRICANT_DISPENSER 7 #define CLEANER_DISPENSER 6 extern uint32_t DispenserPrepareSpeed ; extern double DispenserPreparePressure ; extern uint32_t DispenserPrepareTimeout ; extern uint32_t DispenserPrepareTimeLag ; extern int32_t CurrentDispenserSpeed[MAX_SYSTEM_DISPENSERS]; extern uint32_t DispenserIdToMotorId[MAX_SYSTEM_DISPENSERS]; extern bool JobStartStopBackLash[MAX_SYSTEM_DISPENSERS]; extern float DispenserPressure[MAX_SYSTEM_DISPENSERS]; uint32_t DispenserConfigMessage(HardwareDispenser * request); extern HardwareDispenser DispensersCfg[ MAX_SYSTEM_DISPENSERS]; extern bool DispensersAlarmState[ MAX_SYSTEM_DISPENSERS]; extern uint32_t DispenserIdToMotorId[MAX_SYSTEM_DISPENSERS]; extern bool HomingActive[MAX_SYSTEM_DISPENSERS]; uint32_t IDS_Dispenser_EmptyCBFunction(uint32_t IfIndex, uint32_t ReadValue); /*typedef struct { uint16_t NumberOfRefills; double TotalConsumedInNanoLitter; double ConsumedInNanoLitter; double NanoLitterPerPulse; char MicroSteps; int direction; }IDS_Dispenser_Data;*/ void IDS_Dispenser_RefillStarted (char DispenserId,char MicroSteps); void IDS_Dispenser_RefillEnded (char DispenserId,char MicroSteps); //uint32_t IDS_Dispenser_Build_Pressure(int DispenserId, callback_fptr callback); uint32_t IDS_Cleaning_Move_Rockers (int LeftRockerSpeed,int RightRockerSpeed); uint32_t IDS_Cleaning_Center_And_Stop_Rockers (int timeout,callback_fptr callback); uint32_t IDS_Cleaning_Spray_Cleaning_Solution (int dispenserSpeed,callback_fptr callback); uint32_t IDS_Cleaning_Stop_Cleaning_Solution (callback_fptr callback); #endif //MODULES_IDS_IDS_H_