semin ahn / Mbed OS zeta_stm_kinetic

Dependencies:   BufferedSerial

Committer:
_seminahn
Date:
Fri Apr 02 05:24:49 2021 +0000
Revision:
0:4ff8aeb3e4d1
top_module

Who changed what in which revision?

UserRevisionLine numberNew contents of line
_seminahn 0:4ff8aeb3e4d1 1 #include "MODULE.hpp"
_seminahn 0:4ff8aeb3e4d1 2
_seminahn 0:4ff8aeb3e4d1 3 void MODULE::Init() {
_seminahn 0:4ff8aeb3e4d1 4 //InitDCE();
_seminahn 0:4ff8aeb3e4d1 5 InitPulifier();
_seminahn 0:4ff8aeb3e4d1 6 InitUVC();
_seminahn 0:4ff8aeb3e4d1 7 }
_seminahn 0:4ff8aeb3e4d1 8
_seminahn 0:4ff8aeb3e4d1 9 void MODULE::InitPulifier() {
_seminahn 0:4ff8aeb3e4d1 10 purifier_pwmout.period(1);
_seminahn 0:4ff8aeb3e4d1 11 purifier_pwmout = 0.0;
_seminahn 0:4ff8aeb3e4d1 12 purifier_br = _Brake;
_seminahn 0:4ff8aeb3e4d1 13 }
_seminahn 0:4ff8aeb3e4d1 14 /*
_seminahn 0:4ff8aeb3e4d1 15 void MODULE::InitDCE() {
_seminahn 0:4ff8aeb3e4d1 16 boosterpump = _PumpOff;
_seminahn 0:4ff8aeb3e4d1 17 solenoid = _PumpOff;
_seminahn 0:4ff8aeb3e4d1 18 }
_seminahn 0:4ff8aeb3e4d1 19 */
_seminahn 0:4ff8aeb3e4d1 20 void MODULE::InitUVC() {
_seminahn 0:4ff8aeb3e4d1 21 uvc = _Off;
_seminahn 0:4ff8aeb3e4d1 22 }
_seminahn 0:4ff8aeb3e4d1 23 extern ros::NodeHandle nh;
_seminahn 0:4ff8aeb3e4d1 24 void MODULE::SetPurifierFreq() {
_seminahn 0:4ff8aeb3e4d1 25 _PurifierFreq = msg -> pulifier;
_seminahn 0:4ff8aeb3e4d1 26 char temp[16];
_seminahn 0:4ff8aeb3e4d1 27 memset(temp,'\0',sizeof(temp));
_seminahn 0:4ff8aeb3e4d1 28 sprintf(temp,"freq: %d",_PurifierFreq);
_seminahn 0:4ff8aeb3e4d1 29 nh.loginfo(temp);
_seminahn 0:4ff8aeb3e4d1 30 }
_seminahn 0:4ff8aeb3e4d1 31
_seminahn 0:4ff8aeb3e4d1 32 void MODULE::ControlPurifier() {
_seminahn 0:4ff8aeb3e4d1 33 static level_t _PurifierFreq_pre = _PurifierStop;
_seminahn 0:4ff8aeb3e4d1 34 SetPurifierFreq();
_seminahn 0:4ff8aeb3e4d1 35 if(_PurifierFreq != _PurifierFreq_pre ) { // for processing optimization
_seminahn 0:4ff8aeb3e4d1 36 if(_PurifierFreq != _PurifierStop) {
_seminahn 0:4ff8aeb3e4d1 37 purifier_pwmout.period(1.0/(float)_PurifierFreq);
_seminahn 0:4ff8aeb3e4d1 38 purifier_pwmout = 0.5;
_seminahn 0:4ff8aeb3e4d1 39 purifier_br = 0;
_seminahn 0:4ff8aeb3e4d1 40 }
_seminahn 0:4ff8aeb3e4d1 41 else {
_seminahn 0:4ff8aeb3e4d1 42 purifier_pwmout = 0.0;
_seminahn 0:4ff8aeb3e4d1 43 purifier_br = _Brake;
_seminahn 0:4ff8aeb3e4d1 44 }
_seminahn 0:4ff8aeb3e4d1 45 }
_seminahn 0:4ff8aeb3e4d1 46 _PurifierFreq_pre = _PurifierFreq;
_seminahn 0:4ff8aeb3e4d1 47 }
_seminahn 0:4ff8aeb3e4d1 48
_seminahn 0:4ff8aeb3e4d1 49 /*
_seminahn 0:4ff8aeb3e4d1 50 void MODULE::ControlDCE() {
_seminahn 0:4ff8aeb3e4d1 51 if(msg->module_power[PUMP_ON_POS]) boosterpump = _PumpOn;
_seminahn 0:4ff8aeb3e4d1 52 else boosterpump = _PumpOff;
_seminahn 0:4ff8aeb3e4d1 53 if(msg->module_power[SOL_ON_POS]) solenoid = _PumpOn;
_seminahn 0:4ff8aeb3e4d1 54 else solenoid = _PumpOff;
_seminahn 0:4ff8aeb3e4d1 55 }
_seminahn 0:4ff8aeb3e4d1 56 */
_seminahn 0:4ff8aeb3e4d1 57
_seminahn 0:4ff8aeb3e4d1 58 void MODULE::control() {
_seminahn 0:4ff8aeb3e4d1 59 //ControlDCE();
_seminahn 0:4ff8aeb3e4d1 60 ControlUVC();
_seminahn 0:4ff8aeb3e4d1 61 ControlPurifier();
_seminahn 0:4ff8aeb3e4d1 62 }
_seminahn 0:4ff8aeb3e4d1 63
_seminahn 0:4ff8aeb3e4d1 64 void MODULE::ControlUVC() {
_seminahn 0:4ff8aeb3e4d1 65 if(msg->module_power[UVC_ON_POS]) uvc = _On;
_seminahn 0:4ff8aeb3e4d1 66 else uvc = _Off;
_seminahn 0:4ff8aeb3e4d1 67 }
_seminahn 0:4ff8aeb3e4d1 68
_seminahn 0:4ff8aeb3e4d1 69
_seminahn 0:4ff8aeb3e4d1 70 void MODULE::setMsg(zetabot_main::ModuleControlMsgs* msg) {
_seminahn 0:4ff8aeb3e4d1 71 this -> msg = msg;
_seminahn 0:4ff8aeb3e4d1 72 }
_seminahn 0:4ff8aeb3e4d1 73
_seminahn 0:4ff8aeb3e4d1 74 // MODULE.cpp