You need to sign in or sign up before continuing.
Commit e6683080 authored by Oleg Nikulin's avatar Oleg Nikulin

Включение вентиляторов на максимум на пару секунд при старте платы

parent 0667af2d
...@@ -14,8 +14,9 @@ def open_serial(port, baudrate): ...@@ -14,8 +14,9 @@ def open_serial(port, baudrate):
except OSError: except OSError:
return None return None
print('Delay before starting serial...') delaySec = 4
time.sleep(2) print(f'Delay {round(delaySec)} seconds before starting serial...')
time.sleep(delaySec)
serial_port.reset_input_buffer() serial_port.reset_input_buffer()
serial_port.reset_output_buffer() serial_port.reset_output_buffer()
return serial_port return serial_port
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
#define MAX_PWM_DUTY_CYCLE 254 //Максимальная скважность ШИМ #define MAX_PWM_DUTY_CYCLE 254 //Максимальная скважность ШИМ
#define OFF_DUTY_CYCLE 0 //Условная скважность, при которой на самом деле вентиялтор выключен #define OFF_DUTY_CYCLE 0 //Условная скважность, при которой на самом деле вентиялтор выключен
#define ON_DUTY_CYCLE 255 //Условная скважность, при которой на самом деле вентиялтор постоянно включен #define ON_DUTY_CYCLE 255 //Условная скважность, при которой на самом деле вентиялтор постоянно включен
#define DEFAULT_PWM_DUTY_CYCLE ON_DUTY_CYCLE //Скважность ШИМ по умолчанию (до подключения к пк) #define FAN_STARTUP_DURATION 2000//Длительность максимальной скважности на вентиляторах при запуске (мс). Работает только один раз при включении платы!
#define BEEP_INTERVAL 1000 //Интервал пищания во время потери связи или перегрева (мс) #define BEEP_INTERVAL 1000 //Интервал пищания во время потери связи или перегрева (мс)
#define BEEP_STRENGTH 100 //Уровень ШИМ для пищалки. (При 255 не работает, нужно чтобы был именно ШИМ) #define BEEP_STRENGTH 100 //Уровень ШИМ для пищалки. (При 255 не работает, нужно чтобы был именно ШИМ)
...@@ -516,9 +516,10 @@ void setup() { ...@@ -516,9 +516,10 @@ void setup() {
TIMSK2 |= (1 << OCIE2B); //вкл. вызов прерывания таймера 2 по сравнению B TIMSK2 |= (1 << OCIE2B); //вкл. вызов прерывания таймера 2 по сравнению B
TIMSK2 |= (1 << TOIE2); //вкл. вызов прерывания при переполнении таймера 2 TIMSK2 |= (1 << TOIE2); //вкл. вызов прерывания при переполнении таймера 2
for (int i = 0; i < CONTROL_COUNT; i++) { //установка скважности по умолчанию for (int i = 0; i < CONTROL_COUNT; i++) { //установка полной скважности
set_duty_cycle(controls[i], DEFAULT_PWM_DUTY_CYCLE); set_duty_cycle(controls[i], ON_DUTY_CYCLE);
} }
delay(FAN_STARTUP_DURATION);
#ifdef STANDALONE_MODE #ifdef STANDALONE_MODE
control_a.target_temperature = 28; control_a.target_temperature = 28;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment