Ensure correct naming for PWM devices

This commit is contained in:
2024-09-03 01:41:08 +02:00
parent bee711c9ff
commit cd1a481ef6

View File

@@ -10,14 +10,19 @@
#define MOS03 PB2 // Lights Enable #define MOS03 PB2 // Lights Enable
// PWM Devices // PWM Devices
#define FAN01 PD4 // Fan Peltier Hot Side Speed #define FAN01 PD4 // NF-12 Fan Peltier Hot Side Speed
#define FAN02 PD5 // Fan Peltier Cold Side Speed #define FAN02 PD5 // NF-A8 Fan Peltier Cold Side Speed
#define HOT01 PD7 // Heating Temperature #define FAN03 PD7 // NF-R8 Fan Heating Element Speed
// Sensors
#define AHT01 0x0 // Upper Sensor TWI Channel
#define AHT02 0x1 // Middle Sensor TWI Channel
#define AHT03 0x2 // Lower Sensor TWI Channel
#define PWM_CYCLE_TOP (F_CPU / 25000) // 25 KHz #define PWM_CYCLE_TOP (F_CPU / 25000) // 25 KHz
#define FAN01_MIN_DUTY (PWM_CYCLE_TOP * 0.2f) #define FAN01_MIN_DUTY (PWM_CYCLE_TOP * 0.2f)
#define FAN02_MIN_DUTY (PWM_CYCLE_TOP * 0.2f) #define FAN02_MIN_DUTY (PWM_CYCLE_TOP * 0.2f)
#define HOT01_MIN_DUTY 0 #define FAN03_MIN_DUTY (PWM_CYCLE_TOP * 0.2f)
static void SetPinDefaults(void); static void SetPinDefaults(void);
static void SetTwiChannel(int channel); static void SetTwiChannel(int channel);
@@ -41,7 +46,7 @@ int main(void)
// PWM_Set(FAN01, 50); // PWM_Set(FAN01, 50);
// PWM_Set(FAN02, 50); // PWM_Set(FAN02, 50);
// PWM_Set(HOT01, 50); // PWM_Set(FAN03, 0);
SetMosState(MOS01, false); SetMosState(MOS01, false);
SetMosState(MOS02, false); SetMosState(MOS02, false);
@@ -49,7 +54,7 @@ int main(void)
SetPwmValue(FAN01, 50); SetPwmValue(FAN01, 50);
SetPwmValue(FAN02, 50); SetPwmValue(FAN02, 50);
SetPwmValue(HOT01, 0); SetPwmValue(FAN03, 20);
SetTwiChannel(0); // I2C Mux SetTwiChannel(0); // I2C Mux
@@ -68,24 +73,24 @@ static void SetPinDefaults(void)
// Initialize Pin Outputs // Initialize Pin Outputs
// ====================== // ======================
// PB0: MOSFET #1 (Peltier) // PB0: MOSFET #1 Peltier
DDRB |= BIT(PB0); // Out DDRB |= BIT(PB0); // Out
PORTB &= ~BIT(PB0); // Low PORTB &= ~BIT(PB0); // Low
// PB1: MOSFET #2 (Heating) // PB1: MOSFET #2 Heating
DDRB |= BIT(PB1); // Out DDRB |= BIT(PB1); // Out
PORTB &= ~BIT(PB1); // Low PORTB &= ~BIT(PB1); // Low
// PB2: MOSFET #3 (Lights) // PB2: MOSFET #3 Lights
DDRB |= BIT(PB2); // Out DDRB |= BIT(PB2); // Out
PORTB |= BIT(PB2); // High PORTB |= BIT(PB2); // High
// PD4: PWM Peltier Hot Side // PD4: PWM NF-12 Fan Peltier Hot Side
// PD5: PWM Peltier Cold Side // PD5: PWM NF-A8 Fan Peltier Cold Side
// PD7: PWM Heating // PD7: PWM NF-R8 Fan Heating Element
DDRD |= BIT(PD4) | BIT(PD5) | BIT(PD7); DDRD |= BIT(PD4) | BIT(PD5) | BIT(PD7);
@@ -95,9 +100,11 @@ static void SetPinDefaults(void)
TCCR2 = BIT(WGM20) | BIT(WGM21) | BIT(COM21) | BIT(CS20); TCCR2 = BIT(WGM20) | BIT(WGM21) | BIT(COM21) | BIT(CS20);
ICR1 = PWM_CYCLE_TOP; // 8000 MHz / 25000 KHz ICR1 = PWM_CYCLE_TOP; // 8000 MHz / 25000 KHz
// TODO: Get 25 KHz frequency for timer 3
OCR1A = FAN01_MIN_DUTY; OCR1A = FAN01_MIN_DUTY;
OCR1B = FAN02_MIN_DUTY; OCR1B = FAN02_MIN_DUTY;
OCR2 = HOT01_MIN_DUTY; OCR2 = FAN03_MIN_DUTY;
} }
static void SetTwiChannel(int channel) static void SetTwiChannel(int channel)
@@ -168,7 +175,7 @@ static void SetMosState(int port, bool state)
} }
// Port must be PD4, PD5 or PD7 and the value is // Port must be PD4, PD5 or PD7 and the value is
// expected to be in the range between 0 and 100. // expected to be in the range between 0 and 100
static void SetPwmValue(int port, int value) static void SetPwmValue(int port, int value)
{ {
int n; int n;