Skip to content

Commit 0dd8f03

Browse files
authored
Merge pull request #12 from pschatzmann/development
Development
2 parents 27d09c3 + e5bb91a commit 0dd8f03

Some content is hidden

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

67 files changed

+2759
-1703
lines changed

.vscode/launch.json

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{
2+
"version": "0.2.0",
3+
"configurations": [
4+
{
5+
"name": "(gdb) Launch",
6+
"type": "cppdbg",
7+
"request": "launch",
8+
"program": "${workspaceFolder}/build/examples/output_aac/aac",
9+
"args": [],
10+
"stopAtEntry": false,
11+
"cwd": "${fileDirname}",
12+
"environment": [],
13+
"externalConsole": false,
14+
"MIMode": "gdb",
15+
"setupCommands": [
16+
{
17+
"description": "Enable pretty-printing for gdb",
18+
"text": "-enable-pretty-printing",
19+
"ignoreFailures": true
20+
},
21+
{
22+
"description": "Set Disassembly Flavor to Intel",
23+
"text": "-gdb-set disassembly-flavor intel",
24+
"ignoreFailures": true
25+
}
26+
]
27+
}
28+
]
29+
}

CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,10 @@ project(arduino_helix)
88
set(CMAKE_CXX_STANDARD 17)
99

1010
file(GLOB_RECURSE SRC_LIST_C CONFIGURE_DEPENDS "${PROJECT_SOURCE_DIR}/src/*.c" )
11+
file(GLOB_RECURSE SRC_LIST_CPP CONFIGURE_DEPENDS "${PROJECT_SOURCE_DIR}/src/*.cpp" )
1112

1213
# define libraries
13-
add_library (arduino_helix ${SRC_LIST_C})
14+
add_library (arduino_helix ${SRC_LIST_C} ${SRC_LIST_CPP})
1415

1516
# prevent compile errors
1617
target_compile_options(arduino_helix PRIVATE -DUSE_DEFAULT_STDLIB)

README.md

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@ The Helix MP3 decoder provides Layer 3 support for MPEG-1, MPEG-2, and MPEG-2.5.
1010

1111
## API Example
1212

13-
The API provides the decoded data to a Arduino Stream or alternatively to a callback function. Here is a MP3 example using the callback:
13+
The API provides the decoded data to a __Arduino Stream__ or alternatively to a callback function. The platform dependent I2S implementations usually implement I2S as subclass of Stream, so you can just provide the corresponding I2S object to the constructor.
14+
15+
Here is a MP3 example using the callback:
1416

1517
```
1618
#include "MP3DecoderHelix.h"
@@ -87,11 +89,23 @@ setMaxPCMSize(int size)
8789
setMaxFrameSize(int size)
8890
```
8991

92+
## Memory Management
93+
94+
On the ESP32 we support PSRAM: just activate it in the Arduino Tools menu and all the memory will be allocated in PSRAM.
95+
96+
## Logging
97+
98+
You can define the log level as Debug, Info, Warning, Error
99+
```
100+
LOGLEVEL_HELIX = LogLevelHelix::Info;
101+
```
102+
103+
90104

91105
## Documentation
92106

