sensorium / Mozzi

sound synthesis library for Arduino
https://sensorium.github.io/Mozzi/
GNU Lesser General Public License v2.1
1.05k stars 184 forks source link

Single compilation unit / In-line configuration #224

Closed tfry-git closed 5 months ago

tfry-git commented 6 months ago

Notes:

Regarding flash (and RAM) usage changes: I left only the reports at a few steps that I think are meaningful, to get a clearer picture, and removed the other ones. What we see is:

  1. First some minor savings across the board after moving trivial bits around (makes sense, as compiler can now avoid a few function calls).
  2. After the main chunk (inlining MozziGuts.cpp), most platforms show moderate savings, but AVR shows +60 bytes flash usage on a few selected sketches. I have no real idea, why this is happening. Comparing the disassembly side-by-side, It does not even appear to have anything (recognizable) to do with the changes contained in this PR, rather some Oscil code is apparently getting inlined, for whatever reason.
  3. Removal of TimerZero.cpp (only marginally related to this PR) papers over this effect, by saving 98 bytes of flash on AVR.
  4. No changes during some more formal (documentation related, etc.) changes.
  5. After inlining the config options in the examples, some platforms (importantly, those supporting Stereo) show a more diverse picture again, which is not actually a surprise, however: Now these examples are finally actually compiled with the intended configuration.
github-actions[bot] commented 6 months ago

Memory usage change @ 1856897cc5514b167b5e07b3f07b5688bad9e1b1

Board flash % RAM for global variables %
STMicroelectronics:stm32:GenF1:pnum=BLUEPILL_F103C8 :green_heart: -24 - 0 -0.04 - 0.0 :small_red_triangle: 0 - +4 0.0 - +0.02
arduino:avr:uno :green_heart: -12 - 0 -0.04 - 0.0 0 - 0 0.0 - 0.0
arduino:mbed_giga:giga 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:adafruit_circuitplayground_m0 :green_heart: -24 - 0 -0.01 - 0.0 0 - 0 0.0 - 0.0
esp8266:esp8266:huzzah N/A N/A N/A N/A
rp2040:rp2040:rpipico :green_heart: -24 - 0 -0.0 - 0.0 :small_red_triangle: 0 - +16 0.0 - +0.01
Click for full report table Board|`examples/01.Basics/Control_Gain`
flash|%|`examples/01.Basics/Control_Gain`
RAM for global variables|%|`examples/01.Basics/Sinewave`
flash|%|`examples/01.Basics/Sinewave`
RAM for global variables|%|`examples/01.Basics/Sinewave_HIFI`
flash|%|`examples/01.Basics/Sinewave_HIFI`
RAM for global variables|%|`examples/01.Basics/Skeleton`
flash|%|`examples/01.Basics/Skeleton`
RAM for global variables|%|`examples/01.Basics/Skeleton_Multi`
flash|%|`examples/01.Basics/Skeleton_Multi`
RAM for global variables|%|`examples/01.Basics/Table_Resolution`
flash|%|`examples/01.Basics/Table_Resolution`
RAM for global variables|%|`examples/01.Basics/Vibrato`
flash|%|`examples/01.Basics/Vibrato`
RAM for global variables|%|`examples/02.Control/Control_Echo_Theremin`
flash|%|`examples/02.Control/Control_Echo_Theremin`
RAM for global variables|%|`examples/02.Control/Control_Oscil_Wash`
flash|%|`examples/02.Control/Control_Oscil_Wash`
RAM for global variables|%|`examples/02.Control/Control_Tremelo`
flash|%|`examples/02.Control/Control_Tremelo`
RAM for global variables|%|`examples/02.Control/EventDelay`
flash|%|`examples/02.Control/EventDelay`
RAM for global variables|%|`examples/02.Control/Line_Gliss`
flash|%|`examples/02.Control/Line_Gliss`
RAM for global variables|%|`examples/02.Control/Line_Gliss_Double_32k_HIFI`
flash|%|`examples/02.Control/Line_Gliss_Double_32k_HIFI`
RAM for global variables|%|`examples/02.Control/Metronome_SampleHuffman`
flash|%|`examples/02.Control/Metronome_SampleHuffman`
RAM for global variables|%|`examples/02.Control/Stop_Start`
flash|%|`examples/02.Control/Stop_Start`
RAM for global variables|%|`examples/06.Synthesis/AMsynth`
flash|%|`examples/06.Synthesis/AMsynth`
RAM for global variables|%|`examples/06.Synthesis/AMsynth_HIFI`
flash|%|`examples/06.Synthesis/AMsynth_HIFI`
RAM for global variables|%|`examples/06.Synthesis/Brown_Noise_Realtime`
flash|%|`examples/06.Synthesis/Brown_Noise_Realtime`
RAM for global variables|%|`examples/06.Synthesis/Detuned_Beats_Wash`
flash|%|`examples/06.Synthesis/Detuned_Beats_Wash`
RAM for global variables|%|`examples/06.Synthesis/Difference_Tone`
flash|%|`examples/06.Synthesis/Difference_Tone`
RAM for global variables|%|`examples/06.Synthesis/FMsynth`
flash|%|`examples/06.Synthesis/FMsynth`
RAM for global variables|%|`examples/06.Synthesis/FMsynth_32k_HIFI`
flash|%|`examples/06.Synthesis/FMsynth_32k_HIFI`
RAM for global variables|%|`examples/06.Synthesis/NonAlias_MetaOscil`
flash|%|`examples/06.Synthesis/NonAlias_MetaOscil`
RAM for global variables|%|`examples/06.Synthesis/PDresonant`
flash|%|`examples/06.Synthesis/PDresonant`
RAM for global variables|%|`examples/06.Synthesis/PWM_Phasing`
flash|%|`examples/06.Synthesis/PWM_Phasing`
RAM for global variables|%|`examples/06.Synthesis/WaveFolder`
flash|%|`examples/06.Synthesis/WaveFolder`
RAM for global variables|%|`examples/06.Synthesis/WavePacket_Double`
flash|%|`examples/06.Synthesis/WavePacket_Double`
RAM for global variables|%|`examples/06.Synthesis/WavePacket_Sample`
flash|%|`examples/06.Synthesis/WavePacket_Sample`
RAM for global variables|%|`examples/06.Synthesis/WavePacket_Single`
flash|%|`examples/06.Synthesis/WavePacket_Single`
RAM for global variables|%|`examples/06.Synthesis/Waveshaper`
flash|%|`examples/06.Synthesis/Waveshaper`
RAM for global variables|% -|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|- `STMicroelectronics:stm32:GenF1:pnum=BLUEPILL_F103C8`|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|-16|-0.02|0|0.0|-20|-0.03|0|0.0|0|0.0|0|0.0|-8|-0.01|4|0.02|-8|-0.01|4|0.02|-20|-0.03|0|0.0|0|0.0|0|0.0|-12|-0.02|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|-24|-0.04|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|-8|-0.01|4|0.02 `arduino:avr:uno`|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|-12|-0.04|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0 `arduino:mbed_giga:giga`|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0 `arduino:samd:adafruit_circuitplayground_m0`|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|-24|-0.01|0|0.0|-24|-0.01|0|0.0|0|0.0|0|0.0|-12|-0.0|0|0.0|-12|-0.0|0|0.0|-20|-0.01|0|0.0|0|0.0|0|0.0|-4|-0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|-24|-0.01|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0 `esp8266:esp8266:huzzah`|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A `rp2040:rp2040:rpipico`|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|-24|-0.0|16|0.01|-24|-0.0|0|0.0|0|0.0|0|0.0|-16|-0.0|0|0.0|-16|-0.0|0|0.0|-16|-0.0|0|0.0|0|0.0|0|0.0|-16|-0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|-24|-0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|-16|-0.0|0|0.0
Click for full report CSV ``` Board,examples/01.Basics/Control_Gain
flash,%,examples/01.Basics/Control_Gain
RAM for global variables,%,examples/01.Basics/Sinewave
flash,%,examples/01.Basics/Sinewave
RAM for global variables,%,examples/01.Basics/Sinewave_HIFI
flash,%,examples/01.Basics/Sinewave_HIFI
RAM for global variables,%,examples/01.Basics/Skeleton
flash,%,examples/01.Basics/Skeleton
RAM for global variables,%,examples/01.Basics/Skeleton_Multi
flash,%,examples/01.Basics/Skeleton_Multi
RAM for global variables,%,examples/01.Basics/Table_Resolution
flash,%,examples/01.Basics/Table_Resolution
RAM for global variables,%,examples/01.Basics/Vibrato
flash,%,examples/01.Basics/Vibrato
RAM for global variables,%,examples/02.Control/Control_Echo_Theremin
flash,%,examples/02.Control/Control_Echo_Theremin
RAM for global variables,%,examples/02.Control/Control_Oscil_Wash
flash,%,examples/02.Control/Control_Oscil_Wash
RAM for global variables,%,examples/02.Control/Control_Tremelo
flash,%,examples/02.Control/Control_Tremelo
RAM for global variables,%,examples/02.Control/EventDelay
flash,%,examples/02.Control/EventDelay
RAM for global variables,%,examples/02.Control/Line_Gliss
flash,%,examples/02.Control/Line_Gliss
RAM for global variables,%,examples/02.Control/Line_Gliss_Double_32k_HIFI
flash,%,examples/02.Control/Line_Gliss_Double_32k_HIFI
RAM for global variables,%,examples/02.Control/Metronome_SampleHuffman
flash,%,examples/02.Control/Metronome_SampleHuffman
RAM for global variables,%,examples/02.Control/Stop_Start
flash,%,examples/02.Control/Stop_Start
RAM for global variables,%,examples/06.Synthesis/AMsynth
flash,%,examples/06.Synthesis/AMsynth
RAM for global variables,%,examples/06.Synthesis/AMsynth_HIFI
flash,%,examples/06.Synthesis/AMsynth_HIFI
RAM for global variables,%,examples/06.Synthesis/Brown_Noise_Realtime
flash,%,examples/06.Synthesis/Brown_Noise_Realtime
RAM for global variables,%,examples/06.Synthesis/Detuned_Beats_Wash
flash,%,examples/06.Synthesis/Detuned_Beats_Wash
RAM for global variables,%,examples/06.Synthesis/Difference_Tone
flash,%,examples/06.Synthesis/Difference_Tone
RAM for global variables,%,examples/06.Synthesis/FMsynth
flash,%,examples/06.Synthesis/FMsynth
RAM for global variables,%,examples/06.Synthesis/FMsynth_32k_HIFI
flash,%,examples/06.Synthesis/FMsynth_32k_HIFI
RAM for global variables,%,examples/06.Synthesis/NonAlias_MetaOscil
flash,%,examples/06.Synthesis/NonAlias_MetaOscil
RAM for global variables,%,examples/06.Synthesis/PDresonant
flash,%,examples/06.Synthesis/PDresonant
RAM for global variables,%,examples/06.Synthesis/PWM_Phasing
flash,%,examples/06.Synthesis/PWM_Phasing
RAM for global variables,%,examples/06.Synthesis/WaveFolder
flash,%,examples/06.Synthesis/WaveFolder
RAM for global variables,%,examples/06.Synthesis/WavePacket_Double
flash,%,examples/06.Synthesis/WavePacket_Double
RAM for global variables,%,examples/06.Synthesis/WavePacket_Sample
flash,%,examples/06.Synthesis/WavePacket_Sample
RAM for global variables,%,examples/06.Synthesis/WavePacket_Single
flash,%,examples/06.Synthesis/WavePacket_Single
RAM for global variables,%,examples/06.Synthesis/Waveshaper
flash,%,examples/06.Synthesis/Waveshaper
RAM for global variables,% STMicroelectronics:stm32:GenF1:pnum=BLUEPILL_F103C8,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-16,-0.02,0,0.0,-20,-0.03,0,0.0,0,0.0,0,0.0,-8,-0.01,4,0.02,-8,-0.01,4,0.02,-20,-0.03,0,0.0,0,0.0,0,0.0,-12,-0.02,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-24,-0.04,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-8,-0.01,4,0.02 arduino:avr:uno,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-12,-0.04,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0 arduino:mbed_giga:giga,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0 arduino:samd:adafruit_circuitplayground_m0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-24,-0.01,0,0.0,-24,-0.01,0,0.0,0,0.0,0,0.0,-12,-0.0,0,0.0,-12,-0.0,0,0.0,-20,-0.01,0,0.0,0,0.0,0,0.0,-4,-0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-24,-0.01,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0 esp8266:esp8266:huzzah,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A rp2040:rp2040:rpipico,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-24,-0.0,16,0.01,-24,-0.0,0,0.0,0,0.0,0,0.0,-16,-0.0,0,0.0,-16,-0.0,0,0.0,-16,-0.0,0,0.0,0,0.0,0,0.0,-16,-0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-24,-0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-16,-0.0,0,0.0 ```
github-actions[bot] commented 6 months ago

