// NOTE: All of these functions can be used in the same fashion as their equivalent
// libc or Pico SDK functions. Consult those relevant docs.
// stdio
close, getchar, getchar_timeout_us, lseek, open, opendir, printf, putchar, read,
readdir, remove, rename, screen_height, screen_width, sprintf, write
Predefined symbols: TRUE, true, FALSE, false, O_RDONLY, O_WRONLY, O_RDWR, O_CREAT,
O_EXCL, O_TRUNC, O_APPEND, SEEK_SET SEEK_CUR, SEEK_END, PICO_ERROR_TIMEOUT`
// stdlib
atoi, calloc, exit, free, malloc, popcount, rand, srand, get_rand_32
// string
memcmp, memcpy, memset, strcat, strchr, strcmp, strcpy, strdup, strlen, strncat,
strncmp, strncpy, strrchr, strtol
// math
acosf, acoshf, asinf, asinhf, atan2f, atanf, atanhf, cosf, coshf, fmodf, log10f,
logf, powf, sinf, sinhf, sqrtf, tanf, tanhf
// sync
wfi
// time
sleep_ms, sleep_us, time_us_32
// gpio
gpio_acknowledge_irq, gpio_add_raw_irq_handler, gpio_add_raw_irq_handler_masked,
gpio_add_raw_irq_handler_with_order_priority,
gpio_add_raw_irq_handler_with_order_priority_masked, gpio_clr_mask, gpio_deinit,
gpio_disable_pulls, gpio_get, gpio_get_all, gpio_get_dir, gpio_get_drive_strength,
gpio_get_function, gpio_get_irq_event_mask, gpio_get_out_level, gpio_get_slew_rate,
gpio_init, gpio_init_mask, gpio_is_dir_out, gpio_is_input_hysteresis_enabled,
gpio_is_pulled_down, gpio_is_pulled_up, gpio_pull_down, gpio_pull_up, gpio_put, gpio_put_all,
gpio_put_masked, gpio_remove_raw_irq_handler, gpio_remove_raw_irq_handler_masked, gpio_set_dir,
gpio_set_dir_all_bits, gpio_set_dir_in_masked, gpio_set_dir_masked, gpio_set_dir_out_masked
gpio_set_dormant_irq_enabled, gpio_set_drive_strength, gpio_set_function, gpio_set_inover,
gpio_set_input_enabled, gpio_set_input_hysteresis_enabled, gpio_set_irq_callback,
gpio_set_irq_enabled, gpio_set_irq_enabled_with_callback, gpio_set_irqover, gpio_set_mask,
gpio_set_oeover, gpio_set_outover, gpio_set_pulls, gpio_set_slew_rate, gpio_xor_mask
Predefined symbols: GPIO_FUNC_XIP, GPIO_FUNC_SPI, GPIO_FUNC_UART, GPIO_FUNC_I2C,
GPIO_FUNC_PWM, GPIO_FUNC_SIO, GPIO_FUNC_PIO0, GPIO_FUNC_PIO1, GPIO_FUNC_GPCK, GPIO_FUNC_USB,
GPIO_FUNC_NULL, GPIO_OUT, GPIO_IN, GPIO_IRQ_LEVEL_LOW, GPIO_IRQ_LEVEL_HIGH, GPIO_IRQ_EDGE_FALL,
GPIO_IRQ_EDGE_RISE, GPIO_OVERRIDE_NORMAL, GPIO_OVERRIDE_INVERT, GPIO_OVERRIDE_LOW,
GPIO_OVERRIDE_HIGH, GPIO_SLEW_RATE_SLOW, GPIO_SLEW_RATE_FAST, GPIO_DRIVE_STRENGTH_2MA,
GPIO_DRIVE_STRENGTH_4MA, GPIO_DRIVE_STRENGTH_8MA, GPIO_DRIVE_STRENGTH_12MA,
PICO_DEFAULT_LED_PIN
// pwm
pwm_advance_count, pwm_clear_irq, pwm_config_set_clkdiv, pwm_config_set_clkdiv_int,
pwm_config_set_clkdiv_int_frac, pwm_config_set_clkdiv_mode, pwm_config_set_output_polarity,
pwm_config_set_phase_correct, pwm_config_set_wrap, pwm_force_irq, pwm_get_counter,
pwm_get_default_config, pwm_get_dreq, pwm_get_irq_status_mask, pwm_gpio_to_channel,
pwm_gpio_to_slice_num, pwm_init, pwm_retard_count, pwm_set_both_levels, pwm_set_chan_level,
pwm_set_clkdiv, pwm_set_clkdiv_int_frac, pwm_set_clkdiv_mode, pwm_set_counter, pwm_set_enabled,
pwm_set_gpio_level, pwm_set_irq_enabled, pwm_set_irq_mask_enabled, pwm_set_mask_enabled,
pwm_set_output_polarity, pwm_set_phase_correct, pwm_set_wrap
Predefined symbols: PWM_DIV_FREE_RUNNING, PWM_DIV_B_HIGH, PWM_DIV_B_RISING, PWM_DIV_B_FALLING,
PWM_CHAN_A, PWM_CHAN_B
// adc
adc_fifo_drain, adc_fifo_get, adc_fifo_get_blocking, adc_fifo_get_level, adc_fifo_is_empty,
adc_fifo_setup, adc_get_selected_input, adc_gpio_init, adc_init, adc_irq_set_enabled, adc_read,
adc_run, adc_select_input, adc_set_clkdiv, adc_set_round_robin, adc_set_temp_sensor_enabled
// clocks
clock_configure, clock_configure_gpin, clock_get_hz, clock_gpio_init, clock_set_reported_hz,
clock_stop, clocks_enable_resus, clocks_init, frequency_count_khz, frequency_count_mhz
Predefined symbols: KHZ, MHZ, clk_gpout0, clk_gpout1, clk_gpout2, clk_gpout3, clk_ref,
clk_sys, clk_peri, clk_usb clk_adc, clk_rtc, CLK_COUNT
// i2c
i2c_deinit, i2c_get_dreq, i2c_get_hw, i2c_get_read_available, i2c_get_write_available,
i2c_hw_index, i2c_init, i2c_read_blocking, i2c_read_raw_blocking, i2c_read_timeout_per_char_us,
i2c_read_timeout_us, i2c_set_baudrate, i2c_set_slave_mode, i2c_write_blocking,
i2c_write_raw_blocking, i2c_write_timeout_per_char_us, i2c_write_timeout_us
Predefined symbols: i2c0, i2c1, i2c_default
// spi
spi_deinit, spi_get_baudrate, spi_get_const_hw, spi_get_dreq, spi_get_hw, spi_get_index,
spi_init, spi_is_busy, spi_is_readable, spi_is_writable, spi_read16_blocking,
spi_read_blocking, spi_set_baudrate, spi_set_format, spi_set_slave, spi_write16_blocking,
spi_write16_read16_blocking, spi_write_blocking, spi_write_read_blocking
Predefined symbols: spi0, spi1, spi_default
// irq
irq_add_shared_handler, irq_clear, irq_get_exclusive_handler, irq_get_priority,
irq_get_vtable_handler, irq_has_shared_handler, irq_init_priorities, irq_is_enabled,
irq_remove_handler, irq_set_enabled, irq_set_exclusive_handler, irq_set_mask_enabled,
irq_set_pending, irq_set_priority, user_irq_claim, user_irq_claim_unused, user_irq_is_claimed,
user_irq_unclaim
Predefined symbols: TIMER_IRQ_0, TIMER_IRQ_1, TIMER_IRQ_2, TIMER_IRQ_3, PWM_IRQ_WRAP,
USBCTRL_IRQ, XIP_IRQ, PIO0_IRQ_0 PIO0_IRQ_1, PIO1_IRQ_0, PIO1_IRQ_1, DMA_IRQ_0, DMA_IRQ_1,
IO_IRQ_BANK0, IO_IRQ_QSPI, SIO_IRQ_PROC0 SIO_IRQ_PROC1, CLOCKS_IRQ, SPI0_IRQ, SPI1_IRQ,
UART0_IRQ, UART1_IRQ, ADC_IRQ_FIFO, I2C0_IRQ I2C1_IRQ, RTC_IRQ, PICO_DEFAULT_IRQ_PRIORITY,
PICO_LOWEST_IRQ_PRIORITY, PICO_HIGHEST_IRQ_PRIORITY,
PICO_SHARED_IRQ_HANDLER_DEFAULT_ORDER_PRIORITY, PICO_SHARED_IRQ_HANDLER_HIGHEST_ORDER_PRIORITY,
PICO_SHARED_IRQ_HANDLER_LOWEST_ORDER_PRIORITY
// uart
uart_default_tx_wait_blocking, uart_deinit, uart_get_dreq_num, uart_get_hw, uart_get_index
uart_get_instance, uart_get_reset_num, uart_getc, uart_init, uart_is_enabled
uart_is_readable, uart_is_readable_within_us, uart_is_writable, uart_putc, uart_putc_raw
uart_puts, uart_read_blocking, uart_set_baudrate, uart_set_break, uart_set_fifo_enabled
uart_set_format, uart_set_hw_flow, uart_set_irqs_enabled, uart_set_translate_crlf
uart_tx_wait_blocking, uart_write_blocking
Predefined symbols: UART_PARITY_NONE, UART_PARITY_EVEN, UART_PARITY_ODD, uart0, uart1