Git Product home page Git Product logo

arduino-pico-i2s-audio's People

Contributors

giampiero7 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

liunix61 devklee

arduino-pico-i2s-audio's Issues

Documentation, example(s), maybe a Discussion tab?

Will you be adding a readme to the code page, and ideally an example or two, as with other Arduino libraries? I'm not entirely clear how to try this out, without them.

This probably should have been on a Discussion thread, rather than in an issue, but there currently isn't a Discussion page. Maybe worth adding one?

I'm intrigued to see that you can set the three I2S pins separately, as opposed to the standard arduino-pico I2S (16 bit out only), where two of them have to be adjacent, so you only get to set two. Can all three be on any GPIO pin, in this version? Does that place any limitations on the use of PIO functions on other pins, e.g. adjacent ones?

WM8782

Hello,
I bought a WM8782 module on audiophonics.
I would like to use it to make an USB dual guitar recorder thanks to the rp pico, but I don't realy understand how to use the i2s lib with the master clock. Is it possible to do ? do you have some advice ?

I2S full duplex

Hi,
I'm also working on the I2S of RP2040. But I can not find suitable Arduino library until find yours. Do you have any plan to add TX for full duplex? And if possible, I advise to use interrupt to detect the data transformation with callback register api for upper layer. Thanks.

ringbuf_pop always returns false

This one's a doozy.
I use your (great!) machine_i2s.c with the C-SDK like this:

#include "pico/stdlib.h"
#include "machine_i2s.c"

#define SCK 3
#define WS 4 // needs to be SCK +1
#define SD 29
#define BPS 32 // 24 is not valid in this implementation, but INMP441 outputs 24 bits samples
#define RATE 16000

int main() {
	stdio_init_all();
	machine_i2s_obj_t* i2s0 = machine_i2s_make_new(0, SCK, WS, SD, RX, BPS, STEREO, /*ringbuf_len*/SIZEOF_DMA_BUFFER_IN_BYTES, RATE);
	int32_t buffer[I2S_RX_FRAME_SIZE_IN_BYTES /4];
	while (true) {
		machine_i2s_stream_read(i2s0, (void*)&buffer[0], I2S_RX_FRAME_SIZE_IN_BYTES);
		printf("%.6x %.6x\n", buffer[0], buffer[1]);			
	}
}

but I don't get any samples out without the most peculiar change:
if I add on https://github.com/sfera-labs/arduino-pico-i2s-audio/blob/master/src/machine_i2s.c#L232 the following:

printf("%d %d\n", rbuf->head,rbuf->tail);

it suddenly starts spewing out correct frames! So it seems to me that the printf statement somehow materializes the head and tail values, but my knowledge of the pico and or C is not nearly enough to start to understand this.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.