Memory usage change @ 51ae09a918a81009a38d47996a79cc179dc77bd3

Board flash % RAM for global variables %
STMicroelectronics:stm32:GenF1:pnum=BLUEPILL_F103C8 :grey_question: -40 - +8 -0.06 - +0.01 :small_red_triangle: 0 - +4 0.0 - +0.02
arduino:avr:uno :grey_question: -12 - +60 -0.04 - +0.19 0 - 0 0.0 - 0.0
arduino:mbed_giga:giga :green_heart: -72 - 0 -0.0 - 0.0 :green_heart: -16 - 0 -0.0 - 0.0
arduino:samd:adafruit_circuitplayground_m0 :green_heart: -508 - -12 -0.19 - -0.0 :green_heart: -4 - 0 -0.01 - 0.0
esp8266:esp8266:huzzah N/A N/A N/A N/A
rp2040:rp2040:rpipico :green_heart: -32 - 0 -0.0 - 0.0 :grey_question: -4 - +12 -0.0 - 0.0
Click for full report table Board|`examples/01.Basics/Control_Gain`
flash|%|`examples/01.Basics/Control_Gain`
RAM for global variables|%|`examples/01.Basics/Sinewave`
flash|%|`examples/01.Basics/Sinewave`
RAM for global variables|%|`examples/01.Basics/Sinewave_HIFI`
flash|%|`examples/01.Basics/Sinewave_HIFI`
RAM for global variables|%|`examples/01.Basics/Skeleton`
flash|%|`examples/01.Basics/Skeleton`
RAM for global variables|%|`examples/01.Basics/Skeleton_Multi`
flash|%|`examples/01.Basics/Skeleton_Multi`
RAM for global variables|%|`examples/01.Basics/Table_Resolution`
flash|%|`examples/01.Basics/Table_Resolution`
RAM for global variables|%|`examples/01.Basics/Vibrato`
flash|%|`examples/01.Basics/Vibrato`
RAM for global variables|%|`examples/02.Control/Control_Echo_Theremin`
flash|%|`examples/02.Control/Control_Echo_Theremin`
RAM for global variables|%|`examples/02.Control/Control_Oscil_Wash`
flash|%|`examples/02.Control/Control_Oscil_Wash`
RAM for global variables|%|`examples/02.Control/Control_Tremelo`
flash|%|`examples/02.Control/Control_Tremelo`
RAM for global variables|%|`examples/02.Control/EventDelay`
flash|%|`examples/02.Control/EventDelay`
RAM for global variables|%|`examples/02.Control/Line_Gliss`
flash|%|`examples/02.Control/Line_Gliss`
RAM for global variables|%|`examples/02.Control/Line_Gliss_Double_32k_HIFI`
flash|%|`examples/02.Control/Line_Gliss_Double_32k_HIFI`
RAM for global variables|%|`examples/02.Control/Metronome_SampleHuffman`
flash|%|`examples/02.Control/Metronome_SampleHuffman`
RAM for global variables|%|`examples/02.Control/Stop_Start`
flash|%|`examples/02.Control/Stop_Start`
RAM for global variables|%|`examples/06.Synthesis/AMsynth`
flash|%|`examples/06.Synthesis/AMsynth`
RAM for global variables|%|`examples/06.Synthesis/AMsynth_HIFI`
flash|%|`examples/06.Synthesis/AMsynth_HIFI`
RAM for global variables|%|`examples/06.Synthesis/Brown_Noise_Realtime`
flash|%|`examples/06.Synthesis/Brown_Noise_Realtime`
RAM for global variables|%|`examples/06.Synthesis/Detuned_Beats_Wash`
flash|%|`examples/06.Synthesis/Detuned_Beats_Wash`
RAM for global variables|%|`examples/06.Synthesis/Difference_Tone`
flash|%|`examples/06.Synthesis/Difference_Tone`
RAM for global variables|%|`examples/06.Synthesis/FMsynth`
flash|%|`examples/06.Synthesis/FMsynth`
RAM for global variables|%|`examples/06.Synthesis/FMsynth_32k_HIFI`
flash|%|`examples/06.Synthesis/FMsynth_32k_HIFI`
RAM for global variables|%|`examples/06.Synthesis/NonAlias_MetaOscil`
flash|%|`examples/06.Synthesis/NonAlias_MetaOscil`
RAM for global variables|%|`examples/06.Synthesis/PDresonant`
flash|%|`examples/06.Synthesis/PDresonant`
RAM for global variables|%|`examples/06.Synthesis/PWM_Phasing`
flash|%|`examples/06.Synthesis/PWM_Phasing`
RAM for global variables|%|`examples/06.Synthesis/WaveFolder`
flash|%|`examples/06.Synthesis/WaveFolder`
RAM for global variables|%|`examples/06.Synthesis/WavePacket_Double`
flash|%|`examples/06.Synthesis/WavePacket_Double`
RAM for global variables|%|`examples/06.Synthesis/WavePacket_Sample`
flash|%|`examples/06.Synthesis/WavePacket_Sample`
RAM for global variables|%|`examples/06.Synthesis/WavePacket_Single`
flash|%|`examples/06.Synthesis/WavePacket_Single`
RAM for global variables|%|`examples/06.Synthesis/Waveshaper`
flash|%|`examples/06.Synthesis/Waveshaper`
RAM for global variables|% -|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|- `STMicroelectronics:stm32:GenF1:pnum=BLUEPILL_F103C8`|-4|-0.01|0|0.0|-16|-0.02|0|0.0|-16|-0.02|0|0.0|-16|-0.02|0|0.0|-12|-0.02|0|0.0|-12|-0.02|0|0.0|-8|-0.01|0|0.0|-4|-0.01|0|0.0|-8|-0.01|0|0.0|-16|-0.02|0|0.0|-12|-0.02|0|0.0|-8|-0.01|0|0.0|-24|-0.04|0|0.0|-28|-0.04|0|0.0|8|0.01|0|0.0|-24|-0.04|4|0.02|-24|-0.04|4|0.02|-32|-0.05|0|0.0|-4|-0.01|0|0.0|-20|-0.03|0|0.0|-16|-0.02|0|0.0|-16|-0.02|0|0.0|-16|-0.02|0|0.0|-40|-0.06|0|0.0|-16|-0.02|0|0.0|-8|-0.01|0|0.0|-12|-0.02|0|0.0|-12|-0.02|0|0.0|-12|-0.02|0|0.0|-28|-0.04|4|0.02 `arduino:avr:uno`|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|60|0.19|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|-12|-0.04|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|58|0.18|0|0.0|58|0.18|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0 `arduino:mbed_giga:giga`|-8|-0.0|-8|-0.0|-8|-0.0|-8|-0.0|-8|-0.0|-8|-0.0|0|0.0|0|0.0|0|0.0|0|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|-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|-16|-0.0|-72|-0.0|-16|-0.0|-72|-0.0|-8|-0.0|-8|-0.0|-8|-0.0|-8|-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|0|0.0|0|0.0|-8|-0.0|-8|-0.0|-72|-0.0|-8|-0.0|-8|-0.0|-8|-0.0|-8|-0.0|-8|-0.0|-72|-0.0|-8|-0.0 `arduino:samd:adafruit_circuitplayground_m0`|-476|-0.18|-4|-0.01|-492|-0.19|-4|-0.01|-492|-0.19|-4|-0.01|-492|-0.19|0|0.0|-484|-0.18|0|0.0|-484|-0.18|-4|-0.01|-484|-0.18|-4|-0.01|-492|-0.19|-4|-0.01|-476|-0.18|-4|-0.01|-476|-0.18|-4|-0.01|-484|-0.18|-4|-0.01|-12|-0.0|-4|-0.01|-36|-0.01|-4|-0.01|-504|-0.19|-4|-0.01|-472|-0.18|-4|-0.01|-504|-0.19|-4|-0.01|-504|-0.19|-4|-0.01|-508|-0.19|-4|-0.01|-476|-0.18|-4|-0.01|-488|-0.19|-4|-0.01|-484|-0.18|-4|-0.01|-484|-0.18|-4|-0.01|-488|-0.19|-4|-0.01|-48|-0.02|-4|-0.01|-484|-0.18|0|0.0|-480|-0.18|-4|-0.01|-20|-0.01|-4|-0.01|-20|-0.01|-4|-0.01|-24|-0.01|-4|-0.01|-488|-0.19|-4|-0.01 `esp8266:esp8266:huzzah`|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A `rp2040:rp2040:rpipico`|0|0.0|-4|-0.0|-8|-0.0|-4|-0.0|-8|-0.0|-4|-0.0|-8|-0.0|0|0.0|0|0.0|0|0.0|-8|-0.0|-4|-0.0|-8|-0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|-8|-0.0|-4|-0.0|0|0.0|-4|-0.0|-24|-0.0|12|0.0|-24|-0.0|-4|-0.0|0|0.0|-4|-0.0|-32|-0.0|-4|-0.0|-32|-0.0|-4|-0.0|-24|-0.0|-4|-0.0|0|0.0|-4|-0.0|-16|-0.0|-4|-0.0|-8|-0.0|-4|-0.0|-8|-0.0|-4|-0.0|-8|-0.0|-4|-0.0|-24|-0.0|-4|-0.0|-8|-0.0|0|0.0|-8|-0.0|-4|-0.0|0|0.0|-4|-0.0|-8|-0.0|-4|-0.0|-8|-0.0|-4|-0.0|-24|-0.0|-4|-0.0
Click for full report CSV ``` Board,examples/01.Basics/Control_Gain
flash,%,examples/01.Basics/Control_Gain
RAM for global variables,%,examples/01.Basics/Sinewave
flash,%,examples/01.Basics/Sinewave
RAM for global variables,%,examples/01.Basics/Sinewave_HIFI
flash,%,examples/01.Basics/Sinewave_HIFI
RAM for global variables,%,examples/01.Basics/Skeleton
flash,%,examples/01.Basics/Skeleton
RAM for global variables,%,examples/01.Basics/Skeleton_Multi
flash,%,examples/01.Basics/Skeleton_Multi
RAM for global variables,%,examples/01.Basics/Table_Resolution
flash,%,examples/01.Basics/Table_Resolution
RAM for global variables,%,examples/01.Basics/Vibrato
flash,%,examples/01.Basics/Vibrato
RAM for global variables,%,examples/02.Control/Control_Echo_Theremin
flash,%,examples/02.Control/Control_Echo_Theremin
RAM for global variables,%,examples/02.Control/Control_Oscil_Wash
flash,%,examples/02.Control/Control_Oscil_Wash
RAM for global variables,%,examples/02.Control/Control_Tremelo
flash,%,examples/02.Control/Control_Tremelo
RAM for global variables,%,examples/02.Control/EventDelay
flash,%,examples/02.Control/EventDelay
RAM for global variables,%,examples/02.Control/Line_Gliss
flash,%,examples/02.Control/Line_Gliss
RAM for global variables,%,examples/02.Control/Line_Gliss_Double_32k_HIFI
flash,%,examples/02.Control/Line_Gliss_Double_32k_HIFI
RAM for global variables,%,examples/02.Control/Metronome_SampleHuffman
flash,%,examples/02.Control/Metronome_SampleHuffman
RAM for global variables,%,examples/02.Control/Stop_Start
flash,%,examples/02.Control/Stop_Start
RAM for global variables,%,examples/06.Synthesis/AMsynth
flash,%,examples/06.Synthesis/AMsynth
RAM for global variables,%,examples/06.Synthesis/AMsynth_HIFI
flash,%,examples/06.Synthesis/AMsynth_HIFI
RAM for global variables,%,examples/06.Synthesis/Brown_Noise_Realtime
flash,%,examples/06.Synthesis/Brown_Noise_Realtime
RAM for global variables,%,examples/06.Synthesis/Detuned_Beats_Wash
flash,%,examples/06.Synthesis/Detuned_Beats_Wash
RAM for global variables,%,examples/06.Synthesis/Difference_Tone
flash,%,examples/06.Synthesis/Difference_Tone
RAM for global variables,%,examples/06.Synthesis/FMsynth
flash,%,examples/06.Synthesis/FMsynth
RAM for global variables,%,examples/06.Synthesis/FMsynth_32k_HIFI
flash,%,examples/06.Synthesis/FMsynth_32k_HIFI
RAM for global variables,%,examples/06.Synthesis/NonAlias_MetaOscil
flash,%,examples/06.Synthesis/NonAlias_MetaOscil
RAM for global variables,%,examples/06.Synthesis/PDresonant
flash,%,examples/06.Synthesis/PDresonant
RAM for global variables,%,examples/06.Synthesis/PWM_Phasing
flash,%,examples/06.Synthesis/PWM_Phasing
RAM for global variables,%,examples/06.Synthesis/WaveFolder
flash,%,examples/06.Synthesis/WaveFolder
RAM for global variables,%,examples/06.Synthesis/WavePacket_Double
flash,%,examples/06.Synthesis/WavePacket_Double
RAM for global variables,%,examples/06.Synthesis/WavePacket_Sample
flash,%,examples/06.Synthesis/WavePacket_Sample
RAM for global variables,%,examples/06.Synthesis/WavePacket_Single
flash,%,examples/06.Synthesis/WavePacket_Single
RAM for global variables,%,examples/06.Synthesis/Waveshaper
flash,%,examples/06.Synthesis/Waveshaper
RAM for global variables,% STMicroelectronics:stm32:GenF1:pnum=BLUEPILL_F103C8,-4,-0.01,0,0.0,-16,-0.02,0,0.0,-16,-0.02,0,0.0,-16,-0.02,0,0.0,-12,-0.02,0,0.0,-12,-0.02,0,0.0,-8,-0.01,0,0.0,-4,-0.01,0,0.0,-8,-0.01,0,0.0,-16,-0.02,0,0.0,-12,-0.02,0,0.0,-8,-0.01,0,0.0,-24,-0.04,0,0.0,-28,-0.04,0,0.0,8,0.01,0,0.0,-24,-0.04,4,0.02,-24,-0.04,4,0.02,-32,-0.05,0,0.0,-4,-0.01,0,0.0,-20,-0.03,0,0.0,-16,-0.02,0,0.0,-16,-0.02,0,0.0,-16,-0.02,0,0.0,-40,-0.06,0,0.0,-16,-0.02,0,0.0,-8,-0.01,0,0.0,-12,-0.02,0,0.0,-12,-0.02,0,0.0,-12,-0.02,0,0.0,-28,-0.04,4,0.02 arduino:avr:uno,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,60,0.19,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-12,-0.04,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,58,0.18,0,0.0,58,0.18,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0 arduino:mbed_giga:giga,-8,-0.0,-8,-0.0,-8,-0.0,-8,-0.0,-8,-0.0,-8,-0.0,0,0.0,0,0.0,0,0.0,0,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,-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,-16,-0.0,-72,-0.0,-16,-0.0,-72,-0.0,-8,-0.0,-8,-0.0,-8,-0.0,-8,-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,0,0.0,0,0.0,-8,-0.0,-8,-0.0,-72,-0.0,-8,-0.0,-8,-0.0,-8,-0.0,-8,-0.0,-8,-0.0,-72,-0.0,-8,-0.0 arduino:samd:adafruit_circuitplayground_m0,-476,-0.18,-4,-0.01,-492,-0.19,-4,-0.01,-492,-0.19,-4,-0.01,-492,-0.19,0,0.0,-484,-0.18,0,0.0,-484,-0.18,-4,-0.01,-484,-0.18,-4,-0.01,-492,-0.19,-4,-0.01,-476,-0.18,-4,-0.01,-476,-0.18,-4,-0.01,-484,-0.18,-4,-0.01,-12,-0.0,-4,-0.01,-36,-0.01,-4,-0.01,-504,-0.19,-4,-0.01,-472,-0.18,-4,-0.01,-504,-0.19,-4,-0.01,-504,-0.19,-4,-0.01,-508,-0.19,-4,-0.01,-476,-0.18,-4,-0.01,-488,-0.19,-4,-0.01,-484,-0.18,-4,-0.01,-484,-0.18,-4,-0.01,-488,-0.19,-4,-0.01,-48,-0.02,-4,-0.01,-484,-0.18,0,0.0,-480,-0.18,-4,-0.01,-20,-0.01,-4,-0.01,-20,-0.01,-4,-0.01,-24,-0.01,-4,-0.01,-488,-0.19,-4,-0.01 esp8266:esp8266:huzzah,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A rp2040:rp2040:rpipico,0,0.0,-4,-0.0,-8,-0.0,-4,-0.0,-8,-0.0,-4,-0.0,-8,-0.0,0,0.0,0,0.0,0,0.0,-8,-0.0,-4,-0.0,-8,-0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,-8,-0.0,-4,-0.0,0,0.0,-4,-0.0,-24,-0.0,12,0.0,-24,-0.0,-4,-0.0,0,0.0,-4,-0.0,-32,-0.0,-4,-0.0,-32,-0.0,-4,-0.0,-24,-0.0,-4,-0.0,0,0.0,-4,-0.0,-16,-0.0,-4,-0.0,-8,-0.0,-4,-0.0,-8,-0.0,-4,-0.0,-8,-0.0,-4,-0.0,-24,-0.0,-4,-0.0,-8,-0.0,0,0.0,-8,-0.0,-4,-0.0,0,0.0,-4,-0.0,-8,-0.0,-4,-0.0,-8,-0.0,-4,-0.0,-24,-0.0,-4,-0.0 ```
github-actions[bot] commented 6 months ago

