Skip to content

Commit 6e95cb5

Browse files
author
zomint
authored
Merge pull request #7 from nulllaborg/v0.3.0
V0.3.0
2 parents b891d4b + 68081c4 commit 6e95cb5

File tree

222 files changed

+248127
-1163
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

222 files changed

+248127
-1163
lines changed

.github/workflows/ai_vox_board_build.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
ARDUINO_USER_DIR: ${{github.workspace}}/arduino_user
1717
strategy:
1818
matrix:
19-
example: ["ai_vox_board"]
19+
example: ["ai_vox_board/ai_vox_board"]
2020
core_version: ["3.2.0"]
2121
fqbn: ["esp32:esp32:esp32s3"]
2222

@@ -51,5 +51,5 @@ jobs:
5151
${ARDUINO_CLI_DIR}/arduino-cli --config-dir ${ARDUINO_CLI_CONFIG_DIR} lib install --zip-path ai_vox.zip
5252
- name: compile
5353
run: |
54-
echo "compile ${ARDUINO_USER_DIR}/libraries/${LIB_DIR_NAME}/examples/${{matrix.example}}/${{matrix.example}}.ino"
55-
${ARDUINO_CLI_DIR}/arduino-cli --config-dir ${ARDUINO_CLI_CONFIG_DIR} compile --fqbn ${{matrix.fqbn}} "${ARDUINO_USER_DIR}/libraries/${LIB_DIR_NAME}/examples/${{matrix.example}}/${{matrix.example}}.ino" -j 0 --warnings all --board-options PartitionScheme=huge_app --board-options "PSRAM=opi" --build-property "build.extra_flags=-Wall -Werror" --log --clean -v
54+
echo "compile ${ARDUINO_USER_DIR}/libraries/${LIB_DIR_NAME}/examples/${{matrix.example}}"
55+
${ARDUINO_CLI_DIR}/arduino-cli --config-dir ${ARDUINO_CLI_CONFIG_DIR} compile --fqbn ${{matrix.fqbn}} "${ARDUINO_USER_DIR}/libraries/${LIB_DIR_NAME}/examples/${{matrix.example}}" -j 0 --warnings all --board-options "FlashSize=16M" --board-options "PartitionScheme=custom" --board-options "PSRAM=opi" --build-property "build.extra_flags=-Wall -Werror" --log --clean -v

.github/workflows/arduino_esp32_build.yml

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ name: Arduino ESP32 Build
22

33
on:
44
push:
5-
branches: ["main"]
5+
branches: ["main", "v*"]
66
pull_request:
7-
branches: ["main"]
7+
branches: ["main", "v*"]
88

99
jobs:
1010
build:
@@ -16,9 +16,7 @@ jobs:
1616
ARDUINO_USER_DIR: ${{github.workspace}}/arduino_user
1717
strategy:
1818
matrix:
19-
example: ["ai_voice", "ai_voice_display_oled", "ai_voice_display_lcd"]
20-
core_version: ["3.2.0"]
21-
fqbn: ["esp32:esp32:esp32", "esp32:esp32:esp32s3"]
19+
example: ["esp32/ai_voice", "esp32/ai_voice_display_oled", "esp32/ai_voice_display_lcd"]
2220

