b6dbbbe82f
This commit adds I2S protocol support for the rp2 port: - I2S API is consistent with STM32 and ESP32 ports - I2S configurations supported: - master transmit and master receive - 16-bit and 32-bit sample sizes - mono and stereo formats - sampling frequency - 3 modes of operation: - blocking - non-blocking with callback - uasyncio - internal ring buffer size can be tuned - DMA IRQs are managed on an I2S object basis, allowing other RP2 entities to use DMA IRQs when I2S is not being used - MicroPython documentation - tested on Raspberry Pi Pico development board - build metric changes for this commit: text(+4552), data(0), bss(+8) Signed-off-by: Mike Teachman <mike.teachman@gmail.com>
21 lines
653 B
C
21 lines
653 B
C
#ifndef MICROPY_INCLUDED_RP2_MODMACHINE_H
|
|
#define MICROPY_INCLUDED_RP2_MODMACHINE_H
|
|
|
|
#include "py/obj.h"
|
|
|
|
extern const mp_obj_type_t machine_adc_type;
|
|
extern const mp_obj_type_t machine_hw_i2c_type;
|
|
extern const mp_obj_type_t machine_i2s_type;
|
|
extern const mp_obj_type_t machine_pin_type;
|
|
extern const mp_obj_type_t machine_rtc_type;
|
|
extern const mp_obj_type_t machine_spi_type;
|
|
extern const mp_obj_type_t machine_timer_type;
|
|
extern const mp_obj_type_t machine_uart_type;
|
|
extern const mp_obj_type_t machine_wdt_type;
|
|
|
|
void machine_pin_init(void);
|
|
void machine_pin_deinit(void);
|
|
void machine_i2s_init0(void);
|
|
|
|
#endif // MICROPY_INCLUDED_RP2_MODMACHINE_H
|