Grenade Drone Controller

Dependencies:   mbed

Committer:
halusis
Date:
Mon Jul 16 02:29:10 2018 +0000
Revision:
0:02ed82ccad9f
Child:
1:d2b6491e52fd
1st complete ver.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
halusis 0:02ed82ccad9f 1 #include "SwitchFn.h"
halusis 0:02ed82ccad9f 2 #include "PinAssign.h"
halusis 0:02ed82ccad9f 3 #include "GlobalVars.h"
halusis 0:02ed82ccad9f 4
halusis 0:02ed82ccad9f 5 Timeout Sw1timer,Sw2timer,Sw3timer,Sw4timer,Sw5timer,Sw6timer,Sw7timer,Sw8timer,Sw14timer,Sw58timer,SwAlltimer;
halusis 0:02ed82ccad9f 6 void Sw1_isr(void){fSw1++;}
halusis 0:02ed82ccad9f 7 void Sw2_isr(void){fSw2++;}
halusis 0:02ed82ccad9f 8 void Sw3_isr(void){fSw3++;}
halusis 0:02ed82ccad9f 9 void Sw4_isr(void){fSw4++;}
halusis 0:02ed82ccad9f 10 void Sw5_isr(void){fSw5++;}
halusis 0:02ed82ccad9f 11 void Sw6_isr(void){fSw6++;}
halusis 0:02ed82ccad9f 12 void Sw7_isr(void){fSw7++;}
halusis 0:02ed82ccad9f 13 void Sw8_isr(void){fSw8++;}
halusis 0:02ed82ccad9f 14 void Sw14_isr(void){fSw14++;}
halusis 0:02ed82ccad9f 15 void Sw58_isr(void){fSw58++;}
halusis 0:02ed82ccad9f 16 void SwAll_isr(void){fSwAll++;}
halusis 0:02ed82ccad9f 17
halusis 0:02ed82ccad9f 18 void Send2Crr(void)
halusis 0:02ed82ccad9f 19 {
halusis 0:02ed82ccad9f 20 Snd2Crr.putc(0xfe);
halusis 0:02ed82ccad9f 21 Snd2Crr.putc(0xfe);
halusis 0:02ed82ccad9f 22 Snd2Crr.putc(SigBit);
halusis 0:02ed82ccad9f 23 Snd2Crr.putc(SigBit);
halusis 0:02ed82ccad9f 24 Snd2Crr.putc(0xff);
halusis 0:02ed82ccad9f 25 Snd2Crr.putc(0xff);
halusis 0:02ed82ccad9f 26 }
halusis 0:02ed82ccad9f 27
halusis 0:02ed82ccad9f 28 void ProcCrr(void) {RcvBit=Snd2Crr.getc();}
halusis 0:02ed82ccad9f 29
halusis 0:02ed82ccad9f 30 void Sw1Fn(void)
halusis 0:02ed82ccad9f 31 {
halusis 0:02ed82ccad9f 32 if(fSw1==0){fSw1=1;Sw1timer.attach(&Sw1_isr,0.1);}
halusis 0:02ed82ccad9f 33 else if(fSw1==1){}
halusis 0:02ed82ccad9f 34 else if(fSw1==2&&Sw1==0)
halusis 0:02ed82ccad9f 35 {
halusis 0:02ed82ccad9f 36 fSw1=3;
halusis 0:02ed82ccad9f 37 if((SigBit&0x80)==0x00){SigBit|=0x80;}
halusis 0:02ed82ccad9f 38 }
halusis 0:02ed82ccad9f 39 else fSw1=0;
halusis 0:02ed82ccad9f 40 }
halusis 0:02ed82ccad9f 41 void Sw2Fn(void)
halusis 0:02ed82ccad9f 42 {
halusis 0:02ed82ccad9f 43 if(fSw2==0){fSw2=1;Sw2timer.attach(&Sw2_isr,0.1);}
halusis 0:02ed82ccad9f 44 else if(fSw2==1){}
halusis 0:02ed82ccad9f 45 else if(fSw2==2&&Sw2==0)
halusis 0:02ed82ccad9f 46 {
halusis 0:02ed82ccad9f 47 fSw2=3;
halusis 0:02ed82ccad9f 48 if((SigBit&0x40)==0x00){SigBit|=0x40;}
halusis 0:02ed82ccad9f 49 }
halusis 0:02ed82ccad9f 50 else fSw2=0;
halusis 0:02ed82ccad9f 51 }
halusis 0:02ed82ccad9f 52 void Sw3Fn(void)
halusis 0:02ed82ccad9f 53 {
halusis 0:02ed82ccad9f 54 if(fSw3==0){fSw3=1;Sw3timer.attach(&Sw3_isr,0.1);}
halusis 0:02ed82ccad9f 55 else if(fSw3==1){}
halusis 0:02ed82ccad9f 56 else if(fSw3==2&&Sw3==0)
halusis 0:02ed82ccad9f 57 {
halusis 0:02ed82ccad9f 58 fSw3=3;
halusis 0:02ed82ccad9f 59 if((SigBit&0x20)==0x00){SigBit|=0x20; myled1=1;}
halusis 0:02ed82ccad9f 60 }
halusis 0:02ed82ccad9f 61 else fSw3=0;
halusis 0:02ed82ccad9f 62 }
halusis 0:02ed82ccad9f 63 void Sw4Fn(void)
halusis 0:02ed82ccad9f 64 {
halusis 0:02ed82ccad9f 65 if(fSw4==0){fSw4=1;Sw4timer.attach(&Sw4_isr,0.1);}
halusis 0:02ed82ccad9f 66 else if(fSw4==1){}
halusis 0:02ed82ccad9f 67 else if(fSw4==2&&Sw4==0)
halusis 0:02ed82ccad9f 68 {
halusis 0:02ed82ccad9f 69 fSw4=3;
halusis 0:02ed82ccad9f 70 if((SigBit&0x10)==0x00){SigBit|=0x10; myled3=1;}
halusis 0:02ed82ccad9f 71 }
halusis 0:02ed82ccad9f 72 else fSw4=0;
halusis 0:02ed82ccad9f 73 }
halusis 0:02ed82ccad9f 74 void Sw5Fn(void)
halusis 0:02ed82ccad9f 75 {
halusis 0:02ed82ccad9f 76 if(fSw5==0){fSw5=1;Sw5timer.attach(&Sw5_isr,0.1);}
halusis 0:02ed82ccad9f 77 else if(fSw5==1){}
halusis 0:02ed82ccad9f 78 else if(fSw5==2&&Sw5==0)
halusis 0:02ed82ccad9f 79 {
halusis 0:02ed82ccad9f 80 fSw5=3;
halusis 0:02ed82ccad9f 81 if((SigBit&0x08)==0x00){SigBit|=0x08;}
halusis 0:02ed82ccad9f 82 }
halusis 0:02ed82ccad9f 83 else fSw5=0;
halusis 0:02ed82ccad9f 84 }
halusis 0:02ed82ccad9f 85 void Sw6Fn(void)
halusis 0:02ed82ccad9f 86 {
halusis 0:02ed82ccad9f 87 if(fSw6==0){fSw6=1;Sw6timer.attach(&Sw6_isr,0.1);}
halusis 0:02ed82ccad9f 88 else if(fSw6==1){}
halusis 0:02ed82ccad9f 89 else if(fSw6==2&&Sw6==0)
halusis 0:02ed82ccad9f 90 {
halusis 0:02ed82ccad9f 91 fSw6=3;
halusis 0:02ed82ccad9f 92 if((SigBit&0x04)==0x00){SigBit|=0x04;}
halusis 0:02ed82ccad9f 93 }
halusis 0:02ed82ccad9f 94 else fSw6=0;
halusis 0:02ed82ccad9f 95 }
halusis 0:02ed82ccad9f 96 void Sw7Fn(void)
halusis 0:02ed82ccad9f 97 {
halusis 0:02ed82ccad9f 98 if(fSw7==0){fSw7=1;Sw7timer.attach(&Sw7_isr,0.1);}
halusis 0:02ed82ccad9f 99 else if(fSw7==1){}
halusis 0:02ed82ccad9f 100 else if(fSw7==2&&Sw7==0)
halusis 0:02ed82ccad9f 101 {
halusis 0:02ed82ccad9f 102 fSw7=3;
halusis 0:02ed82ccad9f 103 if((SigBit&0x02)==0x00){SigBit|=0x02;}
halusis 0:02ed82ccad9f 104 }
halusis 0:02ed82ccad9f 105 else fSw7=0;
halusis 0:02ed82ccad9f 106 }
halusis 0:02ed82ccad9f 107 void Sw8Fn(void)
halusis 0:02ed82ccad9f 108 {
halusis 0:02ed82ccad9f 109 if(fSw8==0){fSw8=1;Sw8timer.attach(&Sw8_isr,0.1);}
halusis 0:02ed82ccad9f 110 else if(fSw8==1){}
halusis 0:02ed82ccad9f 111 else if(fSw8==2&&Sw8==0)
halusis 0:02ed82ccad9f 112 {
halusis 0:02ed82ccad9f 113 fSw8=3;
halusis 0:02ed82ccad9f 114 if((SigBit&0x01)==0x00){SigBit|=0x01;}
halusis 0:02ed82ccad9f 115 }
halusis 0:02ed82ccad9f 116 else fSw8=0;
halusis 0:02ed82ccad9f 117 }
halusis 0:02ed82ccad9f 118 void Sw14Fn(void)
halusis 0:02ed82ccad9f 119 {
halusis 0:02ed82ccad9f 120 if(fSw14==0){fSw14=1;Sw14timer.attach(&Sw14_isr,0.1);}
halusis 0:02ed82ccad9f 121 else if(fSw14==1){}
halusis 0:02ed82ccad9f 122 else if(fSw14==2&&Sw14==0)
halusis 0:02ed82ccad9f 123 {
halusis 0:02ed82ccad9f 124 fSw14=3;
halusis 0:02ed82ccad9f 125 if((SigBit&0xf0)==0x00){SigBit|=0xf0; myled1=1;}
halusis 0:02ed82ccad9f 126 }
halusis 0:02ed82ccad9f 127 else fSw14=0;
halusis 0:02ed82ccad9f 128 }
halusis 0:02ed82ccad9f 129 void Sw58Fn(void)
halusis 0:02ed82ccad9f 130 {
halusis 0:02ed82ccad9f 131 if(fSw58==0){fSw58=1;Sw58timer.attach(&Sw58_isr,0.1);}
halusis 0:02ed82ccad9f 132 else if(fSw58==1){}
halusis 0:02ed82ccad9f 133 else if(fSw58==2&&Sw58==0)
halusis 0:02ed82ccad9f 134 {
halusis 0:02ed82ccad9f 135 fSw58=3;
halusis 0:02ed82ccad9f 136 if((SigBit&0x0f)==0x00){SigBit|=0x0f; myled2=1;}
halusis 0:02ed82ccad9f 137 }
halusis 0:02ed82ccad9f 138 else fSw58=0;
halusis 0:02ed82ccad9f 139 }
halusis 0:02ed82ccad9f 140 void SwAllFn(void)
halusis 0:02ed82ccad9f 141 {
halusis 0:02ed82ccad9f 142 if(fSwAll==0){fSwAll=1;SwAlltimer.attach(&SwAll_isr,0.1);}
halusis 0:02ed82ccad9f 143 else if(fSwAll==1){}
halusis 0:02ed82ccad9f 144 else if(fSwAll==2&&SwAll==0)
halusis 0:02ed82ccad9f 145 {
halusis 0:02ed82ccad9f 146 fSwAll=3;
halusis 0:02ed82ccad9f 147 if((SigBit&0xff)==0x00){SigBit|=0xff; myled4=1;}
halusis 0:02ed82ccad9f 148 }
halusis 0:02ed82ccad9f 149 else fSwAll=0;
halusis 0:02ed82ccad9f 150 }
halusis 0:02ed82ccad9f 151
halusis 0:02ed82ccad9f 152 void RcvStat(void)
halusis 0:02ed82ccad9f 153 {
halusis 0:02ed82ccad9f 154 if(RcvBit&0x80) Led1=1;
halusis 0:02ed82ccad9f 155 if(RcvBit&0x40) Led2=1;
halusis 0:02ed82ccad9f 156 if(RcvBit&0x20) Led3=1;
halusis 0:02ed82ccad9f 157 if(RcvBit&0x10) Led4=1;
halusis 0:02ed82ccad9f 158 if(RcvBit&0x08) Led5=1;
halusis 0:02ed82ccad9f 159 if(RcvBit&0x04) Led6=1;
halusis 0:02ed82ccad9f 160 if(RcvBit&0x02) Led7=1;
halusis 0:02ed82ccad9f 161 if(RcvBit&0x01) Led8=1;
halusis 0:02ed82ccad9f 162 }