Kazuki Yamamoto / Mbed 2 deprecated uart_i2c_conv

Dependencies:   mbed

Committer:
Kazuki Yamamoto
Date:
Thu Dec 04 19:46:23 2014 +0900
Revision:
11:0d8359a6e2c2
Parent:
9:844e301ab0fd
Child:
12:db621ae6a076
[ LPC824 ] R and W commands implemented

not tested

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Kazuki Yamamoto 9:844e301ab0fd 1 /** uart_i2c_conv for LPC824
Kazuki Yamamoto 9:844e301ab0fd 2 */
Kazuki Yamamoto 9:844e301ab0fd 3
Kazuki Yamamoto 5:07f7000ec747 4 #include "mbed.h"
Kazuki Yamamoto 5:07f7000ec747 5
Kazuki Yamamoto 5:07f7000ec747 6 Serial pc(USBTX,USBRX);
Kazuki Yamamoto 9:844e301ab0fd 7 I2C dev1(I2C_SDA, I2C_SCL);//11,10 hard coded
Kazuki Yamamoto 9:844e301ab0fd 8 I2C dev2(P0_6, P0_14);//6,14
Kazuki Yamamoto 9:844e301ab0fd 9 I2C dev3(P0_23, P0_22);//23,22
Kazuki Yamamoto 9:844e301ab0fd 10 I2C dev4(P0_21, P0_20);//21,20
Kazuki Yamamoto 9:844e301ab0fd 11
Kazuki Yamamoto 11:0d8359a6e2c2 12 /*
Kazuki Yamamoto 11:0d8359a6e2c2 13 DigitalInOut _GPIO0(D0);
Kazuki Yamamoto 11:0d8359a6e2c2 14 DigitalInOut _GPIO1(D1);
Kazuki Yamamoto 11:0d8359a6e2c2 15 DigitalInOut _GPIO2(D2);
Kazuki Yamamoto 11:0d8359a6e2c2 16 DigitalInOut _GPIO3(D3);
Kazuki Yamamoto 11:0d8359a6e2c2 17 DigitalInOut _GPIO4(D4);
Kazuki Yamamoto 11:0d8359a6e2c2 18 DigitalInOut _GPIO5(D5);
Kazuki Yamamoto 11:0d8359a6e2c2 19 DigitalInOut _GPIO6(D6);
Kazuki Yamamoto 11:0d8359a6e2c2 20 DigitalInOut _GPIO7(D7);
Kazuki Yamamoto 11:0d8359a6e2c2 21 */
Kazuki Yamamoto 5:07f7000ec747 22
Kazuki Yamamoto 5:07f7000ec747 23 //Table 3. ASCII commands supported by SC18IM700
Kazuki Yamamoto 5:07f7000ec747 24 //ASCII command Hex value Command function
Kazuki Yamamoto 5:07f7000ec747 25 //[X] S 0x53 I2C-bus START
Kazuki Yamamoto 5:07f7000ec747 26 //[X] P 0x50 I2C-bus STOP
Kazuki Yamamoto 9:844e301ab0fd 27 //[?] R 0x52 read SC18IM700 internal register
Kazuki Yamamoto 9:844e301ab0fd 28 //[?] W 0x57 write to SC18IM700 internal register
Kazuki Yamamoto 9:844e301ab0fd 29 //[?] I 0x49 read GPIO port
Kazuki Yamamoto 9:844e301ab0fd 30 //[?] O 0x4F write to GPIO port
Kazuki Yamamoto 5:07f7000ec747 31 //[_] Z 0x5A power down
Kazuki Yamamoto 5:07f7000ec747 32 //[X] C 0x43 change channel
Kazuki Yamamoto 9:844e301ab0fd 33 //[_] E 0x45 enable chip
Kazuki Yamamoto 9:844e301ab0fd 34 //[_] V 0x__ enable VDDIO output to chip
Kazuki Yamamoto 5:07f7000ec747 35
Kazuki Yamamoto 11:0d8359a6e2c2 36 //"C0P"
Kazuki Yamamoto 11:0d8359a6e2c2 37 //"C1P"
Kazuki Yamamoto 11:0d8359a6e2c2 38 //"C2P"
Kazuki Yamamoto 11:0d8359a6e2c2 39 //"C3P"
Kazuki Yamamoto 11:0d8359a6e2c2 40 //"S| 0x_8 _0| 0x_0 _4| 0x_D _E _A _D _B _E _A _F| P"
Kazuki Yamamoto 11:0d8359a6e2c2 41 //"S| 0x_8 _0| 0x_0 _4| 0x_D _E _A _D _B _E _A _F| S| 0x_8 _1| 0x_0 _4| P"
Kazuki Yamamoto 11:0d8359a6e2c2 42 //"S| 0x_8 _1| 0x_0 _4| P"
Kazuki Yamamoto 11:0d8359a6e2c2 43 //"R| '0'| P"
Kazuki Yamamoto 11:0d8359a6e2c2 44 //"R| '0'| '1'| ...| P"
Kazuki Yamamoto 11:0d8359a6e2c2 45 //"W| '0' 0x_a _a| P"
Kazuki Yamamoto 11:0d8359a6e2c2 46 //"W| '0' 0x_a _a| '1' 0x_b _b| ...| P"
Kazuki Yamamoto 11:0d8359a6e2c2 47 //"I| P"
Kazuki Yamamoto 11:0d8359a6e2c2 48 //"O| 0x_a _a| P"
Kazuki Yamamoto 11:0d8359a6e2c2 49
Kazuki Yamamoto 5:07f7000ec747 50 int main()
Kazuki Yamamoto 5:07f7000ec747 51 {
Kazuki Yamamoto 5:07f7000ec747 52 I2C* dev=&dev1;
Kazuki Yamamoto 5:07f7000ec747 53 pc.baud(115200);
Kazuki Yamamoto 9:844e301ab0fd 54
Kazuki Yamamoto 9:844e301ab0fd 55 LPC_IOCON->PIO0_11 &= ~(0x02<<8);
Kazuki Yamamoto 9:844e301ab0fd 56 LPC_IOCON->PIO0_11 |= (0x02<<8);
Kazuki Yamamoto 9:844e301ab0fd 57 LPC_IOCON->PIO0_10 &= ~(0x02<<8);
Kazuki Yamamoto 9:844e301ab0fd 58 LPC_IOCON->PIO0_10 |= (0x02<<8);
Kazuki Yamamoto 5:07f7000ec747 59
Kazuki Yamamoto 9:844e301ab0fd 60 bool s = false;
Kazuki Yamamoto 9:844e301ab0fd 61 dev1.frequency(800000);//800k not work at 1M? too large pullup?
Kazuki Yamamoto 9:844e301ab0fd 62 dev2.frequency(400000);//400k
Kazuki Yamamoto 9:844e301ab0fd 63 dev3.frequency(400000);//400k
Kazuki Yamamoto 9:844e301ab0fd 64 dev4.frequency(400000);//400k
Kazuki Yamamoto 11:0d8359a6e2c2 65 /*
Kazuki Yamamoto 11:0d8359a6e2c2 66 DigitalInOut* gpio[]={
Kazuki Yamamoto 11:0d8359a6e2c2 67 &_GPIO0,
Kazuki Yamamoto 11:0d8359a6e2c2 68 &_GPIO1,
Kazuki Yamamoto 11:0d8359a6e2c2 69 &_GPIO2,
Kazuki Yamamoto 11:0d8359a6e2c2 70 &_GPIO3,
Kazuki Yamamoto 11:0d8359a6e2c2 71 &_GPIO4,
Kazuki Yamamoto 11:0d8359a6e2c2 72 &_GPIO5,
Kazuki Yamamoto 11:0d8359a6e2c2 73 &_GPIO6,
Kazuki Yamamoto 11:0d8359a6e2c2 74 &_GPIO7,
Kazuki Yamamoto 11:0d8359a6e2c2 75 };
Kazuki Yamamoto 11:0d8359a6e2c2 76 */
Kazuki Yamamoto 5:07f7000ec747 77 int ack=0;
Kazuki Yamamoto 5:07f7000ec747 78 int plength=0;
Kazuki Yamamoto 5:07f7000ec747 79 char recieve[256];
Kazuki Yamamoto 9:844e301ab0fd 80 char send[256];
Kazuki Yamamoto 5:07f7000ec747 81 char read=0;
Kazuki Yamamoto 9:844e301ab0fd 82 int address=0;
Kazuki Yamamoto 11:0d8359a6e2c2 83 int data=0;
Kazuki Yamamoto 11:0d8359a6e2c2 84 int _data=0;
Kazuki Yamamoto 9:844e301ab0fd 85 int length=0;
Kazuki Yamamoto 9:844e301ab0fd 86 int channel=0;
Kazuki Yamamoto 9:844e301ab0fd 87 bool CE=false;
Kazuki Yamamoto 9:844e301ab0fd 88 enum channel_e {
Kazuki Yamamoto 9:844e301ab0fd 89 CH0 = '0',
Kazuki Yamamoto 9:844e301ab0fd 90 CH1 = '1',
Kazuki Yamamoto 9:844e301ab0fd 91 CH2 = '2',
Kazuki Yamamoto 9:844e301ab0fd 92 CH3 = '3',
Kazuki Yamamoto 5:07f7000ec747 93 };
Kazuki Yamamoto 9:844e301ab0fd 94 enum register_e {
Kazuki Yamamoto 9:844e301ab0fd 95 CHIP_ID = '0'
Kazuki Yamamoto 9:844e301ab0fd 96 GPIO_STAT = '1',
Kazuki Yamamoto 9:844e301ab0fd 97 GPIO_CONF = '2',
Kazuki Yamamoto 9:844e301ab0fd 98 };
Kazuki Yamamoto 9:844e301ab0fd 99 enum chipID_e {
Kazuki Yamamoto 9:844e301ab0fd 100 ID_LPC824 = '0',
Kazuki Yamamoto 9:844e301ab0fd 101 ID_LPC1768 = '1',
Kazuki Yamamoto 9:844e301ab0fd 102 ID_LPC11UXX = '2',
Kazuki Yamamoto 9:844e301ab0fd 103 };
Kazuki Yamamoto 9:844e301ab0fd 104 uint8_t chip_id=ID_LPC824;
Kazuki Yamamoto 9:844e301ab0fd 105 uint8_t registers[]={
Kazuki Yamamoto 9:844e301ab0fd 106 chip_id,
Kazuki Yamamoto 9:844e301ab0fd 107 0b00000000,
Kazuki Yamamoto 9:844e301ab0fd 108 0b00000000,
Kazuki Yamamoto 9:844e301ab0fd 109 };
Kazuki Yamamoto 9:844e301ab0fd 110
Kazuki Yamamoto 5:07f7000ec747 111 int i=0;
Kazuki Yamamoto 5:07f7000ec747 112 while(1) {
Kazuki Yamamoto 5:07f7000ec747 113 while(true) {
Kazuki Yamamoto 5:07f7000ec747 114 read=pc.getc();
Kazuki Yamamoto 5:07f7000ec747 115 recieve[i]=read;
Kazuki Yamamoto 5:07f7000ec747 116 i++;
Kazuki Yamamoto 5:07f7000ec747 117 if(read == 'P') {
Kazuki Yamamoto 5:07f7000ec747 118 plength=i;
Kazuki Yamamoto 5:07f7000ec747 119 break;
Kazuki Yamamoto 5:07f7000ec747 120 }
Kazuki Yamamoto 5:07f7000ec747 121 }
Kazuki Yamamoto 5:07f7000ec747 122 i=0;
Kazuki Yamamoto 9:844e301ab0fd 123 while(i < plength) {
Kazuki Yamamoto 5:07f7000ec747 124 switch(recieve[i]) {
Kazuki Yamamoto 5:07f7000ec747 125 case 'C':
Kazuki Yamamoto 5:07f7000ec747 126 {
Kazuki Yamamoto 5:07f7000ec747 127 channel=recieve[i+1];
Kazuki Yamamoto 5:07f7000ec747 128 switch(channel) {
Kazuki Yamamoto 9:844e301ab0fd 129 case CH0:
Kazuki Yamamoto 5:07f7000ec747 130 {
Kazuki Yamamoto 5:07f7000ec747 131 channel='0';
Kazuki Yamamoto 5:07f7000ec747 132 dev=&dev1;
Kazuki Yamamoto 5:07f7000ec747 133 break;
Kazuki Yamamoto 5:07f7000ec747 134 }
Kazuki Yamamoto 9:844e301ab0fd 135 case CH1:
Kazuki Yamamoto 5:07f7000ec747 136 {
Kazuki Yamamoto 5:07f7000ec747 137 channel='1';
Kazuki Yamamoto 5:07f7000ec747 138 dev=&dev2;
Kazuki Yamamoto 5:07f7000ec747 139 break;
Kazuki Yamamoto 5:07f7000ec747 140 }
Kazuki Yamamoto 9:844e301ab0fd 141 case CH2:
Kazuki Yamamoto 5:07f7000ec747 142 {
Kazuki Yamamoto 5:07f7000ec747 143 channel='2';
Kazuki Yamamoto 5:07f7000ec747 144 dev=&dev3;
Kazuki Yamamoto 5:07f7000ec747 145 break;
Kazuki Yamamoto 5:07f7000ec747 146 }
Kazuki Yamamoto 9:844e301ab0fd 147 case CH3:
Kazuki Yamamoto 5:07f7000ec747 148 {
Kazuki Yamamoto 5:07f7000ec747 149 channel='3';
Kazuki Yamamoto 5:07f7000ec747 150 dev=&dev4;
Kazuki Yamamoto 5:07f7000ec747 151 break;
Kazuki Yamamoto 5:07f7000ec747 152 }
Kazuki Yamamoto 5:07f7000ec747 153 default:
Kazuki Yamamoto 5:07f7000ec747 154 {
Kazuki Yamamoto 5:07f7000ec747 155 channel='0';
Kazuki Yamamoto 5:07f7000ec747 156 dev=&dev1;
Kazuki Yamamoto 5:07f7000ec747 157 break;
Kazuki Yamamoto 5:07f7000ec747 158 }
Kazuki Yamamoto 5:07f7000ec747 159 }
Kazuki Yamamoto 5:07f7000ec747 160 i+=(2);
Kazuki Yamamoto 5:07f7000ec747 161 break;
Kazuki Yamamoto 5:07f7000ec747 162 }
Kazuki Yamamoto 5:07f7000ec747 163 case 'S':
Kazuki Yamamoto 5:07f7000ec747 164 {
Kazuki Yamamoto 9:844e301ab0fd 165 s = true;
Kazuki Yamamoto 9:844e301ab0fd 166 ack = plength - 2 - (i+1) + (recieve[i+2] & 0x01);
Kazuki Yamamoto 9:844e301ab0fd 167 if( ack >= 4){ //valid packet
Kazuki Yamamoto 9:844e301ab0fd 168 address = 0xff & (recieve[i+1] << 4 | (recieve[i+2] & 0x0F));
Kazuki Yamamoto 9:844e301ab0fd 169 length = 0xff & (recieve[i+3] << 4 | (recieve[i+4] & 0x0F));
Kazuki Yamamoto 11:0d8359a6e2c2 170 /* hidden
Kazuki Yamamoto 11:0d8359a6e2c2 171 dev->start();
Kazuki Yamamoto 11:0d8359a6e2c2 172 ack=dev->write(address);
Kazuki Yamamoto 11:0d8359a6e2c2 173 */
Kazuki Yamamoto 11:0d8359a6e2c2 174 if( (address&0x01)) {//read
Kazuki Yamamoto 11:0d8359a6e2c2 175 dev->read(address, send, length, false); //added
Kazuki Yamamoto 11:0d8359a6e2c2 176 s=false; //added
Kazuki Yamamoto 11:0d8359a6e2c2 177 /* hidden
Kazuki Yamamoto 11:0d8359a6e2c2 178 for(int j=0; j<length; j++) {
Kazuki Yamamoto 11:0d8359a6e2c2 179 send[j] = dev->read(1);
Kazuki Yamamoto 11:0d8359a6e2c2 180 }
Kazuki Yamamoto 11:0d8359a6e2c2 181 */
Kazuki Yamamoto 11:0d8359a6e2c2 182 i+=(5);
Kazuki Yamamoto 11:0d8359a6e2c2 183 } else {//write
Kazuki Yamamoto 11:0d8359a6e2c2 184 for(int j=0; j < (length * 2); j+=2) {
Kazuki Yamamoto 11:0d8359a6e2c2 185 ack = dev->write( 0xff&(recieve[5+j] << 4 | (recieve[6+j] & 0x0F)) );
Kazuki Yamamoto 11:0d8359a6e2c2 186 *(send+(j/2)) = ack; //added
Kazuki Yamamoto 11:0d8359a6e2c2 187 }
Kazuki Yamamoto 11:0d8359a6e2c2 188 dev->write(address, send, length, true); //added
Kazuki Yamamoto 11:0d8359a6e2c2 189 i+=(5 + length * 2);
Kazuki Yamamoto 11:0d8359a6e2c2 190 length=0;
Kazuki Yamamoto 11:0d8359a6e2c2 191 }
Kazuki Yamamoto 9:844e301ab0fd 192 }else{
Kazuki Yamamoto 9:844e301ab0fd 193 pc.printf("bad packet! %d, %d, %02X, %d\n\r",plength,i,recieve[(i+2)]&0x0F,ack);
Kazuki Yamamoto 11:0d8359a6e2c2 194 i = plength;
Kazuki Yamamoto 5:07f7000ec747 195 }
Kazuki Yamamoto 5:07f7000ec747 196 break;
Kazuki Yamamoto 5:07f7000ec747 197 }
Kazuki Yamamoto 5:07f7000ec747 198 case 'P':
Kazuki Yamamoto 9:844e301ab0fd 199 {
Kazuki Yamamoto 5:07f7000ec747 200 if(s){
Kazuki Yamamoto 5:07f7000ec747 201 dev->stop();
Kazuki Yamamoto 11:0d8359a6e2c2 202 s = false;
Kazuki Yamamoto 5:07f7000ec747 203 }
Kazuki Yamamoto 11:0d8359a6e2c2 204 i = plength;
Kazuki Yamamoto 5:07f7000ec747 205 for(int j=0; j<length; j++) {
Kazuki Yamamoto 5:07f7000ec747 206 pc.printf("%02X,",send[j]);
Kazuki Yamamoto 5:07f7000ec747 207 }
Kazuki Yamamoto 5:07f7000ec747 208 pc.printf("ok\n\r");
Kazuki Yamamoto 5:07f7000ec747 209 break;
Kazuki Yamamoto 9:844e301ab0fd 210 }
Kazuki Yamamoto 5:07f7000ec747 211 case 'R':
Kazuki Yamamoto 9:844e301ab0fd 212 {
Kazuki Yamamoto 11:0d8359a6e2c2 213 length = plength - 2;
Kazuki Yamamoto 11:0d8359a6e2c2 214 for(int j=0; j<length; j++){
Kazuki Yamamoto 11:0d8359a6e2c2 215 address = recieve[1+j];
Kazuki Yamamoto 11:0d8359a6e2c2 216 switch(address){
Kazuki Yamamoto 11:0d8359a6e2c2 217 case CHIP_ID:
Kazuki Yamamoto 11:0d8359a6e2c2 218 {
Kazuki Yamamoto 11:0d8359a6e2c2 219 *(send+j) = registers[CHIP_ID];
Kazuki Yamamoto 11:0d8359a6e2c2 220 break;
Kazuki Yamamoto 11:0d8359a6e2c2 221 }
Kazuki Yamamoto 11:0d8359a6e2c2 222 case GPIO_STAT:
Kazuki Yamamoto 11:0d8359a6e2c2 223 {
Kazuki Yamamoto 11:0d8359a6e2c2 224 *(send+j) = registers[GPIO_STAT];
Kazuki Yamamoto 11:0d8359a6e2c2 225 break;
Kazuki Yamamoto 11:0d8359a6e2c2 226 }
Kazuki Yamamoto 11:0d8359a6e2c2 227 case GPIO_CONF:
Kazuki Yamamoto 11:0d8359a6e2c2 228 {
Kazuki Yamamoto 11:0d8359a6e2c2 229 *(send+j) = registers[GPIO_CONF];
Kazuki Yamamoto 11:0d8359a6e2c2 230 break;
Kazuki Yamamoto 11:0d8359a6e2c2 231 }
Kazuki Yamamoto 11:0d8359a6e2c2 232 default:
Kazuki Yamamoto 11:0d8359a6e2c2 233 {
Kazuki Yamamoto 11:0d8359a6e2c2 234 break;
Kazuki Yamamoto 11:0d8359a6e2c2 235 }
Kazuki Yamamoto 11:0d8359a6e2c2 236 }
Kazuki Yamamoto 11:0d8359a6e2c2 237 }
Kazuki Yamamoto 11:0d8359a6e2c2 238 i += length;
Kazuki Yamamoto 5:07f7000ec747 239 pc.printf("command R is not implemented\n\r");
Kazuki Yamamoto 5:07f7000ec747 240 break;
Kazuki Yamamoto 9:844e301ab0fd 241 }
Kazuki Yamamoto 5:07f7000ec747 242 case 'W':
Kazuki Yamamoto 9:844e301ab0fd 243 {
Kazuki Yamamoto 11:0d8359a6e2c2 244 length = plength - 2;
Kazuki Yamamoto 11:0d8359a6e2c2 245 if(length < 3){
Kazuki Yamamoto 11:0d8359a6e2c2 246 pc.printf("bad packet! %d\n\r",length);
Kazuki Yamamoto 11:0d8359a6e2c2 247 i = plength + 1;
Kazuki Yamamoto 11:0d8359a6e2c2 248 }else{
Kazuki Yamamoto 11:0d8359a6e2c2 249 for(int j=0; j<length; j+=3){
Kazuki Yamamoto 11:0d8359a6e2c2 250 address = recieve[i+1+j];
Kazuki Yamamoto 11:0d8359a6e2c2 251 data = 0xff & (recieve[i+1+j] << 4 | (recieve[i+2+j] & 0x0F));
Kazuki Yamamoto 11:0d8359a6e2c2 252 switch(address){
Kazuki Yamamoto 11:0d8359a6e2c2 253 case CHIP_ID:
Kazuki Yamamoto 11:0d8359a6e2c2 254 {
Kazuki Yamamoto 11:0d8359a6e2c2 255 //READ ONLY: do nothing
Kazuki Yamamoto 11:0d8359a6e2c2 256 *(send+j) = registers[CHIP_ID];
Kazuki Yamamoto 11:0d8359a6e2c2 257 break;
Kazuki Yamamoto 11:0d8359a6e2c2 258 }
Kazuki Yamamoto 11:0d8359a6e2c2 259 case GPIO_STAT:
Kazuki Yamamoto 11:0d8359a6e2c2 260 {
Kazuki Yamamoto 11:0d8359a6e2c2 261 for(int k=1; k<256; k<<=1){
Kazuki Yamamoto 11:0d8359a6e2c2 262 if(registers[GPIO_CONF] & k){ //output
Kazuki Yamamoto 11:0d8359a6e2c2 263 (data&k) ? _data|=k : _data&=~k;
Kazuki Yamamoto 11:0d8359a6e2c2 264 }else{
Kazuki Yamamoto 11:0d8359a6e2c2 265 ;
Kazuki Yamamoto 11:0d8359a6e2c2 266 }
Kazuki Yamamoto 11:0d8359a6e2c2 267 }
Kazuki Yamamoto 11:0d8359a6e2c2 268 registers[GPIO_STAT] = _data;
Kazuki Yamamoto 11:0d8359a6e2c2 269 *(send+j) = registers[GPIO_STAT];
Kazuki Yamamoto 11:0d8359a6e2c2 270 break;
Kazuki Yamamoto 11:0d8359a6e2c2 271 }
Kazuki Yamamoto 11:0d8359a6e2c2 272 case GPIO_CONF:
Kazuki Yamamoto 11:0d8359a6e2c2 273 {
Kazuki Yamamoto 11:0d8359a6e2c2 274 registers[GPIO_CONF] = data;
Kazuki Yamamoto 11:0d8359a6e2c2 275 *(send+j) = registers[GPIO_CONF];
Kazuki Yamamoto 11:0d8359a6e2c2 276 break;
Kazuki Yamamoto 11:0d8359a6e2c2 277 }
Kazuki Yamamoto 11:0d8359a6e2c2 278 default:
Kazuki Yamamoto 11:0d8359a6e2c2 279 {
Kazuki Yamamoto 11:0d8359a6e2c2 280 break;
Kazuki Yamamoto 11:0d8359a6e2c2 281 }
Kazuki Yamamoto 11:0d8359a6e2c2 282 }
Kazuki Yamamoto 11:0d8359a6e2c2 283 }
Kazuki Yamamoto 11:0d8359a6e2c2 284 }
Kazuki Yamamoto 11:0d8359a6e2c2 285 i += length;
Kazuki Yamamoto 5:07f7000ec747 286 pc.printf("command W is not implemented\n\r");
Kazuki Yamamoto 9:844e301ab0fd 287 break;
Kazuki Yamamoto 9:844e301ab0fd 288 }
Kazuki Yamamoto 9:844e301ab0fd 289 case 'I':
Kazuki Yamamoto 9:844e301ab0fd 290 {
Kazuki Yamamoto 9:844e301ab0fd 291 pc.printf("command I is not implemented\n\r");
Kazuki Yamamoto 5:07f7000ec747 292 i=plength;
Kazuki Yamamoto 5:07f7000ec747 293 break;
Kazuki Yamamoto 9:844e301ab0fd 294 }
Kazuki Yamamoto 9:844e301ab0fd 295 case 'O':
Kazuki Yamamoto 9:844e301ab0fd 296 {
Kazuki Yamamoto 9:844e301ab0fd 297 pc.printf("command O is not implemented\n\r");
Kazuki Yamamoto 5:07f7000ec747 298 i=plength;
Kazuki Yamamoto 5:07f7000ec747 299 break;
Kazuki Yamamoto 9:844e301ab0fd 300 }
Kazuki Yamamoto 9:844e301ab0fd 301 case 'Z':
Kazuki Yamamoto 9:844e301ab0fd 302 {
Kazuki Yamamoto 9:844e301ab0fd 303 pc.printf("command Z is not implemented\n\r");
Kazuki Yamamoto 5:07f7000ec747 304 i=plength;
Kazuki Yamamoto 5:07f7000ec747 305 break;
Kazuki Yamamoto 9:844e301ab0fd 306 }
Kazuki Yamamoto 9:844e301ab0fd 307 case 'E':
Kazuki Yamamoto 9:844e301ab0fd 308 {
Kazuki Yamamoto 9:844e301ab0fd 309 pc.printf("command E is not implemented\n\r");
Kazuki Yamamoto 5:07f7000ec747 310 i=plength;
Kazuki Yamamoto 5:07f7000ec747 311 break;
Kazuki Yamamoto 9:844e301ab0fd 312 }
Kazuki Yamamoto 9:844e301ab0fd 313 case 'V':
Kazuki Yamamoto 9:844e301ab0fd 314 {
Kazuki Yamamoto 9:844e301ab0fd 315 pc.printf("command V is not implemented\n\r");
Kazuki Yamamoto 5:07f7000ec747 316 i=plength;
Kazuki Yamamoto 5:07f7000ec747 317 break;
Kazuki Yamamoto 9:844e301ab0fd 318 }
Kazuki Yamamoto 9:844e301ab0fd 319 default:
Kazuki Yamamoto 9:844e301ab0fd 320 {
Kazuki Yamamoto 9:844e301ab0fd 321 pc.printf("command ? is not implemented\n\r");
Kazuki Yamamoto 9:844e301ab0fd 322 i=plength;
Kazuki Yamamoto 9:844e301ab0fd 323 break;
Kazuki Yamamoto 9:844e301ab0fd 324 }
Kazuki Yamamoto 5:07f7000ec747 325 }
Kazuki Yamamoto 5:07f7000ec747 326 }
Kazuki Yamamoto 5:07f7000ec747 327 i=0;
Kazuki Yamamoto 5:07f7000ec747 328 length=0;
Kazuki Yamamoto 5:07f7000ec747 329 }
Kazuki Yamamoto 5:07f7000ec747 330 }