Trying to fix delay...

pull/32/head
Holger Wirtz 5 years ago
parent 73060ecf30
commit 7ff1c6575d
  1. 16
      MicroDexed.ino
  2. 1
      UI.hpp
  3. 2
      config.h

@ -356,8 +356,6 @@ void setup()
#endif #endif
#endif #endif
initial_values_from_eeprom(false);
#if defined(USE_FX) #if defined(USE_FX)
// Init effects // Init effects
for (uint8_t instance_id = 0; instance_id < NUM_DEXED; instance_id++) for (uint8_t instance_id = 0; instance_id < NUM_DEXED; instance_id++)
@ -379,6 +377,8 @@ void setup()
#endif #endif
#endif #endif
initial_values_from_eeprom(false);
// start SD card // start SD card
#ifdef DISPLAY_LCD_SPI #ifdef DISPLAY_LCD_SPI
change_disp_sd(false); change_disp_sd(false);
@ -1465,8 +1465,9 @@ void initial_values_from_eeprom(bool init)
MicroDexed[instance_id]->fx.Gain = 1.0; MicroDexed[instance_id]->fx.Gain = 1.0;
MicroDexed[instance_id]->fx.Reso = mapfloat(configuration.dexed[instance_id].filter_resonance, FILTER_RESONANCE_MIN, FILTER_RESONANCE_MAX, 1.0, 0.0); MicroDexed[instance_id]->fx.Reso = mapfloat(configuration.dexed[instance_id].filter_resonance, FILTER_RESONANCE_MIN, FILTER_RESONANCE_MAX, 1.0, 0.0);
MicroDexed[instance_id]->fx.Cutoff = mapfloat(configuration.dexed[instance_id].filter_cutoff, FILTER_CUTOFF_MIN, FILTER_CUTOFF_MAX, 1.0, 0.0); MicroDexed[instance_id]->fx.Cutoff = mapfloat(configuration.dexed[instance_id].filter_cutoff, FILTER_CUTOFF_MIN, FILTER_CUTOFF_MAX, 1.0, 0.0);
dexed_level[instance_id]->gain(pseudo_log_curve(mapfloat(configuration.dexed[instance_id].sound_intensity, SOUND_INTENSITY_MIN, SOUND_INTENSITY_MAX, 0.0, SOUND_INTENSITY_AMP_MAX)));
*/ */
//dexed_level[instance_id]->gain(pseudo_log_curve(mapfloat(configuration.dexed[instance_id].sound_intensity, SOUND_INTENSITY_MIN, SOUND_INTENSITY_MAX, 0.0, SOUND_INTENSITY_AMP_MAX)));
} }
set_fx_params(); set_fx_params();
set_sys_params(); set_sys_params();
@ -1845,6 +1846,11 @@ void set_sys_params(void)
HELPERS HELPERS
******************************************************************************/ ******************************************************************************/
float mapfloat(float val, float in_min, float in_max, float out_min, float out_max)
{
return (val - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
}
// https://www.reddit.com/r/Teensy/comments/7r19uk/reset_and_reboot_teensy_lc_via_code/ // https://www.reddit.com/r/Teensy/comments/7r19uk/reset_and_reboot_teensy_lc_via_code/
#define SCB_AIRCR (*(volatile uint32_t *)0xE000ED0C) // Application Interrupt and Reset Control location #define SCB_AIRCR (*(volatile uint32_t *)0xE000ED0C) // Application Interrupt and Reset Control location
void _softRestart(void) void _softRestart(void)
@ -1857,12 +1863,12 @@ float pseudo_log_curve(float value)
{ {
const float _pseudo_log = 1048575 / (float)(1 << 20); const float _pseudo_log = 1048575 / (float)(1 << 20);
/* #ifdef DEBUG #ifdef DEBUG
Serial.print(F("value in: ")); Serial.print(F("value in: "));
Serial.print(value, 3); Serial.print(value, 3);
Serial.print(F(" value out: ")); Serial.print(F(" value out: "));
Serial.println(mapfloat(_pseudo_log * arm_sin_f32(value), 0.0, _pseudo_log * arm_sin_f32(1.0), 0.0, 1.0), 3); Serial.println(mapfloat(_pseudo_log * arm_sin_f32(value), 0.0, _pseudo_log * arm_sin_f32(1.0), 0.0, 1.0), 3);
#endif */ #endif
return (mapfloat(_pseudo_log * arm_sin_f32(value), 0.0, _pseudo_log * arm_sin_f32(1.0), 0.0, 1.0)); return (mapfloat(_pseudo_log * arm_sin_f32(value), 0.0, _pseudo_log * arm_sin_f32(1.0), 0.0, 1.0));
} }

@ -57,6 +57,7 @@ extern void eeprom_update_performance(void);
extern void eeprom_update_fx(void); extern void eeprom_update_fx(void);
extern void eeprom_update_dexed(uint8_t instance_id); extern void eeprom_update_dexed(uint8_t instance_id);
extern float pseudo_log_curve(float value); extern float pseudo_log_curve(float value);
extern float mapfloat(float val, float in_min, float in_max, float out_min, float out_max);
extern uint8_t selected_instance_id; extern uint8_t selected_instance_id;
#ifdef DISPLAY_LCD_SPI #ifdef DISPLAY_LCD_SPI

@ -601,6 +601,7 @@ typedef struct configuration_s {
uint32_t _marker_; uint32_t _marker_;
} config_t; } config_t;
/*
#if !defined(_MAPFLOAT) #if !defined(_MAPFLOAT)
#define _MAPFLOAT #define _MAPFLOAT
inline float mapfloat(float val, float in_min, float in_max, float out_min, float out_max) inline float mapfloat(float val, float in_min, float in_max, float out_min, float out_max)
@ -608,5 +609,6 @@ inline float mapfloat(float val, float in_min, float in_max, float out_min, floa
return (val - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; return (val - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
} }
#endif #endif
*/
#endif // CONFIG_H_INCLUDED #endif // CONFIG_H_INCLUDED

Loading…
Cancel
Save