Skip to content

Commit

Permalink
I2S driver + Basic Audio sample (#1862)
Browse files Browse the repository at this point in the history
* I2S driver

* Arduino I2S compatibility layer

* Add `MinMaxTimes` class template, `MinMax32` and `CpuUsage` to Profiling

Also update linker script so times can be used in interrupt context

* Add `GDB_UART_SWAP` option

* Add SignalGenerator library

* Basic Audio sample

* Fix codacy issues
  • Loading branch information
mikee47 authored and slaff committed Oct 2, 2019
1 parent 6b07ae8 commit d686b78
Show file tree
Hide file tree
Showing 41 changed files with 4,051 additions and 41 deletions.
3 changes: 3 additions & 0 deletions Sming/Arch/Esp8266/Compiler/ld/common.ld
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
common.ld
*/

INCLUDE "peripherals.ld"

PHDRS
{
dport0_0_phdr PT_LOAD;
Expand Down Expand Up @@ -128,6 +130,7 @@ SECTIONS
*(.literal._ZN13CallbackTimer*)
*(.text._ZN13CallbackTimer*)
*(.text._ZNKSt8functionIF*EE*) /* std::function<any(...)>::operator()() const */
*(.text._ZN9Profiling6MinMaxIjE6updateEj)

} >iram1_0_seg :iram1_0_phdr

Expand Down
18 changes: 18 additions & 0 deletions Sming/Arch/Esp8266/Compiler/ld/peripherals.ld
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
/*
* From RTOS SDK
*/

PROVIDE ( GPIO = 0x60000300);

PROVIDE ( uart0 = 0x60000000 );
PROVIDE ( uart1 = 0x60000f00 );

PROVIDE ( frc1 = 0x60000600 );

PROVIDE ( rtc_sys_info = 0x60001100 );

PROVIDE ( SLC0 = 0x60000B00 );
PROVIDE ( I2S0 = 0x60000e00 );

PROVIDE ( SPI1 = 0x60000100 );
PROVIDE ( SPI0 = 0x60000200 );
4 changes: 4 additions & 0 deletions Sming/Arch/Esp8266/Components/driver/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ Provides low-level peripheral drivers.
* PWM: Common header for PWM support
* hw_timer: Driver for hardware timers

.. toctree::

i2s

hw_timer
--------

Expand Down
Loading

0 comments on commit d686b78

Please sign in to comment.