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

Dependencies:   ACM1602NI Ping mbed-rtos mbed

I2C_Slave.h

Committer:
denden
Date:
2014-03-10
Revision:
0:b9cd980ee324

File content as of revision 0:b9cd980ee324:

// Slave側プログラム



/*---- FWの進行方向の処理 -----*/
// IRのデータによるAngleの処理
    int FW_000(void)    {return 001;}
    int FW_001(void)    {return 000;}
    int FW_002(void)    {return  90;}
    int FW_003(void)    {return 045;}
    int FW_004(void)    {return 135;}
    int FW_005(void)    {return  90;}
    int FW_006(void)    {return 113;}
    int FW_007(void)    {return  90;}
    int FW_008(void)    {return 180;}
    int FW_009(void)    {return 001;}
    int FW_010(void)    {return 135;}
    int FW_011(void)    {return 001;}
    int FW_012(void)    {return 158;}
    int FW_013(void)    {return 001;}
    int FW_014(void)    {return 135;}
    int FW_015(void)    {return 113;}
    int FW_016(void)    {return  90;}
    int FW_017(void)    {return 001;}
    int FW_018(void)    {return 001;}
    int FW_019(void)    {return 001;}
    int FW_020(void)    {return 001;}
    int FW_021(void)    {return 001;}
    int FW_022(void)    {return 001;}
    int FW_023(void)    {return 001;}
    int FW_024(void)    {return 225;}
    int FW_025(void)    {return 001;}
    int FW_026(void)    {return 001;}
    int FW_027(void)    {return 001;}
    int FW_028(void)    {return 195;}
    int FW_029(void)    {return 001;}
    int FW_030(void)    {return 203;}
    int FW_031(void)    {return 180;}
    int FW_032(void)    {return 180;}
    int FW_033(void)    {return 001;}
    int FW_034(void)    {return 001;}
    int FW_035(void)    {return 001;}
    int FW_036(void)    {return 001;}
    int FW_037(void)    {return 001;}
    int FW_038(void)    {return 001;}
    int FW_039(void)    {return 001;}
    int FW_040(void)    {return 001;}
    int FW_041(void)    {return 001;}
    int FW_042(void)    {return 001;}
    int FW_043(void)    {return 001;}
    int FW_044(void)    {return 001;}
    int FW_045(void)    {return 001;}
    int FW_046(void)    {return 001;}
    int FW_047(void)    {return 001;}
    int FW_048(void)    {return 135;}
    int FW_049(void)    {return 001;}
    int FW_050(void)    {return 001;}
    int FW_051(void)    {return 001;}
    int FW_052(void)    {return 001;}
    int FW_053(void)    {return 001;}
    int FW_054(void)    {return 001;}
    int FW_055(void)    {return 001;}
    int FW_056(void)    {return  90;}
    int FW_057(void)    {return 001;}
    int FW_058(void)    {return 001;}
    int FW_059(void)    {return 001;}
    int FW_060(void)    {return 248;}
    int FW_061(void)    {return 001;}
    int FW_062(void)    {return 225;}
    int FW_063(void)    {return 203;}
    int FW_064(void)    {return 225;}
    int FW_065(void)    {return 001;}
    int FW_066(void)    {return 001;}
    int FW_067(void)    {return 001;}
    int FW_068(void)    {return 001;}
    int FW_069(void)    {return 001;}
    int FW_070(void)    {return 001;}
    int FW_071(void)    {return 001;}
    int FW_072(void)    {return 001;}
    int FW_073(void)    {return 001;}
    int FW_074(void)    {return 001;}
    int FW_075(void)    {return 001;}
    int FW_076(void)    {return 001;}
    int FW_077(void)    {return 001;}
    int FW_078(void)    {return 001;}
    int FW_079(void)    {return 001;}
    int FW_080(void)    {return 001;}
    int FW_081(void)    {return 001;}
    int FW_082(void)    {return 001;}
    int FW_083(void)    {return 001;}
    int FW_084(void)    {return 001;}
    int FW_085(void)    {return 001;}
    int FW_086(void)    {return 001;}
    int FW_087(void)    {return 001;}
    int FW_088(void)    {return 001;}
    int FW_089(void)    {return 001;}
    int FW_090(void)    {return 001;}
    int FW_091(void)    {return 001;}
    int FW_092(void)    {return 001;}
    int FW_093(void)    {return 001;}
    int FW_094(void)    {return 001;}
    int FW_095(void)    {return 001;}
    int FW_096(void)    {return 203;}
    int FW_097(void)    {return 001;}
    int FW_098(void)    {return 001;}
    int FW_099(void)    {return 001;}
    int FW_100(void)    {return 001;}
    int FW_101(void)    {return 001;}
    int FW_102(void)    {return 001;}
    int FW_103(void)    {return 001;}
    int FW_104(void)    {return 001;}
    int FW_105(void)    {return 001;}
    int FW_106(void)    {return 001;}
    int FW_107(void)    {return 001;}
    int FW_108(void)    {return 001;}
    int FW_109(void)    {return 001;}
    int FW_110(void)    {return 001;}
    int FW_111(void)    {return 001;}
    int FW_112(void)    {return 135;}
    int FW_113(void)    {return 001;}
    int FW_114(void)    {return 001;}
    int FW_115(void)    {return 001;}
    int FW_116(void)    {return 001;}
    int FW_117(void)    {return 001;}
    int FW_118(void)    {return 001;}
    int FW_119(void)    {return 001;}
    int FW_120(void)    {return 112;}
    int FW_121(void)    {return 001;}
    int FW_122(void)    {return 001;}
    int FW_123(void)    {return 001;}
    int FW_124(void)    {return  90;}
    int FW_125(void)    {return 001;}
    int FW_126(void)    {return 248;}
    int FW_127(void)    {return 225;}
    int FW_128(void)    {return 270;}
    int FW_129(void)    {return 310;}
    int FW_130(void)    {return 001;}
    int FW_131(void)    {return 000;}
    int FW_132(void)    {return 001;}
    int FW_133(void)    {return 001;}
    int FW_134(void)    {return 001;}
    int FW_135(void)    {return 045;}
    int FW_136(void)    {return 001;}
    int FW_137(void)    {return 001;}
    int FW_138(void)    {return 001;}
    int FW_139(void)    {return 001;}
    int FW_140(void)    {return 001;}
    int FW_141(void)    {return 001;}
    int FW_142(void)    {return 001;}
    int FW_143(void)    {return 135;}
    int FW_144(void)    {return 001;}
    int FW_145(void)    {return 001;}
    int FW_146(void)    {return 001;}
    int FW_147(void)    {return 001;}
    int FW_148(void)    {return 001;}
    int FW_149(void)    {return 001;}
    int FW_150(void)    {return 001;}
    int FW_151(void)    {return 001;}
    int FW_152(void)    {return 001;}
    int FW_153(void)    {return 001;}
    int FW_154(void)    {return 001;}
    int FW_155(void)    {return 001;}
    int FW_156(void)    {return 001;}
    int FW_157(void)    {return 001;}
    int FW_158(void)    {return 001;}
    int FW_159(void)    {return 158;}
    int FW_160(void)    {return 001;}
    int FW_161(void)    {return 001;}
    int FW_162(void)    {return 001;}
    int FW_163(void)    {return 001;}
    int FW_164(void)    {return 001;}
    int FW_165(void)    {return 001;}
    int FW_166(void)    {return 001;}
    int FW_167(void)    {return 001;}
    int FW_168(void)    {return 001;}
    int FW_169(void)    {return 001;}
    int FW_170(void)    {return 001;}
    int FW_171(void)    {return 001;}
    int FW_172(void)    {return 001;}
    int FW_173(void)    {return 001;}
    int FW_174(void)    {return 001;}
    int FW_175(void)    {return 001;}
    int FW_176(void)    {return 001;}
    int FW_177(void)    {return 001;}
    int FW_178(void)    {return 001;}
    int FW_179(void)    {return 001;}
    int FW_180(void)    {return 001;}
    int FW_181(void)    {return 001;}
    int FW_182(void)    {return 001;}
    int FW_183(void)    {return 001;}
    int FW_184(void)    {return 001;}
    int FW_185(void)    {return 001;}
    int FW_186(void)    {return 001;}
    int FW_187(void)    {return 001;}
    int FW_188(void)    {return 001;}
    int FW_189(void)    {return 001;}
    int FW_190(void)    {return 001;}
    int FW_191(void)    {return 180;}
    int FW_192(void)    {return 247;}
    int FW_193(void)    {return 001;}
    int FW_194(void)    {return 001;}
    int FW_195(void)    {return 001;}
    int FW_196(void)    {return 001;}
    int FW_197(void)    {return 001;}
    int FW_198(void)    {return 001;}
    int FW_199(void)    {return 000;}
    int FW_200(void)    {return 001;}
    int FW_201(void)    {return 001;}
    int FW_202(void)    {return 001;}
    int FW_203(void)    {return 001;}
    int FW_204(void)    {return 001;}
    int FW_205(void)    {return 001;}
    int FW_206(void)    {return 001;}
    int FW_207(void)    {return 001;}
    int FW_208(void)    {return 001;}
    int FW_209(void)    {return 001;}
    int FW_210(void)    {return 001;}
    int FW_211(void)    {return 001;}
    int FW_212(void)    {return 001;}
    int FW_213(void)    {return 001;}
    int FW_214(void)    {return 001;}
    int FW_215(void)    {return 001;}
    int FW_216(void)    {return 001;}
    int FW_217(void)    {return 001;}
    int FW_218(void)    {return 001;}
    int FW_219(void)    {return 001;}
    int FW_220(void)    {return 001;}
    int FW_221(void)    {return 001;}
    int FW_222(void)    {return 001;}
    int FW_223(void)    {return 001;}
    int FW_224(void)    {return 180;}
    int FW_225(void)    {return 001;}
    int FW_226(void)    {return 001;}
    int FW_227(void)    {return 001;}
    int FW_228(void)    {return 001;}
    int FW_229(void)    {return 001;}
    int FW_230(void)    {return 001;}
    int FW_231(void)    {return 001;}
    int FW_232(void)    {return 001;}
    int FW_233(void)    {return 001;}
    int FW_234(void)    {return 001;}
    int FW_235(void)    {return 001;}
    int FW_236(void)    {return 001;}
    int FW_237(void)    {return 001;}
    int FW_238(void)    {return 001;}
    int FW_239(void)    {return 000;}
    int FW_240(void)    {return 158;}
    int FW_241(void)    {return 001;}
    int FW_242(void)    {return 001;}
    int FW_243(void)    {return 001;}
    int FW_244(void)    {return 001;}
    int FW_245(void)    {return 001;}
    int FW_246(void)    {return 001;}
    int FW_247(void)    {return 001;}
    int FW_248(void)    {return 135;}
    int FW_249(void)    {return 001;}
    int FW_250(void)    {return 001;}
    int FW_251(void)    {return 001;}
    int FW_252(void)    {return 202;}
    int FW_253(void)    {return 001;}
    int FW_254(void)    {return  90;}
    int FW_255(void)    {return 001;}
