@@ -204,7 +204,7 @@ static void vfx_task_handle(void *pvParameter)
204204 uint16_t color_tmp = 0 ;
205205 uint16_t color_idx = 0 ;
206206 uint16_t color_ctr = vfx_ctr ;
207- uint16_t fft_amp [64 ] = {0 };
207+ float fft_amp [64 ] = {0 };
208208 GDisplay * g = gdispGetDisplay (0 );
209209
210210 fft_config_t * fft_plan = fft_init (128 , FFT_COMPLEX , FFT_FORWARD , NULL , NULL );
@@ -229,7 +229,7 @@ static void vfx_task_handle(void *pvParameter)
229229 color_tmp = color_idx ;
230230#if defined(CONFIG_VFX_OUTPUT_ST7735 )
231231 for (uint16_t i = 0 ; i < 52 ; i ++ ) {
232- uint8_t temp = fft_amp [i ] / 819 ;
232+ uint16_t temp = fft_amp [i ] / 819.2 ;
233233 uint32_t pixel_color = read_color_from_table (color_idx , color_ctr );
234234
235235 if (temp > 80 ) {
@@ -249,7 +249,7 @@ static void vfx_task_handle(void *pvParameter)
249249 uint16_t fill_cy = temp ;
250250#else
251251 for (uint16_t i = 0 ; i < 60 ; i ++ ) {
252- uint8_t temp = fft_amp [i ] / 485 ;
252+ uint16_t temp = fft_amp [i ] / 485.5 ;
253253 uint32_t pixel_color = read_color_from_table (color_idx , color_ctr );
254254
255255 if (temp > 135 ) {
@@ -763,7 +763,7 @@ static void vfx_task_handle(void *pvParameter)
763763 uint8_t y = 0 ;
764764 uint16_t color_idx = 0 ;
765765 uint16_t color_ctr = vfx_ctr ;
766- uint16_t fft_amp [64 ] = {0 };
766+ float fft_amp [64 ] = {0 };
767767 fft_config_t * fft_plan = fft_init (128 , FFT_COMPLEX , FFT_FORWARD , NULL , NULL );
768768 while (1 ) {
769769 if (xEventGroupGetBits (user_event_group ) & VFX_RELOAD_BIT ) {
@@ -785,7 +785,7 @@ static void vfx_task_handle(void *pvParameter)
785785
786786 color_idx = 63 ;
787787 for (uint16_t i = 0 ; i < 64 ; i ++ ) {
788- uint8_t temp = fft_amp [i ] / 8192 ;
788+ uint16_t temp = fft_amp [i ] / 8192 ;
789789 if (temp != 0 ) {
790790 fill_cube (x , 7 - y , 0 , x , 7 - y , 7 - temp , 0 , 511 );
791791 fill_cube (x , 7 - y , 7 - temp , x , 7 - y , 7 , color_idx , color_ctr );
@@ -819,7 +819,7 @@ static void vfx_task_handle(void *pvParameter)
819819 uint16_t color_tmp = 0 ;
820820 uint16_t color_idx = 0 ;
821821 uint16_t color_ctr = vfx_ctr ;
822- uint16_t fft_amp [64 ] = {0 };
822+ float fft_amp [64 ] = {0 };
823823 fft_config_t * fft_plan = fft_init (128 , FFT_COMPLEX , FFT_FORWARD , NULL , NULL );
824824 while (1 ) {
825825 if (xEventGroupGetBits (user_event_group ) & VFX_RELOAD_BIT ) {
@@ -841,7 +841,7 @@ static void vfx_task_handle(void *pvParameter)
841841
842842 color_idx = color_tmp ;
843843 for (uint16_t i = 0 ; i < 64 ; i ++ ) {
844- uint8_t temp = fft_amp [i ] / 8192 ;
844+ uint16_t temp = fft_amp [i ] / 8192 ;
845845 if (temp != 0 ) {
846846 fill_cube (x , 7 - y , 0 , x , 7 - y , 7 - temp , 0 , 511 );
847847 fill_cube (x , 7 - y , 7 - temp , x , 7 - y , 7 , color_idx , color_ctr );
@@ -882,7 +882,7 @@ static void vfx_task_handle(void *pvParameter)
882882 uint8_t color_cnt = 0 ;
883883 uint16_t color_idx [64 ] = {0 };
884884 uint16_t color_ctr [64 ] = {vfx_ctr };
885- uint16_t fft_amp [64 ] = {0 };
885+ float fft_amp [64 ] = {0 };
886886 const uint8_t led_idx_table [][64 ] = {
887887 {
888888 3 , 4 , 4 , 3 , 2 , 2 , 2 , 3 , 4 , 5 , 5 , 5 , 5 , 4 , 3 , 2 ,
@@ -924,7 +924,7 @@ static void vfx_task_handle(void *pvParameter)
924924 x = led_idx_table [0 ][i ];
925925 y = led_idx_table [1 ][i ];
926926
927- uint8_t temp = fft_amp [i ] / 8192 ;
927+ uint16_t temp = fft_amp [i ] / 8192 ;
928928 if (temp != 0 ) {
929929 fill_cube (x , 7 - y , 0 , x , 7 - y , 7 - temp , 0 , 511 );
930930 fill_cube (x , 7 - y , 7 - temp , x , 7 - y , 7 , color_idx [i ], color_ctr [i ]);
0 commit comments