Audio 4-Channel

Description

This application uses the SPARK Wireless Core to implement a 4-channel audio stream. With the SPARK Audio Core, audio data is recorded at the source device and played back by up to four devices.

Behavior

The transmitting device in this application is called the Coordinator and it sends an uncompressed 48 kHz / 16 bits mono audio stream to up to four other devices called Nodes.

The wireless transmissions are divided into four timeslots. The Coordinator sends an unidirectional audio stream to a single Node at each timeslot. This allows the system to have 1 to 4 Nodes playing the same audio stream. If one or more Nodes are turned off or their links are broken, the remaining Nodes are still able to play the audio.

The following diagram illustrates the general structure of the schedule used in this application.

Audio 4-Channel schedule

Figure 22: Audio 4-Channel application’s schedule.

Once the application is started, the Coordinator records the audio signal from an audio source on its Line-In jack (blue) and sends it over-the-air to the other Node devices to be played back on a speaker or headphones connected to their Headphones jack (black).

Coordinator Device

  • LED0 toggles every time a packet is successfully transmitted to the Node (almost always on because of the high packet rate).

Interface

Name

Description

SW1

N/A

N/A

SW2

N/A

N/A

LED0

Transmission Success

Toggle LED when a wireless transmission is successful.

LED1

N/A

N/A

LED2

N/A

N/A

Node Device

  • SW1 and SW2 are used to turn the volume up and down respectively. By default, the volume is at the maximum level.

  • LED0 toggles every time a packet is successfully received from the Coordinator (almost always on because of the high packet rate).

Interface

Name

Description

SW1

Volume Up

Raises the volume (default at 100%).

SW2

Volume Down

Lowers the volume.

LED0

N/A

N/A

LED1

Reception Success

Toggle LED when a wireless reception is successful.

LED2

N/A

N/A

Configuration

Setting a compile option is required on the Node devices since more than one can be used. The following table shows the possible value associated with each Node. Note that this is done automatically with the provided build configurations in the STM32CubeIDE project.

Role

Value

Node 1

NODE1

Node 2

NODE2

Node 3

NODE3

Node 4

NODE4