Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AdvancedDAC: Add support for loop mode. #75

Merged
merged 3 commits into from
Jul 15, 2024
Merged

AdvancedDAC: Add support for loop mode. #75

merged 3 commits into from
Jul 15, 2024

Conversation

iabdalkader
Copy link
Collaborator

Loop mode starts the DAC automatically when all buffers in the queue are written. Once started, the DAC will continuously loop over all buffers.

Fixes #74

@per1234 per1234 added type: enhancement Proposed improvement topic: code Related to content of the project itself labels Jun 5, 2024
@iabdalkader iabdalkader force-pushed the dac_loop_mode branch 2 times, most recently from 432570f to 39f83b4 Compare June 5, 2024 08:51
Loop mode starts the DAC automatically when all buffers in the queue are
written. Once started, the DAC will continuously cycle through all of the
buffers in the queue.

Signed-off-by: iabdalkader <[email protected]>
@iabdalkader iabdalkader marked this pull request as ready for review July 15, 2024 07:20
Copy link

Memory usage change @ 8968cb7

Board flash % RAM for global variables %
arduino:mbed_giga:giga 🔺 +8 - +72 0.0 - 0.0 🔺 +8 - +8 0.0 - 0.0
Click for full report table
Board examples/Advanced/ADC_Dual_Mode
flash
% examples/Advanced/ADC_Dual_Mode
RAM for global variables
% examples/Advanced/ADC_Multi
flash
% examples/Advanced/ADC_Multi
RAM for global variables
% examples/Advanced/ADC_Multi_Channel
flash
% examples/Advanced/ADC_Multi_Channel
RAM for global variables
% examples/Advanced/ADC_Multi_Channel_Dynamic
flash
% examples/Advanced/ADC_Multi_Channel_Dynamic
RAM for global variables
% examples/Advanced/ADC_Multi_To_DAC
flash
% examples/Advanced/ADC_Multi_To_DAC
RAM for global variables
% examples/Advanced/ADC_Serial_Plotter
flash
% examples/Advanced/ADC_Serial_Plotter
RAM for global variables
% examples/Advanced/ADC_To_DAC
flash
% examples/Advanced/ADC_To_DAC
RAM for global variables
% examples/Advanced/DAC_Loop
flash
% examples/Advanced/DAC_Loop
RAM for global variables
% examples/Advanced/DAC_One_Channel
flash
% examples/Advanced/DAC_One_Channel
RAM for global variables
% examples/Advanced/DAC_Sine_wave
flash
% examples/Advanced/DAC_Sine_wave
RAM for global variables
% examples/Advanced/DAC_Two_Channels
flash
% examples/Advanced/DAC_Two_Channels
RAM for global variables
% examples/Advanced/I2S_DAC_Output
flash
% examples/Advanced/I2S_DAC_Output
RAM for global variables
% examples/Advanced/I2S_Full_Duplex
flash
% examples/Advanced/I2S_Full_Duplex
RAM for global variables
% examples/Beginner/Audio_Playback
flash
% examples/Beginner/Audio_Playback
RAM for global variables
% examples/Beginner/Audio_Playback_I2S
flash
% examples/Beginner/Audio_Playback_I2S
RAM for global variables
% examples/Beginner/Waveform_Generator
flash
% examples/Beginner/Waveform_Generator
RAM for global variables
%
arduino:mbed_giga:giga 8 0.0 8 0.0 8 0.0 8 0.0 8 0.0 8 0.0 8 0.0 8 0.0 72 0.0 8 0.0 8 0.0 8 0.0 72 0.0 8 0.0 N/A N/A N/A N/A 72 0.0 8 0.0 72 0.0 8 0.0 72 0.0 8 0.0 72 0.0 8 0.0 8 0.0 8 0.0 72 0.0 8 0.0 8 0.0 8 0.0 72 0.0 8 0.0
Click for full report CSV
Board,examples/Advanced/ADC_Dual_Mode<br>flash,%,examples/Advanced/ADC_Dual_Mode<br>RAM for global variables,%,examples/Advanced/ADC_Multi<br>flash,%,examples/Advanced/ADC_Multi<br>RAM for global variables,%,examples/Advanced/ADC_Multi_Channel<br>flash,%,examples/Advanced/ADC_Multi_Channel<br>RAM for global variables,%,examples/Advanced/ADC_Multi_Channel_Dynamic<br>flash,%,examples/Advanced/ADC_Multi_Channel_Dynamic<br>RAM for global variables,%,examples/Advanced/ADC_Multi_To_DAC<br>flash,%,examples/Advanced/ADC_Multi_To_DAC<br>RAM for global variables,%,examples/Advanced/ADC_Serial_Plotter<br>flash,%,examples/Advanced/ADC_Serial_Plotter<br>RAM for global variables,%,examples/Advanced/ADC_To_DAC<br>flash,%,examples/Advanced/ADC_To_DAC<br>RAM for global variables,%,examples/Advanced/DAC_Loop<br>flash,%,examples/Advanced/DAC_Loop<br>RAM for global variables,%,examples/Advanced/DAC_One_Channel<br>flash,%,examples/Advanced/DAC_One_Channel<br>RAM for global variables,%,examples/Advanced/DAC_Sine_wave<br>flash,%,examples/Advanced/DAC_Sine_wave<br>RAM for global variables,%,examples/Advanced/DAC_Two_Channels<br>flash,%,examples/Advanced/DAC_Two_Channels<br>RAM for global variables,%,examples/Advanced/I2S_DAC_Output<br>flash,%,examples/Advanced/I2S_DAC_Output<br>RAM for global variables,%,examples/Advanced/I2S_Full_Duplex<br>flash,%,examples/Advanced/I2S_Full_Duplex<br>RAM for global variables,%,examples/Beginner/Audio_Playback<br>flash,%,examples/Beginner/Audio_Playback<br>RAM for global variables,%,examples/Beginner/Audio_Playback_I2S<br>flash,%,examples/Beginner/Audio_Playback_I2S<br>RAM for global variables,%,examples/Beginner/Waveform_Generator<br>flash,%,examples/Beginner/Waveform_Generator<br>RAM for global variables,%
arduino:mbed_giga:giga,8,0.0,8,0.0,8,0.0,8,0.0,8,0.0,8,0.0,8,0.0,8,0.0,72,0.0,8,0.0,8,0.0,8,0.0,72,0.0,8,0.0,N/A,N/A,N/A,N/A,72,0.0,8,0.0,72,0.0,8,0.0,72,0.0,8,0.0,72,0.0,8,0.0,8,0.0,8,0.0,72,0.0,8,0.0,8,0.0,8,0.0,72,0.0,8,0.0