93107
- The [Class Documentation can be found here](https://pschatzmann.github.io/arduino-libhelix/html/annotated.html)
94-
- I also suggest that you have a look at [my related Blog](https://www.pschatzmann.ch/home/2021/08/13/audio-decoders-for-microcontrollers/)
108+
- I also suggest that you have a look at [my related blogs](https://www.pschatzmann.ch/home/tag/codecs/)
95109

96110
I recommend to use this library together with my [Arduino Audio Tools](https://github.com/pschatzmann/arduino-audio-tools).
97111
This is just one of many codecs that I have collected so far: Further details can be found in the [Encoding and Decoding Wiki](https://github.com/pschatzmann/arduino-audio-tools/wiki/Encoding-and-Decoding-of-Audio) of the Audio Tools.

docs/html/_a_a_c_decoder_helix_8h_source.html

Lines changed: 136 additions & 173 deletions
Large diffs are not rendered by default.

docs/html/_common_helix_8h_source.html

Lines changed: 200 additions & 298 deletions
Large diffs are not rendered by default.

docs/html/_m_p3_decoder_helix_8h_source.html

Lines changed: 132 additions & 174 deletions
Large diffs are not rendered by default.

docs/html/annotated.html

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,10 +68,9 @@
6868
<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
6969
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
7070
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>libhelix</b></td><td class="desc"></td></tr>
71-
<tr id="row_0_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classlibhelix_1_1_a_a_c_decoder_helix.html" target="_self">AACDecoderHelix</a></td><td class="desc">A simple Arduino API for the libhelix AAC decoder. The data us provided with the help of <a class="el" href="classlibhelix_1_1_common_helix.html#a819f83e0c2bdcac195c2170c205bd0f3" title="decodes the next segments from the intput. The data can be provided in one short or in small incremen...">write()</a> calls. The decoded result is available either via a callback method or via an output stream </td></tr>
72-
<tr id="row_0_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structlibhelix_1_1_range.html" target="_self">Range</a></td><td class="desc"><a class="el" href="structlibhelix_1_1_range.html" title="Range with a start and an end.">Range</a> with a start and an end </td></tr>
73-
<tr id="row_0_2_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classlibhelix_1_1_common_helix.html" target="_self">CommonHelix</a></td><td class="desc">Common Simple Arduino API </td></tr>
74-
<tr id="row_0_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classlibhelix_1_1_m_p3_decoder_helix.html" target="_self">MP3DecoderHelix</a></td><td class="desc">A simple Arduino API for the libhelix MP3 decoder. The data is provided with the help of <a class="el" href="classlibhelix_1_1_common_helix.html#a819f83e0c2bdcac195c2170c205bd0f3" title="decodes the next segments from the intput. The data can be provided in one short or in small incremen...">write()</a> calls. The decoded result is available either via a callback method or via an output stream </td></tr>
71+
<tr id="row_0_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classlibhelix_1_1_a_a_c_decoder_helix.html" target="_self">AACDecoderHelix</a></td><td class="desc">A simple Arduino API for the libhelix AAC decoder. The data us provided with the help of <a class="el" href="classlibhelix_1_1_common_helix.html#a819f83e0c2bdcac195c2170c205bd0f3" title="decodes the next segments from the input. The data can be provided in one short or in small increment...">write()</a> calls. The decoded result is available either via a callback method or via an output stream </td></tr>
72+
<tr id="row_0_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classlibhelix_1_1_common_helix.html" target="_self">CommonHelix</a></td><td class="desc">Common Simple Arduino API </td></tr>
73+
<tr id="row_0_2_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classlibhelix_1_1_m_p3_decoder_helix.html" target="_self">MP3DecoderHelix</a></td><td class="desc">A simple Arduino API for the libhelix MP3 decoder. The data is provided with the help of <a class="el" href="classlibhelix_1_1_common_helix.html#a819f83e0c2bdcac195c2170c205bd0f3" title="decodes the next segments from the input. The data can be provided in one short or in small increment...">write()</a> calls. The decoded result is available either via a callback method or via an output stream </td></tr>
7574
</table>
7675
</div><!-- directory -->
7776
</div><!-- contents -->

docs/html/classes.html

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@
6565
<div class="title">Class Index</div> </div>
6666
</div><!--header-->
6767
<div class="contents">
68-
<div class="qindex"><a class="qindex" href="#letter_A">A</a>&#160;|&#160;<a class="qindex" href="#letter_C">C</a>&#160;|&#160;<a class="qindex" href="#letter_M">M</a>&#160;|&#160;<a class="qindex" href="#letter_R">R</a></div>
68+
<div class="qindex"><a class="qindex" href="#letter_A">A</a>&#160;|&#160;<a class="qindex" href="#letter_C">C</a>&#160;|&#160;<a class="qindex" href="#letter_M">M</a></div>
6969
<div class="classindex">
7070
<dl class="classindex even">
7171
<dt class="alphachar"><a name="letter_A">A</a></dt>
@@ -76,9 +76,6 @@
7676
<dl class="classindex even">
7777
<dt class="alphachar"><a name="letter_M">M</a></dt>
7878
<dd><a class="el" href="classlibhelix_1_1_m_p3_decoder_helix.html">MP3DecoderHelix</a> (libhelix)</dd></dl>
79-
<dl class="classindex odd">
80-
<dt class="alphachar"><a name="letter_R">R</a></dt>
81-
<dd><a class="el" href="structlibhelix_1_1_range.html">Range</a> (libhelix)</dd></dl>
8279
</div>
8380
</div><!-- contents -->
8481
<!-- start footer part -->

0 commit comments

Comments
 (0)