Grenade Drone Controller
Dependencies: mbed
Diff: Functions/Functions.cpp
- Revision:
- 0:4194aba3f887
- Child:
- 1:903bcc4d9628
diff -r 000000000000 -r 4194aba3f887 Functions/Functions.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Functions/Functions.cpp Mon Jul 16 06:49:15 2018 +0000 @@ -0,0 +1,63 @@ +#include "Functions.h" +#include "PinAssign.h" +#include "GlobalVars.h" + +Timeout pwm_7; +Timeout pwm_8; +float pwm_t7; +float pwm_t8; +void pwmout7(void) {pwm7 = 0;} +void pwmout8(void) {pwm8 = 0;} + +void Proc(void) +{ + if(RcvBit&0x80) var1=OPENPWM; + if(RcvBit&0x40) var2=OPENPWM; + if(RcvBit&0x20) var3=OPENPWM; + if(RcvBit&0x10) var4=OPENPWM; + if(RcvBit&0x08) var5=OPENPWM; + if(RcvBit&0x04) var6=OPENPWM; + if(RcvBit&0x02) var7=OPENPWM; + if(RcvBit&0x01) var8=OPENPWM; +} +void RcvProc(void) +{ + unsigned char buf; + + buf=Switch.getc(); + + if((RcvCnt==1||RcvCnt==2)&&buf==0xfe) RcvCnt++; + else if(RcvCnt==3){RcvBit=buf; RcvCnt++;} + else if(RcvCnt==4&&RcvBit==buf) RcvCnt++; + else if(RcvCnt==5&&buf==0xff) RcvCnt++; + else if(RcvCnt==6&&buf==0xff) {RcvCnt=1; Proc();} + else RcvCnt=1; +} +void SndPWM(void) +{ + pwm_t7 = (float)var7*0.000001; + pwm_t8 = (float)var8*0.000001; + + pwm1.pulsewidth_us(var1); + pwm2.pulsewidth_us(var2); + pwm3.pulsewidth_us(var3); + pwm4.pulsewidth_us(var4); + pwm5.pulsewidth_us(var5); + pwm6.pulsewidth_us(var6); + + pwm7 = 1; + pwm_7.attach(&pwmout7, pwm_t7); + pwm8 = 1; + pwm_8.attach(&pwmout8, pwm_t8); +} +void InitPWM(void) +{ + var1=CLOSEPWM; + var2=CLOSEPWM; + var3=CLOSEPWM; + var4=CLOSEPWM; + var5=CLOSEPWM; + var6=CLOSEPWM; + var7=CLOSEPWM; + var8=CLOSEPWM; +} \ No newline at end of file