Memory usage change @ 832cf3ad1f62b2a1b178fc26e84cac02baee25e6

Board flash % RAM for global variables %
STMicroelectronics:stm32:GenF1:pnum=BLUEPILL_F103C8 :grey_question: -40 - +8 -0.06 - +0.01 :small_red_triangle: 0 - +4 0.0 - +0.02
arduino:avr:uno :green_heart: -110 - -38 -0.34 - -0.12 0 - 0 0.0 - 0.0
arduino:mbed_giga:giga :green_heart: -72 - 0 -0.0 - 0.0 :green_heart: -16 - 0 -0.0 - 0.0
arduino:samd:adafruit_circuitplayground_m0 :green_heart: -508 - -12 -0.19 - -0.0 :green_heart: -4 - 0 -0.01 - 0.0
esp8266:esp8266:huzzah N/A N/A N/A N/A
rp2040:rp2040:rpipico :green_heart: -32 - 0 -0.0 - 0.0 :grey_question: -4 - +12 -0.0 - 0.0
Click for full report table Board|`examples/01.Basics/Control_Gain`
flash|%|`examples/01.Basics/Control_Gain`
RAM for global variables|%|`examples/01.Basics/Sinewave`
flash|%|`examples/01.Basics/Sinewave`
RAM for global variables|%|`examples/01.Basics/Sinewave_HIFI`
flash|%|`examples/01.Basics/Sinewave_HIFI`
RAM for global variables|%|`examples/01.Basics/Skeleton`
flash|%|`examples/01.Basics/Skeleton`
RAM for global variables|%|`examples/01.Basics/Skeleton_Multi`
flash|%|`examples/01.Basics/Skeleton_Multi`
RAM for global variables|%|`examples/01.Basics/Table_Resolution`
flash|%|`examples/01.Basics/Table_Resolution`
RAM for global variables|%|`examples/01.Basics/Vibrato`
flash|%|`examples/01.Basics/Vibrato`
RAM for global variables|%|`examples/02.Control/Control_Echo_Theremin`
flash|%|`examples/02.Control/Control_Echo_Theremin`
RAM for global variables|%|`examples/02.Control/Control_Oscil_Wash`
flash|%|`examples/02.Control/Control_Oscil_Wash`
RAM for global variables|%|`examples/02.Control/Control_Tremelo`
flash|%|`examples/02.Control/Control_Tremelo`
RAM for global variables|%|`examples/02.Control/EventDelay`
flash|%|`examples/02.Control/EventDelay`
RAM for global variables|%|`examples/02.Control/Line_Gliss`
flash|%|`examples/02.Control/Line_Gliss`
RAM for global variables|%|`examples/02.Control/Line_Gliss_Double_32k_HIFI`
flash|%|`examples/02.Control/Line_Gliss_Double_32k_HIFI`
RAM for global variables|%|`examples/02.Control/Metronome_SampleHuffman`
flash|%|`examples/02.Control/Metronome_SampleHuffman`
RAM for global variables|%|`examples/02.Control/Stop_Start`
flash|%|`examples/02.Control/Stop_Start`
RAM for global variables|%|`examples/06.Synthesis/AMsynth`
flash|%|`examples/06.Synthesis/AMsynth`
RAM for global variables|%|`examples/06.Synthesis/AMsynth_HIFI`
flash|%|`examples/06.Synthesis/AMsynth_HIFI`
RAM for global variables|%|`examples/06.Synthesis/Brown_Noise_Realtime`
flash|%|`examples/06.Synthesis/Brown_Noise_Realtime`
RAM for global variables|%|`examples/06.Synthesis/Detuned_Beats_Wash`
flash|%|`examples/06.Synthesis/Detuned_Beats_Wash`
RAM for global variables|%|`examples/06.Synthesis/Difference_Tone`
flash|%|`examples/06.Synthesis/Difference_Tone`
RAM for global variables|%|`examples/06.Synthesis/FMsynth`
flash|%|`examples/06.Synthesis/FMsynth`
RAM for global variables|%|`examples/06.Synthesis/FMsynth_32k_HIFI`
flash|%|`examples/06.Synthesis/FMsynth_32k_HIFI`
RAM for global variables|%|`examples/06.Synthesis/NonAlias_MetaOscil`
flash|%|`examples/06.Synthesis/NonAlias_MetaOscil`
RAM for global variables|%|`examples/06.Synthesis/PDresonant`
flash|%|`examples/06.Synthesis/PDresonant`
RAM for global variables|%|`examples/06.Synthesis/PWM_Phasing`
flash|%|`examples/06.Synthesis/PWM_Phasing`
RAM for global variables|%|`examples/06.Synthesis/WaveFolder`
flash|%|`examples/06.Synthesis/WaveFolder`
RAM for global variables|%|`examples/06.Synthesis/WavePacket_Double`
flash|%|`examples/06.Synthesis/WavePacket_Double`
RAM for global variables|%|`examples/06.Synthesis/WavePacket_Sample`
flash|%|`examples/06.Synthesis/WavePacket_Sample`
RAM for global variables|%|`examples/06.Synthesis/WavePacket_Single`
flash|%|`examples/06.Synthesis/WavePacket_Single`
RAM for global variables|%|`examples/06.Synthesis/Waveshaper`
flash|%|`examples/06.Synthesis/Waveshaper`
RAM for global variables|% -|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|- `STMicroelectronics:stm32:GenF1:pnum=BLUEPILL_F103C8`|-4|-0.01|0|0.0|-16|-0.02|0|0.0|-16|-0.02|0|0.0|-16|-0.02|0|0.0|-12|-0.02|0|0.0|-12|-0.02|0|0.0|-8|-0.01|0|0.0|-4|-0.01|0|0.0|-8|-0.01|0|0.0|-16|-0.02|0|0.0|-12|-0.02|0|0.0|-8|-0.01|0|0.0|-24|-0.04|0|0.0|-28|-0.04|0|0.0|8|0.01|0|0.0|-24|-0.04|4|0.02|-24|-0.04|4|0.02|-32|-0.05|0|0.0|-4|-0.01|0|0.0|-20|-0.03|0|0.0|-16|-0.02|0|0.0|-16|-0.02|0|0.0|-16|-0.02|0|0.0|-40|-0.06|0|0.0|-16|-0.02|0|0.0|-8|-0.01|0|0.0|-12|-0.02|0|0.0|-12|-0.02|0|0.0|-12|-0.02|0|0.0|-28|-0.04|4|0.02 `arduino:avr:uno`|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-38|-0.12|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-110|-0.34|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-40|-0.12|0|0.0|-40|-0.12|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0 `arduino:mbed_giga:giga`|-8|-0.0|-8|-0.0|-8|-0.0|-8|-0.0|-8|-0.0|-8|-0.0|0|0.0|0|0.0|0|0.0|0|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|-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|-16|-0.0|-72|-0.0|-16|-0.0|-72|-0.0|-8|-0.0|-8|-0.0|-8|-0.0|-8|-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|0|0.0|0|0.0|-8|-0.0|-8|-0.0|-72|-0.0|-8|-0.0|-8|-0.0|-8|-0.0|-8|-0.0|-8|-0.0|-72|-0.0|-8|-0.0 `arduino:samd:adafruit_circuitplayground_m0`|-476|-0.18|-4|-0.01|-492|-0.19|-4|-0.01|-492|-0.19|-4|-0.01|-492|-0.19|0|0.0|-484|-0.18|0|0.0|-484|-0.18|-4|-0.01|-484|-0.18|-4|-0.01|-492|-0.19|-4|-0.01|-476|-0.18|-4|-0.01|-476|-0.18|-4|-0.01|-484|-0.18|-4|-0.01|-12|-0.0|-4|-0.01|-36|-0.01|-4|-0.01|-504|-0.19|-4|-0.01|-472|-0.18|-4|-0.01|-504|-0.19|-4|-0.01|-504|-0.19|-4|-0.01|-508|-0.19|-4|-0.01|-476|-0.18|-4|-0.01|-488|-0.19|-4|-0.01|-484|-0.18|-4|-0.01|-484|-0.18|-4|-0.01|-488|-0.19|-4|-0.01|-48|-0.02|-4|-0.01|-484|-0.18|0|0.0|-480|-0.18|-4|-0.01|-20|-0.01|-4|-0.01|-20|-0.01|-4|-0.01|-24|-0.01|-4|-0.01|-488|-0.19|-4|-0.01 `esp8266:esp8266:huzzah`|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A `rp2040:rp2040:rpipico`|0|0.0|-4|-0.0|-8|-0.0|-4|-0.0|-8|-0.0|-4|-0.0|-8|-0.0|0|0.0|0|0.0|0|0.0|-8|-0.0|-4|-0.0|-8|-0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|-8|-0.0|-4|-0.0|0|0.0|-4|-0.0|-24|-0.0|12|0.0|-24|-0.0|-4|-0.0|0|0.0|-4|-0.0|-32|-0.0|-4|-0.0|-32|-0.0|-4|-0.0|-24|-0.0|-4|-0.0|0|0.0|-4|-0.0|-16|-0.0|-4|-0.0|-8|-0.0|-4|-0.0|-8|-0.0|-4|-0.0|-8|-0.0|-4|-0.0|-24|-0.0|-4|-0.0|-8|-0.0|0|0.0|-8|-0.0|-4|-0.0|0|0.0|-4|-0.0|-8|-0.0|-4|-0.0|-8|-0.0|-4|-0.0|-24|-0.0|-4|-0.0
Click for full report CSV ``` Board,examples/01.Basics/Control_Gain
flash,%,examples/01.Basics/Control_Gain
RAM for global variables,%,examples/01.Basics/Sinewave
flash,%,examples/01.Basics/Sinewave
RAM for global variables,%,examples/01.Basics/Sinewave_HIFI
flash,%,examples/01.Basics/Sinewave_HIFI
RAM for global variables,%,examples/01.Basics/Skeleton
flash,%,examples/01.Basics/Skeleton
RAM for global variables,%,examples/01.Basics/Skeleton_Multi
flash,%,examples/01.Basics/Skeleton_Multi
RAM for global variables,%,examples/01.Basics/Table_Resolution
flash,%,examples/01.Basics/Table_Resolution
RAM for global variables,%,examples/01.Basics/Vibrato
flash,%,examples/01.Basics/Vibrato
RAM for global variables,%,examples/02.Control/Control_Echo_Theremin
flash,%,examples/02.Control/Control_Echo_Theremin
RAM for global variables,%,examples/02.Control/Control_Oscil_Wash
flash,%,examples/02.Control/Control_Oscil_Wash
RAM for global variables,%,examples/02.Control/Control_Tremelo
flash,%,examples/02.Control/Control_Tremelo
RAM for global variables,%,examples/02.Control/EventDelay
flash,%,examples/02.Control/EventDelay
RAM for global variables,%,examples/02.Control/Line_Gliss
flash,%,examples/02.Control/Line_Gliss
RAM for global variables,%,examples/02.Control/Line_Gliss_Double_32k_HIFI
flash,%,examples/02.Control/Line_Gliss_Double_32k_HIFI
RAM for global variables,%,examples/02.Control/Metronome_SampleHuffman
flash,%,examples/02.Control/Metronome_SampleHuffman
RAM for global variables,%,examples/02.Control/Stop_Start
flash,%,examples/02.Control/Stop_Start
RAM for global variables,%,examples/06.Synthesis/AMsynth
flash,%,examples/06.Synthesis/AMsynth
RAM for global variables,%,examples/06.Synthesis/AMsynth_HIFI
flash,%,examples/06.Synthesis/AMsynth_HIFI
RAM for global variables,%,examples/06.Synthesis/Brown_Noise_Realtime
flash,%,examples/06.Synthesis/Brown_Noise_Realtime
RAM for global variables,%,examples/06.Synthesis/Detuned_Beats_Wash
flash,%,examples/06.Synthesis/Detuned_Beats_Wash
RAM for global variables,%,examples/06.Synthesis/Difference_Tone
flash,%,examples/06.Synthesis/Difference_Tone
RAM for global variables,%,examples/06.Synthesis/FMsynth
flash,%,examples/06.Synthesis/FMsynth
RAM for global variables,%,examples/06.Synthesis/FMsynth_32k_HIFI
flash,%,examples/06.Synthesis/FMsynth_32k_HIFI
RAM for global variables,%,examples/06.Synthesis/NonAlias_MetaOscil
flash,%,examples/06.Synthesis/NonAlias_MetaOscil
RAM for global variables,%,examples/06.Synthesis/PDresonant
flash,%,examples/06.Synthesis/PDresonant
RAM for global variables,%,examples/06.Synthesis/PWM_Phasing
flash,%,examples/06.Synthesis/PWM_Phasing
RAM for global variables,%,examples/06.Synthesis/WaveFolder
flash,%,examples/06.Synthesis/WaveFolder
RAM for global variables,%,examples/06.Synthesis/WavePacket_Double
flash,%,examples/06.Synthesis/WavePacket_Double
RAM for global variables,%,examples/06.Synthesis/WavePacket_Sample
flash,%,examples/06.Synthesis/WavePacket_Sample
RAM for global variables,%,examples/06.Synthesis/WavePacket_Single
flash,%,examples/06.Synthesis/WavePacket_Single
RAM for global variables,%,examples/06.Synthesis/Waveshaper
flash,%,examples/06.Synthesis/Waveshaper
RAM for global variables,% STMicroelectronics:stm32:GenF1:pnum=BLUEPILL_F103C8,-4,-0.01,0,0.0,-16,-0.02,0,0.0,-16,-0.02,0,0.0,-16,-0.02,0,0.0,-12,-0.02,0,0.0,-12,-0.02,0,0.0,-8,-0.01,0,0.0,-4,-0.01,0,0.0,-8,-0.01,0,0.0,-16,-0.02,0,0.0,-12,-0.02,0,0.0,-8,-0.01,0,0.0,-24,-0.04,0,0.0,-28,-0.04,0,0.0,8,0.01,0,0.0,-24,-0.04,4,0.02,-24,-0.04,4,0.02,-32,-0.05,0,0.0,-4,-0.01,0,0.0,-20,-0.03,0,0.0,-16,-0.02,0,0.0,-16,-0.02,0,0.0,-16,-0.02,0,0.0,-40,-0.06,0,0.0,-16,-0.02,0,0.0,-8,-0.01,0,0.0,-12,-0.02,0,0.0,-12,-0.02,0,0.0,-12,-0.02,0,0.0,-28,-0.04,4,0.02 arduino:avr:uno,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-38,-0.12,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-110,-0.34,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-40,-0.12,0,0.0,-40,-0.12,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0 arduino:mbed_giga:giga,-8,-0.0,-8,-0.0,-8,-0.0,-8,-0.0,-8,-0.0,-8,-0.0,0,0.0,0,0.0,0,0.0,0,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,-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,-16,-0.0,-72,-0.0,-16,-0.0,-72,-0.0,-8,-0.0,-8,-0.0,-8,-0.0,-8,-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,0,0.0,0,0.0,-8,-0.0,-8,-0.0,-72,-0.0,-8,-0.0,-8,-0.0,-8,-0.0,-8,-0.0,-8,-0.0,-72,-0.0,-8,-0.0 arduino:samd:adafruit_circuitplayground_m0,-476,-0.18,-4,-0.01,-492,-0.19,-4,-0.01,-492,-0.19,-4,-0.01,-492,-0.19,0,0.0,-484,-0.18,0,0.0,-484,-0.18,-4,-0.01,-484,-0.18,-4,-0.01,-492,-0.19,-4,-0.01,-476,-0.18,-4,-0.01,-476,-0.18,-4,-0.01,-484,-0.18,-4,-0.01,-12,-0.0,-4,-0.01,-36,-0.01,-4,-0.01,-504,-0.19,-4,-0.01,-472,-0.18,-4,-0.01,-504,-0.19,-4,-0.01,-504,-0.19,-4,-0.01,-508,-0.19,-4,-0.01,-476,-0.18,-4,-0.01,-488,-0.19,-4,-0.01,-484,-0.18,-4,-0.01,-484,-0.18,-4,-0.01,-488,-0.19,-4,-0.01,-48,-0.02,-4,-0.01,-484,-0.18,0,0.0,-480,-0.18,-4,-0.01,-20,-0.01,-4,-0.01,-20,-0.01,-4,-0.01,-24,-0.01,-4,-0.01,-488,-0.19,-4,-0.01 esp8266:esp8266:huzzah,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A rp2040:rp2040:rpipico,0,0.0,-4,-0.0,-8,-0.0,-4,-0.0,-8,-0.0,-4,-0.0,-8,-0.0,0,0.0,0,0.0,0,0.0,-8,-0.0,-4,-0.0,-8,-0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,-8,-0.0,-4,-0.0,0,0.0,-4,-0.0,-24,-0.0,12,0.0,-24,-0.0,-4,-0.0,0,0.0,-4,-0.0,-32,-0.0,-4,-0.0,-32,-0.0,-4,-0.0,-24,-0.0,-4,-0.0,0,0.0,-4,-0.0,-16,-0.0,-4,-0.0,-8,-0.0,-4,-0.0,-8,-0.0,-4,-0.0,-8,-0.0,-4,-0.0,-24,-0.0,-4,-0.0,-8,-0.0,0,0.0,-8,-0.0,-4,-0.0,0,0.0,-4,-0.0,-8,-0.0,-4,-0.0,-8,-0.0,-4,-0.0,-24,-0.0,-4,-0.0 ```
github-actions[bot] commented 6 months ago

