Skip to content

Commit 7ac4f1e

Browse files
committed
Adds LED indictor
1 parent 4eaa579 commit 7ac4f1e

File tree

3 files changed

+48
-40
lines changed

3 files changed

+48
-40
lines changed

serial-mic/src/main.cpp

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@
2222
#define I2S_MIC_LEFT_RIGHT_CLOCK GPIO_NUM_10 // WS/LRCLK
2323
#define I2S_MIC_SERIAL_DATA GPIO_NUM_11 // DATA
2424

25+
// active low LED
26+
#define RED_LED GPIO_NUM_4
27+
2528
// ====================== I2S config (keep as-is unless wiring/rate changes)
2629
// ======================
2730
static i2s_config_t i2s_config = {
@@ -134,6 +137,7 @@ static void i2s_reader_task(void *arg) {
134137
I2S_CHANNEL_MONO);
135138

136139
static uint32_t seq = 0;
140+
int32_t running_average_volume = 0;
137141
while (true) {
138142
// read from i2s
139143
size_t bytes_read = 0;
@@ -154,6 +158,19 @@ static void i2s_reader_task(void *arg) {
154158
const int this_samples = samples_read;
155159
const uint16_t payload_len = (uint16_t)(this_samples * 2);
156160

161+
162+
// get the average volume of the audio
163+
int32_t average_volume = 0;
164+
for (int i = 0; i < this_samples; ++i) {
165+
average_volume += abs(sample_buf[i]);
166+
}
167+
average_volume /= this_samples;
168+
169+
running_average_volume = (running_average_volume * 19 + average_volume) / 20;
170+
171+
// set the RED LED to the average volume
172+
ledcWrite(0, 255 - min(255, 1 * average_volume/running_average_volume));
173+
157174
uint8_t *p = tx_buf;
158175
*p++ = PKT_SYNC; // sync
159176
le_write16(p, payload_len); p += 2; // length
@@ -194,6 +211,11 @@ void setup() {
194211
Serial.begin(SERIAL_BAUD);
195212
Serial.setTxBufferSize(32768);
196213

214+
// set up the RED LED with PWM
215+
ledcAttachPin(RED_LED, 0);
216+
ledcSetup(0, 1000, 8);
217+
ledcWrite(0, 128);
218+
197219
// I2S driver (always on to maintain timing cadence even in test modes)
198220
i2s_driver_install(I2S_NUM_0, &i2s_config, 0, NULL);
199221
i2s_set_pin(I2S_NUM_0, &i2s_mic_pins);

usb-audio/sdkconfig

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -598,9 +598,9 @@ CONFIG_PARTITION_TABLE_MD5=y
598598
#
599599
# Compiler options
600600
#
601-
CONFIG_COMPILER_OPTIMIZATION_DEBUG=y
601+
# CONFIG_COMPILER_OPTIMIZATION_DEBUG is not set
602602
# CONFIG_COMPILER_OPTIMIZATION_SIZE is not set
603-
# CONFIG_COMPILER_OPTIMIZATION_PERF is not set
603+
CONFIG_COMPILER_OPTIMIZATION_PERF=y
604604
# CONFIG_COMPILER_OPTIMIZATION_NONE is not set
605605
CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y
606606
# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set
@@ -1045,9 +1045,9 @@ CONFIG_ESP_ROM_PRINT_IN_IRAM=y
10451045
# ESP System Settings
10461046
#
10471047
# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set
1048-
CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160=y
1049-
# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240 is not set
1050-
CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=160
1048+
# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160 is not set
1049+
CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y
1050+
CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=240
10511051

10521052
#
10531053
# Cache config
@@ -1204,7 +1204,6 @@ CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=1
12041204
#
12051205
# Port
12061206
#
1207-
CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER=y
12081207
# CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set
12091208
CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y
12101209
# CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK is not set
@@ -1869,9 +1868,9 @@ CONFIG_LOG_BOOTLOADER_LEVEL=3
18691868
CONFIG_FLASHMODE_DIO=y
18701869
# CONFIG_FLASHMODE_DOUT is not set
18711870
CONFIG_MONITOR_BAUD=115200
1872-
CONFIG_OPTIMIZATION_LEVEL_DEBUG=y
1873-
CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG=y
1874-
CONFIG_COMPILER_OPTIMIZATION_DEFAULT=y
1871+
# CONFIG_OPTIMIZATION_LEVEL_DEBUG is not set
1872+
# CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG is not set
1873+
# CONFIG_COMPILER_OPTIMIZATION_DEFAULT is not set
18751874
# CONFIG_OPTIMIZATION_LEVEL_RELEASE is not set
18761875
# CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE is not set
18771876
CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y
@@ -1920,9 +1919,9 @@ CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y
19201919
CONFIG_ESP_SYSTEM_PM_POWER_DOWN_CPU=y
19211920
CONFIG_PM_POWER_DOWN_TAGMEM_IN_LIGHT_SLEEP=y
19221921
# CONFIG_ESP32S3_DEFAULT_CPU_FREQ_80 is not set
1923-
CONFIG_ESP32S3_DEFAULT_CPU_FREQ_160=y
1924-
# CONFIG_ESP32S3_DEFAULT_CPU_FREQ_240 is not set
1925-
CONFIG_ESP32S3_DEFAULT_CPU_FREQ_MHZ=160
1922+
# CONFIG_ESP32S3_DEFAULT_CPU_FREQ_160 is not set
1923+
CONFIG_ESP32S3_DEFAULT_CPU_FREQ_240=y
1924+
CONFIG_ESP32S3_DEFAULT_CPU_FREQ_MHZ=240
19261925
CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32
19271926
CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304
19281927
CONFIG_MAIN_TASK_STACK_SIZE=3584

usb-audio/sdkconfig.old

Lines changed: 15 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -391,7 +391,7 @@ CONFIG_IDF_TOOLCHAIN_GCC=y
391391
CONFIG_IDF_TARGET_ARCH_XTENSA=y
392392
CONFIG_IDF_TARGET_ARCH="xtensa"
393393
CONFIG_IDF_TARGET="esp32s3"
394-
CONFIG_IDF_INIT_VERSION="5.5.1"
394+
CONFIG_IDF_INIT_VERSION="$IDF_INIT_VERSION"
395395
CONFIG_IDF_TARGET_ESP32S3=y
396396
CONFIG_IDF_FIRMWARE_CHIP_ID=0x0009
397397

@@ -598,9 +598,9 @@ CONFIG_PARTITION_TABLE_MD5=y
598598
#
599599
# Compiler options
600600
#
601-
CONFIG_COMPILER_OPTIMIZATION_DEBUG=y
601+
# CONFIG_COMPILER_OPTIMIZATION_DEBUG is not set
602602
# CONFIG_COMPILER_OPTIMIZATION_SIZE is not set
603-
# CONFIG_COMPILER_OPTIMIZATION_PERF is not set
603+
CONFIG_COMPILER_OPTIMIZATION_PERF=y
604604
# CONFIG_COMPILER_OPTIMIZATION_NONE is not set
605605
CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y
606606
# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set
@@ -634,18 +634,6 @@ CONFIG_COMPILER_ORPHAN_SECTIONS_WARNING=y
634634
# Component config
635635
#
636636

637-
#
638-
# !!! MINIMAL_BUILD is enabled !!!
639-
#
640-
641-
#
642-
# Only common components and those transitively required by the main component are listed
643-
#
644-
645-
#
646-
# If a component configuration is missing, please add it to the main component's requirements
647-
#
648-
649637
#
650638
# Driver Configurations
651639
#
@@ -1045,9 +1033,9 @@ CONFIG_ESP_ROM_PRINT_IN_IRAM=y
10451033
# ESP System Settings
10461034
#
10471035
# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set
1048-
CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160=y
1049-
# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240 is not set
1050-
CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=160
1036+
# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160 is not set
1037+
CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y
1038+
CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=240
10511039

10521040
#
10531041
# Cache config
@@ -1204,7 +1192,6 @@ CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=1
12041192
#
12051193
# Port
12061194
#
1207-
CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER=y
12081195
# CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set
12091196
CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y
12101197
# CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK is not set
@@ -1830,11 +1817,11 @@ CONFIG_TINYUSB_RHPORT_FS=y
18301817
# CONFIG_USB_DEVICE_UAC_AS_PART is not set
18311818
CONFIG_UAC_SPEAKER_CHANNEL_NUM=1
18321819
CONFIG_UAC_MIC_CHANNEL_NUM=1
1833-
CONFIG_UAC_SAMPLE_RATE=48000
1834-
CONFIG_UAC_SPK_INTERVAL_MS=10
1820+
CONFIG_UAC_SAMPLE_RATE=16000
1821+
CONFIG_UAC_SPK_INTERVAL_MS=50
18351822
CONFIG_UAC_MIC_INTERVAL_MS=10
18361823
CONFIG_UAC_SPK_NEW_PLAY_INTERVAL=100
1837-
# CONFIG_UAC_SUPPORT_MACOS is not set
1824+
CONFIG_UAC_SUPPORT_MACOS=y
18381825

18391826
#
18401827
# UAC Task Config
@@ -1869,9 +1856,9 @@ CONFIG_LOG_BOOTLOADER_LEVEL=3
18691856
CONFIG_FLASHMODE_DIO=y
18701857
# CONFIG_FLASHMODE_DOUT is not set
18711858
CONFIG_MONITOR_BAUD=115200
1872-
CONFIG_OPTIMIZATION_LEVEL_DEBUG=y
1873-
CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG=y
1874-
CONFIG_COMPILER_OPTIMIZATION_DEFAULT=y
1859+
# CONFIG_OPTIMIZATION_LEVEL_DEBUG is not set
1860+
# CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG is not set
1861+
# CONFIG_COMPILER_OPTIMIZATION_DEFAULT is not set
18751862
# CONFIG_OPTIMIZATION_LEVEL_RELEASE is not set
18761863
# CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE is not set
18771864
CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y
@@ -1920,9 +1907,9 @@ CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y
19201907
CONFIG_ESP_SYSTEM_PM_POWER_DOWN_CPU=y
19211908
CONFIG_PM_POWER_DOWN_TAGMEM_IN_LIGHT_SLEEP=y
19221909
# CONFIG_ESP32S3_DEFAULT_CPU_FREQ_80 is not set
1923-
CONFIG_ESP32S3_DEFAULT_CPU_FREQ_160=y
1924-
# CONFIG_ESP32S3_DEFAULT_CPU_FREQ_240 is not set
1925-
CONFIG_ESP32S3_DEFAULT_CPU_FREQ_MHZ=160
1910+
# CONFIG_ESP32S3_DEFAULT_CPU_FREQ_160 is not set
1911+
CONFIG_ESP32S3_DEFAULT_CPU_FREQ_240=y
1912+
CONFIG_ESP32S3_DEFAULT_CPU_FREQ_MHZ=240
19261913
CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32
19271914
CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304
19281915
CONFIG_MAIN_TASK_STACK_SIZE=3584

0 commit comments

Comments
 (0)