一応使える。

Dependents:   Nucleo_NHK_2018_syudo_wheel 2018NHK_gaku_ver2

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers solenoid_valve.cpp Source File

solenoid_valve.cpp

00001 #include "solenoid_valve.h"
00002 
00003 PortValve::PortValve(PinName digitalPin1, PinName digitalPin2):
00004     angle1(digitalPin1),
00005     angle2(digitalPin2)
00006 {
00007     valvetTime.start();
00008     valveDt = 0.0;
00009 }
00010 
00011 void PortValve::inputState(int state)
00012 {
00013     valveDt = valvetTime.read();
00014     if(((int)state==0)&&(airStatus == 1)) airStatus=1;
00015     if(((int)state==1)&&(airStatus == 0)) airStatus=0;
00016     if(((int)state==1) && (airStatus==0)) {
00017         angle1=0;
00018         angle2=1;
00019         airFlag=1;
00020         airStatus=1;
00021     } else if(((int)state==0) && (airStatus==1)) {
00022         angle1=1;
00023         angle2=0;
00024         airFlag=1;
00025         airStatus=0;
00026     }
00027     if(airFlag == 1) {
00028         valvetTime.reset();
00029         airFlag = 0;
00030         valveDt = valvetTime.read();
00031     }
00032 
00033     if((airFlag == 0) && (valveDt > 0.30)) {
00034         angle1=0;
00035         angle2=0;
00036     }
00037 
00038 }