15#ifndef PICO_DRIVER_SRC_SDK_SDKWRAPPER_HPP_
16#define PICO_DRIVER_SRC_SDK_SDKWRAPPER_HPP_
18#if __has_include("pico/stdlib.h")
20#include "pico/stdlib.h"
21#include "pico_sdk_headers.h"
28#include "pico_api_alternate_defs.hpp"
30typedef unsigned int uint;
34#if __has_include(<gmock/gmock.h>)
35#include <gmock/gmock.h>
78#if __has_include(<hardware/i2c.h>) || __has_include(<gmock/gmock.h>)
80 virtual uint i2c_get_dreq(
i2c_inst_t* i2c,
bool is_tx);
83 virtual i2c_inst_t* i2c_get_instance(uint num);
84 virtual size_t i2c_get_read_available(
i2c_inst_t* i2c);
85 virtual size_t i2c_get_write_available(
i2c_inst_t* i2c);
86 virtual uint i2c_init(
i2c_inst_t* i2c, uint baudrate);
87 virtual int i2c_read_blocking(
i2c_inst_t* i2c, uint8_t addr, uint8_t* dst,
88 size_t len,
bool nostop);
89 virtual int i2c_read_blocking_until(
i2c_inst_t* i2c, uint8_t addr,
90 uint8_t* dst,
size_t len,
bool nostop,
91 absolute_time_t until);
92 virtual uint8_t i2c_read_byte_raw(
i2c_inst_t* i2c);
93 virtual void i2c_read_raw_blocking(
i2c_inst_t* i2c, uint8_t* dst,
size_t len);
94 virtual int i2c_read_timeout_per_char_us(
i2c_inst_t* i2c, uint8_t addr,
95 uint8_t* dst,
size_t len,
97 uint timeout_per_char_us);
98 virtual int i2c_read_timeout_us(
i2c_inst_t* i2c, uint8_t addr, uint8_t* dst,
99 size_t len,
bool nostop, uint timeout_us);
100 virtual uint i2c_set_baudrate(
i2c_inst_t* i2c, uint baudrate);
101 virtual void i2c_set_slave_mode(
i2c_inst_t* i2c,
bool slave, uint8_t addr);
102 virtual int i2c_write_blocking(
i2c_inst_t* i2c, uint8_t addr,
103 const uint8_t* src,
size_t len,
bool nostop);
104 virtual int i2c_write_blocking_until(
i2c_inst_t* i2c, uint8_t addr,
105 const uint8_t* src,
size_t len,
106 bool nostop, absolute_time_t until);
107 virtual void i2c_write_byte_raw(
i2c_inst_t* i2c, uint8_t value);
108 virtual void i2c_write_raw_blocking(
i2c_inst_t* i2c,
const uint8_t* src,
110 virtual int i2c_write_timeout_per_char_us(
i2c_inst_t* i2c, uint8_t addr,
111 const uint8_t* src,
size_t len,
113 uint timeout_per_char_us);
114 virtual int i2c_write_timeout_us(
i2c_inst_t* i2c, uint8_t addr,
115 const uint8_t* src,
size_t len,
bool nostop,
119#if __has_include(<hardware/pio.h>) || __has_include(<gmock/gmock.h>)
120 virtual int pio_add_program(PIO pio,
const pio_program_t* program);
121 virtual int pio_add_program_at_offset(PIO pio,
const pio_program_t* program,
123 virtual void pio_calculate_clkdiv_from_float(
float div, uint16_t* div_int,
125 virtual bool pio_can_add_program(PIO pio,
const pio_program_t* program);
126 virtual bool pio_can_add_program_at_offset(PIO pio,
127 const pio_program_t* program,
129 virtual bool pio_claim_free_sm_and_add_program(
const pio_program_t* program,
132 virtual bool pio_claim_free_sm_and_add_program_for_gpio_range(
133 const pio_program_t* program, PIO* pio, uint* sm, uint* offset,
134 uint gpio_base, uint gpio_count,
bool set_gpio_base);
135 virtual void pio_claim_sm_mask(PIO pio, uint sm_mask);
136 virtual int pio_claim_unused_sm(PIO pio,
bool required);
137 virtual void pio_clear_instruction_memory(PIO pio);
138 virtual void pio_clkdiv_restart_sm_mask(PIO pio, uint32_t mask);
139 virtual void pio_clkdiv_restart_sm_multi_mask(PIO pio, uint32_t mask_prev,
142 virtual void pio_enable_sm_mask_in_sync(PIO pio, uint32_t mask);
143 virtual void pio_enable_sm_multi_mask_in_sync(PIO pio, uint32_t mask_prev,
146 virtual pio_sm_config pio_get_default_sm_config(
void);
147 virtual uint pio_get_dreq(PIO pio, uint sm,
bool is_tx);
148 virtual uint pio_get_funcsel(PIO pio);
149 virtual uint pio_get_gpio_base(PIO pio);
150 virtual uint pio_get_index(PIO pio);
151 virtual PIO pio_get_instance(uint instance);
152 virtual int pio_get_irq_num(PIO pio, uint irqn);
153 virtual pio_interrupt_source_t pio_get_rx_fifo_not_empty_interrupt_source(
155 virtual pio_interrupt_source_t pio_get_tx_fifo_not_full_interrupt_source(
157 virtual void pio_gpio_init(PIO pio, uint pin);
158 virtual void pio_interrupt_clear(PIO pio, uint pio_interrupt_num);
159 virtual bool pio_interrupt_get(PIO pio, uint pio_interrupt_num);
160 virtual void pio_remove_program(PIO pio,
const pio_program_t* program,
162 virtual void pio_remove_program_and_unclaim_sm(
const pio_program_t* program,
163 PIO pio, uint sm, uint offset);
164 virtual void pio_restart_sm_mask(PIO pio, uint32_t mask);
165 virtual int pio_set_gpio_base(PIO pio, uint gpio_base);
166 virtual void pio_set_irq0_source_enabled(PIO pio,
167 pio_interrupt_source_t source,
169 virtual void pio_set_irq0_source_mask_enabled(PIO pio, uint32_t source_mask,
171 virtual void pio_set_irq1_source_enabled(PIO pio,
172 pio_interrupt_source_t source,
174 virtual void pio_set_irq1_source_mask_enabled(PIO pio, uint32_t source_mask,
176 virtual void pio_set_irqn_source_enabled(PIO pio, uint irq_index,
177 pio_interrupt_source_t source,
179 virtual void pio_set_irqn_source_mask_enabled(PIO pio, uint irq_index,
180 uint32_t source_mask,
182 virtual void pio_set_sm_mask_enabled(PIO pio, uint32_t mask,
bool enabled);
183 virtual void pio_set_sm_multi_mask_enabled(PIO pio, uint32_t mask_prev,
184 uint32_t mask, uint32_t mask_next,
186 virtual void pio_sm_claim(PIO pio, uint sm);
187 virtual void pio_sm_clear_fifos(PIO pio, uint sm);
188 virtual void pio_sm_clkdiv_restart(PIO pio, uint sm);
189 virtual void pio_sm_drain_tx_fifo(PIO pio, uint sm);
190 virtual void pio_sm_exec(PIO pio, uint sm, uint instr);
191 virtual void pio_sm_exec_wait_blocking(PIO pio, uint sm, uint instr);
192 virtual uint32_t pio_sm_get(PIO pio, uint sm);
193 virtual uint32_t pio_sm_get_blocking(PIO pio, uint sm);
194 virtual uint8_t pio_sm_get_pc(PIO pio, uint sm);
195 virtual uint pio_sm_get_rx_fifo_level(PIO pio, uint sm);
196 virtual uint pio_sm_get_tx_fifo_level(PIO pio, uint sm);
197 virtual int pio_sm_init(PIO pio, uint sm, uint initial_pc,
198 const pio_sm_config* config);
199 virtual bool pio_sm_is_claimed(PIO pio, uint sm);
200 virtual bool pio_sm_is_exec_stalled(PIO pio, uint sm);
201 virtual bool pio_sm_is_rx_fifo_empty(PIO pio, uint sm);
202 virtual bool pio_sm_is_rx_fifo_full(PIO pio, uint sm);
203 virtual bool pio_sm_is_tx_fifo_empty(PIO pio, uint sm);
204 virtual bool pio_sm_is_tx_fifo_full(PIO pio, uint sm);
205 virtual void pio_sm_put(PIO pio, uint sm, uint32_t data);
206 virtual void pio_sm_put_blocking(PIO pio, uint sm, uint32_t data);
207 virtual void pio_sm_restart(PIO pio, uint sm);
208 virtual void pio_sm_set_clkdiv(PIO pio, uint sm,
float div);
209 virtual void pio_sm_set_clkdiv_int_frac(PIO pio, uint sm, uint16_t div_int,
211 virtual int pio_sm_set_config(PIO pio, uint sm,
const pio_sm_config* config);
212 virtual int pio_sm_set_consecutive_pindirs(PIO pio, uint sm, uint pins_base,
213 uint pin_count,
bool is_out);
214 virtual void pio_sm_set_enabled(PIO pio, uint sm,
bool enabled);
215 virtual void pio_sm_set_in_pins(PIO pio, uint sm, uint in_base);
216 virtual void pio_sm_set_jmp_pin(PIO pio, uint sm, uint pin);
217 virtual void pio_sm_set_out_pins(PIO pio, uint sm, uint out_base,
219 virtual void pio_sm_set_pindirs_with_mask(PIO pio, uint sm, uint32_t pin_dirs,
221 virtual void pio_sm_set_pins(PIO pio, uint sm, uint32_t pin_values);
222 virtual void pio_sm_set_pins_with_mask(PIO pio, uint sm, uint32_t pin_values,
224 virtual void pio_sm_set_set_pins(PIO pio, uint sm, uint set_base,
226 virtual void pio_sm_set_sideset_pins(PIO pio, uint sm, uint sideset_base);
227 virtual void pio_sm_set_wrap(PIO pio, uint sm, uint wrap_target, uint wrap);
228 virtual void pio_sm_unclaim(PIO pio, uint sm);
229 virtual void sm_config_set_clkdiv(pio_sm_config* c,
float div);
230 virtual void sm_config_set_clkdiv_int_frac(pio_sm_config* c, uint16_t div_int,
232 virtual void sm_config_set_fifo_join(pio_sm_config* c,
233 enum pio_fifo_join join);
234 virtual void sm_config_set_in_pin_base(pio_sm_config* c, uint in_base);
235 virtual void sm_config_set_in_pin_count(pio_sm_config* c, uint in_count);
236 virtual void sm_config_set_in_pins(pio_sm_config* c, uint in_base);
237 virtual void sm_config_set_in_shift(pio_sm_config* c,
bool shift_right,
238 bool autopush, uint push_threshold);
239 virtual void sm_config_set_jmp_pin(pio_sm_config* c, uint pin);
240 virtual void sm_config_set_mov_status(pio_sm_config* c,
241 enum pio_mov_status_type status_sel,
243 virtual void sm_config_set_out_pin_base(pio_sm_config* c, uint out_base);
244 virtual void sm_config_set_out_pin_count(pio_sm_config* c, uint out_count);
245 virtual void sm_config_set_out_pins(pio_sm_config* c, uint out_base,
247 virtual void sm_config_set_out_shift(pio_sm_config* c,
bool shift_right,
248 bool autopull, uint pull_threshold);
249 virtual void sm_config_set_out_special(pio_sm_config* c,
bool sticky,
251 uint enable_pin_index);
252 virtual void sm_config_set_set_pin_base(pio_sm_config* c, uint set_base);
253 virtual void sm_config_set_set_pin_count(pio_sm_config* c, uint set_count);
254 virtual void sm_config_set_set_pins(pio_sm_config* c, uint set_base,
256 virtual void sm_config_set_sideset(pio_sm_config* c, uint bit_count,
257 bool optional,
bool pindirs);
258 virtual void sm_config_set_sideset_pin_base(pio_sm_config* c,
260 virtual void sm_config_set_sideset_pins(pio_sm_config* c, uint sideset_base);
261 virtual void sm_config_set_wrap(pio_sm_config* c, uint wrap_target,
265#if __has_include(<hardware/gpio.h>) || __has_include(<gmock/gmock.h>)
266 virtual void gpio_acknowledge_irq(uint gpio, uint32_t event_mask);
267 virtual void gpio_add_raw_irq_handler(uint gpio, irq_handler_t handler);
268 virtual void gpio_add_raw_irq_handler_masked(uint32_t gpio_mask,
269 irq_handler_t handler);
270 virtual void gpio_add_raw_irq_handler_masked64(uint64_t gpio_mask,
271 irq_handler_t handler);
272 virtual void gpio_add_raw_irq_handler_with_order_priority(
273 uint gpio, irq_handler_t handler, uint8_t order_priority);
274 virtual void gpio_add_raw_irq_handler_with_order_priority_masked(
275 uint32_t gpio_mask, irq_handler_t handler, uint8_t order_priority);
276 virtual void gpio_add_raw_irq_handler_with_order_priority_masked64(
277 uint64_t gpio_mask, irq_handler_t handler, uint8_t order_priority);
278 virtual void gpio_assign_to_ns(uint gpio,
bool ns);
279 virtual void gpio_clr_mask(uint32_t mask);
280 virtual void gpio_clr_mask64(uint64_t mask);
281 virtual void gpio_clr_mask_n(uint n, uint32_t mask);
282 virtual void gpio_debug_pins_init(
void);
283 virtual void gpio_deinit(uint gpio);
284 virtual void gpio_disable_pulls(uint gpio);
285 virtual bool gpio_get(uint gpio);
286 virtual uint32_t gpio_get_all(
void);
287 virtual uint64_t gpio_get_all64(
void);
288 virtual uint gpio_get_dir(uint gpio);
289 virtual enum gpio_drive_strength gpio_get_drive_strength(uint gpio);
290 virtual gpio_function_t gpio_get_function(uint gpio);
291 virtual uint32_t gpio_get_irq_event_mask(uint gpio);
292 virtual bool gpio_get_out_level(uint gpio);
293 virtual enum gpio_slew_rate gpio_get_slew_rate(uint gpio);
294 virtual void gpio_init(uint gpio);
295 virtual void gpio_init_mask(uint gpio_mask);
296 virtual bool gpio_is_dir_out(uint gpio);
297 virtual bool gpio_is_input_hysteresis_enabled(uint gpio);
298 virtual bool gpio_is_pulled_down(uint gpio);
299 virtual bool gpio_is_pulled_up(uint gpio);
300 virtual void gpio_pull_down(uint gpio);
301 virtual void gpio_pull_up(uint gpio);
302 virtual void gpio_put(uint gpio,
bool value);
303 virtual void gpio_put_all(uint32_t value);
304 virtual void gpio_put_all64(uint64_t value);
305 virtual void gpio_put_masked(uint32_t mask, uint32_t value);
306 virtual void gpio_put_masked64(uint64_t mask, uint64_t value);
307 virtual void gpio_put_masked_n(uint n, uint32_t mask, uint32_t value);
308 virtual void gpio_remove_raw_irq_handler(uint gpio, irq_handler_t handler);
309 virtual void gpio_remove_raw_irq_handler_masked(uint32_t gpio_mask,
310 irq_handler_t handler);
311 virtual void gpio_remove_raw_irq_handler_masked64(uint64_t gpio_mask,
312 irq_handler_t handler);
313 virtual void gpio_set_dir(uint gpio,
bool out);
314 virtual void gpio_set_dir_all_bits(uint32_t values);
315 virtual void gpio_set_dir_all_bits64(uint64_t values);
316 virtual void gpio_set_dir_in_masked(uint32_t mask);
317 virtual void gpio_set_dir_in_masked64(uint64_t mask);
318 virtual void gpio_set_dir_masked(uint32_t mask, uint32_t value);
319 virtual void gpio_set_dir_masked64(uint64_t mask, uint64_t value);
320 virtual void gpio_set_dir_out_masked(uint32_t mask);
321 virtual void gpio_set_dir_out_masked64(uint64_t mask);
322 virtual void gpio_set_dormant_irq_enabled(uint gpio, uint32_t event_mask,
324 virtual void gpio_set_drive_strength(uint gpio,
325 enum gpio_drive_strength drive);
326 virtual void gpio_set_function(uint gpio, gpio_function_t fn);
327 virtual void gpio_set_function_masked(uint32_t gpio_mask, gpio_function_t fn);
328 virtual void gpio_set_function_masked64(uint64_t gpio_mask,
330 virtual void gpio_set_inover(uint gpio, uint value);
331 virtual void gpio_set_input_enabled(uint gpio,
bool enabled);
332 virtual void gpio_set_input_hysteresis_enabled(uint gpio,
bool enabled);
333 virtual void gpio_set_irq_callback(gpio_irq_callback_t callback);
334 virtual void gpio_set_irq_enabled(uint gpio, uint32_t event_mask,
336 virtual void gpio_set_irq_enabled_with_callback(uint gpio,
339 gpio_irq_callback_t callback);
340 virtual void gpio_set_irqover(uint gpio, uint value);
341 virtual void gpio_set_mask(uint32_t mask);
342 virtual void gpio_set_mask64(uint64_t mask);
343 virtual void gpio_set_mask_n(uint n, uint32_t mask);
344 virtual void gpio_set_oeover(uint gpio, uint value);
345 virtual void gpio_set_outover(uint gpio, uint value);
346 virtual void gpio_set_pulls(uint gpio,
bool up,
bool down);
347 virtual void gpio_set_slew_rate(uint gpio,
enum gpio_slew_rate slew);
348 virtual void gpio_xor_mask(uint32_t mask);
349 virtual void gpio_xor_mask64(uint64_t mask);
350 virtual void gpio_xor_mask_n(uint n, uint32_t mask);
353#if __has_include(<hardware/clocks.h>) || __has_include(<gmock/gmock.h>)
354 virtual bool check_sys_clock_hz(uint32_t freq_hz, uint* vco_freq_out,
355 uint* post_div1_out, uint* post_div2_out);
356 virtual bool check_sys_clock_khz(uint32_t freq_khz, uint* vco_freq_out,
357 uint* post_div1_out, uint* post_div2_out);
358 virtual bool clock_configure(clock_handle_t clock, uint32_t src,
359 uint32_t auxsrc, uint32_t src_freq,
361 virtual bool clock_configure_gpin(clock_handle_t clock, uint gpio,
362 uint32_t src_freq, uint32_t freq);
363 virtual void clock_configure_int_divider(clock_handle_t clock, uint32_t src,
364 uint32_t auxsrc, uint32_t src_freq,
365 uint32_t int_divider);
366 virtual void clock_configure_undivided(clock_handle_t clock, uint32_t src,
367 uint32_t auxsrc, uint32_t src_freq);
368 virtual uint32_t clock_get_hz(clock_handle_t clock);
369 virtual void clock_gpio_init(uint gpio, uint src,
float div);
370 virtual void clock_gpio_init_int_frac(uint gpio, uint src, uint32_t div_int,
372 virtual void clock_set_reported_hz(clock_handle_t clock, uint hz);
373 virtual void clock_stop(clock_handle_t clock);
374 virtual void clocks_enable_resus(resus_callback_t resus_callback);
375 virtual uint32_t frequency_count_khz(uint src);
376 virtual float frequency_count_mhz(uint src);
377 virtual void set_sys_clock_48mhz(
void);
378 virtual bool set_sys_clock_hz(uint32_t freq_hz,
bool required);
379 virtual bool set_sys_clock_khz(uint32_t freq_khz,
bool required);
380 virtual void set_sys_clock_pll(uint32_t vco_freq, uint post_div1,
384#if __has_include(<pico/time.h>) || __has_include(<gmock/gmock.h>)
385 virtual int64_t absolute_time_diff_us(absolute_time_t from,
387 virtual absolute_time_t absolute_time_min(absolute_time_t a,
389 virtual alarm_id_t add_alarm_at(absolute_time_t time,
390 alarm_callback_t callback,
void* user_data,
392 virtual alarm_id_t add_alarm_in_ms(uint32_t ms, alarm_callback_t callback,
393 void* user_data,
bool fire_if_past);
394 virtual alarm_id_t add_alarm_in_us(uint64_t us, alarm_callback_t callback,
395 void* user_data,
bool fire_if_past);
396 virtual bool add_repeating_timer_ms(int32_t delay_ms,
397 repeating_timer_callback_t callback,
398 void* user_data, repeating_timer_t* out);
399 virtual bool add_repeating_timer_us(int64_t delay_us,
400 repeating_timer_callback_t callback,
401 void* user_data, repeating_timer_t* out);
402 virtual alarm_id_t alarm_pool_add_alarm_at(alarm_pool_t* pool,
403 absolute_time_t time,
404 alarm_callback_t callback,
407 virtual alarm_id_t alarm_pool_add_alarm_at_force_in_context(
408 alarm_pool_t* pool, absolute_time_t time, alarm_callback_t callback,
410 virtual alarm_id_t alarm_pool_add_alarm_in_ms(alarm_pool_t* pool, uint32_t ms,
411 alarm_callback_t callback,
414 virtual alarm_id_t alarm_pool_add_alarm_in_us(alarm_pool_t* pool, uint64_t us,
415 alarm_callback_t callback,
418 virtual bool alarm_pool_add_repeating_timer_ms(
419 alarm_pool_t* pool, int32_t delay_ms, repeating_timer_callback_t callback,
420 void* user_data, repeating_timer_t* out);
421 virtual bool alarm_pool_add_repeating_timer_us(
422 alarm_pool_t* pool, int64_t delay_us, repeating_timer_callback_t callback,
423 void* user_data, repeating_timer_t* out);
424 virtual bool alarm_pool_cancel_alarm(alarm_pool_t* pool, alarm_id_t alarm_id);
425 virtual uint alarm_pool_core_num(alarm_pool_t* pool);
426 virtual alarm_pool_t* alarm_pool_create(uint timer_alarm_num,
428 virtual alarm_pool_t* alarm_pool_create_on_timer(alarm_pool_timer_t* timer,
429 uint timer_alarm_num,
431 virtual alarm_pool_t* alarm_pool_create_on_timer_with_unused_hardware_alarm(
432 alarm_pool_timer_t* timer, uint max_timers);
433 virtual alarm_pool_t* alarm_pool_create_with_unused_hardware_alarm(
435 virtual void alarm_pool_destroy(alarm_pool_t* pool);
436 virtual alarm_pool_t* alarm_pool_get_default(
void);
437 virtual alarm_pool_timer_t* alarm_pool_get_default_timer(
void);
438 virtual uint alarm_pool_hardware_alarm_num(alarm_pool_t* pool);
439 virtual void alarm_pool_init_default(
void);
440 virtual int32_t alarm_pool_remaining_alarm_time_ms(alarm_pool_t* pool,
441 alarm_id_t alarm_id);
442 virtual int64_t alarm_pool_remaining_alarm_time_us(alarm_pool_t* pool,
443 alarm_id_t alarm_id);
444 virtual uint alarm_pool_timer_alarm_num(alarm_pool_t* pool);
445 virtual alarm_pool_timer_t* alarm_pool_timer_for_timer_num(uint timer_num);
446 virtual bool best_effort_wfe_or_timeout(absolute_time_t timeout_timestamp);
447 virtual bool cancel_alarm(alarm_id_t alarm_id);
448 virtual bool cancel_repeating_timer(repeating_timer_t* timer);
449 virtual absolute_time_t delayed_by_ms(
const absolute_time_t t, uint32_t ms);
450 virtual absolute_time_t delayed_by_us(
const absolute_time_t t, uint64_t us);
451 virtual absolute_time_t get_absolute_time(
void);
452 virtual bool is_at_the_end_of_time(absolute_time_t t);
453 virtual bool is_nil_time(absolute_time_t t);
454 virtual absolute_time_t make_timeout_time_ms(uint32_t ms);
455 virtual absolute_time_t make_timeout_time_us(uint64_t us);
456 virtual int32_t remaining_alarm_time_ms(alarm_id_t alarm_id);
457 virtual int64_t remaining_alarm_time_us(alarm_id_t alarm_id);
458 virtual void runtime_init_default_alarm_pool(
void);
459 virtual void sleep_ms(uint32_t ms);
460 virtual void sleep_until(absolute_time_t target);
461 virtual void sleep_us(uint64_t us);
462 virtual uint32_t to_ms_since_boot(absolute_time_t t);
463 virtual uint32_t us_to_ms(uint64_t us);
466#if __has_include(<pico/stdio.h>) || __has_include(<gmock/gmock.h>)
467 virtual int getchar_timeout_us(uint32_t timeout_us);
468 virtual int putchar_raw(
int c);
469 virtual int puts_raw(
const char* s);
470 virtual bool stdio_deinit_all(
void);
471 virtual void stdio_filter_driver(stdio_driver_t* driver);
472 virtual void stdio_flush(
void);
473 virtual int stdio_get_until(
char* buf,
int len, absolute_time_t until);
474 virtual bool stdio_init_all(
void);
475 virtual int stdio_put_string(
const char* s,
int len,
bool newline,
476 bool cr_translation);
477 virtual void stdio_set_driver_enabled(stdio_driver_t* driver,
bool enabled);
478 virtual void stdio_set_translate_crlf(stdio_driver_t* driver,
bool translate);
483#include "mocksdkwrapper.hpp"
Wrapper class for the RasPi Pico SDK functions.
Definition: sdkwrapper.hpp:74
int i2c_inst_t
Alternate definition for unit test.
Definition: i2cmaster.hpp:21
Collection of the RP2040/RP2350 control.
Definition: adau1361.hpp:17