173       #ifdef TX_PERIODIC_FFT 
  175           if(
sci==NULL) 
return;
 
  179               sci->printf(F(
"S 512")); 
 
  180               for(
int i = 0; i < 512; i+=1){
 
  193               sci->println(F(
"S FIN")); 
 
  202             if (
oscBank[i].
cqtBin < 
high_range) 
sci->printf(F(
"CQT_L %d,%s,%.0f,%.0f,%.2f,%.3f,%.3f\n"),
oscBank[i].
cqtBin,
note_name[
oscBank[i].
cqtBin],
oscBank[i].
peakFrequency,
note_freq[
oscBank[i].
cqtBin],
oscBank[i].
phase,
oscBank[i].
avgValueFast,
oscBank[i].
avgValueSlow*1000.0,
oscBank[i].
transientValue*100.0);
 
  203             if (
oscBank[i].
cqtBin >= 
high_range) 
sci->printf(F(
"CQT_H %d,%s,%.0f,%.0f,%.2f,%.3f,%.3f\n"),
oscBank[i].
cqtBin,
note_name[
oscBank[i].
cqtBin],
oscBank[i].
peakFrequency,
note_freq[
oscBank[i].
cqtBin],
oscBank[i].
phase,
oscBank[i].
avgValueFast,
oscBank[i].
avgValueSlow*1000.0,
oscBank[i].
transientValue*100.0);
 
  205           sci->printf(F(
"CQT_EOF\n"));
 
  215       if (
draw == NULL) 
return;
 
  218       draw->setFont(Arial_8);
 
  219       draw->setTextColor(ILI9341_DARKGREY);
 
  220       for(uint8_t i=1;i < 18; i++){
 
  221         draw->drawLine(
x,
y +  (
h - (log1p((0.1 * i))) * 
h),
x+
w,
y + (
h - (log1p((0.1 * i))) * 
h),ILI9341_DARKCYAN);
 
  223           draw->setCursor(
x + i * 17,
y+ (
h - (log1p((0.1 * i))) * 
h) - 9);
 
  224           if (i < 17) 
draw->print((log1p((0.1 * i))));
 
  236         signal = (log1p(amp)) * 
h;
 
  237         if (signal>(
h-1)) signal = 
h-1;
 
  238         if (signal<0) signal = 0;
 
  241         draw->fillRoundRect(
x+nx,
y+
h - (uint16_t)signal,2,(uint16_t)signal,1,ILI9341_CYAN);
 
  243         signal = (log1p(amp)) * 
h;
 
  244         if (signal>(
h-1)) signal = 
h-1;
 
  245         if (signal<0) signal = 0;
 
  247         draw->fillRoundRect(
x+nx,
y+
h - (uint16_t)signal,2,(uint16_t)signal,1,ILI9341_MAGENTA);
 
  251       draw->setTextColor(ILI9341_GREENYELLOW);
 
  254         signal = (log1p(amp)) * 
h;
 
  255         if (signal<0) signal = 0;
 
  256         if (signal>(
h-1)) signal = 
h-1;
 
  258         if ((
y+
h - (uint16_t)signal) < 
h && signal > 1) 
draw->fillRoundRect(
x+nx,
y+
h - (uint16_t)signal,2,4,1,CL(0xFF,0xA0,(uint8_t)(300*
oscBank[i].
transientValue)));
 
  260           draw->setCursor(
x+nx - 5,
y+
h - (uint16_t)signal - 35);
 
  262           draw->setCursor(
x+nx - 5,
y+
h - (uint16_t)signal - 50);  
 
  268       draw->drawRoundRect(
x,
y,
w,
h,4,ILI9341_MAGENTA);
 
  272         draw->setTextColor(ILI9341_DARKCYAN);
 
  275         draw->setTextColor(ILI9341_MAGENTA);
 
static const char * note_name[]
static const float note_freq[]
SvcSerialCommandInterface * sci
uint8_t fft_buffer_select_for_serial_transmit
FFTReadRange fftLowRR[NOTE_ARRAY_LENGTH]
erisAudioAnalyzeFFT1024 * fft
FFTReadRange fftHighRR[NOTE_ARRAY_LENGTH]
elapsedMillis fft_buffer_serial_transmit_elapsed
FFTReadRange oscBank[OSC_BANK_SIZE]
elapsedMillis cqt_serial_transmit_elapsed
erisAudioAnalyzeFFT1024 * fft2
bool requestStartLZ4Message()
request to start a lz4 compressed message  starts the message and returns true if available returns f...
void sendLZ4Message()
Calling this function signals the end of a compressed message.  The txBuffer contents are lz4 compres...
static void sort_fftrr_by_cqt_bin(FFTReadRange *a, size_t n)