EasyVR by Chad and Alty

Dependents:   Lab4

This is code for the EasyVR module that is used with Lab 4.

Committer:
cmiller86
Date:
Mon Oct 19 14:40:25 2015 +0000
Revision:
0:5d93573903ed
Child:
1:80db49d7e068
First commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
cmiller86 0:5d93573903ed 1 #ifndef EASYVR_H_DEFINED
cmiller86 0:5d93573903ed 2 #define EASYVR_H_DEFINED
cmiller86 0:5d93573903ed 3
cmiller86 0:5d93573903ed 4 #include <mbed.h>
cmiller86 0:5d93573903ed 5
cmiller86 0:5d93573903ed 6 #define ARG_MIN '@'
cmiller86 0:5d93573903ed 7 #define ARG_MAX '`'
cmiller86 0:5d93573903ed 8 #define ARG_ZERO 'A'
cmiller86 0:5d93573903ed 9 #define ARG_ACK ' '
cmiller86 0:5d93573903ed 10
cmiller86 0:5d93573903ed 11 #define CMD_BREAK 'b'
cmiller86 0:5d93573903ed 12 #define CMD_SLEEP 's'
cmiller86 0:5d93573903ed 13 #define CMD_KNOB 'k'
cmiller86 0:5d93573903ed 14 #define CMD_LEVEL 'v'
cmiller86 0:5d93573903ed 15 #define CMD_LANGUAGE 'l'
cmiller86 0:5d93573903ed 16 #define CMD_TIMEOUT 'o'
cmiller86 0:5d93573903ed 17 #define CMD_RECOG_SI 'i'
cmiller86 0:5d93573903ed 18 #define CMD_TRAIN_SD 't'
cmiller86 0:5d93573903ed 19 #define CMD_GROUP_SD 'g'
cmiller86 0:5d93573903ed 20 #define CMD_UNGROUP_SD 'u'
cmiller86 0:5d93573903ed 21 #define CMD_RECOG_SD 'd'
cmiller86 0:5d93573903ed 22 #define CMD_ERASE_SD 'e'
cmiller86 0:5d93573903ed 23 #define CMD_NAME_SD 'n'
cmiller86 0:5d93573903ed 24 #define CMD_COUNT_SD 'c'
cmiller86 0:5d93573903ed 25 #define CMD_DUMP_SD 'p'
cmiller86 0:5d93573903ed 26 #define CMD_MASK_SD 'm'
cmiller86 0:5d93573903ed 27 #define CMD_RESETALL 'r'
cmiller86 0:5d93573903ed 28 #define CMD_ID 'x'
cmiller86 0:5d93573903ed 29 #define CMD_DELAY 'y'
cmiller86 0:5d93573903ed 30 #define CMD_BAUDRATE 'a'
cmiller86 0:5d93573903ed 31 #define CMD_QUERY_IO 'q'
cmiller86 0:5d93573903ed 32 #define CMD_PLAY_SX 'w'
cmiller86 0:5d93573903ed 33 #define CMD_DUMP_SX 'h'
cmiller86 0:5d93573903ed 34
cmiller86 0:5d93573903ed 35 #define STS_MASK 'k'
cmiller86 0:5d93573903ed 36 #define STS_COUNT 'c'
cmiller86 0:5d93573903ed 37 #define STS_AWAKEN 'w'
cmiller86 0:5d93573903ed 38 #define STS_DATA 'd'
cmiller86 0:5d93573903ed 39 #define STS_ERROR 'e'
cmiller86 0:5d93573903ed 40 #define STS_INVALID 'v'
cmiller86 0:5d93573903ed 41 #define STS_TIMEOUT 't'
cmiller86 0:5d93573903ed 42 #define STS_INTERR 'i'
cmiller86 0:5d93573903ed 43 #define STS_SUCCESS 'o'
cmiller86 0:5d93573903ed 44 #define STS_RESULT 'r'
cmiller86 0:5d93573903ed 45 #define STS_SIMILAR 's'
cmiller86 0:5d93573903ed 46 #define STS_OUT_OF_MEM 'm'
cmiller86 0:5d93573903ed 47 #define STS_ID 'x'
cmiller86 0:5d93573903ed 48 #define STS_PIN 'p'
cmiller86 0:5d93573903ed 49 #define STS_TABLE_SX 'd'
cmiller86 0:5d93573903ed 50
cmiller86 0:5d93573903ed 51 #define ERR_DATACOL_TOO_NOISY 0x3
cmiller86 0:5d93573903ed 52 #define ERR_DATACOL_TOO_SOFT 0x4
cmiller86 0:5d93573903ed 53 #define ERR_DATACOL_TOO_LOUD 0x5
cmiller86 0:5d93573903ed 54 #define ERR_DATACOL_TOO_SOON 0x6
cmiller86 0:5d93573903ed 55 #define ERR_DATACOL_TOO_CHOPPY 0x7
cmiller86 0:5d93573903ed 56 #define ERR_RECOG_FAIL 0x11
cmiller86 0:5d93573903ed 57 #define ERR_RECOG_LOW_CONF 0x12
cmiller86 0:5d93573903ed 58 #define ERR_RECOG_MID_CONF 0x13
cmiller86 0:5d93573903ed 59 #define ERR_RECOG_BAD_TEMPLATE 0x14
cmiller86 0:5d93573903ed 60 #define ERR_RECOG_DURATION 0x17
cmiller86 0:5d93573903ed 61 #define ERR_SYNTH_BAD_VERSION 0x4A
cmiller86 0:5d93573903ed 62 #define ERR_SYNTH_BAD_MSG 0x4E
cmiller86 0:5d93573903ed 63 #define ERR_NOT_A_WORD 0x80
cmiller86 0:5d93573903ed 64
cmiller86 0:5d93573903ed 65 #define i2a(i) ((char)((i)+ARG_ZERO))
cmiller86 0:5d93573903ed 66 #define a2i(a) ((int)((a)-ARG_ZERO))
cmiller86 0:5d93573903ed 67
cmiller86 0:5d93573903ed 68 extern Serial term;
cmiller86 0:5d93573903ed 69
cmiller86 0:5d93573903ed 70 class EasyVR
cmiller86 0:5d93573903ed 71 {
cmiller86 0:5d93573903ed 72 public:
cmiller86 0:5d93573903ed 73 EasyVR( PinName tx, PinName rx );
cmiller86 0:5d93573903ed 74 void wakeup();
cmiller86 0:5d93573903ed 75 void setup( int lang, int timeout );
cmiller86 0:5d93573903ed 76 void send( char byte );
cmiller86 0:5d93573903ed 77 char receive();
cmiller86 0:5d93573903ed 78 void baud( int rate );
cmiller86 0:5d93573903ed 79
cmiller86 0:5d93573903ed 80 private:
cmiller86 0:5d93573903ed 81 Serial dev;
cmiller86 0:5d93573903ed 82 };
cmiller86 0:5d93573903ed 83
cmiller86 0:5d93573903ed 84 #endif // EASYVR_H_DEFINED