@leonardocavagnis leonardocavagnis self-requested a review July 15, 2024 07:50
Copy link
Contributor

@leonardocavagnis leonardocavagnis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks fine.
Added minor modifies in the API doc

docs/api.md Outdated Show resolved Hide resolved
iabdalkader and others added 2 commits July 15, 2024 11:45
Signed-off-by: iabdalkader <[email protected]>
Co-authored-by: Leonardo Cavagnis <[email protected]>
Copy link

Memory usage change @ f530b02

Board flash % RAM for global variables %
arduino:mbed_giga:giga 🔺 +8 - +72 0.0 - 0.0 🔺 +8 - +8 0.0 - 0.0
Click for full report table
Board examples/Advanced/ADC_Dual_Mode
flash
% examples/Advanced/ADC_Dual_Mode
RAM for global variables
% examples/Advanced/ADC_Multi
flash
% examples/Advanced/ADC_Multi
RAM for global variables
% examples/Advanced/ADC_Multi_Channel
flash
% examples/Advanced/ADC_Multi_Channel
RAM for global variables
% examples/Advanced/ADC_Multi_Channel_Dynamic
flash
% examples/Advanced/ADC_Multi_Channel_Dynamic
RAM for global variables
% examples/Advanced/ADC_Multi_To_DAC
flash
% examples/Advanced/ADC_Multi_To_DAC
RAM for global variables
% examples/Advanced/ADC_Serial_Plotter
flash
% examples/Advanced/ADC_Serial_Plotter
RAM for global variables
% examples/Advanced/ADC_To_DAC
flash
% examples/Advanced/ADC_To_DAC
RAM for global variables
% examples/Advanced/DAC_Loop
flash
% examples/Advanced/DAC_Loop
RAM for global variables
% examples/Advanced/DAC_One_Channel
flash
% examples/Advanced/DAC_One_Channel
RAM for global variables
% examples/Advanced/DAC_Sine_wave
flash
% examples/Advanced/DAC_Sine_wave
RAM for global variables
% examples/Advanced/DAC_Two_Channels
flash
% examples/Advanced/DAC_Two_Channels
RAM for global variables
% examples/Advanced/I2S_DAC_Output
flash
% examples/Advanced/I2S_DAC_Output
RAM for global variables
% examples/Advanced/I2S_Full_Duplex
flash
% examples/Advanced/I2S_Full_Duplex
RAM for global variables
% examples/Beginner/Audio_Playback
flash
% examples/Beginner/Audio_Playback
RAM for global variables
% examples/Beginner/Audio_Playback_I2S
flash
% examples/Beginner/Audio_Playback_I2S
RAM for global variables
% examples/Beginner/Waveform_Generator
flash
% examples/Beginner/Waveform_Generator
RAM for global variables
%
arduino:mbed_giga:giga 8 0.0 8 0.0 8 0.0 8 0.0 8 0.0 8 0.0 8 0.0 8 0.0 72 0.0 8 0.0 8 0.0 8 0.0 72 0.0 8 0.0 N/A N/A N/A N/A 72 0.0 8 0.0 72 0.0 8 0.0 72 0.0 8 0.0 72 0.0 8 0.0 8 0.0 8 0.0 72 0.0 8 0.0 8 0.0 8 0.0 72 0.0 8 0.0
Click for full report CSV
Board,examples/Advanced/ADC_Dual_Mode<br>flash,%,examples/Advanced/ADC_Dual_Mode<br>RAM for global variables,%,examples/Advanced/ADC_Multi<br>flash,%,examples/Advanced/ADC_Multi<br>RAM for global variables,%,examples/Advanced/ADC_Multi_Channel<br>flash,%,examples/Advanced/ADC_Multi_Channel<br>RAM for global variables,%,examples/Advanced/ADC_Multi_Channel_Dynamic<br>flash,%,examples/Advanced/ADC_Multi_Channel_Dynamic<br>RAM for global variables,%,examples/Advanced/ADC_Multi_To_DAC<br>flash,%,examples/Advanced/ADC_Multi_To_DAC<br>RAM for global variables,%,examples/Advanced/ADC_Serial_Plotter<br>flash,%,examples/Advanced/ADC_Serial_Plotter<br>RAM for global variables,%,examples/Advanced/ADC_To_DAC<br>flash,%,examples/Advanced/ADC_To_DAC<br>RAM for global variables,%,examples/Advanced/DAC_Loop<br>flash,%,examples/Advanced/DAC_Loop<br>RAM for global variables,%,examples/Advanced/DAC_One_Channel<br>flash,%,examples/Advanced/DAC_One_Channel<br>RAM for global variables,%,examples/Advanced/DAC_Sine_wave<br>flash,%,examples/Advanced/DAC_Sine_wave<br>RAM for global variables,%,examples/Advanced/DAC_Two_Channels<br>flash,%,examples/Advanced/DAC_Two_Channels<br>RAM for global variables,%,examples/Advanced/I2S_DAC_Output<br>flash,%,examples/Advanced/I2S_DAC_Output<br>RAM for global variables,%,examples/Advanced/I2S_Full_Duplex<br>flash,%,examples/Advanced/I2S_Full_Duplex<br>RAM for global variables,%,examples/Beginner/Audio_Playback<br>flash,%,examples/Beginner/Audio_Playback<br>RAM for global variables,%,examples/Beginner/Audio_Playback_I2S<br>flash,%,examples/Beginner/Audio_Playback_I2S<br>RAM for global variables,%,examples/Beginner/Waveform_Generator<br>flash,%,examples/Beginner/Waveform_Generator<br>RAM for global variables,%
arduino:mbed_giga:giga,8,0.0,8,0.0,8,0.0,8,0.0,8,0.0,8,0.0,8,0.0,8,0.0,72,0.0,8,0.0,8,0.0,8,0.0,72,0.0,8,0.0,N/A,N/A,N/A,N/A,72,0.0,8,0.0,72,0.0,8,0.0,72,0.0,8,0.0,72,0.0,8,0.0,8,0.0,8,0.0,72,0.0,8,0.0,8,0.0,8,0.0,72,0.0,8,0.0

@iabdalkader iabdalkader merged commit e015fc5 into main Jul 15, 2024
7 checks passed
@iabdalkader iabdalkader deleted the dac_loop_mode branch July 15, 2024 08:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
topic: code Related to content of the project itself type: enhancement Proposed improvement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Option for statically allocated DMA buffer(s) for waveform generation in circular mode
3 participants