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