Memory usage change @ 6a0e0015e4ecdec311f33ec50000b1e8efc40b59

Board flash % RAM for global variables %
STMicroelectronics:stm32:GenF1:pnum=BLUEPILL_F103C8 :grey_question: -40 - +8 -0.06 - +0.01 :small_red_triangle: 0 - +4 0.0 - +0.02
arduino:avr:uno :green_heart: -110 - -38 -0.34 - -0.12 0 - 0 0.0 - 0.0
arduino:mbed_giga:giga :green_heart: -72 - 0 -0.0 - 0.0 :green_heart: -16 - 0 -0.0 - 0.0
arduino:samd:adafruit_circuitplayground_m0 :green_heart: -508 - -12 -0.19 - -0.0 :green_heart: -4 - 0 -0.01 - 0.0
esp8266:esp8266:huzzah N/A N/A N/A N/A
rp2040:rp2040:rpipico :green_heart: -32 - 0 -0.0 - 0.0 :grey_question: -4 - +12 -0.0 - 0.0
Click for full report table Board|`examples/01.Basics/Control_Gain`
flash|%|`examples/01.Basics/Control_Gain`
RAM for global variables|%|`examples/01.Basics/Sinewave`
flash|%|`examples/01.Basics/Sinewave`
RAM for global variables|%|`examples/01.Basics/Sinewave_HIFI`
flash|%|`examples/01.Basics/Sinewave_HIFI`
RAM for global variables|%|`examples/01.Basics/Skeleton`
flash|%|`examples/01.Basics/Skeleton`
RAM for global variables|%|`examples/01.Basics/Skeleton_Multi`
flash|%|`examples/01.Basics/Skeleton_Multi`
RAM for global variables|%|`examples/01.Basics/Table_Resolution`
flash|%|`examples/01.Basics/Table_Resolution`
RAM for global variables|%|`examples/01.Basics/Vibrato`
flash|%|`examples/01.Basics/Vibrato`
RAM for global variables|%|`examples/02.Control/Control_Echo_Theremin`
flash|%|`examples/02.Control/Control_Echo_Theremin`
RAM for global variables|%|`examples/02.Control/Control_Oscil_Wash`
flash|%|`examples/02.Control/Control_Oscil_Wash`
RAM for global variables|%|`examples/02.Control/Control_Tremelo`
flash|%|`examples/02.Control/Control_Tremelo`
RAM for global variables|%|`examples/02.Control/EventDelay`
flash|%|`examples/02.Control/EventDelay`
RAM for global variables|%|`examples/02.Control/Line_Gliss`
flash|%|`examples/02.Control/Line_Gliss`
RAM for global variables|%|`examples/02.Control/Line_Gliss_Double_32k_HIFI`
flash|%|`examples/02.Control/Line_Gliss_Double_32k_HIFI`
RAM for global variables|%|`examples/02.Control/Metronome_SampleHuffman`
flash|%|`examples/02.Control/Metronome_SampleHuffman`
RAM for global variables|%|`examples/02.Control/Stop_Start`
flash|%|`examples/02.Control/Stop_Start`
RAM for global variables|%|`examples/06.Synthesis/AMsynth`
flash|%|`examples/06.Synthesis/AMsynth`
RAM for global variables|%|`examples/06.Synthesis/AMsynth_HIFI`
flash|%|`examples/06.Synthesis/AMsynth_HIFI`
RAM for global variables|%|`examples/06.Synthesis/Brown_Noise_Realtime`
flash|%|`examples/06.Synthesis/Brown_Noise_Realtime`
RAM for global variables|%|`examples/06.Synthesis/Detuned_Beats_Wash`
flash|%|`examples/06.Synthesis/Detuned_Beats_Wash`
RAM for global variables|%|`examples/06.Synthesis/Difference_Tone`
flash|%|`examples/06.Synthesis/Difference_Tone`
RAM for global variables|%|`examples/06.Synthesis/FMsynth`
flash|%|`examples/06.Synthesis/FMsynth`
RAM for global variables|%|`examples/06.Synthesis/FMsynth_32k_HIFI`
flash|%|`examples/06.Synthesis/FMsynth_32k_HIFI`
RAM for global variables|%|`examples/06.Synthesis/NonAlias_MetaOscil`
flash|%|`examples/06.Synthesis/NonAlias_MetaOscil`
RAM for global variables|%|`examples/06.Synthesis/PDresonant`
flash|%|`examples/06.Synthesis/PDresonant`
RAM for global variables|%|`examples/06.Synthesis/PWM_Phasing`
flash|%|`examples/06.Synthesis/PWM_Phasing`
RAM for global variables|%|`examples/06.Synthesis/WaveFolder`
flash|%|`examples/06.Synthesis/WaveFolder`
RAM for global variables|%|`examples/06.Synthesis/WavePacket_Double`
flash|%|`examples/06.Synthesis/WavePacket_Double`
RAM for global variables|%|`examples/06.Synthesis/WavePacket_Sample`
flash|%|`examples/06.Synthesis/WavePacket_Sample`
RAM for global variables|%|`examples/06.Synthesis/WavePacket_Single`
flash|%|`examples/06.Synthesis/WavePacket_Single`
RAM for global variables|%|`examples/06.Synthesis/Waveshaper`
flash|%|`examples/06.Synthesis/Waveshaper`
RAM for global variables|% -|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|- `STMicroelectronics:stm32:GenF1:pnum=BLUEPILL_F103C8`|-4|-0.01|0|0.0|-16|-0.02|0|0.0|-16|-0.02|0|0.0|-16|-0.02|0|0.0|-12|-0.02|0|0.0|-12|-0.02|0|0.0|-8|-0.01|0|0.0|-4|-0.01|0|0.0|-8|-0.01|0|0.0|-16|-0.02|0|0.0|-12|-0.02|0|0.0|-8|-0.01|0|0.0|-24|-0.04|0|0.0|-28|-0.04|0|0.0|8|0.01|0|0.0|-24|-0.04|4|0.02|-24|-0.04|4|0.02|-32|-0.05|0|0.0|-4|-0.01|0|0.0|-20|-0.03|0|0.0|-16|-0.02|0|0.0|-16|-0.02|0|0.0|-16|-0.02|0|0.0|-40|-0.06|0|0.0|-16|-0.02|0|0.0|-8|-0.01|0|0.0|-12|-0.02|0|0.0|-12|-0.02|0|0.0|-12|-0.02|0|0.0|-28|-0.04|4|0.02 `arduino:avr:uno`|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-38|-0.12|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-110|-0.34|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-40|-0.12|0|0.0|-40|-0.12|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0 `arduino:mbed_giga:giga`|-8|-0.0|-8|-0.0|-8|-0.0|-8|-0.0|-8|-0.0|-8|-0.0|0|0.0|0|0.0|0|0.0|0|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|-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|-16|-0.0|-72|-0.0|-16|-0.0|-72|-0.0|-8|-0.0|-8|-0.0|-8|-0.0|-8|-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|0|0.0|0|0.0|-8|-0.0|-8|-0.0|-72|-0.0|-8|-0.0|-8|-0.0|-8|-0.0|-8|-0.0|-8|-0.0|-72|-0.0|-8|-0.0 `arduino:samd:adafruit_circuitplayground_m0`|-476|-0.18|-4|-0.01|-492|-0.19|-4|-0.01|-492|-0.19|-4|-0.01|-492|-0.19|0|0.0|-484|-0.18|0|0.0|-484|-0.18|-4|-0.01|-484|-0.18|-4|-0.01|-492|-0.19|-4|-0.01|-476|-0.18|-4|-0.01|-476|-0.18|-4|-0.01|-484|-0.18|-4|-0.01|-12|-0.0|-4|-0.01|-36|-0.01|-4|-0.01|-504|-0.19|-4|-0.01|-472|-0.18|-4|-0.01|-504|-0.19|-4|-0.01|-504|-0.19|-4|-0.01|-508|-0.19|-4|-0.01|-476|-0.18|-4|-0.01|-488|-0.19|-4|-0.01|-484|-0.18|-4|-0.01|-484|-0.18|-4|-0.01|-488|-0.19|-4|-0.01|-48|-0.02|-4|-0.01|-484|-0.18|0|0.0|-480|-0.18|-4|-0.01|-20|-0.01|-4|-0.01|-20|-0.01|-4|-0.01|-24|-0.01|-4|-0.01|-488|-0.19|-4|-0.01 `esp8266:esp8266:huzzah`|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A `rp2040:rp2040:rpipico`|0|0.0|-4|-0.0|-8|-0.0|-4|-0.0|-8|-0.0|-4|-0.0|-8|-0.0|0|0.0|0|0.0|0|0.0|-8|-0.0|-4|-0.0|-8|-0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|-8|-0.0|-4|-0.0|0|0.0|-4|-0.0|-24|-0.0|12|0.0|-24|-0.0|-4|-0.0|0|0.0|-4|-0.0|-32|-0.0|-4|-0.0|-32|-0.0|-4|-0.0|-24|-0.0|-4|-0.0|0|0.0|-4|-0.0|-16|-0.0|-4|-0.0|-8|-0.0|-4|-0.0|-8|-0.0|-4|-0.0|-8|-0.0|-4|-0.0|-24|-0.0|-4|-0.0|-8|-0.0|0|0.0|-8|-0.0|-4|-0.0|0|0.0|-4|-0.0|-8|-0.0|-4|-0.0|-8|-0.0|-4|-0.0|-24|-0.0|-4|-0.0
Click for full report CSV ``` Board,examples/01.Basics/Control_Gain
flash,%,examples/01.Basics/Control_Gain
RAM for global variables,%,examples/01.Basics/Sinewave
flash,%,examples/01.Basics/Sinewave
RAM for global variables,%,examples/01.Basics/Sinewave_HIFI
flash,%,examples/01.Basics/Sinewave_HIFI
RAM for global variables,%,examples/01.Basics/Skeleton
flash,%,examples/01.Basics/Skeleton
RAM for global variables,%,examples/01.Basics/Skeleton_Multi
flash,%,examples/01.Basics/Skeleton_Multi
RAM for global variables,%,examples/01.Basics/Table_Resolution
flash,%,examples/01.Basics/Table_Resolution
RAM for global variables,%,examples/01.Basics/Vibrato
flash,%,examples/01.Basics/Vibrato
RAM for global variables,%,examples/02.Control/Control_Echo_Theremin
flash,%,examples/02.Control/Control_Echo_Theremin
RAM for global variables,%,examples/02.Control/Control_Oscil_Wash
flash,%,examples/02.Control/Control_Oscil_Wash
RAM for global variables,%,examples/02.Control/Control_Tremelo
flash,%,examples/02.Control/Control_Tremelo
RAM for global variables,%,examples/02.Control/EventDelay
flash,%,examples/02.Control/EventDelay
RAM for global variables,%,examples/02.Control/Line_Gliss
flash,%,examples/02.Control/Line_Gliss
RAM for global variables,%,examples/02.Control/Line_Gliss_Double_32k_HIFI
flash,%,examples/02.Control/Line_Gliss_Double_32k_HIFI
RAM for global variables,%,examples/02.Control/Metronome_SampleHuffman
flash,%,examples/02.Control/Metronome_SampleHuffman
RAM for global variables,%,examples/02.Control/Stop_Start
flash,%,examples/02.Control/Stop_Start
RAM for global variables,%,examples/06.Synthesis/AMsynth
flash,%,examples/06.Synthesis/AMsynth
RAM for global variables,%,examples/06.Synthesis/AMsynth_HIFI
flash,%,examples/06.Synthesis/AMsynth_HIFI
RAM for global variables,%,examples/06.Synthesis/Brown_Noise_Realtime
flash,%,examples/06.Synthesis/Brown_Noise_Realtime
RAM for global variables,%,examples/06.Synthesis/Detuned_Beats_Wash
flash,%,examples/06.Synthesis/Detuned_Beats_Wash
RAM for global variables,%,examples/06.Synthesis/Difference_Tone
flash,%,examples/06.Synthesis/Difference_Tone
RAM for global variables,%,examples/06.Synthesis/FMsynth
flash,%,examples/06.Synthesis/FMsynth
RAM for global variables,%,examples/06.Synthesis/FMsynth_32k_HIFI
flash,%,examples/06.Synthesis/FMsynth_32k_HIFI
RAM for global variables,%,examples/06.Synthesis/NonAlias_MetaOscil
flash,%,examples/06.Synthesis/NonAlias_MetaOscil
RAM for global variables,%,examples/06.Synthesis/PDresonant
flash,%,examples/06.Synthesis/PDresonant
RAM for global variables,%,examples/06.Synthesis/PWM_Phasing
flash,%,examples/06.Synthesis/PWM_Phasing
RAM for global variables,%,examples/06.Synthesis/WaveFolder
flash,%,examples/06.Synthesis/WaveFolder
RAM for global variables,%,examples/06.Synthesis/WavePacket_Double
flash,%,examples/06.Synthesis/WavePacket_Double
RAM for global variables,%,examples/06.Synthesis/WavePacket_Sample
flash,%,examples/06.Synthesis/WavePacket_Sample
RAM for global variables,%,examples/06.Synthesis/WavePacket_Single
flash,%,examples/06.Synthesis/WavePacket_Single
RAM for global variables,%,examples/06.Synthesis/Waveshaper
flash,%,examples/06.Synthesis/Waveshaper
RAM for global variables,% STMicroelectronics:stm32:GenF1:pnum=BLUEPILL_F103C8,-4,-0.01,0,0.0,-16,-0.02,0,0.0,-16,-0.02,0,0.0,-16,-0.02,0,0.0,-12,-0.02,0,0.0,-12,-0.02,0,0.0,-8,-0.01,0,0.0,-4,-0.01,0,0.0,-8,-0.01,0,0.0,-16,-0.02,0,0.0,-12,-0.02,0,0.0,-8,-0.01,0,0.0,-24,-0.04,0,0.0,-28,-0.04,0,0.0,8,0.01,0,0.0,-24,-0.04,4,0.02,-24,-0.04,4,0.02,-32,-0.05,0,0.0,-4,-0.01,0,0.0,-20,-0.03,0,0.0,-16,-0.02,0,0.0,-16,-0.02,0,0.0,-16,-0.02,0,0.0,-40,-0.06,0,0.0,-16,-0.02,0,0.0,-8,-0.01,0,0.0,-12,-0.02,0,0.0,-12,-0.02,0,0.0,-12,-0.02,0,0.0,-28,-0.04,4,0.02 arduino:avr:uno,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-38,-0.12,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-110,-0.34,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-40,-0.12,0,0.0,-40,-0.12,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0 arduino:mbed_giga:giga,-8,-0.0,-8,-0.0,-8,-0.0,-8,-0.0,-8,-0.0,-8,-0.0,0,0.0,0,0.0,0,0.0,0,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,-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,-16,-0.0,-72,-0.0,-16,-0.0,-72,-0.0,-8,-0.0,-8,-0.0,-8,-0.0,-8,-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,0,0.0,0,0.0,-8,-0.0,-8,-0.0,-72,-0.0,-8,-0.0,-8,-0.0,-8,-0.0,-8,-0.0,-8,-0.0,-72,-0.0,-8,-0.0 arduino:samd:adafruit_circuitplayground_m0,-476,-0.18,-4,-0.01,-492,-0.19,-4,-0.01,-492,-0.19,-4,-0.01,-492,-0.19,0,0.0,-484,-0.18,0,0.0,-484,-0.18,-4,-0.01,-484,-0.18,-4,-0.01,-492,-0.19,-4,-0.01,-476,-0.18,-4,-0.01,-476,-0.18,-4,-0.01,-484,-0.18,-4,-0.01,-12,-0.0,-4,-0.01,-36,-0.01,-4,-0.01,-504,-0.19,-4,-0.01,-472,-0.18,-4,-0.01,-504,-0.19,-4,-0.01,-504,-0.19,-4,-0.01,-508,-0.19,-4,-0.01,-476,-0.18,-4,-0.01,-488,-0.19,-4,-0.01,-484,-0.18,-4,-0.01,-484,-0.18,-4,-0.01,-488,-0.19,-4,-0.01,-48,-0.02,-4,-0.01,-484,-0.18,0,0.0,-480,-0.18,-4,-0.01,-20,-0.01,-4,-0.01,-20,-0.01,-4,-0.01,-24,-0.01,-4,-0.01,-488,-0.19,-4,-0.01 esp8266:esp8266:huzzah,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A rp2040:rp2040:rpipico,0,0.0,-4,-0.0,-8,-0.0,-4,-0.0,-8,-0.0,-4,-0.0,-8,-0.0,0,0.0,0,0.0,0,0.0,-8,-0.0,-4,-0.0,-8,-0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,-8,-0.0,-4,-0.0,0,0.0,-4,-0.0,-24,-0.0,12,0.0,-24,-0.0,-4,-0.0,0,0.0,-4,-0.0,-32,-0.0,-4,-0.0,-32,-0.0,-4,-0.0,-24,-0.0,-4,-0.0,0,0.0,-4,-0.0,-16,-0.0,-4,-0.0,-8,-0.0,-4,-0.0,-8,-0.0,-4,-0.0,-8,-0.0,-4,-0.0,-24,-0.0,-4,-0.0,-8,-0.0,0,0.0,-8,-0.0,-4,-0.0,0,0.0,-4,-0.0,-8,-0.0,-4,-0.0,-8,-0.0,-4,-0.0,-24,-0.0,-4,-0.0 ```
github-actions[bot] commented 6 months ago

Memory usage change @ 9d64122be1a52b10f332267c56f1b36d3e3714fb

Board flash % RAM for global variables %
STMicroelectronics:stm32:GenF1:pnum=BLUEPILL_F103C8 :grey_question: -40 - +48 -0.06 - +0.07 :small_red_triangle: 0 - +12 0.0 - +0.06
arduino:avr:uno :grey_question: -110 - +90 -0.34 - +0.28 :grey_question: -1 - +1 -0.05 - +0.05
arduino:mbed_giga:giga :green_heart: -72 - 0 -0.0 - 0.0 :green_heart: -16 - 0 -0.0 - 0.0
arduino:samd:adafruit_circuitplayground_m0 :green_heart: -508 - -12 -0.19 - -0.0 :green_heart: -4 - 0 -0.01 - 0.0
esp8266:esp8266:huzzah N/A N/A N/A N/A
rp2040:rp2040:rpipico :green_heart: -32 - 0 -0.0 - 0.0 :grey_question: -4 - +12 -0.0 - 0.0
Click for full report table Board|`examples/01.Basics/Control_Gain`
flash|%|`examples/01.Basics/Control_Gain`
RAM for global variables|%|`examples/01.Basics/Sinewave`
flash|%|`examples/01.Basics/Sinewave`
RAM for global variables|%|`examples/01.Basics/Sinewave_HIFI`
flash|%|`examples/01.Basics/Sinewave_HIFI`
RAM for global variables|%|`examples/01.Basics/Skeleton`
flash|%|`examples/01.Basics/Skeleton`
RAM for global variables|%|`examples/01.Basics/Skeleton_Multi`
flash|%|`examples/01.Basics/Skeleton_Multi`
RAM for global variables|%|`examples/01.Basics/Table_Resolution`
flash|%|`examples/01.Basics/Table_Resolution`
RAM for global variables|%|`examples/01.Basics/Vibrato`
flash|%|`examples/01.Basics/Vibrato`
RAM for global variables|%|`examples/02.Control/Control_Echo_Theremin`
flash|%|`examples/02.Control/Control_Echo_Theremin`
RAM for global variables|%|`examples/02.Control/Control_Oscil_Wash`
flash|%|`examples/02.Control/Control_Oscil_Wash`
RAM for global variables|%|`examples/02.Control/Control_Tremelo`
flash|%|`examples/02.Control/Control_Tremelo`
RAM for global variables|%|`examples/02.Control/EventDelay`
flash|%|`examples/02.Control/EventDelay`
RAM for global variables|%|`examples/02.Control/Line_Gliss`
flash|%|`examples/02.Control/Line_Gliss`
RAM for global variables|%|`examples/02.Control/Line_Gliss_Double_32k_HIFI`
flash|%|`examples/02.Control/Line_Gliss_Double_32k_HIFI`
RAM for global variables|%|`examples/02.Control/Metronome_SampleHuffman`
flash|%|`examples/02.Control/Metronome_SampleHuffman`
RAM for global variables|%|`examples/02.Control/Stop_Start`
flash|%|`examples/02.Control/Stop_Start`
RAM for global variables|%|`examples/06.Synthesis/AMsynth`
flash|%|`examples/06.Synthesis/AMsynth`
RAM for global variables|%|`examples/06.Synthesis/AMsynth_HIFI`
flash|%|`examples/06.Synthesis/AMsynth_HIFI`
RAM for global variables|%|`examples/06.Synthesis/Brown_Noise_Realtime`
flash|%|`examples/06.Synthesis/Brown_Noise_Realtime`
RAM for global variables|%|`examples/06.Synthesis/Detuned_Beats_Wash`
flash|%|`examples/06.Synthesis/Detuned_Beats_Wash`
RAM for global variables|%|`examples/06.Synthesis/Difference_Tone`
flash|%|`examples/06.Synthesis/Difference_Tone`
RAM for global variables|%|`examples/06.Synthesis/FMsynth`
flash|%|`examples/06.Synthesis/FMsynth`
RAM for global variables|%|`examples/06.Synthesis/FMsynth_32k_HIFI`
flash|%|`examples/06.Synthesis/FMsynth_32k_HIFI`
RAM for global variables|%|`examples/06.Synthesis/NonAlias_MetaOscil`
flash|%|`examples/06.Synthesis/NonAlias_MetaOscil`
RAM for global variables|%|`examples/06.Synthesis/PDresonant`
flash|%|`examples/06.Synthesis/PDresonant`
RAM for global variables|%|`examples/06.Synthesis/PWM_Phasing`
flash|%|`examples/06.Synthesis/PWM_Phasing`
RAM for global variables|%|`examples/06.Synthesis/WaveFolder`
flash|%|`examples/06.Synthesis/WaveFolder`
RAM for global variables|%|`examples/06.Synthesis/WavePacket_Double`
flash|%|`examples/06.Synthesis/WavePacket_Double`
RAM for global variables|%|`examples/06.Synthesis/WavePacket_Sample`
flash|%|`examples/06.Synthesis/WavePacket_Sample`
RAM for global variables|%|`examples/06.Synthesis/WavePacket_Single`
flash|%|`examples/06.Synthesis/WavePacket_Single`
RAM for global variables|%|`examples/06.Synthesis/Waveshaper`
flash|%|`examples/06.Synthesis/Waveshaper`
RAM for global variables|% -|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|- `STMicroelectronics:stm32:GenF1:pnum=BLUEPILL_F103C8`|-4|-0.01|0|0.0|-16|-0.02|0|0.0|48|0.07|8|0.04|-16|-0.02|0|0.0|-12|-0.02|0|0.0|-12|-0.02|0|0.0|-8|-0.01|0|0.0|-4|-0.01|0|0.0|-8|-0.01|0|0.0|-16|-0.02|0|0.0|-12|-0.02|0|0.0|-8|-0.01|0|0.0|40|0.06|8|0.04|-28|-0.04|0|0.0|8|0.01|0|0.0|-24|-0.04|4|0.02|40|0.06|12|0.06|-32|-0.05|0|0.0|-4|-0.01|0|0.0|-20|-0.03|0|0.0|-16|-0.02|0|0.0|48|0.07|8|0.04|-16|-0.02|0|0.0|-40|-0.06|0|0.0|-16|-0.02|0|0.0|-8|-0.01|0|0.0|-12|-0.02|0|0.0|-12|-0.02|0|0.0|-12|-0.02|0|0.0|-28|-0.04|4|0.02 `arduino:avr:uno`|-98|-0.3|0|0.0|-98|-0.3|0|0.0|50|0.16|-1|-0.05|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-38|-0.12|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|58|0.18|1|0.05|-98|-0.3|0|0.0|-110|-0.34|0|0.0|-98|-0.3|0|0.0|90|0.28|-1|-0.05|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-40|-0.12|0|0.0|80|0.25|-1|-0.05|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0|-98|-0.3|0|0.0 `arduino:mbed_giga:giga`|-8|-0.0|-8|-0.0|-8|-0.0|-8|-0.0|-8|-0.0|-8|-0.0|0|0.0|0|0.0|0|0.0|0|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|-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|-16|-0.0|-72|-0.0|-16|-0.0|-72|-0.0|-8|-0.0|-8|-0.0|-8|-0.0|-8|-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|0|0.0|0|0.0|-8|-0.0|-8|-0.0|-72|-0.0|-8|-0.0|-8|-0.0|-8|-0.0|-8|-0.0|-8|-0.0|-72|-0.0|-8|-0.0 `arduino:samd:adafruit_circuitplayground_m0`|-476|-0.18|-4|-0.01|-492|-0.19|-4|-0.01|-492|-0.19|-4|-0.01|-492|-0.19|0|0.0|-484|-0.18|0|0.0|-484|-0.18|-4|-0.01|-484|-0.18|-4|-0.01|-492|-0.19|-4|-0.01|-476|-0.18|-4|-0.01|-476|-0.18|-4|-0.01|-484|-0.18|-4|-0.01|-12|-0.0|-4|-0.01|-36|-0.01|-4|-0.01|-504|-0.19|-4|-0.01|-472|-0.18|-4|-0.01|-504|-0.19|-4|-0.01|-504|-0.19|-4|-0.01|-508|-0.19|-4|-0.01|-476|-0.18|-4|-0.01|-488|-0.19|-4|-0.01|-484|-0.18|-4|-0.01|-484|-0.18|-4|-0.01|-488|-0.19|-4|-0.01|-48|-0.02|-4|-0.01|-484|-0.18|0|0.0|-480|-0.18|-4|-0.01|-20|-0.01|-4|-0.01|-20|-0.01|-4|-0.01|-24|-0.01|-4|-0.01|-488|-0.19|-4|-0.01 `esp8266:esp8266:huzzah`|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A|N/A `rp2040:rp2040:rpipico`|0|0.0|-4|-0.0|-8|-0.0|-4|-0.0|-8|-0.0|-4|-0.0|-8|-0.0|0|0.0|0|0.0|0|0.0|-8|-0.0|-4|-0.0|-8|-0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|-8|-0.0|-4|-0.0|0|0.0|-4|-0.0|-24|-0.0|12|0.0|-24|-0.0|-4|-0.0|0|0.0|-4|-0.0|-32|-0.0|-4|-0.0|-32|-0.0|-4|-0.0|-24|-0.0|-4|-0.0|0|0.0|-4|-0.0|-16|-0.0|-4|-0.0|-8|-0.0|-4|-0.0|-8|-0.0|-4|-0.0|-8|-0.0|-4|-0.0|-24|-0.0|-4|-0.0|-8|-0.0|0|0.0|-8|-0.0|-4|-0.0|0|0.0|-4|-0.0|-8|-0.0|-4|-0.0|-8|-0.0|-4|-0.0|-24|-0.0|-4|-0.0
Click for full report CSV ``` Board,examples/01.Basics/Control_Gain
flash,%,examples/01.Basics/Control_Gain
RAM for global variables,%,examples/01.Basics/Sinewave
flash,%,examples/01.Basics/Sinewave
RAM for global variables,%,examples/01.Basics/Sinewave_HIFI
flash,%,examples/01.Basics/Sinewave_HIFI
RAM for global variables,%,examples/01.Basics/Skeleton
flash,%,examples/01.Basics/Skeleton
RAM for global variables,%,examples/01.Basics/Skeleton_Multi
flash,%,examples/01.Basics/Skeleton_Multi
RAM for global variables,%,examples/01.Basics/Table_Resolution
flash,%,examples/01.Basics/Table_Resolution
RAM for global variables,%,examples/01.Basics/Vibrato
flash,%,examples/01.Basics/Vibrato
RAM for global variables,%,examples/02.Control/Control_Echo_Theremin
flash,%,examples/02.Control/Control_Echo_Theremin
RAM for global variables,%,examples/02.Control/Control_Oscil_Wash
flash,%,examples/02.Control/Control_Oscil_Wash
RAM for global variables,%,examples/02.Control/Control_Tremelo
flash,%,examples/02.Control/Control_Tremelo
RAM for global variables,%,examples/02.Control/EventDelay
flash,%,examples/02.Control/EventDelay
RAM for global variables,%,examples/02.Control/Line_Gliss
flash,%,examples/02.Control/Line_Gliss
RAM for global variables,%,examples/02.Control/Line_Gliss_Double_32k_HIFI
flash,%,examples/02.Control/Line_Gliss_Double_32k_HIFI
RAM for global variables,%,examples/02.Control/Metronome_SampleHuffman
flash,%,examples/02.Control/Metronome_SampleHuffman
RAM for global variables,%,examples/02.Control/Stop_Start
flash,%,examples/02.Control/Stop_Start
RAM for global variables,%,examples/06.Synthesis/AMsynth
flash,%,examples/06.Synthesis/AMsynth
RAM for global variables,%,examples/06.Synthesis/AMsynth_HIFI
flash,%,examples/06.Synthesis/AMsynth_HIFI
RAM for global variables,%,examples/06.Synthesis/Brown_Noise_Realtime
flash,%,examples/06.Synthesis/Brown_Noise_Realtime
RAM for global variables,%,examples/06.Synthesis/Detuned_Beats_Wash
flash,%,examples/06.Synthesis/Detuned_Beats_Wash
RAM for global variables,%,examples/06.Synthesis/Difference_Tone
flash,%,examples/06.Synthesis/Difference_Tone
RAM for global variables,%,examples/06.Synthesis/FMsynth
flash,%,examples/06.Synthesis/FMsynth
RAM for global variables,%,examples/06.Synthesis/FMsynth_32k_HIFI
flash,%,examples/06.Synthesis/FMsynth_32k_HIFI
RAM for global variables,%,examples/06.Synthesis/NonAlias_MetaOscil
flash,%,examples/06.Synthesis/NonAlias_MetaOscil
RAM for global variables,%,examples/06.Synthesis/PDresonant
flash,%,examples/06.Synthesis/PDresonant
RAM for global variables,%,examples/06.Synthesis/PWM_Phasing
flash,%,examples/06.Synthesis/PWM_Phasing
RAM for global variables,%,examples/06.Synthesis/WaveFolder
flash,%,examples/06.Synthesis/WaveFolder
RAM for global variables,%,examples/06.Synthesis/WavePacket_Double
flash,%,examples/06.Synthesis/WavePacket_Double
RAM for global variables,%,examples/06.Synthesis/WavePacket_Sample
flash,%,examples/06.Synthesis/WavePacket_Sample
RAM for global variables,%,examples/06.Synthesis/WavePacket_Single
flash,%,examples/06.Synthesis/WavePacket_Single
RAM for global variables,%,examples/06.Synthesis/Waveshaper
flash,%,examples/06.Synthesis/Waveshaper
RAM for global variables,% STMicroelectronics:stm32:GenF1:pnum=BLUEPILL_F103C8,-4,-0.01,0,0.0,-16,-0.02,0,0.0,48,0.07,8,0.04,-16,-0.02,0,0.0,-12,-0.02,0,0.0,-12,-0.02,0,0.0,-8,-0.01,0,0.0,-4,-0.01,0,0.0,-8,-0.01,0,0.0,-16,-0.02,0,0.0,-12,-0.02,0,0.0,-8,-0.01,0,0.0,40,0.06,8,0.04,-28,-0.04,0,0.0,8,0.01,0,0.0,-24,-0.04,4,0.02,40,0.06,12,0.06,-32,-0.05,0,0.0,-4,-0.01,0,0.0,-20,-0.03,0,0.0,-16,-0.02,0,0.0,48,0.07,8,0.04,-16,-0.02,0,0.0,-40,-0.06,0,0.0,-16,-0.02,0,0.0,-8,-0.01,0,0.0,-12,-0.02,0,0.0,-12,-0.02,0,0.0,-12,-0.02,0,0.0,-28,-0.04,4,0.02 arduino:avr:uno,-98,-0.3,0,0.0,-98,-0.3,0,0.0,50,0.16,-1,-0.05,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-38,-0.12,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,58,0.18,1,0.05,-98,-0.3,0,0.0,-110,-0.34,0,0.0,-98,-0.3,0,0.0,90,0.28,-1,-0.05,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-40,-0.12,0,0.0,80,0.25,-1,-0.05,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0,-98,-0.3,0,0.0 arduino:mbed_giga:giga,-8,-0.0,-8,-0.0,-8,-0.0,-8,-0.0,-8,-0.0,-8,-0.0,0,0.0,0,0.0,0,0.0,0,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,-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,-16,-0.0,-72,-0.0,-16,-0.0,-72,-0.0,-8,-0.0,-8,-0.0,-8,-0.0,-8,-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,0,0.0,0,0.0,-8,-0.0,-8,-0.0,-72,-0.0,-8,-0.0,-8,-0.0,-8,-0.0,-8,-0.0,-8,-0.0,-72,-0.0,-8,-0.0 arduino:samd:adafruit_circuitplayground_m0,-476,-0.18,-4,-0.01,-492,-0.19,-4,-0.01,-492,-0.19,-4,-0.01,-492,-0.19,0,0.0,-484,-0.18,0,0.0,-484,-0.18,-4,-0.01,-484,-0.18,-4,-0.01,-492,-0.19,-4,-0.01,-476,-0.18,-4,-0.01,-476,-0.18,-4,-0.01,-484,-0.18,-4,-0.01,-12,-0.0,-4,-0.01,-36,-0.01,-4,-0.01,-504,-0.19,-4,-0.01,-472,-0.18,-4,-0.01,-504,-0.19,-4,-0.01,-504,-0.19,-4,-0.01,-508,-0.19,-4,-0.01,-476,-0.18,-4,-0.01,-488,-0.19,-4,-0.01,-484,-0.18,-4,-0.01,-484,-0.18,-4,-0.01,-488,-0.19,-4,-0.01,-48,-0.02,-4,-0.01,-484,-0.18,0,0.0,-480,-0.18,-4,-0.01,-20,-0.01,-4,-0.01,-20,-0.01,-4,-0.01,-24,-0.01,-4,-0.01,-488,-0.19,-4,-0.01 esp8266:esp8266:huzzah,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A rp2040:rp2040:rpipico,0,0.0,-4,-0.0,-8,-0.0,-4,-0.0,-8,-0.0,-4,-0.0,-8,-0.0,0,0.0,0,0.0,0,0.0,-8,-0.0,-4,-0.0,-8,-0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,-8,-0.0,-4,-0.0,0,0.0,-4,-0.0,-24,-0.0,12,0.0,-24,-0.0,-4,-0.0,0,0.0,-4,-0.0,-32,-0.0,-4,-0.0,-32,-0.0,-4,-0.0,-24,-0.0,-4,-0.0,0,0.0,-4,-0.0,-16,-0.0,-4,-0.0,-8,-0.0,-4,-0.0,-8,-0.0,-4,-0.0,-8,-0.0,-4,-0.0,-24,-0.0,-4,-0.0,-8,-0.0,0,0.0,-8,-0.0,-4,-0.0,0,0.0,-4,-0.0,-8,-0.0,-4,-0.0,-8,-0.0,-4,-0.0,-24,-0.0,-4,-0.0 ```
tfry-git commented 6 months ago

