Y Ikarashi
/
kosyusya_recieve2
narasan
Fork of kosyusya_recive by
Diff: main.cpp
- Revision:
- 1:08767e2e643b
- Parent:
- 0:7092b32c717c
- Child:
- 2:31eb6fbb8119
--- a/main.cpp Sat Jan 10 04:25:57 2015 +0000 +++ b/main.cpp Tue Mar 10 01:30:52 2015 +0000 @@ -1,25 +1,23 @@ #include "mbed.h" -PwmOut moter[] = {p21,p22,p23,p24}; +PwmOut moter[] = {p23,p24}; BusOut selecter(p5,p6,p7,p8,p9,p10,p11,p12); Serial pc(USBTX,USBRX); -Serial mc(p13,p14); +Serial mc(p28,p27); #define pi 3.141592 int main() { uint8_t data_r1,data_r2,data_l1,data_l2,sw_data5,sw_data6,start; - double signal_r,signal_l,signal_a1,signal_a2,angle1,angle2; + double signal_r,signal_l; uint8_t select_r,select_l,select_all,check,checker; - int n,m,x,z; + while(1){ select_r = 0; select_l = 0; signal_r = 0; signal_l = 0; - signal_a1 = 0; - signal_a2 = 0; - if(mc.readable() == 1){ + //if(mc.readable() == 1){ start = mc.getc(); data_r1 = mc.getc(); data_r2 = mc.getc(); @@ -29,6 +27,7 @@ sw_data6 = mc.getc(); check = mc.getc(); + // pc.printf("%u_%u_%u_%u_%u_%u_%u/n",start,data_r1,data_r2,data_l1,data_l2,sw_data5,sw_data6); if(start == 255){ if(data_r1 != 0){ signal_r = data_r1/200.0000; @@ -46,68 +45,20 @@ } checker = data_r1^data_r2^data_l1^data_l2^sw_data5^sw_data6; select_all = sw_data5+sw_data6+select_r+select_l; - - if(sw_data5 == 1){ - n += 8; - z = -90; - }else if(sw_data5/2 == 1){ - z += 8; - n = -90; - }else if(sw_data5 == 0){ - n = -90; - z = -90; - } - if((n+z+90) > -90 && (n+z+90) < 0){ - angle1 = (n+z+90)*pi/180; - signal_a1 = (1.000+sin(angle1))/2; - }else if((n+z+90) == 0){ - signal_a1 = 0.500; - }else if((n+z+90) > 0 && (n+z+90) < 90){ - angle1 = (n+z+90)*pi/180.0; - signal_a1 = sin(angle1)/2+0.5000; - }else if((n+z+90) > 89){ - signal_a1 = 1.000; - }else if(n == -90 && z == -90){ - signal_a1 = 0; - angle1 = 0; - } - if(sw_data6/4 == 1){ - m += 8; - x = -90; - }else if(sw_data6/8 == 1){ - x += 8; - m = -90; - }else if(sw_data6 == 0){ - m = -90; - x = -90; - } - if(m > -90 && m < 0 || x > -90 && x < 0){ - angle2 = (m+x+90)*pi/180; - signal_a2 = (1.000+sin(angle2))/2; - }else if((m+x+90) == 0){ - signal_a2 = 0.500; - }else if(m > 0 && m < 90 || x > 0 && x < 90){ - angle2 = (m+x+90)*pi/180.0; - signal_a2 = sin(angle2)/2+0.5000; - }else if((m+x+90) > 89){ - signal_a2 = 1.000; - }else if(m == -90 && x == -90){ - signal_a2 = 0; - angle2 = 0; - } - - pc.printf("%f_%f_%d_%d_%d_%d\n",signal_a1,signal_a2,n,z,m,x); - //pc.printf("%f_%f_%u_%u_%u_%u\n",signal_r,signal_l,select_r,select_l,select_all,check); + + //pc.printf("%f_%f_%d_%d_%d_%d\n",signal_a1,signal_a2,n,z,m,x); + //pc.printf("%u_\n",start); + pc.printf("%u_%u_%u_%u_%u_%u_%u_%u\n",start,data_r1,data_r2,data_l1,data_l2,sw_data5,sw_data6,select_all); //pc.printf("%u_%u\n",checker,check); + //pc.printf("%f_%f_%u_%u\n",signal_a1,signal_a2,sw_data5,sw_data6); if(check == checker){ - moter[2] = signal_r; - moter[3] = signal_l; - moter[0] = signal_a1; - moter[1] = signal_a2; + moter[0] = signal_r; + moter[1] = signal_l; selecter = select_all; } } - } + }/*else if(mc.readable() == 0){//読むとゴキブリになる文 + selecter = 0; + }*/ } -} \ No newline at end of file