2321
steps:
2422
- name: download arduino cli
@@ -35,7 +33,7 @@ jobs:
3533
${ARDUINO_CLI_DIR}/arduino-cli --config-dir ${ARDUINO_CLI_CONFIG_DIR} config set directories.user ${ARDUINO_USER_DIR}
3634
${ARDUINO_CLI_DIR}/arduino-cli --config-dir ${ARDUINO_CLI_CONFIG_DIR} config set library.enable_unsafe_install true
3735
${ARDUINO_CLI_DIR}/arduino-cli --config-dir ${ARDUINO_CLI_CONFIG_DIR} config dump
38-
${ARDUINO_CLI_DIR}/arduino-cli --config-dir ${ARDUINO_CLI_CONFIG_DIR} core install esp32:esp32@${{matrix.core_version}}
36+
${ARDUINO_CLI_DIR}/arduino-cli --config-dir ${ARDUINO_CLI_CONFIG_DIR} core install esp32:esp32@3.2.0
3937
- name: install lib lvgl@9.2.2
4038
run: |
4139
${ARDUINO_CLI_DIR}/arduino-cli --config-dir ${ARDUINO_CLI_CONFIG_DIR} lib install "lvgl@9.2.2"
@@ -51,5 +49,5 @@ jobs:
5149
${ARDUINO_CLI_DIR}/arduino-cli --config-dir ${ARDUINO_CLI_CONFIG_DIR} lib install --zip-path ai_vox.zip
5250
- name: compile
5351
run: |
54-
echo "compile ${ARDUINO_USER_DIR}/libraries/${LIB_DIR_NAME}/examples/${{matrix.example}}/${{matrix.example}}.ino"
55-
${ARDUINO_CLI_DIR}/arduino-cli --config-dir ${ARDUINO_CLI_CONFIG_DIR} compile --fqbn ${{matrix.fqbn}} "${ARDUINO_USER_DIR}/libraries/${LIB_DIR_NAME}/examples/${{matrix.example}}/${{matrix.example}}.ino" -j 0 --warnings all --board-options PartitionScheme=huge_app --build-property "build.extra_flags=-Wall -Werror" --log --clean -v
52+
echo "compile ${ARDUINO_USER_DIR}/libraries/${LIB_DIR_NAME}/examples/${{matrix.example}}"
53+
${ARDUINO_CLI_DIR}/arduino-cli --config-dir ${ARDUINO_CLI_CONFIG_DIR} compile --fqbn esp32:esp32:esp32 "${ARDUINO_USER_DIR}/libraries/${LIB_DIR_NAME}/examples/${{matrix.example}}" -j 0 --warnings all --board-options PartitionScheme=huge_app --build-property "build.extra_flags=-Wall -Werror" --log --clean -v
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
name: Arduino ESP32 Build
2+
3+
on:
4+
push:
5+
branches: ["main", "v*"]
6+
pull_request:
7+
branches: ["main", "v*"]
8+
9+
jobs:
10+
build:
11+
runs-on: ubuntu-latest
12+
env:
13+
LIB_DIR_NAME: AI_VOX
14+
ARDUINO_CLI_DIR: ${{github.workspace}}/arduino_cli
15+
ARDUINO_CLI_CONFIG_DIR: ${{github.workspace}}/arduino_cli_config
16+
ARDUINO_USER_DIR: ${{github.workspace}}/arduino_user
17+
strategy:
18+
matrix:
19+
example: ["esp32s3/ai_voice", "esp32s3/ai_voice_display_oled", "esp32s3/ai_voice_display_lcd"]
20+
21+
steps:
22+
- name: download arduino cli
23+
run: curl -L -o arduino-cli.tar.gz https://github.com/arduino/arduino-cli/releases/download/v1.2.0/arduino-cli_1.2.0_Linux_64bit.tar.gz
24+
- name: install arduino cli
25+
run: |
26+
mkdir -p ${ARDUINO_CLI_DIR}
27+
tar -zxvf arduino-cli.tar.gz -C ${ARDUINO_CLI_DIR}
28+
- name: test arduino cli
29+
run: ${ARDUINO_CLI_DIR}/arduino-cli -v
30+
- name: setup arduino-cli
31+
run: |
32+
${ARDUINO_CLI_DIR}/arduino-cli --config-dir ${ARDUINO_CLI_CONFIG_DIR} config init
33+
${ARDUINO_CLI_DIR}/arduino-cli --config-dir ${ARDUINO_CLI_CONFIG_DIR} config set directories.user ${ARDUINO_USER_DIR}
34+
${ARDUINO_CLI_DIR}/arduino-cli --config-dir ${ARDUINO_CLI_CONFIG_DIR} config set library.enable_unsafe_install true
35+
${ARDUINO_CLI_DIR}/arduino-cli --config-dir ${ARDUINO_CLI_CONFIG_DIR} config dump
36+
${ARDUINO_CLI_DIR}/arduino-cli --config-dir ${ARDUINO_CLI_CONFIG_DIR} core install esp32:esp32@3.2.0
37+
- name: install lib lvgl@9.2.2
38+
run: |
39+
${ARDUINO_CLI_DIR}/arduino-cli --config-dir ${ARDUINO_CLI_CONFIG_DIR} lib install "lvgl@9.2.2"
40+
- name: checkout code
41+
uses: actions/checkout@v4
42+
with:
43+
path: ai_vox
44+
- name: zip
45+
run: |
46+
zip -r ai_vox.zip ai_vox
47+
- name: install lib dependencies
48+
run: |
49+
${ARDUINO_CLI_DIR}/arduino-cli --config-dir ${ARDUINO_CLI_CONFIG_DIR} lib install --zip-path ai_vox.zip
50+
- name: compile
51+
run: |
52+
echo "compile ${ARDUINO_USER_DIR}/libraries/${LIB_DIR_NAME}/examples/${{matrix.example}}"
53+
${ARDUINO_CLI_DIR}/arduino-cli --config-dir ${ARDUINO_CLI_CONFIG_DIR} compile --fqbn esp32:esp32:esp32s3 "${ARDUINO_USER_DIR}/libraries/${LIB_DIR_NAME}/examples/${{matrix.example}}" -j 0 --warnings all --board-options "FlashSize=16M" --board-options "PartitionScheme=custom" --board-options "PSRAM=opi" --build-property "build.extra_flags=-Wall -Werror" --log --clean -v
File renamed without changes.

examples/ai_vox_board/audio_input_device_sph0645.h renamed to examples/ai_vox_board/ai_vox_board/audio_input_device_sph0645.h

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -67,22 +67,17 @@ class AudioInputDeviceSph0645 : public ai_vox::AudioInputDevice {
6767
i2s_rx_handle_ = nullptr;
6868
}
6969

70-
std::vector<int16_t> Read(uint32_t samples) override {
71-
if (nullptr == i2s_rx_handle_) {
72-
return std::vector<int16_t>();
73-
}
74-
75-
std::vector<int32_t> data(samples);
70+
size_t Read(int16_t* buffer, uint32_t samples) override {
71+
auto raw_32bit_samples = new int32_t[samples];
7672
size_t bytes_read = 0;
77-
i2s_channel_read(i2s_rx_handle_, data.data(), samples * sizeof(data[0]), &bytes_read, 1000);
73+
i2s_channel_read(i2s_rx_handle_, raw_32bit_samples, samples * sizeof(raw_32bit_samples[0]), &bytes_read, 1000);
7874

79-
std::vector<int16_t> pcm(samples);
8075
for (int i = 0; i < samples; i++) {
81-
int32_t value = data[i] >> 14;
82-
pcm[i] = (value > INT16_MAX) ? INT16_MAX : (value < -INT16_MAX) ? -INT16_MAX : (int16_t)value;
76+
int32_t value = raw_32bit_samples[i] >> 14;
77+
buffer[i] = (value > INT16_MAX) ? INT16_MAX : (value < -INT16_MAX) ? -INT16_MAX : (int16_t)value;
8378
}
84-
85-
return pcm;
79+
delete[] raw_32bit_samples;
80+
return samples;
8681
}
8782

8883
i2s_chan_handle_t i2s_rx_handle_ = nullptr;
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)