I2C sensor test program, derived from testI2C program. Simple test for FXOS8700CQ, HIH6130, MAG3110, MMA8451Q, MMA8452Q, MPL3115A2, MAX44000, MAX44005, MAX44008, MAX30101 included beside simple I2C read/write from testI2C.
Dependencies: FXOS8700CQ HIH6130 IS31SE5000 MAG3110 MAX44000 MAX44005 MAX44008 MMA8451Q MMA8452Q MPL3115A2 VEML6040 VEML6075 mbed vt100 LM75B FXAS21002 MAX30101 VCNL4020 VCNL4100
testSensor.cpp@19:dfd1f76515c5, 2017-12-28 (annotated)
- Committer:
- Rhyme
- Date:
- Thu Dec 28 07:32:28 2017 +0000
- Revision:
- 19:dfd1f76515c5
- Parent:
- 18:ee6f43cbfcc1
test of AK9752, AK9753, AK009970N added
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Rhyme | 1:9450e20cf688 | 1 | /** testSensor |
Rhyme | 1:9450e20cf688 | 2 | * I2C and I2C sensor test program |
Rhyme | 1:9450e20cf688 | 3 | * For the initial release, |
Rhyme | 1:9450e20cf688 | 4 | * following MSU sensors are supported |
Rhyme | 1:9450e20cf688 | 5 | * FXOS8700CQ |
Rhyme | 1:9450e20cf688 | 6 | * HIH6130 |
Rhyme | 1:9450e20cf688 | 7 | * MAG3110 |
Rhyme | 1:9450e20cf688 | 8 | * MMA8451Q |
Rhyme | 1:9450e20cf688 | 9 | * MMA8452Q |
Rhyme | 1:9450e20cf688 | 10 | * MPL3115A2 |
Rhyme | 1:9450e20cf688 | 11 | * MAX44000 |
Rhyme | 1:9450e20cf688 | 12 | * MAX44005 (not tested) |
Rhyme | 1:9450e20cf688 | 13 | * MAX44008 |
Rhyme | 1:9450e20cf688 | 14 | * |
Rhyme | 1:9450e20cf688 | 15 | * For untested sensor(s) or I2C devices |
Rhyme | 1:9450e20cf688 | 16 | * open / close / read / write |
Rhyme | 1:9450e20cf688 | 17 | * commands are avilable |
Rhyme | 1:9450e20cf688 | 18 | * please refer to the help message and source code |
Rhyme | 1:9450e20cf688 | 19 | * for details. |
Rhyme | 1:9450e20cf688 | 20 | */ |
Rhyme | 1:9450e20cf688 | 21 | #include "mbed.h" |
Rhyme | 1:9450e20cf688 | 22 | #include <string.h> |
Rhyme | 1:9450e20cf688 | 23 | #include <ctype.h> |
Rhyme | 1:9450e20cf688 | 24 | #include "vt100.h" |
Rhyme | 1:9450e20cf688 | 25 | #include "MSS.h" |
Rhyme | 1:9450e20cf688 | 26 | #include "MSU.h" |
Rhyme | 1:9450e20cf688 | 27 | #include "dumb_i2c.h" |
Rhyme | 1:9450e20cf688 | 28 | #define TEST_LOOP 10 |
Rhyme | 1:9450e20cf688 | 29 | |
Rhyme | 1:9450e20cf688 | 30 | DUMB_I2C *i2c = 0 ; |
Rhyme | 1:9450e20cf688 | 31 | vt100 *tty = 0 ; |
Rhyme | 1:9450e20cf688 | 32 | int test_loop = TEST_LOOP ; |
Rhyme | 9:d4f76e6fa35f | 33 | int interval = 100 ; /* ms wait interval */ |
Rhyme | 1:9450e20cf688 | 34 | |
Rhyme | 17:514f67d94d12 | 35 | void doSWReset(void) |
Rhyme | 17:514f67d94d12 | 36 | { |
Rhyme | 17:514f67d94d12 | 37 | printf("Software Reset\n") ; |
Rhyme | 17:514f67d94d12 | 38 | SCB->AIRCR = 0x05FA0004 ; |
Rhyme | 17:514f67d94d12 | 39 | } |
Rhyme | 17:514f67d94d12 | 40 | |
Rhyme | 1:9450e20cf688 | 41 | void doClose(void) |
Rhyme | 1:9450e20cf688 | 42 | { |
Rhyme | 1:9450e20cf688 | 43 | if (i2c != 0) { |
Rhyme | 1:9450e20cf688 | 44 | printf("Closing I2C at 0x%02X ... ", i2c->address()) ; |
Rhyme | 1:9450e20cf688 | 45 | delete i2c ; |
Rhyme | 1:9450e20cf688 | 46 | i2c = 0 ; |
Rhyme | 1:9450e20cf688 | 47 | printf("Done\n") ; |
Rhyme | 1:9450e20cf688 | 48 | } |
Rhyme | 1:9450e20cf688 | 49 | } |
Rhyme | 1:9450e20cf688 | 50 | |
Rhyme | 1:9450e20cf688 | 51 | void doOpen(void) |
Rhyme | 1:9450e20cf688 | 52 | { |
Rhyme | 1:9450e20cf688 | 53 | uint8_t address ; |
Rhyme | 1:9450e20cf688 | 54 | scanf("%X", &address) ; |
Rhyme | 1:9450e20cf688 | 55 | if (i2c != 0) { |
Rhyme | 1:9450e20cf688 | 56 | doClose() ; |
Rhyme | 1:9450e20cf688 | 57 | } |
Rhyme | 1:9450e20cf688 | 58 | printf("Opening I2C at 0x%02X ... ", address) ; |
Rhyme | 1:9450e20cf688 | 59 | i2c = new DUMB_I2C(PIN_SDA, PIN_SCL, address) ; |
Rhyme | 1:9450e20cf688 | 60 | printf("Done\n") ; |
Rhyme | 1:9450e20cf688 | 61 | } |
Rhyme | 1:9450e20cf688 | 62 | |
Rhyme | 1:9450e20cf688 | 63 | void doRead(void) |
Rhyme | 1:9450e20cf688 | 64 | { |
Rhyme | 1:9450e20cf688 | 65 | int addr ; |
Rhyme | 1:9450e20cf688 | 66 | int len ; |
Rhyme | 1:9450e20cf688 | 67 | uint8_t *data ; |
Rhyme | 1:9450e20cf688 | 68 | int result ; |
Rhyme | 1:9450e20cf688 | 69 | if (i2c == 0) { |
Rhyme | 1:9450e20cf688 | 70 | printf("I2C is not opened\n") ; |
Rhyme | 1:9450e20cf688 | 71 | return ; |
Rhyme | 1:9450e20cf688 | 72 | } |
Rhyme | 1:9450e20cf688 | 73 | scanf("%X %X", &addr, &len) ; |
Rhyme | 1:9450e20cf688 | 74 | if (len > 0) { |
Rhyme | 1:9450e20cf688 | 75 | data = new uint8_t[len] ; |
Rhyme | 1:9450e20cf688 | 76 | } |
Rhyme | 1:9450e20cf688 | 77 | // i2c->read(addr, data, len) ; |
Rhyme | 1:9450e20cf688 | 78 | printf("0x%02X : ", (unsigned int)addr) ; |
Rhyme | 1:9450e20cf688 | 79 | for (int i = 0 ; i < len ; i++ ) { |
Rhyme | 1:9450e20cf688 | 80 | result = i2c->read(addr+i, &data[i], 1) ; |
Rhyme | 1:9450e20cf688 | 81 | if (result == 0) { |
Rhyme | 1:9450e20cf688 | 82 | printf("%02X ", data[i]) ; |
Rhyme | 1:9450e20cf688 | 83 | if (((i+1) < len)&&(((i+1)%0x10) == 0)) { |
Rhyme | 1:9450e20cf688 | 84 | printf("\n") ; |
Rhyme | 1:9450e20cf688 | 85 | printf("0x%02X : ", (unsigned int)(addr + i + 1)) ; |
Rhyme | 1:9450e20cf688 | 86 | } |
Rhyme | 1:9450e20cf688 | 87 | } else { |
Rhyme | 1:9450e20cf688 | 88 | printf("failed to read 0x%02X\n", addr+i) ; |
Rhyme | 1:9450e20cf688 | 89 | } |
Rhyme | 1:9450e20cf688 | 90 | } |
Rhyme | 1:9450e20cf688 | 91 | printf("\n") ; |
Rhyme | 1:9450e20cf688 | 92 | } |
Rhyme | 1:9450e20cf688 | 93 | |
Rhyme | 1:9450e20cf688 | 94 | void doWrite(void) |
Rhyme | 1:9450e20cf688 | 95 | { |
Rhyme | 1:9450e20cf688 | 96 | int addr ; |
Rhyme | 1:9450e20cf688 | 97 | uint8_t len ; |
Rhyme | 1:9450e20cf688 | 98 | uint8_t data ; |
Rhyme | 1:9450e20cf688 | 99 | int ack ; |
Rhyme | 1:9450e20cf688 | 100 | if (i2c == 0) { |
Rhyme | 1:9450e20cf688 | 101 | printf("I2C is not opened\n") ; |
Rhyme | 1:9450e20cf688 | 102 | return ; |
Rhyme | 1:9450e20cf688 | 103 | } |
Rhyme | 1:9450e20cf688 | 104 | scanf("%X %X", &addr, &data) ; |
Rhyme | 1:9450e20cf688 | 105 | ack = i2c->write(addr, &data, 1) ; |
Rhyme | 1:9450e20cf688 | 106 | if (ack != 0) { |
Rhyme | 1:9450e20cf688 | 107 | printf("NAK at writing data[0x%02X] to address[0x%02X]\n", |
Rhyme | 1:9450e20cf688 | 108 | data, addr ) ; |
Rhyme | 1:9450e20cf688 | 109 | } |
Rhyme | 1:9450e20cf688 | 110 | } |
Rhyme | 1:9450e20cf688 | 111 | |
Rhyme | 1:9450e20cf688 | 112 | void doStatus(void) |
Rhyme | 1:9450e20cf688 | 113 | { |
Rhyme | 1:9450e20cf688 | 114 | if (i2c == 0) { |
Rhyme | 1:9450e20cf688 | 115 | printf("i2c is not opened\n") ; |
Rhyme | 1:9450e20cf688 | 116 | } else { |
Rhyme | 1:9450e20cf688 | 117 | printf("i2c device at 0x%02X is opened at %d Hz\n", |
Rhyme | 1:9450e20cf688 | 118 | i2c->address(), i2c->frequency()) ; |
Rhyme | 1:9450e20cf688 | 119 | } |
Rhyme | 9:d4f76e6fa35f | 120 | printf("test loop number = %d\n", test_loop) ; |
Rhyme | 9:d4f76e6fa35f | 121 | printf("loop interval = %d ms\n", interval) ; |
Rhyme | 1:9450e20cf688 | 122 | } |
Rhyme | 1:9450e20cf688 | 123 | |
Rhyme | 1:9450e20cf688 | 124 | void doHelp(void) |
Rhyme | 1:9450e20cf688 | 125 | { |
Rhyme | 1:9450e20cf688 | 126 | printf("Simple I2C test program %s for %s\n", __DATE__, BOARD_NAME) ; |
Rhyme | 1:9450e20cf688 | 127 | printf("\n === usage ===\n") ; |
Rhyme | 1:9450e20cf688 | 128 | printf("open <7bit addr> : open i2c device at <7bit addr>\n") ; |
Rhyme | 1:9450e20cf688 | 129 | printf("close : close currently opened i2c\n") ; |
Rhyme | 1:9450e20cf688 | 130 | printf("read <addr> <len> : read <len> data from <addr>\n") ; |
Rhyme | 1:9450e20cf688 | 131 | printf("write <addr> <data> : write <data> to register <addr>\n") ; |
Rhyme | 1:9450e20cf688 | 132 | printf("frequency <freq> : change frequency to <freq> Hz\n") ; |
Rhyme | 1:9450e20cf688 | 133 | printf("bus : bus scan for existing I2C addresses\n") ; |
Rhyme | 12:b3dff3bbb1eb | 134 | printf("test <sensor or address> : test a sensor\n") ; |
Rhyme | 1:9450e20cf688 | 135 | printf("loop <number> : specify loop count for test\n") ; |
Rhyme | 9:d4f76e6fa35f | 136 | printf("interval <numver> : ms interval for each loop\n") ; |
Rhyme | 1:9450e20cf688 | 137 | printf("status : print current status\n") ; |
Rhyme | 14:1e6e4fdf90d0 | 138 | printf("demo : mulitple sensor demo\n") ; |
Rhyme | 1:9450e20cf688 | 139 | printf("help : print this help\n") ; |
Rhyme | 17:514f67d94d12 | 140 | printf("zzz : cause software reset\n") ; |
Rhyme | 1:9450e20cf688 | 141 | printf("\nPlease set local-echo to see what you are typing.\n") ; |
Rhyme | 1:9450e20cf688 | 142 | printf("\n") ; |
Rhyme | 1:9450e20cf688 | 143 | } |
Rhyme | 1:9450e20cf688 | 144 | |
Rhyme | 1:9450e20cf688 | 145 | void doFreq(void) |
Rhyme | 1:9450e20cf688 | 146 | { |
Rhyme | 1:9450e20cf688 | 147 | int freq = 0 ; |
Rhyme | 1:9450e20cf688 | 148 | scanf("%d", &freq) ; |
Rhyme | 1:9450e20cf688 | 149 | if (i2c != 0) { |
Rhyme | 1:9450e20cf688 | 150 | i2c->frequency(freq) ; |
Rhyme | 1:9450e20cf688 | 151 | } |
Rhyme | 1:9450e20cf688 | 152 | } |
Rhyme | 1:9450e20cf688 | 153 | |
Rhyme | 1:9450e20cf688 | 154 | |
Rhyme | 1:9450e20cf688 | 155 | void print_sensor_name(int address) |
Rhyme | 1:9450e20cf688 | 156 | { |
Rhyme | 1:9450e20cf688 | 157 | int i ; |
Rhyme | 1:9450e20cf688 | 158 | for(i = 0; i2c_sensor[i].address != 0 ; i++) { |
Rhyme | 1:9450e20cf688 | 159 | if (i2c_sensor[i].address == address) { |
Rhyme | 1:9450e20cf688 | 160 | printf("%s ", i2c_sensor[i].name) ; |
Rhyme | 1:9450e20cf688 | 161 | } |
Rhyme | 1:9450e20cf688 | 162 | } |
Rhyme | 1:9450e20cf688 | 163 | } |
Rhyme | 1:9450e20cf688 | 164 | |
Rhyme | 1:9450e20cf688 | 165 | void doBusScan(void) |
Rhyme | 1:9450e20cf688 | 166 | { |
Rhyme | 1:9450e20cf688 | 167 | int address ; |
Rhyme | 9:d4f76e6fa35f | 168 | uint8_t data[10] ; |
Rhyme | 9:d4f76e6fa35f | 169 | int num_data = 1 ; |
Rhyme | 1:9450e20cf688 | 170 | int result ; |
Rhyme | 1:9450e20cf688 | 171 | if (i2c != 0) { |
Rhyme | 1:9450e20cf688 | 172 | printf("Closing I2C at 0x%02X ... ", i2c->address()) ; |
Rhyme | 1:9450e20cf688 | 173 | delete i2c ; |
Rhyme | 1:9450e20cf688 | 174 | i2c = 0 ; |
Rhyme | 1:9450e20cf688 | 175 | printf("Done\n") ; |
Rhyme | 1:9450e20cf688 | 176 | } |
Rhyme | 1:9450e20cf688 | 177 | |
Rhyme | 1:9450e20cf688 | 178 | for (address = 1; address < 127 ; address++) { |
Rhyme | 1:9450e20cf688 | 179 | i2c = new DUMB_I2C(PIN_SDA, PIN_SCL, address) ; |
Rhyme | 17:514f67d94d12 | 180 | num_data = 2 ; |
Rhyme | 9:d4f76e6fa35f | 181 | result = i2c->read(0, data, num_data) ; |
Rhyme | 18:ee6f43cbfcc1 | 182 | /* |
Rhyme | 18:ee6f43cbfcc1 | 183 | data[0] = address << 1 ; |
Rhyme | 18:ee6f43cbfcc1 | 184 | i2c->start() ; |
Rhyme | 18:ee6f43cbfcc1 | 185 | result = i2c->write(0, data, 1) ; |
Rhyme | 18:ee6f43cbfcc1 | 186 | i2c->stop() ; |
Rhyme | 18:ee6f43cbfcc1 | 187 | */ |
Rhyme | 1:9450e20cf688 | 188 | if (result == 0) { |
Rhyme | 1:9450e20cf688 | 189 | printf("%02X : ", address) ; |
Rhyme | 1:9450e20cf688 | 190 | print_sensor_name(address) ; |
Rhyme | 1:9450e20cf688 | 191 | printf("\n") ; |
Rhyme | 1:9450e20cf688 | 192 | } |
Rhyme | 1:9450e20cf688 | 193 | delete i2c ; |
Rhyme | 1:9450e20cf688 | 194 | i2c = 0 ; |
Rhyme | 1:9450e20cf688 | 195 | } |
Rhyme | 1:9450e20cf688 | 196 | printf("\n") ; |
Rhyme | 1:9450e20cf688 | 197 | } |
Rhyme | 1:9450e20cf688 | 198 | |
Rhyme | 1:9450e20cf688 | 199 | void setTestLoop(void) |
Rhyme | 1:9450e20cf688 | 200 | { |
Rhyme | 1:9450e20cf688 | 201 | int num ; |
Rhyme | 1:9450e20cf688 | 202 | scanf("%d", &num) ; |
Rhyme | 1:9450e20cf688 | 203 | if (num < 0) { num = 1 ; } |
Rhyme | 1:9450e20cf688 | 204 | test_loop = num ; |
Rhyme | 1:9450e20cf688 | 205 | printf("test loop count set to %d\n", test_loop) ; |
Rhyme | 1:9450e20cf688 | 206 | } |
Rhyme | 1:9450e20cf688 | 207 | |
Rhyme | 9:d4f76e6fa35f | 208 | void setTestInterval(void) |
Rhyme | 9:d4f76e6fa35f | 209 | { |
Rhyme | 9:d4f76e6fa35f | 210 | int num ; |
Rhyme | 9:d4f76e6fa35f | 211 | scanf("%d", &num) ; |
Rhyme | 9:d4f76e6fa35f | 212 | if (num < 0) num = 100 ; |
Rhyme | 9:d4f76e6fa35f | 213 | interval = num ; |
Rhyme | 9:d4f76e6fa35f | 214 | printf("wait %d ms for each loop\n", interval) ; |
Rhyme | 9:d4f76e6fa35f | 215 | } |
Rhyme | 9:d4f76e6fa35f | 216 | |
Rhyme | 4:c10b1aa9925c | 217 | void str2upper(char *str) |
Rhyme | 4:c10b1aa9925c | 218 | { |
Rhyme | 4:c10b1aa9925c | 219 | while(str && *str) { |
Rhyme | 4:c10b1aa9925c | 220 | if (('a' <= *str) && (*str <= 'z')) { |
Rhyme | 4:c10b1aa9925c | 221 | *str -= 'a' - 'A' ; |
Rhyme | 4:c10b1aa9925c | 222 | } |
Rhyme | 4:c10b1aa9925c | 223 | str++ ; |
Rhyme | 4:c10b1aa9925c | 224 | } |
Rhyme | 4:c10b1aa9925c | 225 | } |
Rhyme | 4:c10b1aa9925c | 226 | |
Rhyme | 1:9450e20cf688 | 227 | void doTestSensor(void) |
Rhyme | 1:9450e20cf688 | 228 | { |
Rhyme | 1:9450e20cf688 | 229 | int i ; |
Rhyme | 12:b3dff3bbb1eb | 230 | int address = 0 ; |
Rhyme | 1:9450e20cf688 | 231 | char name[32] ; |
Rhyme | 1:9450e20cf688 | 232 | scanf("%s", name) ; |
Rhyme | 4:c10b1aa9925c | 233 | str2upper(name) ; |
Rhyme | 12:b3dff3bbb1eb | 234 | if (('0' <= *name)&&(*name <= '9')) { /* assume it's the address */ |
Rhyme | 12:b3dff3bbb1eb | 235 | sscanf(name, "%X", &address) ; |
Rhyme | 12:b3dff3bbb1eb | 236 | for (i = 0 ; i < *(i2c_sensor[i].name) != 0 ; i++ ) { |
Rhyme | 12:b3dff3bbb1eb | 237 | if (i2c_sensor[i].address == address) { |
Rhyme | 12:b3dff3bbb1eb | 238 | strcpy(name, i2c_sensor[i].name) ; |
Rhyme | 12:b3dff3bbb1eb | 239 | break ; |
Rhyme | 12:b3dff3bbb1eb | 240 | } |
Rhyme | 12:b3dff3bbb1eb | 241 | } |
Rhyme | 12:b3dff3bbb1eb | 242 | } else { |
Rhyme | 12:b3dff3bbb1eb | 243 | for (i = 0 ; i2c_sensor[i].address != 0 ; i++) { |
Rhyme | 12:b3dff3bbb1eb | 244 | if (strcmp(name, i2c_sensor[i].name) == 0) { /* found */ |
Rhyme | 12:b3dff3bbb1eb | 245 | break ; |
Rhyme | 12:b3dff3bbb1eb | 246 | } |
Rhyme | 1:9450e20cf688 | 247 | } |
Rhyme | 1:9450e20cf688 | 248 | } |
Rhyme | 12:b3dff3bbb1eb | 249 | if (i2c_sensor[i].name != 0) { /* name found */ |
Rhyme | 12:b3dff3bbb1eb | 250 | i2c_sensor[i].test_func() ; |
Rhyme | 12:b3dff3bbb1eb | 251 | } |
Rhyme | 12:b3dff3bbb1eb | 252 | |
Rhyme | 1:9450e20cf688 | 253 | } |
Rhyme | 1:9450e20cf688 | 254 | |
Rhyme | 1:9450e20cf688 | 255 | void doCommand(char *str) |
Rhyme | 1:9450e20cf688 | 256 | { |
Rhyme | 1:9450e20cf688 | 257 | switch(*str) { |
Rhyme | 1:9450e20cf688 | 258 | case 'o': case 'O': /* open */ |
Rhyme | 1:9450e20cf688 | 259 | doOpen() ; break ; |
Rhyme | 1:9450e20cf688 | 260 | case 'c': case 'C': /* close */ |
Rhyme | 1:9450e20cf688 | 261 | doClose() ; break ; |
Rhyme | 14:1e6e4fdf90d0 | 262 | case 'd': case 'D': /* demo */ |
Rhyme | 14:1e6e4fdf90d0 | 263 | doDemo() ; break ; |
Rhyme | 1:9450e20cf688 | 264 | case 'r': case 'R': /* read */ |
Rhyme | 1:9450e20cf688 | 265 | doRead() ; break ; |
Rhyme | 1:9450e20cf688 | 266 | case 'w': case 'W': /* write */ |
Rhyme | 1:9450e20cf688 | 267 | doWrite() ; break ; |
Rhyme | 1:9450e20cf688 | 268 | case 's': case 'S': /* status */ |
Rhyme | 1:9450e20cf688 | 269 | doStatus() ; break ; |
Rhyme | 1:9450e20cf688 | 270 | case 'f': case 'F': /* Frequency */ |
Rhyme | 1:9450e20cf688 | 271 | doFreq() ; break ; |
Rhyme | 1:9450e20cf688 | 272 | case 't': case 'T': /* test sensor */ |
Rhyme | 1:9450e20cf688 | 273 | doTestSensor() ; break ; |
Rhyme | 1:9450e20cf688 | 274 | case 'l': case 'L': /* set test_loop */ |
Rhyme | 1:9450e20cf688 | 275 | setTestLoop() ; break ; |
Rhyme | 9:d4f76e6fa35f | 276 | case 'i': case 'I': /* set interval */ |
Rhyme | 9:d4f76e6fa35f | 277 | setTestInterval() ; break ; |
Rhyme | 1:9450e20cf688 | 278 | case 'b': case 'B': /* Bus Scan */ |
Rhyme | 1:9450e20cf688 | 279 | doBusScan() ; break ; |
Rhyme | 17:514f67d94d12 | 280 | case 'z': case 'Z': /* Software Reset */ |
Rhyme | 17:514f67d94d12 | 281 | doSWReset() ; break ; |
Rhyme | 1:9450e20cf688 | 282 | default: |
Rhyme | 1:9450e20cf688 | 283 | doHelp() ; break ; |
Rhyme | 1:9450e20cf688 | 284 | } |
Rhyme | 1:9450e20cf688 | 285 | } |
Rhyme | 1:9450e20cf688 | 286 | |
Rhyme | 1:9450e20cf688 | 287 | int main() { |
Rhyme | 1:9450e20cf688 | 288 | char cmd[32] ; |
Rhyme | 13:91e4be27e7c1 | 289 | uint32_t baud = 115200 ; |
Rhyme | 13:91e4be27e7c1 | 290 | #if defined (TARGET_MAX32600MBED) |
Rhyme | 13:91e4be27e7c1 | 291 | baud = 57600 ; |
Rhyme | 13:91e4be27e7c1 | 292 | #endif |
Rhyme | 13:91e4be27e7c1 | 293 | tty = new vt100(baud) ; |
Rhyme | 1:9450e20cf688 | 294 | tty->cls() ; |
Rhyme | 1:9450e20cf688 | 295 | doHelp() ; |
Rhyme | 1:9450e20cf688 | 296 | while(1) { |
Rhyme | 1:9450e20cf688 | 297 | printf("> ") ; |
Rhyme | 1:9450e20cf688 | 298 | scanf("%s", cmd) ; |
Rhyme | 1:9450e20cf688 | 299 | doCommand(cmd) ; |
Rhyme | 1:9450e20cf688 | 300 | } |
Rhyme | 1:9450e20cf688 | 301 | } |