Skip to content

Commit f0ce80c

Browse files
committed
fix case of PICO_SCANVIDEO_48MHZ and fix test_pattern for lower bit depths
1 parent e551a2d commit f0ce80c

File tree

8 files changed

+20
-11
lines changed

8 files changed

+20
-11
lines changed

audio/sine_wave/CMakeLists.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,11 @@ if (TARGET pico_audio_i2s)
1414
PICO_AUDIO_I2S_MONO_INPUT=1
1515
#define for our example code
1616
USE_AUDIO_I2S=1
17+
# PICO_AUDIO_I2S_DATA_PIN=22
18+
# PICO_AUDIO_I2S_CLOCK_PIN_BASE=23
19+
# PICO_DEFAULT_UART=0
20+
# PICO_DEFAULT_UART_TX_PIN=28
21+
# PICO_DEFAULT_UART_RX_PIN=29
1722
)
1823
# create map/bin/hex file etc.
1924
pico_add_extra_outputs(sine_wave_i2s)

audio/sine_wave/sine_wave.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,11 @@
2020

2121
#include "pico/audio_i2s.h"
2222

23+
#if PICO_ON_DEVICE
24+
#include "pico/binary_info.h"
25+
bi_decl(bi_3pins_with_names(PICO_AUDIO_I2S_DATA_PIN, "I2S DIN", PICO_AUDIO_I2S_CLOCK_PIN_BASE, "I2S BCK", PICO_AUDIO_I2S_CLOCK_PIN_BASE+1, "I2S LRCK"));
26+
#endif
27+
2328
#elif USE_AUDIO_PWM
2429
#include "pico/audio_pwm.h"
2530
#elif USE_AUDIO_SPDIF

scanvideo/demo1/demo1.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -602,7 +602,7 @@ int main(void) {
602602

603603
gpio_put(27, 0);
604604
#if PICO_ON_DEVICE && !PICO_ON_FPGA
605-
#if PICO_SCANVIDEO_48MHz
605+
#if PICO_SCANVIDEO_48MHZ
606606
/* set to double frequency 48Mhz for some examples which were written for a higher clock speed */
607607
set_sys_clock_khz(96000, true);
608608
#endif

scanvideo/hscroll_dma_tiles/hscroll_dma_tiles.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -572,7 +572,7 @@ void go_core1(void (*execute)()) {
572572
}
573573

574574
int main(void) {
575-
#if PICO_SCANVIDEO_48MHz
575+
#if PICO_SCANVIDEO_48MHZ
576576
set_sys_clock_48mhz();
577577
#endif
578578
setup_default_uart();

scanvideo/mario_tiles/mario_tiles.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -665,7 +665,7 @@ void go_core1(void (*execute)()) {
665665
}
666666

667667
int main(void) {
668-
#if PICO_SCANVIDEO_48MHz
668+
#if PICO_SCANVIDEO_48MHZ
669669
set_sys_clock_48mhz();
670670
#endif
671671
setup_default_uart();

scanvideo/scanvideo_minimal/scanvideo_minimal.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ void render_scanline(struct scanvideo_scanline_buffer *dest, int core) {
104104

105105

106106
int main(void) {
107-
#if PICO_SCANVIDEO_48MHz
107+
#if PICO_SCANVIDEO_48MHZ
108108
set_sys_clock_48mhz();
109109
#endif
110110
// Re init uart now that clk_peri has changed

scanvideo/sprite_demo/sprite_demo.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ int main(void) {
176176
sleep_ms(10);
177177
set_sys_clock_khz(400000, true);
178178
#else
179-
#if PICO_SCANVIDEO_48MHz
179+
#if PICO_SCANVIDEO_48MHZ
180180
set_sys_clock_khz(192000, true);
181181
#else
182182
set_sys_clock_khz(200000, true);

scanvideo/test_pattern/test_pattern.c

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -58,19 +58,18 @@ int main(void) {
5858
void draw_color_bar(scanvideo_scanline_buffer_t *buffer) {
5959
// figure out 1/32 of the color value
6060
uint line_num = scanvideo_scanline_number(buffer->scanline_id);
61-
int32_t color_step = 1 + (line_num * 7 / vga_mode.height);
62-
color_step = PICO_SCANVIDEO_PIXEL_FROM_RGB5(color_step & 1u, (color_step >> 1u) & 1u, (color_step >> 2u) & 1u);
63-
if (invert) color_step = -color_step;
61+
uint32_t primary_color = 1u + (line_num * 7 / vga_mode.height);
62+
uint32_t color_mask = PICO_SCANVIDEO_PIXEL_FROM_RGB5(0x1f * (primary_color & 1u), 0x1f * ((primary_color >> 1u) & 1u), 0x1f * ((primary_color >> 2u) & 1u));
6463
uint bar_width = vga_mode.width / 32;
6564

6665
uint16_t *p = (uint16_t *) buffer->data;
67-
int32_t color = invert ? PICO_SCANVIDEO_PIXEL_FROM_RGB8(255, 255, 255) : 0;
6866

67+
uint32_t invert_bits = invert ? PICO_SCANVIDEO_PIXEL_FROM_RGB5(0x1f,0x1f,0x1f) : 0;
6968
for (uint bar = 0; bar < 32; bar++) {
7069
*p++ = COMPOSABLE_COLOR_RUN;
71-
*p++ = color;
70+
uint32_t color = PICO_SCANVIDEO_PIXEL_FROM_RGB5(bar, bar, bar);
71+
*p++ = (color & color_mask) ^ invert_bits;
7272
*p++ = bar_width - 3;
73-
color += color_step;
7473
}
7574

7675
// 32 * 3, so we should be word aligned

0 commit comments

Comments
 (0)