Name | Date | Size | ||
---|---|---|---|---|
.. | 27-Apr.-2022 | 4 KiB | ||
.gitignore | H A D | 18-Aug.-2021 | 22 | |
apps/ | H | 18-Aug.-2021 | 4 KiB | |
audio/ | H | 18-Aug.-2021 | 4 KiB | |
CMakeLists.txt | H A D | 18-Aug.-2021 | 450 | |
LICENSE.TXT | H A D | 18-Aug.-2021 | 1.5 KiB | |
pico_extras_import.cmake | H A D | 18-Aug.-2021 | 2.9 KiB | |
pico_sdk_import.cmake | H A D | 17-May-2022 | 3.1 KiB | |
README.md | H A D | 22-Oct.-2021 | 4.5 KiB | |
reset/ | H | 18-Aug.-2021 | 4 KiB | |
scanvideo/ | H | 22-Oct.-2021 | 4 KiB | |
sleep/ | H | 18-Aug.-2021 | 4 KiB | |
standalone/ | H | 18-Aug.-2021 | 4 KiB | |
stdio/ | H | 18-Aug.-2021 | 4 KiB |
README.md
1This repo is similar to [pico-examples](https://github.com/raspberrypi/pico-examples) but utilizing additional libraries 2from [pico-extras](https://github.com/raspberrypi/pico-extras) 3 4Note that most of these examples are neither fleshed out nor well documented. They mostly serve 5the purpose of playing with/testing particular areas of functionality (mostly audio/video related) 6 7Finally, you may wonder why many of these demos set the system clock to 48Mhz. The reason is that until we had physical 8chips, we were running at a fixed 48Mhz system clock using an FPGA. Most of these examples were written before the 9RP2040 design was final, so they were all developed with that fixed 48MHz system clock. As a result some of the examples do things in a way 10that you wouldn't necessarily need to if you had more clock speed available (which you do), but on the plus side, 11you have that much more time to do even more things! 12 13## Full Applications 14 15Name|Description 16---|--- 17[popcorn](apps/popcorn)| This is a movie player for 30fps 320x240 movies with 44100 stereo sound, read in a custom format from SD card... it can even play backwards :-) Sample movie file linked from [here](apps/popcorn/README.md). 18[usb_sound_card](apps/usb_sound_card)| A no frills but functional USB sound card... hooked up via our old (pre TinyUSB) USB device stack. Keeping it around as it works nicely! 19 20## Audio 21 22Name|Description 23---|--- 24[sine_wave_i2s](audio/sine_wave)| A simple sine wave audio output using I2S. 25[sine_wave_pwm](audio/sine_wave)| A simple sine wave audio output using PWM. 26[sine_wave_spdif](audio/sine_wave)| A simple sine wave audio output using S/PDIF. 27 28## Scanout Video 29 30In _scanout_ video, every pixel is driven by the PIO every frame, and a framebuffer is not (necessarily) used (which 31is useful when you only have 264K of RAM). 32 33For a fuller description of scanout video see [here](https://github.com/raspberrypi/pico-extras/blob/master/src/common/pico_scanvideo/README.adoc) 34 35Name|Screenshot|Description 36---|---|--- 37[demo1](scanvideo/demo1)|| So named because it was the first demo program written that used video.. it is a bit dated now and hails from a time where there was _much_ less RAM on the RP2040 38[flash_stream](scanvideo/flash_stream)|| Streams video data out of flash fast enough to drive 640x480x60fps bitmap display 39[hscroll_dma_tiles](scanvideo/hscroll_dma_tiles)|| A horizontal scrolling test app which uses a second video plane (PIO) to overlay sprites 40[mandelbrot](scanvideo/mandelbrot)|| A mandelbrot generator using a 320x240x16 framebuffer 41[mario_tiles](scanvideo/mario_tiles)|| Confusingly named as a reference to Super Mario Kart's tiled psuedo-3D rendering. This is similar to [hscroll_dma_tiles](scanvideo/hscroll_dma_tiles) except the whole tiled scrolling area is now rotated and zoomed. 42[scanvideo_minimal](scanvideo/scanvideo_minimal)|| A very basic video output generator which generates a test pattern 43[render](scanvideo/render)| | A very dated rendering library used by [demo1](scanvideo/demo1) - avoid! 44[sprite](scanvideo/sprite)| | A small sprite library used by [sprite_demo](scanvideo/scanvideo_minimal) 45[sprite_demo](scanvideo/sprite_demo)|| Some bouncing Eben heads 46[test_pattern](scanvideo/test_pattern)|| Display color bars 47[textmode](scanvideo/textmode)|| Shows off chained DMA to generate scanlines out of glyph fragments via DMA/PIO 48 49The above are intended to be used with the VGA demo board as described in [Hardware Design with RP2040](https://rptl.io/rp2040-design) however it is possible to wire your own VGA output according to the following schematic: 50 51 52## Sleep 53 54Examples of using low power mode; these use `pico_sleep` from pico_extras which is not yet stable. 55 56Name|Description 57---|--- 58[hello_dormant](sleep/hello_dormant)| Demonstrates dormant mode 59[hello_sleep](sleep/hello_sleep)| Demonstrates low power sleep and waking from RTC 60 61 62## Stdio 63 64Examples of adding additional stdio support. Note the interface for stdio drivers is not yet considered stable 65even though it is in the Pico SDK 66 67Name|Description 68---|--- 69[stdio_pio](stdio/pio)| Demonstrates adding a custom STDIO driver using a PIO UART