
ジョイスティック切換えで色々な処理をやります。 C言語学習用です。
Dependencies: C12832 MMA7660 mbed
src/color.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 | PwmOut r (p23); |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 5 | PwmOut g (p24); |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 6 | PwmOut b (p25); |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 7 | |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 8 | static void _Finalize(void) { |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 9 | r = 1.0; |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 10 | g = 1.0; |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 11 | b = 1.0; |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 12 | } |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 13 | |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 14 | static void _Initialize(void) { |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 15 | r.period_ms(1); |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 16 | _Finalize(); |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 17 | } |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 18 | |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 19 | static float _ColorRange = 0.0; |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 20 | static void _ProcessInitialize(void) { |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 21 | _ColorRange = 0.0; |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 22 | } |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 23 | |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 24 | static bool _ProcessIsContinue(void) { |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 25 | return _ColorRange < 1.0; |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 26 | } |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 27 | |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 28 | static void _ProcessRunning(void) { |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 29 | float p = 3 * _ColorRange; |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 30 | r = 1.0 - ((p < 1.0) ? 1.0 - p : (p > 2.0) ? p - 2.0 : 0.0); |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 31 | g = 1.0 - ((p < 1.0) ? p : (p > 2.0) ? 0.0 : 2.0 - p); |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 32 | b = 1.0 - ((p < 1.0) ? 0.0 : (p > 2.0) ? 3.0 - p : p - 1.0); ; |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 33 | wait (0.01); |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 34 | |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 35 | _ColorRange += 0.001; |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 36 | } |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 37 | |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 38 | COMMAND_DEFINE Command_color = {(char*)"color", _Initialize, _Finalize, |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 39 | _ProcessInitialize, _ProcessIsContinue, _ProcessRunning |
INTRA\mitsuru.suzuki |
13:2c1fe87a06cd | 40 | }; |