Skip to content

Commit b3e801f

Browse files
committed
Merge branch 'master' of github.com:m5stack/M5Stack
2 parents 6ab55cf + 1c38da9 commit b3e801f

File tree

2 files changed

+57
-117
lines changed

2 files changed

+57
-117
lines changed

examples/Unit/RCA/RCA.ino

Lines changed: 55 additions & 117 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,19 @@
1-
#define LGFX_USE_V1
21
#include <M5Unified.h>
2+
#include <M5UnitRCA.h>
33

44
#include "wav_unsigned_8bit_click.cpp"
55

6-
class LGFX : public lgfx::LGFX_Device {
7-
public:
8-
lgfx::Panel_CVBS _panel_instance;
9-
10-
LGFX(void) {
11-
{
12-
auto cfg = _panel_instance.config();
13-
14-
cfg.memory_width = 240;
15-
cfg.memory_height = 180;
16-
cfg.panel_width = 240;
17-
cfg.panel_height = 180;
18-
cfg.offset_x = 0;
19-
cfg.offset_y = 0;
20-
_panel_instance.config(cfg);
21-
}
22-
{
23-
auto cfg = _panel_instance.config_detail();
24-
25-
// cfg.signal_type = cfg.signal_type_t::NTSC_J;
26-
// cfg.signal_type = cfg.signal_type_t::PAL;
27-
// cfg.signal_type = cfg.signal_type_t::PAL_M;
28-
cfg.signal_type = cfg.signal_type_t::PAL_N;
29-
30-
cfg.pin_dac = 25;
31-
cfg.use_psram = 0;
32-
cfg.output_level = 128;
33-
cfg.chroma_level = 128;
34-
_panel_instance.config_detail(cfg);
35-
}
36-
37-
setPanel(&_panel_instance);
38-
}
39-
};
6+
M5UnitRCA gfx_rca;
407

41-
LGFX gfx_rca;
8+
// M5UnitRCA gfx_rca ( 216 // logical_width
9+
// , 144 // logical_height
10+
// , 256 // output_width
11+
// , 160 // output_height
12+
// , M5UnitRCA::signal_type_t::PAL // signal_type
13+
// , 26 // GPIO pin
14+
// );
15+
// signal_type: can be selected from NTSC / NTSC_J / PAL / PAL_M / PAL_N.
16+
// GPIO pin: can be selected from 25 / 26
4217

4318
static constexpr int color_list[3] = {TFT_RED, TFT_GREEN, TFT_BLUE};
4419
static int color_index = 0;
@@ -47,14 +22,14 @@ static bool is_pin_25 = true;
4722

