parent
0f83223bc8
commit
60a7542dc9
|
|
@ -21,7 +21,7 @@ typedef struct {
|
||||||
volatile uint8_t *heater_port; ///< pointer to port. DDR is inferred from this pointer too
|
volatile uint8_t *heater_port; ///< pointer to port. DDR is inferred from this pointer too
|
||||||
volatile uint8_t *heater_pwm; ///< pointer to 8-bit PWM register, eg OCR0A (8-bit) or ORC3L (low byte, 16-bit)
|
volatile uint8_t *heater_pwm; ///< pointer to 8-bit PWM register, eg OCR0A (8-bit) or ORC3L (low byte, 16-bit)
|
||||||
};
|
};
|
||||||
uint8_t heater_pin; ///< heater pin, not masked. eg for PB3 enter '3' here, or PB3_PIN or similar
|
uint8_t masked_pin; ///< heater pin, masked. eg for PB3 enter '1 << 3' here, or 1 << PB3_PIN or similar
|
||||||
|
|
||||||
uint16_t max_value; ///< max value for the heater, for PWM in percent * 256
|
uint16_t max_value; ///< max value for the heater, for PWM in percent * 256
|
||||||
pwm_type_t pwm_type; ///< saves the pwm-type: NO_PWM, SOFTWARE_PWM, HARDWARE_PWM
|
pwm_type_t pwm_type; ///< saves the pwm-type: NO_PWM, SOFTWARE_PWM, HARDWARE_PWM
|
||||||
|
|
@ -37,7 +37,7 @@ typedef struct {
|
||||||
(pin ## _PWM) : \
|
(pin ## _PWM) : \
|
||||||
&(pin ## _WPORT), \
|
&(pin ## _WPORT), \
|
||||||
}, \
|
}, \
|
||||||
pin ## _PIN, \
|
MASK(pin ## _PIN), \
|
||||||
(PWM_TYPE(pwm, pin) != SOFTWARE_PWM) ? \
|
(PWM_TYPE(pwm, pin) != SOFTWARE_PWM) ? \
|
||||||
(((max_value) * 64 + 12) / 25) : \
|
(((max_value) * 64 + 12) / 25) : \
|
||||||
(uint16_t)(255UL * 100 / (max_value)), \
|
(uint16_t)(255UL * 100 / (max_value)), \
|
||||||
|
|
@ -174,9 +174,9 @@ void do_heater(heater_t index, uint8_t value) {
|
||||||
else {
|
else {
|
||||||
if ((value >= HEATER_THRESHOLD && ! heaters[index].invert) ||
|
if ((value >= HEATER_THRESHOLD && ! heaters[index].invert) ||
|
||||||
(value < HEATER_THRESHOLD && heaters[index].invert))
|
(value < HEATER_THRESHOLD && heaters[index].invert))
|
||||||
*(heaters[index].heater_port) |= MASK(heaters[index].heater_pin);
|
*(heaters[index].heater_port) |= heaters[index].masked_pin;
|
||||||
else
|
else
|
||||||
*(heaters[index].heater_port) &= ~MASK(heaters[index].heater_pin);
|
*(heaters[index].heater_port) &= ~heaters[index].masked_pin;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (value)
|
if (value)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue