Example:
void onAdc(EmbeddedCli *cli, char *args, void *context) {
// somehow get input
while (embeddedCliBytesAvailable(cli) > 0) {
uint8_t b = embeddedCliReadByte(cli);
}
}
If you input is read from cli, it will not be then processed as command. For example suppose command binding for get-adc and following input is given:
If in binding get-adc 3 bytes are read, then cli will see following:
get-adc // call binding get-adc
-adc // call unknown command "-adc" ("get" was read by user inside binding)
get-adc // call binding get-adc
Another important thing is that this will work correctly only if raw input is provided to cli only inside ISR. Otherwise new input will not be added while command binding is executing (unless it is added it manually, but that's a bad design)
Initial request by @windsunsjtu in #15
Example:
If you input is read from cli, it will not be then processed as command. For example suppose command binding for
get-adcand following input is given:If in binding
get-adc3 bytes are read, then cli will see following:Another important thing is that this will work correctly only if raw input is provided to cli only inside ISR. Otherwise new input will not be added while command binding is executing (unless it is added it manually, but that's a bad design)
Initial request by @windsunsjtu in #15