Settled on this being the best looking on the actual mask

This commit is contained in:
William Miceli
2020-08-27 23:46:48 -04:00
parent 290c40d288
commit 33eb3b9d80
7 changed files with 9722 additions and 8159 deletions

View File

@@ -620,34 +620,40 @@ static void MX_GPIO_Init(void)
/* USER CODE BEGIN 4 */
uint8_t getSoundLevel(void){
// Adjustment / Calibration
static uint8_t divisor = 2;
static uint8_t postscale_DownShift = 0;
static uint8_t prescale_DownShift = 180;
static uint8_t multiplier = 3;
static uint8_t cutoff = 90;
static uint16_t averagedDifferences = 0;
// By order of process
uint8_t samples[8];
uint16_t estimatedSoundLevel = 0;
static uint16_t averagedReturnValue = 0;
uint16_t returnValue;
uint8_t samples[16];
uint16_t sumOfDifferences = 0;
for(uint8_t i = 0; i < sizeof(samples); ++i){
HAL_Delay(1);
HAL_ADC_Start(&hadc3);
HAL_ADC_PollForConversion(&hadc3, (uint32_t) 20);
samples[i] = HAL_ADC_GetValue(&hadc3);
}
for(uint8_t i = 0; i < sizeof(samples) - 1; ++i){
sumOfDifferences += abs(samples[i] - samples[i + 1]);
for(uint8_t i = 0; i < sizeof(samples); ++i){
estimatedSoundLevel += samples[i];
}
estimatedSoundLevel /= sizeof(samples);
if(estimatedSoundLevel <= cutoff){
returnValue = 0;
}else{
returnValue = (uint16_t) (2 * (estimatedSoundLevel - cutoff));
}
averagedDifferences += ((int32_t) sumOfDifferences - (int32_t) averagedDifferences) / 4;
averagedReturnValue += ((int32_t) returnValue - (int32_t) averagedReturnValue) / 3;
if(averagedDifferences < prescale_DownShift){returnValue = 0;}else{returnValue = averagedDifferences - prescale_DownShift;}
returnValue = (returnValue / divisor) * multiplier;
if(returnValue < postscale_DownShift){returnValue = 0;}else{returnValue -= postscale_DownShift;}
if(returnValue >= 0xFF){return 0xFF;} else{return returnValue;}
if(averagedReturnValue >= 0xFF){
return 0xFF;
}else if(averagedReturnValue <= 10){
return 0x00;
}else{
return averagedReturnValue;
}
}
void LEDDesign_Off(void){
for(uint8_t i = 0; i < 64; ++i){

Binary file not shown.

View File

@@ -1,19 +1,21 @@
core_cm4.h:2064:26:ITM_SendChar 16 static,ignoring_inline_asm
main.c:89:5:_write 32 static
main.c:103:5:main 8 static
main.c:182:6:SystemClock_Config 88 static
main.c:226:13:MX_ADC3_Init 24 static
main.c:276:13:MX_SPI4_Init 8 static
main.c:314:13:MX_TIM6_Init 16 static
main.c:356:13:MX_GPIO_Init 64 static
main.c:619:9:getSoundLevel 32 static
main.c:650:6:LEDDesign_Off 16 static
main.c:657:6:LEDDesign_ColorWhite 16 static
main.c:664:6:LEDDesign_ColorBlue 16 static
main.c:675:6:LEDDesign_ColorGreen 16 static
main.c:686:6:LEDDesign_ColorRed 16 static
main.c:697:6:LEDDesign_Crazy 32 static
main.c:705:6:LEDDesign_Smile 16 static
main.c:900:6:LEDDesign_SuperCrazy 24 static
main.c:915:6:updateWS2812BData 16 static
main.c:1032:6:Error_Handler 4 static
main.c:91:5:_write 32 static
main.c:105:5:main 8 static
main.c:184:6:SystemClock_Config 88 static
main.c:228:13:MX_ADC3_Init 24 static
main.c:278:13:MX_SPI4_Init 8 static
main.c:316:13:MX_TIM6_Init 16 static
main.c:358:13:MX_GPIO_Init 64 static
main.c:621:9:getSoundLevel 24 static
main.c:658:6:LEDDesign_Off 16 static
main.c:665:6:LEDDesign_ColorWhite 16 static
main.c:672:6:LEDDesign_ColorBlue 16 static
main.c:683:6:LEDDesign_ColorGreen 16 static
main.c:694:6:LEDDesign_ColorRed 16 static
main.c:705:6:LEDDesign_Crazy 32 static
main.c:713:6:LEDDesign_Smile 24 static
main.c:780:6:LEDDesign_SuperCrazy 24 static
main.c:795:9:lookupLED 16 static
main.c:1024:6:setLED 16 static
main.c:1029:6:updateWS2812BData 16 static
main.c:1146:6:Error_Handler 4 static

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff