/************************************************************************************************************************ **************************************************************************************************************************/ #include "include.h" #include #include "ids.h" #include "PMR/common/MessageContainer.pb-c.h" #include "PMR/Hardware/HardwareDispenser.pb-c.h" DispenserConfigStruc DispensersCfg[ MAX_SYSTEM_DISPENSERS]; uint32_t DispenserIdToMotorId[MAX_SYSTEM_DISPENSERS] = {MOTOR_DISPENSER_1,MOTOR_DISPENSER_2,MOTOR_DISPENSER_3,MOTOR_DISPENSER_4,MOTOR_DISPENSER_5,MOTOR_DISPENSER_6,MOTOR_DISPENSER_7,MOTOR_DISPENSER_8}; uint32_t DispenserConfigMessage(HardwareDispenser * request) { uint32_t status = PASSED; int Dispenser_i; Dispenser_i = request->hardwaredispensertype; if ((Dispenser_i)&&(Dispenser_i< MAX_SYSTEM_DISPENSERS)) { DispensersCfg[Dispenser_i].id = request->hardwaredispensertype; DispensersCfg[Dispenser_i].minfrequency = request->minfrequency; DispensersCfg[Dispenser_i].maxfrequency = request->maxfrequency; DispensersCfg[Dispenser_i].minmicrostep = request->minmicrostep; DispensersCfg[Dispenser_i].maxmicrostep = request->maxmicrostep; DispensersCfg[Dispenser_i].correctiongain = request->correctiongain; DispensersCfg[Dispenser_i].ratiotodryerspeed = request->ratiotodryerspeed; DispensersCfg[Dispenser_i].kp = request->kp; DispensersCfg[Dispenser_i].ki = request->ki; DispensersCfg[Dispenser_i].kd = request->kd; DispensersCfg[Dispenser_i].changeslope = request->changeslope; DispensersCfg[Dispenser_i].highlengthmicrosecond = request->highlengthmicrosecond; DispensersCfg[Dispenser_i].dispensercapacity= request->capacity; // DispensersCfg[Dispenser_i].midtankcapacity = request->midtankcapacity; DispensersCfg[Dispenser_i].nlperpulse = request->nlperpulse; DispensersCfg[Dispenser_i].controltiming = request->controltiming; return status; } else return Dispenser_i; }