I promised to explain a bit, what I have done (not in any particular order).

  1. Moved MozziGuts_impl_XYZ headers (and some others) into the "internal" dir.
  2. Moved a few hardware-specific bits out of mozzi_analog.h (into MozziGuts_impl_AVR.hpp).
  3. Moved the random seeding code out of mozzi_rand.cpp and into MozziGuts_impl_XYZ.hpp. This required some acrobatics to comply with the one definition rule, too, which is why part of the implementation now ended up in a (private) class MozziRandomPrivate. In this case, fortunately, no mysterious compiler errors, because no section attributes need to be specified.
  4. Removed (AVR-only) TimerZero code which had been unused for years. Interestingly, this was actually still clogging up flash space due to the ISR definition contained in the lib (compiler cannot know that it wasn't used, somewhere).
  5. Modified MozziGuts.h so it includes MozziGuts.hpp (formerly MozziGuts.cpp) into the same translation unit. That's actually the central (and only strictly required) step (as the other .cpp files do not make direct use of configuration defines). Now this means that a whole lot of internal are actually in the same translation unit as the user sketch. To avoid catastrophic clashes, here, I introduced a namespace MozziPrivate, and put almost everything into that. This latter was actually the most tricky part, because certain things need to stay at the global scope, and others not. I made a few mistakes there, at first, but hope to have ironed those out. The Teensys still need (compilation) testing, however.
  6. Introduced two "wrapper" includes: Mozzi.h and MozziHeadersOnly.h. Mozzi.h will have to be present exactly once in each project from now on, while MozziHeadersOnly.h is for cases, where Mozzi core declarations are needed in more than one translation unit. (Continuing to include MozziGuts.h is still ok, as only one translation unit is involved, but triggers a message, that you should probably update some stuff).
  7. Adjusted the examples, accordingly. Not sure, whether I've caught everything. Keep in mind that our automatic compilation covers only a fraction of the examples, so far. Importantly however, stereo and hifi examples are now actually using an appropriate config (specified inline). So do the external output examples, but those are not yet part of the workflow runs. Platforms that don't support stereo/hifi have a hack to ignore that setting, if - and only if - compiling inside the github workflow.
  8. Fought hard with Doxygen to not just throw away the documentation for all the defines, and ignore half of the documentation groups. (Actual update of generated API-documentation is not contained in this PR).

TLDR:

tomcombriat commented 6 months ago

Without looking at the diffs yet (I tried to kept up to date, but that went a bit fast in the end…), some preliminary answers:

D'accord on switching to Mozzi.h as the new main include file?

Completely, this actually makes more sense to me, name-wise.

Comments on the MozziPrivate namespace hack?

Seems like a clean solution to me, isn't that what namespaces are for basically?

Could you test the Teensies once more? And perhaps an external output sketch or two?

Will try to do soon, alongside a more in-depth review!

tomcombriat commented 6 months ago

Testing

I will update here what tests I do and there results as I go.

Board Condition Compiles Works Comment
AVR EXTERNAL PT8211 yes yes straight from the example
RP2040 EXTERNAL PT8211 yes yes SPI.begin() & SPI.beginTransaction() should be placed after `startMozzi() for some pin config (???)
RP2040 I2S PT8211 yes yes
Teensy 3.2 SPI PT8211 yes yes
Teensy 3.2 standard (DAC mono) yes yes Tested mozziAnalogRead() while at it
Teensy 4.0 standard (PWM mono) yes yes Tested mozziAnalogRead() while at it
Teensy 4.0 SPI PT8211 yes yes

Quick thought, before I forget. I know I was the author of the config_example_rp2040_i2s_pt8211.h, but after thinking about it, I wonder if I should not have put all the possible configurable in there (including DMA for instance, with a warning) so that this file could act as a documentation, if these settings are worth being editable (they are not right now).

Not sure anyone would need to change them, but while this is still fresh maybe worth deciding how much is hidden and not editable and how much should be protected but still editable? That does not concern only the RP2040, but probably other platforms where fine hardware tuning were needed.

To be honest, I think this is probably easier for users as it is right now, and probably easy to change afterward anyway…

tfry-git commented 5 months ago

Ok, in order to keep everything from diverging too far, I think I'll merge this (into devel/Mozzi2), later tonight. As far as I understand, the FixMath2 branch is currently stalled waiting on this, because you are still going to touch the examples, right? I'll try to get that in sync, too.

We can still address the question of how to best set up the MozziPrivate-namespace, later. (Even after Mozzi 2.0, as it won't be user visible).

Regarding your question about additional options in config_example_rp2040_i2s_pt8211.h, I concur, we should not make too much detail too visible. As a rule of thumb, I'd say, anything that isn't immediately expected to make a useful difference "outside the box" should be considered an implementation detail and remain hidden. (E.g. the number of separate buffers).

tomcombriat commented 5 months ago

Hi,

As far as I understand, the FixMath2 branch is currently stalled waiting on this

Well, not really… It is stalled because I do not manage to put enough time on it these days… But it starts to come to an end, Line class adaptation, optimizations and examples change remain and that's it…

We can still address the question of how to best set up the MozziPrivate-namespace, later. (Even after Mozzi 2.0, as it won't be user visible).

I agree. I did not have to work on that file yet (but that might come with the next port I have in mind for the ATTiny), so I honestly do not have a super clear idea of what is best…