This is a example application for StarBoard Orange designed by @logic_star. This example can be drive a CHORO Q HYBRID.

Dependencies:   mbed

Committer:
shintamainjp
Date:
Tue Aug 24 11:58:09 2010 +0000
Revision:
0:127b9ca59547

        

Who changed what in which revision?

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