ジョイスティック切換えで色々な処理をやります。 C言語学習用です。

Dependencies:   C12832 MMA7660 mbed

Committer:
suzukimitsuru
Date:
Wed Apr 18 11:14:40 2018 +0000
Revision:
19:caab1538fa62
Parent:
14:15447d4751c3
?????????????; ????????????

Who changed what in which revision?

UserRevisionLine numberNew 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 };