e.g. MSH >pin write PA.16 high */
| 312 | |
| 313 | /* e.g. MSH >pin write PA.16 high */ |
| 314 | static void _pin_cmd_write(int argc, char *argv[]) |
| 315 | { |
| 316 | rt_base_t pin; |
| 317 | rt_uint8_t value; |
| 318 | if (argc < 4) |
| 319 | { |
| 320 | _pin_cmd_print_usage(); |
| 321 | return; |
| 322 | } |
| 323 | if (!msh_isint(argv[2])) |
| 324 | { |
| 325 | pin = _pin_cmd_conv(argv[2]); |
| 326 | if (pin < 0) |
| 327 | { |
| 328 | rt_kprintf("Parameter invalid : %s!\n", argv[2]); |
| 329 | _pin_cmd_print_usage(); |
| 330 | return; |
| 331 | } |
| 332 | } |
| 333 | else |
| 334 | { |
| 335 | pin = atoi(argv[2]); |
| 336 | } |
| 337 | if ((0 == rt_strcmp("high", argv[3])) || (0 == rt_strcmp("on", argv[3]))) |
| 338 | { |
| 339 | value = PIN_HIGH; |
| 340 | } |
| 341 | else if ((0 == rt_strcmp("low", argv[3])) || (0 == rt_strcmp("off", argv[3]))) |
| 342 | { |
| 343 | value = PIN_LOW; |
| 344 | } |
| 345 | else |
| 346 | { |
| 347 | _pin_cmd_print_usage(); |
| 348 | return; |
| 349 | } |
| 350 | rt_pin_write(pin, value); |
| 351 | } |
| 352 | |
| 353 | static void _pin_cmd(int argc, char *argv[]) |
| 354 | { |
no test coverage detected