Customized stdio support allowing for input and output from UART, USB, semi-hosting etc.
Note the API for adding additional input output devices is not yet considered stable
◆ getchar_timeout_us()
int getchar_timeout_us |
( |
uint32_t |
timeout_us | ) |
|
Return a character from stdin if there is one available within a timeout.
- Parameters
-
timeout_us | the timeout in microseconds, or 0 to not wait for a character if none available. |
- Returns
- the character from 0-255 or PICO_ERROR_TIMEOUT if timeout occurs
◆ stdio_filter_driver()
Control limiting of output to a single driver.
- Note
- this method should always be called on an initialized driver
- Parameters
-
driver | if non-null then output only that driver will be used for input/output (assuming it is in the list of enabled drivers). if NULL then all enabled drivers will be used |
◆ stdio_init_all()
bool stdio_init_all |
( |
void |
| ) |
|
Initialize all of the present standard stdio types that are linked into the binary.
Call this method once you have set up your clocks to enable the stdio support for UART, USB and semihosting based on the presence of the respective libraries in the binary.
When stdio_usb is configured, this method can be optionally made to block, waiting for a connection via the variables specified in stdio_usb_init (i.e. PICO_STDIO_USB_CONNECT_WAIT_TIMEOUT_MS)
- Returns
- true if at least one output was successfully initialized, false otherwise.
- See also
- stdio_uart, stdio_usb, stdio_semihosting
◆ stdio_set_chars_available_callback()
void stdio_set_chars_available_callback |
( |
void(*)(void *) |
fn, |
|
|
void * |
param |
|
) |
| |
get notified when there are input characters available
- Parameters
-
fn | Callback function to be called when characters are available. Pass NULL to cancel any existing callback |
param | Pointer to pass to the callback |
◆ stdio_set_driver_enabled()
void stdio_set_driver_enabled |
( |
stdio_driver_t * |
driver, |
|
|
bool |
enabled |
|
) |
| |
Adds or removes a driver from the list of active drivers used for input/output.
- Note
- this method should always be called on an initialized driver and is not re-entrant
- Parameters
-
driver | the driver |
enabled | true to add, false to remove |
◆ stdio_set_translate_crlf()
void stdio_set_translate_crlf |
( |
stdio_driver_t * |
driver, |
|
|
bool |
translate |
|
) |
| |
control conversion of line feeds to carriage return on transmissions
- Note
- this method should always be called on an initialized driver
- Parameters
-
driver | the driver |
translate | If true, convert line feeds to carriage return on transmissions |