
ジョイスティック切換えで色々な処理をやります。 C言語学習用です。
Dependencies: C12832 MMA7660 mbed
src/liner.cpp@14:15447d4751c3, 2018-04-11 (annotated)
- Committer:
- INTRA\mitsuru.suzuki
- Date:
- Wed Apr 11 18:13:13 2018 +0900
- Revision:
- 14:15447d4751c3
- Parent:
- 13:2c1fe87a06cd
"./mbed.h"???
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
INTRA\mitsuru.suzuki |
14:15447d4751c3 | 1 | #include "./mbed.h" |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 2 | #include "commands.h" |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 3 | |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 4 | DigitalOut liner1(LED1); |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 5 | DigitalOut liner2(LED2); |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 6 | DigitalOut liner3(LED3); |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 7 | DigitalOut liner4(LED4); |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 8 | |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 9 | static DigitalOut* _ledList[] = { |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 10 | &liner1, |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 11 | &liner2, |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 12 | &liner3, |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 13 | &liner4, |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 14 | NULL, |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 15 | }; |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 16 | |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 17 | static int _ledIndex = 0; |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 18 | |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 19 | static void _Initialize(void) { |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 20 | for(int index = 0; _ledList[index] != NULL; index++) { |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 21 | *_ledList[index] = 0; |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 22 | } |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 23 | } |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 24 | |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 25 | static void _Finalize(void) { |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 26 | _Initialize(); |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 27 | } |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 28 | |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 29 | static void _ProcessInitialize(void) { |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 30 | _ledIndex = 0; |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 31 | } |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 32 | |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 33 | static bool _ProcessIsContinue(void) { |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 34 | return _ledList[_ledIndex] != NULL; |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 35 | } |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 36 | |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 37 | static void _ProcessRunning(void) { |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 38 | *_ledList[_ledIndex] = 1; |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 39 | wait(0.1); |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 40 | *_ledList[_ledIndex] = 0; |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 41 | _ledIndex++; |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 42 | } |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 43 | |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 44 | COMMAND_DEFINE Command_liner = {(char*)"liner", _Initialize, _Finalize, |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 45 | _ProcessInitialize, _ProcessIsContinue, _ProcessRunning |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 46 | }; |