optimization

This commit is contained in:
jonathan.wyss
2025-09-11 20:13:52 +02:00
parent b274fece85
commit 2ecdc9a788

13
main.c
View File

@@ -1,3 +1,4 @@
#include<math.h>
#include<util/delay.h> #include<util/delay.h>
#include<avr/io.h> #include<avr/io.h>
#include"fix_fft.h" #include"fix_fft.h"
@@ -7,6 +8,7 @@
#include"main.h" #include"main.h"
#define STARTADC ADCSRA |= (1<<ADSC) #define STARTADC ADCSRA |= (1<<ADSC)
#define WAITADC ADCSRA & (1<<ADSC)
#define PB_mic PB0 #define PB_mic PB0
#define NOISE 100 #define NOISE 100
#define SCALE_FACTOR 10 #define SCALE_FACTOR 10
@@ -38,9 +40,9 @@ int main (void)
int colorb; int colorb;
int colora; int colora;
int sum,avg; int sum,avg;
char sample[64]; static char sample[64];
char im[64]; static char im[64];
char buff[64]; static char buff[64];
char temp; char temp;
msec=0; msec=0;
struct cRGB led_bar1[8]; struct cRGB led_bar1[8];
@@ -69,6 +71,7 @@ int main (void)
{ {
msec=0; msec=0;
STARTADC; STARTADC;
WAITADC;//as adc is slower than cpu
sample[i] = (ADCH-128); //read Analog value register 8bit center -128 sample[i] = (ADCH-128); //read Analog value register 8bit center -128
//sample[i] = (sample[i] <= NOISE) ? 0 : (sample[i] - NOISE); //noise reduction //sample[i] = (sample[i] <= NOISE) ? 0 : (sample[i] - NOISE); //noise reduction
im[i]=0; //pseudo data for funciton im[i]=0; //pseudo data for funciton
@@ -121,14 +124,16 @@ int main (void)
led_bar1[i].b=sample[i]/2; led_bar1[i].b=sample[i]/2;
} }
} }
cli();//disable interupts to prevent intereference
ws2812_setleds(led_bar1,8); ws2812_setleds(led_bar1,8);
sei();//reenable interupts
} }
return 0; return 0;
} }
int map(int value, int old_min, int old_max,int new_min, int new_max) int map(int value, int old_min, int old_max,int new_min, int new_max)
{ {
return (new_max/old_max*value); return (value - old_min) * (new_max - new_min) / (old_max - old_min) + new_min;
} }
void setupTimer(void) void setupTimer(void)