ロボカップのブロック大会2014で使用したプログラムです。 ロボットには、mbedを2台使ってI2C通信しています。 これはSlave側です。 ※独自規格を使用しています。

Dependencies:   ACM1602NI Ping mbed-rtos mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers I2C_Slave.h Source File

I2C_Slave.h

00001 // Slave側プログラム
00002 
00003 
00004 
00005 /*---- FWの進行方向の処理 -----*/
00006 // IRのデータによるAngleの処理
00007     int FW_000(void)    {return 001;}
00008     int FW_001(void)    {return 000;}
00009     int FW_002(void)    {return  90;}
00010     int FW_003(void)    {return 045;}
00011     int FW_004(void)    {return 135;}
00012     int FW_005(void)    {return  90;}
00013     int FW_006(void)    {return 113;}
00014     int FW_007(void)    {return  90;}
00015     int FW_008(void)    {return 180;}
00016     int FW_009(void)    {return 001;}
00017     int FW_010(void)    {return 135;}
00018     int FW_011(void)    {return 001;}
00019     int FW_012(void)    {return 158;}
00020     int FW_013(void)    {return 001;}
00021     int FW_014(void)    {return 135;}
00022     int FW_015(void)    {return 113;}
00023     int FW_016(void)    {return  90;}
00024     int FW_017(void)    {return 001;}
00025     int FW_018(void)    {return 001;}
00026     int FW_019(void)    {return 001;}
00027     int FW_020(void)    {return 001;}
00028     int FW_021(void)    {return 001;}
00029     int FW_022(void)    {return 001;}
00030     int FW_023(void)    {return 001;}
00031     int FW_024(void)    {return 225;}
00032     int FW_025(void)    {return 001;}
00033     int FW_026(void)    {return 001;}
00034     int FW_027(void)    {return 001;}
00035     int FW_028(void)    {return 195;}
00036     int FW_029(void)    {return 001;}
00037     int FW_030(void)    {return 203;}
00038     int FW_031(void)    {return 180;}
00039     int FW_032(void)    {return 180;}
00040     int FW_033(void)    {return 001;}
00041     int FW_034(void)    {return 001;}
00042     int FW_035(void)    {return 001;}
00043     int FW_036(void)    {return 001;}
00044     int FW_037(void)    {return 001;}
00045     int FW_038(void)    {return 001;}
00046     int FW_039(void)    {return 001;}
00047     int FW_040(void)    {return 001;}
00048     int FW_041(void)    {return 001;}
00049     int FW_042(void)    {return 001;}
00050     int FW_043(void)    {return 001;}
00051     int FW_044(void)    {return 001;}
00052     int FW_045(void)    {return 001;}
00053     int FW_046(void)    {return 001;}
00054     int FW_047(void)    {return 001;}
00055     int FW_048(void)    {return 135;}
00056     int FW_049(void)    {return 001;}
00057     int FW_050(void)    {return 001;}
00058     int FW_051(void)    {return 001;}
00059     int FW_052(void)    {return 001;}
00060     int FW_053(void)    {return 001;}
00061     int FW_054(void)    {return 001;}
00062     int FW_055(void)    {return 001;}
00063     int FW_056(void)    {return  90;}
00064     int FW_057(void)    {return 001;}
00065     int FW_058(void)    {return 001;}
00066     int FW_059(void)    {return 001;}
00067     int FW_060(void)    {return 248;}
00068     int FW_061(void)    {return 001;}
00069     int FW_062(void)    {return 225;}
00070     int FW_063(void)    {return 203;}
00071     int FW_064(void)    {return 225;}
00072     int FW_065(void)    {return 001;}
00073     int FW_066(void)    {return 001;}
00074     int FW_067(void)    {return 001;}
00075     int FW_068(void)    {return 001;}
00076     int FW_069(void)    {return 001;}
00077     int FW_070(void)    {return 001;}
00078     int FW_071(void)    {return 001;}
00079     int FW_072(void)    {return 001;}
00080     int FW_073(void)    {return 001;}
00081     int FW_074(void)    {return 001;}
00082     int FW_075(void)    {return 001;}
00083     int FW_076(void)    {return 001;}
00084     int FW_077(void)    {return 001;}
00085     int FW_078(void)    {return 001;}
00086     int FW_079(void)    {return 001;}
00087     int FW_080(void)    {return 001;}
00088     int FW_081(void)    {return 001;}
00089     int FW_082(void)    {return 001;}
00090     int FW_083(void)    {return 001;}
00091     int FW_084(void)    {return 001;}
00092     int FW_085(void)    {return 001;}
00093     int FW_086(void)    {return 001;}
00094     int FW_087(void)    {return 001;}
00095     int FW_088(void)    {return 001;}
00096     int FW_089(void)    {return 001;}
00097     int FW_090(void)    {return 001;}
00098     int FW_091(void)    {return 001;}
00099     int FW_092(void)    {return 001;}
00100     int FW_093(void)    {return 001;}
00101     int FW_094(void)    {return 001;}
00102     int FW_095(void)    {return 001;}
00103     int FW_096(void)    {return 203;}
00104     int FW_097(void)    {return 001;}
00105     int FW_098(void)    {return 001;}
00106     int FW_099(void)    {return 001;}
00107     int FW_100(void)    {return 001;}
00108     int FW_101(void)    {return 001;}
00109     int FW_102(void)    {return 001;}
00110     int FW_103(void)    {return 001;}
00111     int FW_104(void)    {return 001;}
00112     int FW_105(void)    {return 001;}
00113     int FW_106(void)    {return 001;}
00114     int FW_107(void)    {return 001;}
00115     int FW_108(void)    {return 001;}
00116     int FW_109(void)    {return 001;}
00117     int FW_110(void)    {return 001;}
00118     int FW_111(void)    {return 001;}
00119     int FW_112(void)    {return 135;}
00120     int FW_113(void)    {return 001;}
00121     int FW_114(void)    {return 001;}
00122     int FW_115(void)    {return 001;}
00123     int FW_116(void)    {return 001;}
00124     int FW_117(void)    {return 001;}
00125     int FW_118(void)    {return 001;}
00126     int FW_119(void)    {return 001;}
00127     int FW_120(void)    {return 112;}
00128     int FW_121(void)    {return 001;}
00129     int FW_122(void)    {return 001;}
00130     int FW_123(void)    {return 001;}
00131     int FW_124(void)    {return  90;}
00132     int FW_125(void)    {return 001;}
00133     int FW_126(void)    {return 248;}
00134     int FW_127(void)    {return 225;}
00135     int FW_128(void)    {return 270;}
00136     int FW_129(void)    {return 310;}
00137     int FW_130(void)    {return 001;}
00138     int FW_131(void)    {return 000;}
00139     int FW_132(void)    {return 001;}
00140     int FW_133(void)    {return 001;}
00141     int FW_134(void)    {return 001;}
00142     int FW_135(void)    {return 045;}
00143     int FW_136(void)    {return 001;}
00144     int FW_137(void)    {return 001;}
00145     int FW_138(void)    {return 001;}
00146     int FW_139(void)    {return 001;}
00147     int FW_140(void)    {return 001;}
00148     int FW_141(void)    {return 001;}
00149     int FW_142(void)    {return 001;}
00150     int FW_143(void)    {return 135;}
00151     int FW_144(void)    {return 001;}
00152     int FW_145(void)    {return 001;}
00153     int FW_146(void)    {return 001;}
00154     int FW_147(void)    {return 001;}
00155     int FW_148(void)    {return 001;}
00156     int FW_149(void)    {return 001;}
00157     int FW_150(void)    {return 001;}
00158     int FW_151(void)    {return 001;}
00159     int FW_152(void)    {return 001;}
00160     int FW_153(void)    {return 001;}
00161     int FW_154(void)    {return 001;}
00162     int FW_155(void)    {return 001;}
00163     int FW_156(void)    {return 001;}
00164     int FW_157(void)    {return 001;}
00165     int FW_158(void)    {return 001;}
00166     int FW_159(void)    {return 158;}
00167     int FW_160(void)    {return 001;}
00168     int FW_161(void)    {return 001;}
00169     int FW_162(void)    {return 001;}
00170     int FW_163(void)    {return 001;}
00171     int FW_164(void)    {return 001;}
00172     int FW_165(void)    {return 001;}
00173     int FW_166(void)    {return 001;}
00174     int FW_167(void)    {return 001;}
00175     int FW_168(void)    {return 001;}
00176     int FW_169(void)    {return 001;}
00177     int FW_170(void)    {return 001;}
00178     int FW_171(void)    {return 001;}
00179     int FW_172(void)    {return 001;}
00180     int FW_173(void)    {return 001;}
00181     int FW_174(void)    {return 001;}
00182     int FW_175(void)    {return 001;}
00183     int FW_176(void)    {return 001;}
00184     int FW_177(void)    {return 001;}
00185     int FW_178(void)    {return 001;}
00186     int FW_179(void)    {return 001;}
00187     int FW_180(void)    {return 001;}
00188     int FW_181(void)    {return 001;}
00189     int FW_182(void)    {return 001;}
00190     int FW_183(void)    {return 001;}
00191     int FW_184(void)    {return 001;}
00192     int FW_185(void)    {return 001;}
00193     int FW_186(void)    {return 001;}
00194     int FW_187(void)    {return 001;}
00195     int FW_188(void)    {return 001;}
00196     int FW_189(void)    {return 001;}
00197     int FW_190(void)    {return 001;}
00198     int FW_191(void)    {return 180;}
00199     int FW_192(void)    {return 247;}
00200     int FW_193(void)    {return 001;}
00201     int FW_194(void)    {return 001;}
00202     int FW_195(void)    {return 001;}
00203     int FW_196(void)    {return 001;}
00204     int FW_197(void)    {return 001;}
00205     int FW_198(void)    {return 001;}
00206     int FW_199(void)    {return 000;}
00207     int FW_200(void)    {return 001;}
00208     int FW_201(void)    {return 001;}
00209     int FW_202(void)    {return 001;}
00210     int FW_203(void)    {return 001;}
00211     int FW_204(void)    {return 001;}
00212     int FW_205(void)    {return 001;}
00213     int FW_206(void)    {return 001;}
00214     int FW_207(void)    {return 001;}
00215     int FW_208(void)    {return 001;}
00216     int FW_209(void)    {return 001;}
00217     int FW_210(void)    {return 001;}
00218     int FW_211(void)    {return 001;}
00219     int FW_212(void)    {return 001;}
00220     int FW_213(void)    {return 001;}
00221     int FW_214(void)    {return 001;}
00222     int FW_215(void)    {return 001;}
00223     int FW_216(void)    {return 001;}
00224     int FW_217(void)    {return 001;}
00225     int FW_218(void)    {return 001;}
00226     int FW_219(void)    {return 001;}
00227     int FW_220(void)    {return 001;}
00228     int FW_221(void)    {return 001;}
00229     int FW_222(void)    {return 001;}
00230     int FW_223(void)    {return 001;}
00231     int FW_224(void)    {return 180;}
00232     int FW_225(void)    {return 001;}
00233     int FW_226(void)    {return 001;}
00234     int FW_227(void)    {return 001;}
00235     int FW_228(void)    {return 001;}
00236     int FW_229(void)    {return 001;}
00237     int FW_230(void)    {return 001;}
00238     int FW_231(void)    {return 001;}
00239     int FW_232(void)    {return 001;}
00240     int FW_233(void)    {return 001;}
00241     int FW_234(void)    {return 001;}
00242     int FW_235(void)    {return 001;}
00243     int FW_236(void)    {return 001;}
00244     int FW_237(void)    {return 001;}
00245     int FW_238(void)    {return 001;}
00246     int FW_239(void)    {return 000;}
00247     int FW_240(void)    {return 158;}
00248     int FW_241(void)    {return 001;}
00249     int FW_242(void)    {return 001;}
00250     int FW_243(void)    {return 001;}
00251     int FW_244(void)    {return 001;}
00252     int FW_245(void)    {return 001;}
00253     int FW_246(void)    {return 001;}
00254     int FW_247(void)    {return 001;}
00255     int FW_248(void)    {return 135;}
00256     int FW_249(void)    {return 001;}
00257     int FW_250(void)    {return 001;}
00258     int FW_251(void)    {return 001;}
00259     int FW_252(void)    {return 202;}
00260     int FW_253(void)    {return 001;}
00261     int FW_254(void)    {return  90;}
00262     int FW_255(void)    {return 001;}
00263 // IRのデータからAngleの分岐
00264 int (*FW_AngApi[])(void) = {FW_001, FW_001, FW_002, FW_003, FW_004, FW_005, FW_006, FW_007, FW_008, FW_009, FW_010, FW_011, FW_012, FW_013, FW_014, FW_015, FW_016, FW_017, FW_018, FW_019, FW_020, FW_021, FW_022, FW_023, FW_024, FW_025, FW_026, FW_027, FW_028, FW_029, FW_030, FW_031, FW_032, FW_033, FW_034, FW_035, FW_036, FW_037, FW_038, FW_039, FW_040, FW_041, FW_042, FW_043, FW_044, FW_045, FW_046, FW_047, FW_048, FW_049, FW_050, FW_051, FW_052, FW_053, FW_054, FW_055, FW_056, FW_057, FW_058, FW_059, FW_060, FW_061, FW_062, FW_063, FW_064, FW_065, FW_066, FW_067, FW_068, FW_069, FW_070, FW_071, FW_072, FW_073, FW_074, FW_075, FW_076, FW_077, FW_078, FW_079, FW_080, FW_081, FW_082, FW_083, FW_084, FW_085, FW_086, FW_087, FW_088, FW_089, FW_090, FW_091, FW_092, FW_093, FW_094, FW_095, FW_096, FW_097, FW_098, FW_099, FW_100, FW_101, FW_102, FW_103, FW_104, FW_105, FW_106, FW_107, FW_108, FW_109, FW_110, FW_111, FW_112, FW_113, FW_114, FW_115, FW_116, FW_117, FW_118, FW_119, FW_120, FW_121, FW_122, FW_123, FW_124, FW_125, FW_126, FW_127, FW_128, FW_129, FW_130, FW_131, FW_132, FW_133, FW_134, FW_135, FW_136, FW_137, FW_138, FW_139, FW_140, FW_141, FW_142, FW_143, FW_144, FW_145, FW_146, FW_147, FW_148, FW_149, FW_150, FW_151, FW_152, FW_153, FW_154, FW_155, FW_156, FW_157, FW_158, FW_159, FW_160, FW_161, FW_162, FW_163, FW_164, FW_165, FW_166, FW_167, FW_168, FW_169, FW_170, FW_171, FW_172, FW_173, FW_174, FW_175, FW_176, FW_177, FW_178, FW_179, FW_180, FW_181, FW_182, FW_183, FW_184, FW_185, FW_186, FW_187, FW_188, FW_189, FW_190, FW_191, FW_192, FW_193, FW_194, FW_195, FW_196, FW_197, FW_198, FW_199, FW_200, FW_201, FW_202, FW_203, FW_204, FW_205, FW_206, FW_207, FW_208, FW_209, FW_210, FW_211, FW_212, FW_213, FW_214, FW_215, FW_216, FW_217, FW_218, FW_219, FW_220, FW_221, FW_222, FW_223, FW_224, FW_225, FW_226, FW_227, FW_228, FW_229, FW_230, FW_231, FW_232, FW_233, FW_234, FW_235, FW_236, FW_237, FW_238, FW_239, FW_240, FW_241, FW_242, FW_243, FW_244, FW_245, FW_246, FW_247, FW_248, FW_249, FW_250, FW_251, FW_252, FW_253, FW_254, FW_255};
00265 
00266 
00267 /*---- DFの進行方向の処理 -----*/
00268 // IRのデータによるAngleの処理
00269     int DF_000(void)    {return 001;}
00270     int DF_001(void)    {return 001;}
00271     int DF_002(void)    {return  90;}
00272     int DF_003(void)    {return 023;}
00273     int DF_004(void)    {return  90;}
00274     int DF_005(void)    {return 001;}
00275     int DF_006(void)    {return  90;}
00276     int DF_007(void)    {return 045;}
00277     int DF_008(void)    {return 180;}
00278     int DF_009(void)    {return 001;}
00279     int DF_010(void)    {return 001;}
00280     int DF_011(void)    {return 001;}
00281     int DF_012(void)    {return 180;}
00282     int DF_013(void)    {return 001;}
00283     int DF_014(void)    {return 135;}
00284     int DF_015(void)    {return  90;}
00285     int DF_016(void)    {return  90;}
00286     int DF_017(void)    {return 001;}
00287     int DF_018(void)    {return 001;}
00288     int DF_019(void)    {return 001;}
00289     int DF_020(void)    {return 001;}
00290     int DF_021(void)    {return 001;}
00291     int DF_022(void)    {return 001;}
00292     int DF_023(void)    {return 001;}
00293     int DF_024(void)    {return 203;}
00294     int DF_025(void)    {return 001;}
00295     int DF_026(void)    {return 001;}
00296     int DF_027(void)    {return 001;}
00297     int DF_028(void)    {return 180;}
00298     int DF_029(void)    {return 001;}
00299     int DF_030(void)    {return 157;}
00300     int DF_031(void)    {return  90;}
00301     int DF_032(void)    {return 180;}
00302     int DF_033(void)    {return 001;}
00303     int DF_034(void)    {return 001;}
00304     int DF_035(void)    {return 001;}
00305     int DF_036(void)    {return 001;}
00306     int DF_037(void)    {return 001;}
00307     int DF_038(void)    {return 001;}
00308     int DF_039(void)    {return 001;}
00309     int DF_040(void)    {return 001;}
00310     int DF_041(void)    {return 001;}
00311     int DF_042(void)    {return 001;}
00312     int DF_043(void)    {return 001;}
00313     int DF_044(void)    {return 001;}
00314     int DF_045(void)    {return 001;}
00315     int DF_046(void)    {return 001;}
00316     int DF_047(void)    {return 001;}
00317     int DF_048(void)    {return 157;}
00318     int DF_049(void)    {return 001;}
00319     int DF_050(void)    {return 001;}
00320     int DF_051(void)    {return 001;}
00321     int DF_052(void)    {return 001;}
00322     int DF_053(void)    {return 001;}
00323     int DF_054(void)    {return 001;}
00324     int DF_055(void)    {return 001;}
00325     int DF_056(void)    {return  90;}
00326     int DF_057(void)    {return 001;}
00327     int DF_058(void)    {return 001;}
00328     int DF_059(void)    {return 001;}
00329     int DF_060(void)    {return 225;}
00330     int DF_061(void)    {return 001;}
00331     int DF_062(void)    {return 180;}
00332     int DF_063(void)    {return 180;}
00333     int DF_064(void)    {return 180;}
00334     int DF_065(void)    {return 001;}
00335     int DF_066(void)    {return 001;}
00336     int DF_067(void)    {return 001;}
00337     int DF_068(void)    {return 001;}
00338     int DF_069(void)    {return 001;}
00339     int DF_070(void)    {return 001;}
00340     int DF_071(void)    {return 001;}
00341     int DF_072(void)    {return 001;}
00342     int DF_073(void)    {return 001;}
00343     int DF_074(void)    {return 001;}
00344     int DF_075(void)    {return 001;}
00345     int DF_076(void)    {return 001;}
00346     int DF_077(void)    {return 001;}
00347     int DF_078(void)    {return 001;}
00348     int DF_079(void)    {return 001;}
00349     int DF_080(void)    {return 001;}
00350     int DF_081(void)    {return 001;}
00351     int DF_082(void)    {return 001;}
00352     int DF_083(void)    {return 001;}
00353     int DF_084(void)    {return 001;}
00354     int DF_085(void)    {return 001;}
00355     int DF_086(void)    {return 001;}
00356     int DF_087(void)    {return 001;}
00357     int DF_088(void)    {return 001;}
00358     int DF_089(void)    {return 001;}
00359     int DF_090(void)    {return 001;}
00360     int DF_091(void)    {return 001;}
00361     int DF_092(void)    {return 001;}
00362     int DF_093(void)    {return 001;}
00363     int DF_094(void)    {return 001;}
00364     int DF_095(void)    {return 001;}
00365     int DF_096(void)    {return 180;}
00366     int DF_097(void)    {return 001;}
00367     int DF_098(void)    {return 001;}
00368     int DF_099(void)    {return 001;}
00369     int DF_100(void)    {return 001;}
00370     int DF_101(void)    {return 001;}
00371     int DF_102(void)    {return 001;}
00372     int DF_103(void)    {return 001;}
00373     int DF_104(void)    {return 001;}
00374     int DF_105(void)    {return 001;}
00375     int DF_106(void)    {return 001;}
00376     int DF_107(void)    {return 001;}
00377     int DF_108(void)    {return 001;}
00378     int DF_109(void)    {return 001;}
00379     int DF_110(void)    {return 001;}
00380     int DF_111(void)    {return 001;}
00381     int DF_112(void)    {return 135;}
00382     int DF_113(void)    {return 001;}
00383     int DF_114(void)    {return 001;}
00384     int DF_115(void)    {return 001;}
00385     int DF_116(void)    {return 001;}
00386     int DF_117(void)    {return 001;}
00387     int DF_118(void)    {return 001;}
00388     int DF_119(void)    {return 001;}
00389     int DF_120(void)    {return 067;}
00390     int DF_121(void)    {return 001;}
00391     int DF_122(void)    {return 001;}
00392     int DF_123(void)    {return 001;}
00393     int DF_124(void)    {return  90;}
00394     int DF_125(void)    {return 001;}
00395     int DF_126(void)    {return 203;}
00396     int DF_127(void)    {return 180;}
00397     int DF_128(void)    {return 270;}
00398     int DF_129(void)    {return 315;}
00399     int DF_130(void)    {return 001;}
00400     int DF_131(void)    {return 000;}
00401     int DF_132(void)    {return 001;}
00402     int DF_133(void)    {return 001;}
00403     int DF_134(void)    {return 001;}
00404     int DF_135(void)    {return 023;}
00405     int DF_136(void)    {return 001;}
00406     int DF_137(void)    {return 001;}
00407     int DF_138(void)    {return 001;}
00408     int DF_139(void)    {return 001;}
00409     int DF_140(void)    {return 001;}
00410     int DF_141(void)    {return 001;}
00411     int DF_142(void)    {return 001;}
00412     int DF_143(void)    {return 045;}
00413     int DF_144(void)    {return 001;}
00414     int DF_145(void)    {return 001;}
00415     int DF_146(void)    {return 001;}
00416     int DF_147(void)    {return 001;}
00417     int DF_148(void)    {return 001;}
00418     int DF_149(void)    {return 001;}
00419     int DF_150(void)    {return 001;}
00420     int DF_151(void)    {return 001;}
00421     int DF_152(void)    {return 001;}
00422     int DF_153(void)    {return 001;}
00423     int DF_154(void)    {return 001;}
00424     int DF_155(void)    {return 001;}
00425     int DF_156(void)    {return 001;}
00426     int DF_157(void)    {return 001;}
00427     int DF_158(void)    {return 001;}
00428     int DF_159(void)    {return 067;}
00429     int DF_160(void)    {return 001;}
00430     int DF_161(void)    {return 001;}
00431     int DF_162(void)    {return 001;}
00432     int DF_163(void)    {return 001;}
00433     int DF_164(void)    {return 001;}
00434     int DF_165(void)    {return 001;}
00435     int DF_166(void)    {return 001;}
00436     int DF_167(void)    {return 001;}
00437     int DF_168(void)    {return 001;}
00438     int DF_169(void)    {return 001;}
00439     int DF_170(void)    {return 001;}
00440     int DF_171(void)    {return 001;}
00441     int DF_172(void)    {return 001;}
00442     int DF_173(void)    {return 001;}
00443     int DF_174(void)    {return 001;}
00444     int DF_175(void)    {return 001;}
00445     int DF_176(void)    {return 001;}
00446     int DF_177(void)    {return 001;}
00447     int DF_178(void)    {return 001;}
00448     int DF_179(void)    {return 001;}
00449     int DF_180(void)    {return 001;}
00450     int DF_181(void)    {return 001;}
00451     int DF_182(void)    {return 001;}
00452     int DF_183(void)    {return 001;}
00453     int DF_184(void)    {return 001;}
00454     int DF_185(void)    {return 001;}
00455     int DF_186(void)    {return 001;}
00456     int DF_187(void)    {return 001;}
00457     int DF_188(void)    {return 001;}
00458     int DF_189(void)    {return 001;}
00459     int DF_190(void)    {return 001;}
00460     int DF_191(void)    {return  90;}
00461     int DF_192(void)    {return 270;}
00462     int DF_193(void)    {return 315;}
00463     int DF_194(void)    {return 001;}
00464     int DF_195(void)    {return 337;}
00465     int DF_196(void)    {return 001;}
00466     int DF_197(void)    {return 001;}
00467     int DF_198(void)    {return 001;}
00468     int DF_199(void)    {return 000;}
00469     int DF_200(void)    {return 001;}
00470     int DF_201(void)    {return 001;}
00471     int DF_202(void)    {return 001;}
00472     int DF_203(void)    {return 001;}
00473     int DF_204(void)    {return 001;}
00474     int DF_205(void)    {return 001;}
00475     int DF_206(void)    {return 001;}
00476     int DF_207(void)    {return 045;}
00477     int DF_208(void)    {return 001;}
00478     int DF_209(void)    {return 001;}
00479     int DF_210(void)    {return 001;}
00480     int DF_211(void)    {return 001;}
00481     int DF_212(void)    {return 001;}
00482     int DF_213(void)    {return 001;}
00483     int DF_214(void)    {return 001;}
00484     int DF_215(void)    {return 001;}
00485     int DF_216(void)    {return 001;}
00486     int DF_217(void)    {return 001;}
00487     int DF_218(void)    {return 001;}
00488     int DF_219(void)    {return 001;}
00489     int DF_220(void)    {return 001;}
00490     int DF_221(void)    {return 001;}
00491     int DF_222(void)    {return 001;}
00492     int DF_223(void)    {return 001;}
00493     int DF_224(void)    {return 225;}
00494     int DF_225(void)    {return 270;}
00495     int DF_226(void)    {return 001;}
00496     int DF_227(void)    {return 315;}
00497     int DF_228(void)    {return 001;}
00498     int DF_229(void)    {return 001;}
00499     int DF_230(void)    {return 001;}
00500     int DF_231(void)    {return 337;}
00501     int DF_232(void)    {return 001;}
00502     int DF_233(void)    {return 001;}
00503     int DF_234(void)    {return 001;}
00504     int DF_235(void)    {return 001;}
00505     int DF_236(void)    {return 001;}
00506     int DF_237(void)    {return 001;}
00507     int DF_238(void)    {return 001;}
00508     int DF_239(void)    {return 000;}
00509     int DF_240(void)    {return 180;}
00510     int DF_241(void)    {return 001;}
00511     int DF_242(void)    {return 001;}
00512     int DF_243(void)    {return 001;}
00513     int DF_244(void)    {return 001;}
00514     int DF_245(void)    {return 001;}
00515     int DF_246(void)    {return 001;}
00516     int DF_247(void)    {return 001;}
00517     int DF_248(void)    {return 135;}
00518     int DF_249(void)    {return 001;}
00519     int DF_250(void)    {return 001;}
00520     int DF_251(void)    {return 001;}
00521     int DF_252(void)    {return 113;}
00522     int DF_253(void)    {return 001;}
00523     int DF_254(void)    {return  90;}
00524     int DF_255(void)    {return 001;}
00525 // IRのデータからAngleの分岐
00526 int (*DF_AngApi[])(void) = {DF_000, DF_001, DF_002, DF_003, DF_004, DF_005, DF_006, DF_007, DF_008, DF_009, DF_010, DF_011, DF_012, DF_013, DF_014, DF_015, DF_016, DF_017, DF_018, DF_019, DF_020, DF_021, DF_022, DF_023, DF_024, DF_025, DF_026, DF_027, DF_028, DF_029, DF_030, DF_031, DF_032, DF_033, DF_034, DF_035, DF_036, DF_037, DF_038, DF_039, DF_040, DF_041, DF_042, DF_043, DF_044, DF_045, DF_046, DF_047, DF_048, DF_049, DF_050, DF_051, DF_052, DF_053, DF_054, DF_055, DF_056, DF_057, DF_058, DF_059, DF_060, DF_061, DF_062, DF_063, DF_064, DF_065, DF_066, DF_067, DF_068, DF_069, DF_070, DF_071, DF_072, DF_073, DF_074, DF_075, DF_076, DF_077, DF_078, DF_079, DF_080, DF_081, DF_082, DF_083, DF_084, DF_085, DF_086, DF_087, DF_088, DF_089, DF_090, DF_091, DF_092, DF_093, DF_094, DF_095, DF_096, DF_097, DF_098, DF_099, DF_100, DF_101, DF_102, DF_103, DF_104, DF_105, DF_106, DF_107, DF_108, DF_109, DF_110, DF_111, DF_112, DF_113, DF_114, DF_115, DF_116, DF_117, DF_118, DF_119, DF_120, DF_121, DF_122, DF_123, DF_124, DF_125, DF_126, DF_127, DF_128, DF_129, DF_130, DF_131, DF_132, DF_133, DF_134, DF_135, DF_136, DF_137, DF_138, DF_139, DF_140, DF_141, DF_142, DF_143, DF_144, DF_145, DF_146, DF_147, DF_148, DF_149, DF_150, DF_151, DF_152, DF_153, DF_154, DF_155, DF_156, DF_157, DF_158, DF_159, DF_160, DF_161, DF_162, DF_163, DF_164, DF_165, DF_166, DF_167, DF_168, DF_169, DF_170, DF_171, DF_172, DF_173, DF_174, DF_175, DF_176, DF_177, DF_178, DF_179, DF_180, DF_181, DF_182, DF_183, DF_184, DF_185, DF_186, DF_187, DF_188, DF_189, DF_190, DF_191, DF_192, DF_193, DF_194, DF_195, DF_196, DF_197, DF_198, DF_199, DF_200, DF_201, DF_202, DF_203, DF_204, DF_205, DF_206, DF_207, DF_208, DF_209, DF_210, DF_211, DF_212, DF_213, DF_214, DF_215, DF_216, DF_217, DF_218, DF_219, DF_220, DF_221, DF_222, DF_223, DF_224, DF_225, DF_226, DF_227, DF_228, DF_229, DF_230, DF_231, DF_232, DF_233, DF_234, DF_235, DF_236, DF_237, DF_238, DF_239, DF_240, DF_241, DF_242, DF_243, DF_244, DF_245, DF_246, DF_247, DF_248, DF_249, DF_250, DF_251, DF_252, DF_253, DF_254, DF_255};
00527 
00528 
00529 
00530 
00531 
00532 /*---- mbed_masterからのデータ送信要求の処理 ----*/
00533 // i=0のとき PING
00534     void MBED_PING(void) {
00535         PING_slots.wait();
00536             val = I2C_master.write(Ping_data,  4);
00537         PING_slots.release();
00538         if(!val) led2 = 1;
00539     }
00540 
00541 // i=1のとき IR
00542     void MBED_IR(void) {
00543         Angle_char[3] = (BallCheck) ? 1 : 0;    // ボールの保持を確認
00544         val = I2C_master.write(Angle_char, 4);  // 0,1:進行方向  2:スピード  3:ボールの保持 
00545             if(!val) led2 = 1; 
00546     }
00547 
00548 
00549 // i=2のとき LCD
00550     void MBED_LCD(void) {
00551         val = I2C_master.write(lcd, strlen(lcd)+1);
00552             if(!val) led2 = 1; 
00553     }
00554 
00555 // i=3のとき ロータリースイッチ
00556     void MBED_ROTARY(void) {
00557         val = I2C_master.write(Mode, 1);
00558         if(!val) {
00559             led2 = 1;
00560             Flag = 1;
00561         } 
00562     }
00563 
00564 void (*MBED_ORDER[])(void) = {MBED_PING, MBED_IR, MBED_LCD, MBED_ROTARY};
00565 
00566 
00567 
00568 
00569 
00570 // mbedMasterとのI2C通信用プログラム
00571 void MBED_MASTER(void) {
00572     int i = I2C_master.receive();
00573     int j = I2C_avr.receive();
00574 
00575     /* mbed_masterとの通信 */
00576     switch (i) {
00577         case I2CSlave::ReadAddressed:   // データ送信命令時の動作
00578             (*MBED_ORDER[Order])();
00579             break;
00580         case I2CSlave::WriteAddressed:  // 命令受信用の動作
00581             val = I2C_master.read(MBED_data, 1);
00582                 if(!val)  led1 = 1;
00583             Order = MBED_data[0];
00584             break;
00585         // 基本的に使わない処理
00586             case I2CSlave::WriteGeneral:    // 念のため一斉通信用の処理
00587                 break;
00588             default:
00589                 break;
00590     }
00591 
00592     /* avrとの通信 */
00593     switch (j) {
00594         case I2CSlave::WriteAddressed:
00595             val = I2C_avr.read(IR_data, 2);     // 0:near  1:long
00596                 if(!val)  led3 = 1;
00597             switch(Mode[0]){
00598                 case 0: int_char((*FW_AngApi[IR_data[0]])());  break;
00599                 case 1: int_char((*DF_AngApi[IR_data[0]])());  break;
00600                 default : break;
00601             }
00602                             break;
00603         // 基本的に使わない処理
00604             case I2CSlave::ReadAddressed:
00605                 break;
00606             case I2CSlave::WriteGeneral:
00607                 break;
00608     }
00609 }
00610 
00611 
00612 
00613 
00614 // int -> char
00615 void int_char(int x) {
00616     if (x>255) {    // char一つに収まらないとき
00617         Angle_char[0] = 255;
00618         Angle_char[1] = x - 255;
00619     } else {        // char一つに収まるとき
00620         Angle_char[0] = x;
00621         Angle_char[1] = 0;
00622     }
00623 }
00624 
00625 
00626 
00627 
00628 
00629 
00630