This is a example application for StarBoard Orange designed by @logic_star. This example can be drive a CHORO Q HYBRID.
mylib/ChoroQ.h@0:127b9ca59547, 2010-08-24 (annotated)
- Committer:
- shintamainjp
- Date:
- Tue Aug 24 11:58:09 2010 +0000
- Revision:
- 0:127b9ca59547
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
shintamainjp | 0:127b9ca59547 | 1 | #ifndef _CHORO_Q_H_ |
shintamainjp | 0:127b9ca59547 | 2 | #define _CHORO_Q_H_ |
shintamainjp | 0:127b9ca59547 | 3 | |
shintamainjp | 0:127b9ca59547 | 4 | #include <mbed.h> |
shintamainjp | 0:127b9ca59547 | 5 | #include <inttypes.h> |
shintamainjp | 0:127b9ca59547 | 6 | #include <TransmitterIR.h> |
shintamainjp | 0:127b9ca59547 | 7 | |
shintamainjp | 0:127b9ca59547 | 8 | class ChoroQ { |
shintamainjp | 0:127b9ca59547 | 9 | public: |
shintamainjp | 0:127b9ca59547 | 10 | |
shintamainjp | 0:127b9ca59547 | 11 | typedef enum { |
shintamainjp | 0:127b9ca59547 | 12 | ChA, |
shintamainjp | 0:127b9ca59547 | 13 | ChB, |
shintamainjp | 0:127b9ca59547 | 14 | ChC, |
shintamainjp | 0:127b9ca59547 | 15 | ChD |
shintamainjp | 0:127b9ca59547 | 16 | } Channel; |
shintamainjp | 0:127b9ca59547 | 17 | |
shintamainjp | 0:127b9ca59547 | 18 | ChoroQ(PinName pin, Channel ch); |
shintamainjp | 0:127b9ca59547 | 19 | ~ChoroQ(); |
shintamainjp | 0:127b9ca59547 | 20 | |
shintamainjp | 0:127b9ca59547 | 21 | typedef enum { |
shintamainjp | 0:127b9ca59547 | 22 | Undef, |
shintamainjp | 0:127b9ca59547 | 23 | Up, |
shintamainjp | 0:127b9ca59547 | 24 | Down, |
shintamainjp | 0:127b9ca59547 | 25 | Left, |
shintamainjp | 0:127b9ca59547 | 26 | Right, |
shintamainjp | 0:127b9ca59547 | 27 | UpDash, |
shintamainjp | 0:127b9ca59547 | 28 | UpLeft, |
shintamainjp | 0:127b9ca59547 | 29 | UpRight, |
shintamainjp | 0:127b9ca59547 | 30 | UpRightDash, |
shintamainjp | 0:127b9ca59547 | 31 | UpLeftDash, |
shintamainjp | 0:127b9ca59547 | 32 | DownLeft, |
shintamainjp | 0:127b9ca59547 | 33 | DownRight, |
shintamainjp | 0:127b9ca59547 | 34 | DownDash, |
shintamainjp | 0:127b9ca59547 | 35 | DownLeftDash, |
shintamainjp | 0:127b9ca59547 | 36 | DownRightDash, |
shintamainjp | 0:127b9ca59547 | 37 | Stop |
shintamainjp | 0:127b9ca59547 | 38 | } Action; |
shintamainjp | 0:127b9ca59547 | 39 | |
shintamainjp | 0:127b9ca59547 | 40 | void execute(Action action); |
shintamainjp | 0:127b9ca59547 | 41 | |
shintamainjp | 0:127b9ca59547 | 42 | private: |
shintamainjp | 0:127b9ca59547 | 43 | typedef struct { |
shintamainjp | 0:127b9ca59547 | 44 | Action action; |
shintamainjp | 0:127b9ca59547 | 45 | char *command; |
shintamainjp | 0:127b9ca59547 | 46 | } action_t; |
shintamainjp | 0:127b9ca59547 | 47 | |
shintamainjp | 0:127b9ca59547 | 48 | static const int CH_A = 0x00; |
shintamainjp | 0:127b9ca59547 | 49 | static const int CH_B = 0x02; |
shintamainjp | 0:127b9ca59547 | 50 | static const int CH_C = 0x01; |
shintamainjp | 0:127b9ca59547 | 51 | static const int CH_D = 0x03; |
shintamainjp | 0:127b9ca59547 | 52 | static const action_t list[]; |
shintamainjp | 0:127b9ca59547 | 53 | |
shintamainjp | 0:127b9ca59547 | 54 | TransmitterIR irtx; |
shintamainjp | 0:127b9ca59547 | 55 | int channel; |
shintamainjp | 0:127b9ca59547 | 56 | |
shintamainjp | 0:127b9ca59547 | 57 | uint8_t *getCommand(Action action); |
shintamainjp | 0:127b9ca59547 | 58 | }; |
shintamainjp | 0:127b9ca59547 | 59 | |
shintamainjp | 0:127b9ca59547 | 60 | #endif |