// IRのデータからAngleの分岐
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};


/*---- DFの進行方向の処理 -----*/
// IRのデータによるAngleの処理
    int DF_000(void)    {return 001;}
    int DF_001(void)    {return 001;}
    int DF_002(void)    {return  90;}
    int DF_003(void)    {return 023;}
    int DF_004(void)    {return  90;}
    int DF_005(void)    {return 001;}
    int DF_006(void)    {return  90;}
    int DF_007(void)    {return 045;}
    int DF_008(void)    {return 180;}
    int DF_009(void)    {return 001;}
    int DF_010(void)    {return 001;}
    int DF_011(void)    {return 001;}
    int DF_012(void)    {return 180;}
    int DF_013(void)    {return 001;}
    int DF_014(void)    {return 135;}
    int DF_015(void)    {return  90;}
    int DF_016(void)    {return  90;}
    int DF_017(void)    {return 001;}
    int DF_018(void)    {return 001;}
    int DF_019(void)    {return 001;}
    int DF_020(void)    {return 001;}
    int DF_021(void)    {return 001;}
    int DF_022(void)    {return 001;}
    int DF_023(void)    {return 001;}
    int DF_024(void)    {return 203;}
    int DF_025(void)    {return 001;}
    int DF_026(void)    {return 001;}
    int DF_027(void)    {return 001;}
    int DF_028(void)    {return 180;}
    int DF_029(void)    {return 001;}
    int DF_030(void)    {return 157;}
    int DF_031(void)    {return  90;}
    int DF_032(void)    {return 180;}
    int DF_033(void)    {return 001;}
    int DF_034(void)    {return 001;}
    int DF_035(void)    {return 001;}
    int DF_036(void)    {return 001;}
    int DF_037(void)    {return 001;}
    int DF_038(void)    {return 001;}
    int DF_039(void)    {return 001;}
    int DF_040(void)    {return 001;}
    int DF_041(void)    {return 001;}
    int DF_042(void)    {return 001;}
    int DF_043(void)    {return 001;}
    int DF_044(void)    {return 001;}
    int DF_045(void)    {return 001;}
    int DF_046(void)    {return 001;}
    int DF_047(void)    {return 001;}
    int DF_048(void)    {return 157;}
    int DF_049(void)    {return 001;}
    int DF_050(void)    {return 001;}
    int DF_051(void)    {return 001;}
    int DF_052(void)    {return 001;}
    int DF_053(void)    {return 001;}
    int DF_054(void)    {return 001;}
    int DF_055(void)    {return 001;}
    int DF_056(void)    {return  90;}
    int DF_057(void)    {return 001;}
    int DF_058(void)    {return 001;}
    int DF_059(void)    {return 001;}
    int DF_060(void)    {return 225;}
    int DF_061(void)    {return 001;}
    int DF_062(void)    {return 180;}
    int DF_063(void)    {return 180;}
    int DF_064(void)    {return 180;}
    int DF_065(void)    {return 001;}
    int DF_066(void)    {return 001;}
    int DF_067(void)    {return 001;}
    int DF_068(void)    {return 001;}
    int DF_069(void)    {return 001;}
    int DF_070(void)    {return 001;}
    int DF_071(void)    {return 001;}
    int DF_072(void)    {return 001;}
    int DF_073(void)    {return 001;}
    int DF_074(void)    {return 001;}
    int DF_075(void)    {return 001;}
    int DF_076(void)    {return 001;}
    int DF_077(void)    {return 001;}
    int DF_078(void)    {return 001;}
    int DF_079(void)    {return 001;}
    int DF_080(void)    {return 001;}
    int DF_081(void)    {return 001;}
    int DF_082(void)    {return 001;}
    int DF_083(void)    {return 001;}
    int DF_084(void)    {return 001;}
    int DF_085(void)    {return 001;}
    int DF_086(void)    {return 001;}
    int DF_087(void)    {return 001;}
    int DF_088(void)    {return 001;}
    int DF_089(void)    {return 001;}
    int DF_090(void)    {return 001;}
    int DF_091(void)    {return 001;}
    int DF_092(void)    {return 001;}
    int DF_093(void)    {return 001;}
    int DF_094(void)    {return 001;}
    int DF_095(void)    {return 001;}
    int DF_096(void)    {return 180;}
    int DF_097(void)    {return 001;}
    int DF_098(void)    {return 001;}
    int DF_099(void)    {return 001;}
    int DF_100(void)    {return 001;}
    int DF_101(void)    {return 001;}
    int DF_102(void)    {return 001;}
    int DF_103(void)    {return 001;}
    int DF_104(void)    {return 001;}
    int DF_105(void)    {return 001;}
    int DF_106(void)    {return 001;}
    int DF_107(void)    {return 001;}
    int DF_108(void)    {return 001;}
    int DF_109(void)    {return 001;}
    int DF_110(void)    {return 001;}
    int DF_111(void)    {return 001;}
    int DF_112(void)    {return 135;}
    int DF_113(void)    {return 001;}
    int DF_114(void)    {return 001;}
    int DF_115(void)    {return 001;}
    int DF_116(void)    {return 001;}
    int DF_117(void)    {return 001;}
    int DF_118(void)    {return 001;}
    int DF_119(void)    {return 001;}
    int DF_120(void)    {return 067;}
    int DF_121(void)    {return 001;}
    int DF_122(void)    {return 001;}
    int DF_123(void)    {return 001;}
    int DF_124(void)    {return  90;}
    int DF_125(void)    {return 001;}
    int DF_126(void)    {return 203;}
    int DF_127(void)    {return 180;}
    int DF_128(void)    {return 270;}
    int DF_129(void)    {return 315;}
    int DF_130(void)    {return 001;}
    int DF_131(void)    {return 000;}
    int DF_132(void)    {return 001;}
    int DF_133(void)    {return 001;}
    int DF_134(void)    {return 001;}
    int DF_135(void)    {return 023;}
    int DF_136(void)    {return 001;}
    int DF_137(void)    {return 001;}
    int DF_138(void)    {return 001;}
    int DF_139(void)    {return 001;}
    int DF_140(void)    {return 001;}
    int DF_141(void)    {return 001;}
    int DF_142(void)    {return 001;}
    int DF_143(void)    {return 045;}
    int DF_144(void)    {return 001;}
    int DF_145(void)    {return 001;}
    int DF_146(void)    {return 001;}
    int DF_147(void)    {return 001;}
    int DF_148(void)    {return 001;}
    int DF_149(void)    {return 001;}
    int DF_150(void)    {return 001;}
    int DF_151(void)    {return 001;}
    int DF_152(void)    {return 001;}
    int DF_153(void)    {return 001;}
    int DF_154(void)    {return 001;}
    int DF_155(void)    {return 001;}
    int DF_156(void)    {return 001;}
    int DF_157(void)    {return 001;}
    int DF_158(void)    {return 001;}
    int DF_159(void)    {return 067;}
    int DF_160(void)    {return 001;}
    int DF_161(void)    {return 001;}
    int DF_162(void)    {return 001;}
    int DF_163(void)    {return 001;}
    int DF_164(void)    {return 001;}
    int DF_165(void)    {return 001;}
    int DF_166(void)    {return 001;}
    int DF_167(void)    {return 001;}
    int DF_168(void)    {return 001;}
    int DF_169(void)    {return 001;}
    int DF_170(void)    {return 001;}
    int DF_171(void)    {return 001;}
    int DF_172(void)    {return 001;}
    int DF_173(void)    {return 001;}
    int DF_174(void)    {return 001;}
    int DF_175(void)    {return 001;}
    int DF_176(void)    {return 001;}
    int DF_177(void)    {return 001;}
    int DF_178(void)    {return 001;}
    int DF_179(void)    {return 001;}
    int DF_180(void)    {return 001;}
    int DF_181(void)    {return 001;}
    int DF_182(void)    {return 001;}
    int DF_183(void)    {return 001;}
    int DF_184(void)    {return 001;}
    int DF_185(void)    {return 001;}
    int DF_186(void)    {return 001;}
    int DF_187(void)    {return 001;}
    int DF_188(void)    {return 001;}
    int DF_189(void)    {return 001;}
    int DF_190(void)    {return 001;}
    int DF_191(void)    {return  90;}
    int DF_192(void)    {return 270;}
    int DF_193(void)    {return 315;}
    int DF_194(void)    {return 001;}
    int DF_195(void)    {return 337;}
    int DF_196(void)    {return 001;}
    int DF_197(void)    {return 001;}
    int DF_198(void)    {return 001;}
    int DF_199(void)    {return 000;}
    int DF_200(void)    {return 001;}
    int DF_201(void)    {return 001;}
    int DF_202(void)    {return 001;}
    int DF_203(void)    {return 001;}
    int DF_204(void)    {return 001;}
    int DF_205(void)    {return 001;}
    int DF_206(void)    {return 001;}
    int DF_207(void)    {return 045;}
    int DF_208(void)    {return 001;}
    int DF_209(void)    {return 001;}
    int DF_210(void)    {return 001;}
    int DF_211(void)    {return 001;}
    int DF_212(void)    {return 001;}
    int DF_213(void)    {return 001;}
    int DF_214(void)    {return 001;}
    int DF_215(void)    {return 001;}
    int DF_216(void)    {return 001;}
    int DF_217(void)    {return 001;}
    int DF_218(void)    {return 001;}
    int DF_219(void)    {return 001;}
    int DF_220(void)    {return 001;}
    int DF_221(void)    {return 001;}
    int DF_222(void)    {return 001;}
    int DF_223(void)    {return 001;}
    int DF_224(void)    {return 225;}
    int DF_225(void)    {return 270;}
    int DF_226(void)    {return 001;}
    int DF_227(void)    {return 315;}
    int DF_228(void)    {return 001;}
    int DF_229(void)    {return 001;}
    int DF_230(void)    {return 001;}
    int DF_231(void)    {return 337;}
    int DF_232(void)    {return 001;}
    int DF_233(void)    {return 001;}
    int DF_234(void)    {return 001;}
    int DF_235(void)    {return 001;}
    int DF_236(void)    {return 001;}
    int DF_237(void)    {return 001;}
    int DF_238(void)    {return 001;}
    int DF_239(void)    {return 000;}
    int DF_240(void)    {return 180;}
    int DF_241(void)    {return 001;}
    int DF_242(void)    {return 001;}
    int DF_243(void)    {return 001;}
    int DF_244(void)    {return 001;}
    int DF_245(void)    {return 001;}
    int DF_246(void)    {return 001;}
    int DF_247(void)    {return 001;}
    int DF_248(void)    {return 135;}
    int DF_249(void)    {return 001;}
    int DF_250(void)    {return 001;}
    int DF_251(void)    {return 001;}
    int DF_252(void)    {return 113;}
    int DF_253(void)    {return 001;}
    int DF_254(void)    {return  90;}
    int DF_255(void)    {return 001;}
