Grenade Drone Controller

Dependencies:   mbed

Functions/Functions.cpp

Committer:
halusis
Date:
2018-08-20
Revision:
1:903bcc4d9628
Parent:
0:4194aba3f887

File content as of revision 1:903bcc4d9628:

#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 = var7*0.000001f;
    pwm_t8 = var8*0.000001f;
    
    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;
}