4823
void play_wav(void*) {
4924
while (true) {
50-
M5.Speaker.playWav(sunrise_anna_single_left, sizeof(sunrise_anna_single_left), ~0u, 0,
51-
true);
25+
M5.Speaker.playWav(sunrise_anna_single_left,
26+
sizeof(sunrise_anna_single_left), ~0u, 0, true);
5227
delay(3000);
5328
M5.Speaker.stop(0);
5429
delay(500);
5530

56-
M5.Speaker.playWav(sunrise_anna_single_right, sizeof(sunrise_anna_single_right), ~0u, 1,
57-
true);
31+
M5.Speaker.playWav(sunrise_anna_single_right,
32+
sizeof(sunrise_anna_single_right), ~0u, 1, true);
5833
delay(3000);
5934
M5.Speaker.stop(1);
6035
delay(500);
@@ -73,54 +48,51 @@ void setup(void) {
7348
M5.Display.setTextColor(TFT_WHITE, TFT_BLACK);
7449
M5.Display.drawCenterString("M5 RCA Module :)", 160, 20);
7550

76-
M5.Display.drawCenterString("Using Pin 25", 160, 120);
51+
M5.Display.drawCenterString("Using Pin 26", 160, 120);
7752
M5.Display.drawString("Pin 25", 25, 210);
7853
M5.Display.drawString("Pin 26", 220, 210);
7954

80-
// if (M5.getBoard() == m5gfx::boards::board_M5StackCore2) {
81-
// {
82-
// auto spk_cfg = M5.Speaker.config();
83-
// spk_cfg.i2s_port = I2S_NUM_1;
84-
// spk_cfg.sample_rate = 96000;
85-
//
86-
// spk_cfg.pin_data_out = 2;
87-
// spk_cfg.pin_bck = 19;
88-
// spk_cfg.pin_ws = 0; // LRCK
89-
//
90-
// spk_cfg.stereo = true;
91-
// spk_cfg.buzzer = false;
92-
// spk_cfg.use_dac = false;
93-
// spk_cfg.magnification = 16;
94-
// M5.Speaker.config(spk_cfg);
95-
// }
96-
// }
97-
// else
98-
// {
99-
// auto spk_cfg = M5.Speaker.config();
100-
// spk_cfg.i2s_port = I2S_NUM_1;
101-
// spk_cfg.sample_rate = 96000;
102-
//
103-
// spk_cfg.pin_data_out = 15;
104-
// spk_cfg.pin_bck = 13;
105-
// spk_cfg.pin_ws = 0; // LRCK
106-
//
107-
// spk_cfg.stereo = true;
108-
// spk_cfg.buzzer = false;
109-
// spk_cfg.use_dac = false;
110-
// spk_cfg.magnification = 16;
111-
// M5.Speaker.config(spk_cfg);
112-
// }
113-
114-
115-
// M5.Speaker.begin();
116-
// M5.Speaker.setVolume(128);
117-
// M5.Speaker.setChannelVolume(0, 255);
118-
// M5.Speaker.setChannelVolume(1, 255);
55+
// if (M5.getBoard() == m5gfx::boards::board_M5StackCore2) {
56+
// {
57+
// auto spk_cfg = M5.Speaker.config();
58+
// spk_cfg.i2s_port = I2S_NUM_1;
59+
// spk_cfg.sample_rate = 96000;
60+
61+
// spk_cfg.pin_data_out = 2;
62+
// spk_cfg.pin_bck = 19;
63+
// spk_cfg.pin_ws = 0; // LRCK
64+
65+
// spk_cfg.stereo = true;
66+
// spk_cfg.buzzer = false;
67+
// spk_cfg.use_dac = false;
68+
// spk_cfg.magnification = 16;
69+
// M5.Speaker.config(spk_cfg);
70+
// }
71+
// } else {
72+
// auto spk_cfg = M5.Speaker.config();
73+
// spk_cfg.i2s_port = I2S_NUM_1;
74+
// spk_cfg.sample_rate = 96000;
75+
76+
// spk_cfg.pin_data_out = 15;
77+
// spk_cfg.pin_bck = 13;
78+
// spk_cfg.pin_ws = 0; // LRCK
79+
80+
// spk_cfg.stereo = true;
81+
// spk_cfg.buzzer = false;
82+
// spk_cfg.use_dac = false;
83+
// spk_cfg.magnification = 16;
84+
// M5.Speaker.config(spk_cfg);
85+
// }
86+
87+
// M5.Speaker.begin();
88+
// M5.Speaker.setVolume(128);
89+
// M5.Speaker.setChannelVolume(0, 255);
90+
// M5.Speaker.setChannelVolume(1, 255);
11991

12092
gfx_rca.init();
12193
gfx_rca.setFont(&DejaVu24);
12294

123-
// xTaskCreatePinnedToCore(play_wav, "play_wav", 8192, NULL, 1, NULL, 1);
95+
// xTaskCreatePinnedToCore(play_wav, "play_wav", 8192, NULL, 1, NULL, 1);
12496

12597
pinMode(16, OUTPUT);
12698
pinMode(17, OUTPUT);
@@ -160,24 +132,7 @@ void loop(void) {
160132
is_pin_25 = true;
161133
M5.Display.drawCenterString("Using Pin 25", 160, 120);
162134

163-
lgfx::Panel_CVBS* p = (lgfx::Panel_CVBS*)gfx_rca.panel();
164-
p->deinit();
165-
auto cfg = p->config();
166-
cfg.memory_width = 240;
167-
cfg.memory_height = 180;
168-
cfg.panel_width = 240;
169-
cfg.panel_height = 180;
170-
cfg.offset_x = 0;
171-
cfg.offset_y = 0;
172-
p->config(cfg);
173-
auto cfg_d = p->config_detail();
174-
cfg_d.pin_dac = 25;
175-
cfg_d.use_psram = 0;
176-
cfg_d.output_level = 128;
177-
cfg_d.chroma_level = 128;
178-
p->config_detail(cfg_d);
179-
180-
gfx_rca.init();
135+
gfx_rca.setOutputPin(25);
181136
gfx_rca.setTextColor(TFT_WHITE, color_list[color_index]);
182137
gfx_rca.drawCenterString("Using Pin 25", 120, 110);
183138
}
@@ -189,24 +144,7 @@ void loop(void) {
189144
is_pin_25 = false;
190145
M5.Display.drawCenterString("Using Pin 26", 160, 120);
191146

192-
lgfx::Panel_CVBS* p = (lgfx::Panel_CVBS*)gfx_rca.panel();
193-
p->deinit();
194-
auto cfg = p->config();
195-
cfg.memory_width = 240;
196-
cfg.memory_height = 180;
197-
cfg.panel_width = 240;
198-
cfg.panel_height = 180;
199-
cfg.offset_x = 0;
200-
cfg.offset_y = 0;
201-
p->config(cfg);
202-
auto cfg_d = p->config_detail();
203-
cfg_d.pin_dac = 26;
204-
cfg_d.use_psram = 0;
205-
cfg_d.output_level = 128;
206-
cfg_d.chroma_level = 128;
207-
p->config_detail(cfg_d);
208-
209-
gfx_rca.init();
147+
gfx_rca.setOutputPin(26);
210148
gfx_rca.setTextColor(TFT_WHITE, color_list[color_index]);
211149
gfx_rca.drawCenterString("Using Pin 26", 120, 110);
212150
}

examples/Unit/RCA/wav_unsigned_8bit_click.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
#include <Arduino.h>
22

3+
/* clang-format off */
4+
35
const unsigned char sunrise_anna_single_left[531064] = {
46
0x52,0x49,0x46,0x46,0x70,0x1a,0x08,0x00,0x57,0x41,0x56,0x45,0x66,0x6d,0x74,0x20,0x10,0x00,0x00,0x00,
57
0x01,0x00,0x02,0x00,0x44,0xac,0x00,0x00,0x10,0xb1,0x02,0x00,0x04,0x00,0x10,0x00,0x64,0x61,0x74,0x61,

0 commit comments

Comments
 (0)