// IRのデータからAngleの分岐
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};





/*---- mbed_masterからのデータ送信要求の処理 ----*/
// i=0のとき PING
    void MBED_PING(void) {
        PING_slots.wait();
            val = I2C_master.write(Ping_data,  4);
        PING_slots.release();
        if(!val) led2 = 1;
    }

// i=1のとき IR
    void MBED_IR(void) {
        Angle_char[3] = (BallCheck) ? 1 : 0;    // ボールの保持を確認
        val = I2C_master.write(Angle_char, 4);  // 0,1:進行方向  2:スピード  3:ボールの保持 
            if(!val) led2 = 1; 
    }


// i=2のとき LCD
    void MBED_LCD(void) {
        val = I2C_master.write(lcd, strlen(lcd)+1);
            if(!val) led2 = 1; 
    }

// i=3のとき ロータリースイッチ
    void MBED_ROTARY(void) {
        val = I2C_master.write(Mode, 1);
        if(!val) {
            led2 = 1;
            Flag = 1;
        } 
    }

void (*MBED_ORDER[])(void) = {MBED_PING, MBED_IR, MBED_LCD, MBED_ROTARY};





// mbedMasterとのI2C通信用プログラム
void MBED_MASTER(void) {
    int i = I2C_master.receive();
    int j = I2C_avr.receive();

    /* mbed_masterとの通信 */
    switch (i) {
        case I2CSlave::ReadAddressed:   // データ送信命令時の動作
            (*MBED_ORDER[Order])();
            break;
        case I2CSlave::WriteAddressed:  // 命令受信用の動作
            val = I2C_master.read(MBED_data, 1);
                if(!val)  led1 = 1;
            Order = MBED_data[0];
            break;
        // 基本的に使わない処理
            case I2CSlave::WriteGeneral:    // 念のため一斉通信用の処理
                break;
            default:
                break;
    }

    /* avrとの通信 */
    switch (j) {
        case I2CSlave::WriteAddressed:
            val = I2C_avr.read(IR_data, 2);     // 0:near  1:long
                if(!val)  led3 = 1;
            switch(Mode[0]){
                case 0: int_char((*FW_AngApi[IR_data[0]])());  break;
                case 1: int_char((*DF_AngApi[IR_data[0]])());  break;
                default : break;
            }
                            break;
        // 基本的に使わない処理
            case I2CSlave::ReadAddressed:
                break;
            case I2CSlave::WriteGeneral:
                break;
    }
}




// int -> char
void int_char(int x) {
    if (x>255) {    // char一つに収まらないとき
        Angle_char[0] = 255;
        Angle_char[1] = x - 255;
    } else {        // char一つに収まるとき
        Angle_char[0] = x;
        Angle_char[1] = 0;
    }
}