Fix handling of uninitialised EEPROM values
PWM channels now set to 0, CC channel to 30mA, dt to 1000us
This commit is contained in:
parent
c237226428
commit
144093e252
2 changed files with 23 additions and 2 deletions
|
|
@ -125,14 +125,27 @@ void illumination_setup()
|
|||
#ifdef WIRING_CC_LED
|
||||
EEPROM.get(cc_value_eeprom, cc_value);
|
||||
pinMode(WIRING_CC_LED, OUTPUT);
|
||||
if (cc_value > 32.0)
|
||||
{
|
||||
//default value ~30mA
|
||||
cc_value = 10;
|
||||
EEPROM.put(cc_value_eeprom, cc_value);
|
||||
}
|
||||
|
||||
if (cc_value > 0)
|
||||
cc_set_value(cc_value/32.0);
|
||||
#endif
|
||||
|
||||
bool frequency_valid = false;
|
||||
#ifdef MCU_PICO
|
||||
frequency_valid = true;
|
||||
EEPROM.get(pwm_frequency_eeprom, pwm_frequency);
|
||||
if (pwm_frequency < 1)
|
||||
if (pwm_frequency < 1 || pwm_frequency > 2000000)
|
||||
{
|
||||
frequency_valid = false;
|
||||
pwm_frequency = 64000;
|
||||
EEPROM.put(pwm_frequency_eeprom, pwm_frequency);
|
||||
}
|
||||
analogWriteRange(65535);
|
||||
analogWriteFreq(pwm_frequency);//32khz seems sensible
|
||||
#endif
|
||||
|
|
@ -140,6 +153,14 @@ void illumination_setup()
|
|||
for(int i = 0; i < PWM_NUM; i++)
|
||||
{
|
||||
EEPROM.get(pwm_values_eeprom+i*sizeof(uint16_t), pwm_values[i]);
|
||||
//rp2040 has 16bit PWM range so we rely on frequency to check if this
|
||||
//is the first start. On other platforms this value is enough
|
||||
if (pwm_values[i] == 65535 && !frequency_valid)
|
||||
{
|
||||
pwm_values[i] = 0;
|
||||
EEPROM.put(pwm_values_eeprom+i*sizeof(uint16_t), pwm_values[i]);
|
||||
}
|
||||
|
||||
if (pwm_values[i] > 0)
|
||||
analogWrite(pwm_led_pins[i], pwm_values[i]);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ void stage_setup()
|
|||
}
|
||||
|
||||
EEPROM.get(min_step_delay_eeprom, min_step_delay);
|
||||
if (min_step_delay < 0)
|
||||
if (min_step_delay <= 0)
|
||||
{ // -1 seems to be what we get if it's uninitialised.
|
||||
min_step_delay = 1000;
|
||||
EEPROM.put(min_step_delay_eeprom, min_step_delay);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue