一応使える。

Dependents:   Nucleo_NHK_2018_syudo_wheel 2018NHK_gaku_ver2

Committer:
tanabe2000
Date:
Fri Oct 12 04:37:18 2018 +0000
Revision:
2:99e83aef9ce8
Parent:
0:6e88ed4239ec
???????????

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tanabe2000 0:6e88ed4239ec 1 #include "solenoid_valve.h"
tanabe2000 0:6e88ed4239ec 2
tanabe2000 2:99e83aef9ce8 3 PortValve::PortValve(PinName digitalPin1, PinName digitalPin2):
tanabe2000 0:6e88ed4239ec 4 angle1(digitalPin1),
tanabe2000 0:6e88ed4239ec 5 angle2(digitalPin2)
tanabe2000 0:6e88ed4239ec 6 {
tanabe2000 0:6e88ed4239ec 7 valvetTime.start();
tanabe2000 0:6e88ed4239ec 8 valveDt = 0.0;
tanabe2000 0:6e88ed4239ec 9 }
tanabe2000 0:6e88ed4239ec 10
tanabe2000 2:99e83aef9ce8 11 void PortValve::inputState(int state)
tanabe2000 0:6e88ed4239ec 12 {
tanabe2000 0:6e88ed4239ec 13 valveDt = valvetTime.read();
tanabe2000 0:6e88ed4239ec 14 if(((int)state==0)&&(airStatus == 1)) airStatus=1;
tanabe2000 0:6e88ed4239ec 15 if(((int)state==1)&&(airStatus == 0)) airStatus=0;
tanabe2000 0:6e88ed4239ec 16 if(((int)state==1) && (airStatus==0)) {
tanabe2000 0:6e88ed4239ec 17 angle1=0;
tanabe2000 0:6e88ed4239ec 18 angle2=1;
tanabe2000 0:6e88ed4239ec 19 airFlag=1;
tanabe2000 0:6e88ed4239ec 20 airStatus=1;
tanabe2000 0:6e88ed4239ec 21 } else if(((int)state==0) && (airStatus==1)) {
tanabe2000 0:6e88ed4239ec 22 angle1=1;
tanabe2000 0:6e88ed4239ec 23 angle2=0;
tanabe2000 0:6e88ed4239ec 24 airFlag=1;
tanabe2000 0:6e88ed4239ec 25 airStatus=0;
tanabe2000 0:6e88ed4239ec 26 }
tanabe2000 0:6e88ed4239ec 27 if(airFlag == 1) {
tanabe2000 0:6e88ed4239ec 28 valvetTime.reset();
tanabe2000 0:6e88ed4239ec 29 airFlag = 0;
tanabe2000 0:6e88ed4239ec 30 valveDt = valvetTime.read();
tanabe2000 0:6e88ed4239ec 31 }
tanabe2000 0:6e88ed4239ec 32
tanabe2000 2:99e83aef9ce8 33 if((airFlag == 0) && (valveDt > 0.30)) {
tanabe2000 0:6e88ed4239ec 34 angle1=0;
tanabe2000 0:6e88ed4239ec 35 angle2=0;
tanabe2000 0:6e88ed4239ec 36 }
tanabe2000 0:6e88ed4239ec 37
tanabe2000 0:6e88ed4239ec 38 }