semin ahn / Mbed OS zeta_stm_kinetic

Dependencies:   BufferedSerial

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers MODULE.cpp Source File

MODULE.cpp

00001 #include "MODULE.hpp"
00002 
00003 void MODULE::Init() {
00004     InitDCE();
00005     InitPulifier();
00006     InitUVC();
00007 }
00008 
00009 
00010 
00011 void MODULE::InitPulifier() {
00012     purifier_pwmout.period(1);
00013     purifier_pwmout = 0.0; 
00014     purifier_br = _Brake;
00015 }
00016 
00017 void MODULE::InitDCE() {
00018     boosterpump = _PumpOff;
00019     solenoid = _PumpOff;
00020 }
00021 
00022 void MODULE::InitUVC() {
00023     uvc = _Off;
00024 }
00025 
00026 void MODULE::SetPurifierFreq() {
00027     _PurifierFreq = msg -> pulifier;
00028 }
00029 
00030 void MODULE::ControlPurifier() {
00031     static level_t _PurifierFreq_pre = _PurifierStop;
00032     SetPurifierFreq();
00033     if(_PurifierFreq != _PurifierFreq_pre ) {  // for processing optimization
00034         if(_PurifierFreq != _PurifierStop) {
00035             purifier_pwmout.period(1.0/(float)_PurifierFreq);
00036             purifier_pwmout = 0.5;
00037             purifier_br = 0;
00038         }
00039         else {
00040             purifier_pwmout = 0.0;
00041             purifier_br = _Brake;
00042         }
00043     }
00044     _PurifierFreq_pre = _PurifierFreq;
00045 }
00046 
00047 
00048 void MODULE::ControlDCE() {
00049     if(msg->module_power[PUMP_ON_POS]) boosterpump = _PumpOn;
00050     else boosterpump = _PumpOff;
00051     if(msg->module_power[SOL_ON_POS]) solenoid = _PumpOn;
00052     else solenoid = _PumpOff;
00053 }
00054 
00055 void MODULE::control() {
00056     ControlDCE();
00057     ControlUVC();
00058     ControlPurifier();
00059 }
00060 
00061 void MODULE::ControlUVC() {
00062     if(msg->module_power[UVC_ON_POS]) uvc = _On;
00063     else uvc = _Off;
00064 }
00065 
00066 
00067 void MODULE::setMsg(zetabot_main::ModuleControlMsgs* msg) {
00068     this -> msg = msg;
00069 }
00070 
00071 // EOF
00072 
00073