committed by
Scott Lahteine
parent
428b67db31
commit
56cec9690a
@ -1348,7 +1348,7 @@ void Endstops::update() {
|
||||
ES_REPORT_CHANGE(K_MAX);
|
||||
#endif
|
||||
SERIAL_ECHOLNPGM("\n");
|
||||
set_pwm_duty(pin_t(LED_PIN), local_LED_status);
|
||||
hal.set_pwm_duty(pin_t(LED_PIN), local_LED_status);
|
||||
local_LED_status ^= 255;
|
||||
old_live_state_local = live_state_local;
|
||||
}
|
||||
|
@ -703,7 +703,7 @@ void Planner::init() {
|
||||
// All other 32-bit MPUs can easily do inverse using hardware division,
|
||||
// so we don't need to reduce precision or to use assembly language at all.
|
||||
// This routine, for all other archs, returns 0x100000000 / d ~= 0xFFFFFFFF / d
|
||||
static FORCE_INLINE uint32_t get_period_inverse(const uint32_t d) {
|
||||
FORCE_INLINE static uint32_t get_period_inverse(const uint32_t d) {
|
||||
return d ? 0xFFFFFFFF / d : 0xFFFFFFFF;
|
||||
}
|
||||
#endif
|
||||
@ -1260,7 +1260,7 @@ void Planner::recalculate() {
|
||||
#if ENABLED(FAN_SOFT_PWM)
|
||||
#define _FAN_SET(F) thermalManager.soft_pwm_amount_fan[F] = CALC_FAN_SPEED(F);
|
||||
#else
|
||||
#define _FAN_SET(F) set_pwm_duty(pin_t(FAN##F##_PIN), CALC_FAN_SPEED(F));
|
||||
#define _FAN_SET(F) hal.set_pwm_duty(pin_t(FAN##F##_PIN), CALC_FAN_SPEED(F));
|
||||
#endif
|
||||
#define FAN_SET(F) do{ kickstart_fan(fan_speed, ms, F); _FAN_SET(F); }while(0)
|
||||
|
||||
@ -1397,8 +1397,8 @@ void Planner::check_axes_activity() {
|
||||
TERN_(AUTOTEMP, autotemp_task());
|
||||
|
||||
#if ENABLED(BARICUDA)
|
||||
TERN_(HAS_HEATER_1, set_pwm_duty(pin_t(HEATER_1_PIN), tail_valve_pressure));
|
||||
TERN_(HAS_HEATER_2, set_pwm_duty(pin_t(HEATER_2_PIN), tail_e_to_p_pressure));
|
||||
TERN_(HAS_HEATER_1, hal.set_pwm_duty(pin_t(HEATER_1_PIN), tail_valve_pressure));
|
||||
TERN_(HAS_HEATER_2, hal.set_pwm_duty(pin_t(HEATER_2_PIN), tail_e_to_p_pressure));
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -30,7 +30,7 @@
|
||||
|
||||
#include "servo.h"
|
||||
|
||||
HAL_SERVO_LIB servo[NUM_SERVOS];
|
||||
hal_servo_t servo[NUM_SERVOS];
|
||||
|
||||
#if ENABLED(EDITABLE_SERVO_ANGLES)
|
||||
uint16_t servo_angles[NUM_SERVOS][2];
|
||||
|
@ -112,5 +112,5 @@
|
||||
#define MOVE_SERVO(I, P) servo[I].move(P)
|
||||
#define DETACH_SERVO(I) servo[I].detach()
|
||||
|
||||
extern HAL_SERVO_LIB servo[NUM_SERVOS];
|
||||
extern hal_servo_t servo[NUM_SERVOS];
|
||||
void servo_init();
|
||||
|
@ -1474,7 +1474,7 @@ void Stepper::isr() {
|
||||
#ifndef __AVR__
|
||||
// Disable interrupts, to avoid ISR preemption while we reprogram the period
|
||||
// (AVR enters the ISR with global interrupts disabled, so no need to do it here)
|
||||
DISABLE_ISRS();
|
||||
hal.isr_off();
|
||||
#endif
|
||||
|
||||
// Program timer compare for the maximum period, so it does NOT
|
||||
@ -1492,7 +1492,7 @@ void Stepper::isr() {
|
||||
hal_timer_t min_ticks;
|
||||
do {
|
||||
// Enable ISRs to reduce USART processing latency
|
||||
ENABLE_ISRS();
|
||||
hal.isr_on();
|
||||
|
||||
if (!nextMainISR) pulse_phase_isr(); // 0 = Do coordinated axes Stepper pulses
|
||||
|
||||
@ -1576,7 +1576,7 @@ void Stepper::isr() {
|
||||
* is less than the current count due to something preempting between the
|
||||
* read and the write of the new period value).
|
||||
*/
|
||||
DISABLE_ISRS();
|
||||
hal.isr_off();
|
||||
|
||||
/**
|
||||
* Get the current tick value + margin
|
||||
@ -1611,7 +1611,7 @@ void Stepper::isr() {
|
||||
HAL_timer_set_compare(MF_TIMER_STEP, hal_timer_t(next_isr_ticks));
|
||||
|
||||
// Don't forget to finally reenable interrupts
|
||||
ENABLE_ISRS();
|
||||
hal.isr_on();
|
||||
}
|
||||
|
||||
#if MINIMUM_STEPPER_PULSE || MAXIMUM_STEPPER_RATE
|
||||
@ -3260,33 +3260,33 @@ void Stepper::report_positions() {
|
||||
|
||||
#elif HAS_MOTOR_CURRENT_PWM
|
||||
|
||||
#define _WRITE_CURRENT_PWM_DUTY(P) set_pwm_duty(pin_t(MOTOR_CURRENT_PWM_## P ##_PIN), 255L * current / (MOTOR_CURRENT_PWM_RANGE))
|
||||
#define _WRITE_CURRENT_PWM(P) hal.set_pwm_duty(pin_t(MOTOR_CURRENT_PWM_## P ##_PIN), 255L * current / (MOTOR_CURRENT_PWM_RANGE))
|
||||
switch (driver) {
|
||||
case 0:
|
||||
#if PIN_EXISTS(MOTOR_CURRENT_PWM_X)
|
||||
_WRITE_CURRENT_PWM_DUTY(X);
|
||||
_WRITE_CURRENT_PWM(X);
|
||||
#endif
|
||||
#if PIN_EXISTS(MOTOR_CURRENT_PWM_Y)
|
||||
_WRITE_CURRENT_PWM_DUTY(Y);
|
||||
_WRITE_CURRENT_PWM(Y);
|
||||
#endif
|
||||
#if PIN_EXISTS(MOTOR_CURRENT_PWM_XY)
|
||||
_WRITE_CURRENT_PWM_DUTY(XY);
|
||||
_WRITE_CURRENT_PWM(XY);
|
||||
#endif
|
||||
break;
|
||||
case 1:
|
||||
#if PIN_EXISTS(MOTOR_CURRENT_PWM_Z)
|
||||
_WRITE_CURRENT_PWM_DUTY(Z);
|
||||
_WRITE_CURRENT_PWM(Z);
|
||||
#endif
|
||||
break;
|
||||
case 2:
|
||||
#if PIN_EXISTS(MOTOR_CURRENT_PWM_E)
|
||||
_WRITE_CURRENT_PWM_DUTY(E);
|
||||
_WRITE_CURRENT_PWM(E);
|
||||
#endif
|
||||
#if PIN_EXISTS(MOTOR_CURRENT_PWM_E0)
|
||||
_WRITE_CURRENT_PWM_DUTY(E0);
|
||||
_WRITE_CURRENT_PWM(E0);
|
||||
#endif
|
||||
#if PIN_EXISTS(MOTOR_CURRENT_PWM_E1)
|
||||
_WRITE_CURRENT_PWM_DUTY(E1);
|
||||
_WRITE_CURRENT_PWM(E1);
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
@ -3308,7 +3308,7 @@ void Stepper::report_positions() {
|
||||
#ifdef __SAM3X8E__
|
||||
#define _RESET_CURRENT_PWM_FREQ(P) NOOP
|
||||
#else
|
||||
#define _RESET_CURRENT_PWM_FREQ(P) set_pwm_frequency(pin_t(P), MOTOR_CURRENT_PWM_FREQUENCY)
|
||||
#define _RESET_CURRENT_PWM_FREQ(P) hal.set_pwm_frequency(pin_t(P), MOTOR_CURRENT_PWM_FREQUENCY)
|
||||
#endif
|
||||
#define INIT_CURRENT_PWM(P) do{ SET_PWM(MOTOR_CURRENT_PWM_## P ##_PIN); _RESET_CURRENT_PWM_FREQ(MOTOR_CURRENT_PWM_## P ##_PIN); }while(0)
|
||||
|
||||
|
@ -327,7 +327,7 @@ PGMSTR(str_t_heating_failed, STR_T_HEATING_FAILED);
|
||||
#define _INIT_FAN_PIN(P) do{ if (PWM_PIN(P)) SET_PWM(P); else _INIT_SOFT_FAN(P); }while(0)
|
||||
#endif
|
||||
#if ENABLED(FAST_PWM_FAN)
|
||||
#define SET_FAST_PWM_FREQ(P) set_pwm_frequency(P, FAST_PWM_FAN_FREQUENCY)
|
||||
#define SET_FAST_PWM_FREQ(P) hal.set_pwm_frequency(pin_t(P), FAST_PWM_FAN_FREQUENCY)
|
||||
#else
|
||||
#define SET_FAST_PWM_FREQ(P) NOOP
|
||||
#endif
|
||||
@ -818,7 +818,7 @@ volatile bool Temperature::raw_temps_ready = false;
|
||||
}
|
||||
|
||||
// Run HAL idle tasks
|
||||
TERN_(HAL_IDLETASK, HAL_idletask());
|
||||
hal.idletask();
|
||||
|
||||
// Run UI update
|
||||
TERN(HAS_DWIN_E3V2_BASIC, DWIN_Update(), ui.update());
|
||||
@ -907,7 +907,7 @@ int16_t Temperature::getHeaterPower(const heater_id_t heater_id) {
|
||||
|
||||
#define _UPDATE_AUTO_FAN(P,D,A) do{ \
|
||||
if (PWM_PIN(P##_AUTO_FAN_PIN) && A < 255) \
|
||||
set_pwm_duty(pin_t(P##_AUTO_FAN_PIN), D ? A : 0); \
|
||||
hal.set_pwm_duty(pin_t(P##_AUTO_FAN_PIN), D ? A : 0); \
|
||||
else \
|
||||
WRITE(P##_AUTO_FAN_PIN, D); \
|
||||
}while(0)
|
||||
@ -2321,74 +2321,33 @@ void Temperature::init() {
|
||||
|
||||
TERN_(HAS_MAXTC_SW_SPI, max_tc_spi.init());
|
||||
|
||||
HAL_adc_init();
|
||||
hal.adc_init();
|
||||
|
||||
TERN_(HAS_TEMP_ADC_0, hal.adc_enable(TEMP_0_PIN));
|
||||
TERN_(HAS_TEMP_ADC_1, hal.adc_enable(TEMP_1_PIN));
|
||||
TERN_(HAS_TEMP_ADC_2, hal.adc_enable(TEMP_2_PIN));
|
||||
TERN_(HAS_TEMP_ADC_3, hal.adc_enable(TEMP_3_PIN));
|
||||
TERN_(HAS_TEMP_ADC_4, hal.adc_enable(TEMP_4_PIN));
|
||||
TERN_(HAS_TEMP_ADC_5, hal.adc_enable(TEMP_5_PIN));
|
||||
TERN_(HAS_TEMP_ADC_6, hal.adc_enable(TEMP_6_PIN));
|
||||
TERN_(HAS_TEMP_ADC_7, hal.adc_enable(TEMP_7_PIN));
|
||||
TERN_(HAS_JOY_ADC_X, hal.adc_enable(JOY_X_PIN));
|
||||
TERN_(HAS_JOY_ADC_Y, hal.adc_enable(JOY_Y_PIN));
|
||||
TERN_(HAS_JOY_ADC_Z, hal.adc_enable(JOY_Z_PIN));
|
||||
TERN_(HAS_TEMP_ADC_BED, hal.adc_enable(TEMP_BED_PIN));
|
||||
TERN_(HAS_TEMP_ADC_CHAMBER, hal.adc_enable(TEMP_CHAMBER_PIN));
|
||||
TERN_(HAS_TEMP_ADC_PROBE, hal.adc_enable(TEMP_PROBE_PIN));
|
||||
TERN_(HAS_TEMP_ADC_COOLER, hal.adc_enable(TEMP_COOLER_PIN));
|
||||
TERN_(HAS_TEMP_ADC_BOARD, hal.adc_enable(TEMP_BOARD_PIN));
|
||||
TERN_(HAS_TEMP_ADC_REDUNDANT, hal.adc_enable(TEMP_REDUNDANT_PIN));
|
||||
TERN_(FILAMENT_WIDTH_SENSOR, hal.adc_enable(FILWIDTH_PIN));
|
||||
TERN_(HAS_ADC_BUTTONS, hal.adc_enable(ADC_KEYPAD_PIN));
|
||||
TERN_(POWER_MONITOR_CURRENT, hal.adc_enable(POWER_MONITOR_CURRENT_PIN));
|
||||
TERN_(POWER_MONITOR_VOLTAGE, hal.adc_enable(POWER_MONITOR_VOLTAGE_PIN));
|
||||
|
||||
#if HAS_TEMP_ADC_0
|
||||
HAL_ANALOG_SELECT(TEMP_0_PIN);
|
||||
#endif
|
||||
#if HAS_TEMP_ADC_1
|
||||
HAL_ANALOG_SELECT(TEMP_1_PIN);
|
||||
#endif
|
||||
#if HAS_TEMP_ADC_2
|
||||
HAL_ANALOG_SELECT(TEMP_2_PIN);
|
||||
#endif
|
||||
#if HAS_TEMP_ADC_3
|
||||
HAL_ANALOG_SELECT(TEMP_3_PIN);
|
||||
#endif
|
||||
#if HAS_TEMP_ADC_4
|
||||
HAL_ANALOG_SELECT(TEMP_4_PIN);
|
||||
#endif
|
||||
#if HAS_TEMP_ADC_5
|
||||
HAL_ANALOG_SELECT(TEMP_5_PIN);
|
||||
#endif
|
||||
#if HAS_TEMP_ADC_6
|
||||
HAL_ANALOG_SELECT(TEMP_6_PIN);
|
||||
#endif
|
||||
#if HAS_TEMP_ADC_7
|
||||
HAL_ANALOG_SELECT(TEMP_7_PIN);
|
||||
#endif
|
||||
#if HAS_JOY_ADC_X
|
||||
HAL_ANALOG_SELECT(JOY_X_PIN);
|
||||
#endif
|
||||
#if HAS_JOY_ADC_Y
|
||||
HAL_ANALOG_SELECT(JOY_Y_PIN);
|
||||
#endif
|
||||
#if HAS_JOY_ADC_Z
|
||||
HAL_ANALOG_SELECT(JOY_Z_PIN);
|
||||
#endif
|
||||
#if HAS_JOY_ADC_EN
|
||||
SET_INPUT_PULLUP(JOY_EN_PIN);
|
||||
#endif
|
||||
#if HAS_TEMP_ADC_BED
|
||||
HAL_ANALOG_SELECT(TEMP_BED_PIN);
|
||||
#endif
|
||||
#if HAS_TEMP_ADC_CHAMBER
|
||||
HAL_ANALOG_SELECT(TEMP_CHAMBER_PIN);
|
||||
#endif
|
||||
#if HAS_TEMP_ADC_PROBE
|
||||
HAL_ANALOG_SELECT(TEMP_PROBE_PIN);
|
||||
#endif
|
||||
#if HAS_TEMP_ADC_COOLER
|
||||
HAL_ANALOG_SELECT(TEMP_COOLER_PIN);
|
||||
#endif
|
||||
#if HAS_TEMP_ADC_BOARD
|
||||
HAL_ANALOG_SELECT(TEMP_BOARD_PIN);
|
||||
#endif
|
||||
#if HAS_TEMP_ADC_REDUNDANT
|
||||
HAL_ANALOG_SELECT(TEMP_REDUNDANT_PIN);
|
||||
#endif
|
||||
#if ENABLED(FILAMENT_WIDTH_SENSOR)
|
||||
HAL_ANALOG_SELECT(FILWIDTH_PIN);
|
||||
#endif
|
||||
#if HAS_ADC_BUTTONS
|
||||
HAL_ANALOG_SELECT(ADC_KEYPAD_PIN);
|
||||
#endif
|
||||
#if ENABLED(POWER_MONITOR_CURRENT)
|
||||
HAL_ANALOG_SELECT(POWER_MONITOR_CURRENT_PIN);
|
||||
#endif
|
||||
#if ENABLED(POWER_MONITOR_VOLTAGE)
|
||||
HAL_ANALOG_SELECT(POWER_MONITOR_VOLTAGE_PIN);
|
||||
#endif
|
||||
|
||||
HAL_timer_start(MF_TIMER_TEMP, TEMP_TIMER_FREQUENCY);
|
||||
ENABLE_TEMPERATURE_INTERRUPT();
|
||||
@ -3364,8 +3323,8 @@ void Temperature::isr() {
|
||||
* This gives each ADC 0.9765ms to charge up.
|
||||
*/
|
||||
#define ACCUMULATE_ADC(obj) do{ \
|
||||
if (!HAL_ADC_READY()) next_sensor_state = adc_sensor_state; \
|
||||
else obj.sample(HAL_READ_ADC()); \
|
||||
if (!hal.adc_ready()) next_sensor_state = adc_sensor_state; \
|
||||
else obj.sample(hal.adc_value()); \
|
||||
}while(0)
|
||||
|
||||
ADCSensorState next_sensor_state = adc_sensor_state < SensorsReady ? (ADCSensorState)(int(adc_sensor_state) + 1) : StartSampling;
|
||||
@ -3397,115 +3356,115 @@ void Temperature::isr() {
|
||||
break;
|
||||
|
||||
#if HAS_TEMP_ADC_0
|
||||
case PrepareTemp_0: HAL_START_ADC(TEMP_0_PIN); break;
|
||||
case PrepareTemp_0: hal.adc_start(TEMP_0_PIN); break;
|
||||
case MeasureTemp_0: ACCUMULATE_ADC(temp_hotend[0]); break;
|
||||
#endif
|
||||
|
||||
#if HAS_TEMP_ADC_BED
|
||||
case PrepareTemp_BED: HAL_START_ADC(TEMP_BED_PIN); break;
|
||||
case PrepareTemp_BED: hal.adc_start(TEMP_BED_PIN); break;
|
||||
case MeasureTemp_BED: ACCUMULATE_ADC(temp_bed); break;
|
||||
#endif
|
||||
|
||||
#if HAS_TEMP_ADC_CHAMBER
|
||||
case PrepareTemp_CHAMBER: HAL_START_ADC(TEMP_CHAMBER_PIN); break;
|
||||
case PrepareTemp_CHAMBER: hal.adc_start(TEMP_CHAMBER_PIN); break;
|
||||
case MeasureTemp_CHAMBER: ACCUMULATE_ADC(temp_chamber); break;
|
||||
#endif
|
||||
|
||||
#if HAS_TEMP_ADC_COOLER
|
||||
case PrepareTemp_COOLER: HAL_START_ADC(TEMP_COOLER_PIN); break;
|
||||
case PrepareTemp_COOLER: hal.adc_start(TEMP_COOLER_PIN); break;
|
||||
case MeasureTemp_COOLER: ACCUMULATE_ADC(temp_cooler); break;
|
||||
#endif
|
||||
|
||||
#if HAS_TEMP_ADC_PROBE
|
||||
case PrepareTemp_PROBE: HAL_START_ADC(TEMP_PROBE_PIN); break;
|
||||
case PrepareTemp_PROBE: hal.adc_start(TEMP_PROBE_PIN); break;
|
||||
case MeasureTemp_PROBE: ACCUMULATE_ADC(temp_probe); break;
|
||||
#endif
|
||||
|
||||
#if HAS_TEMP_ADC_BOARD
|
||||
case PrepareTemp_BOARD: HAL_START_ADC(TEMP_BOARD_PIN); break;
|
||||
case PrepareTemp_BOARD: hal.adc_start(TEMP_BOARD_PIN); break;
|
||||
case MeasureTemp_BOARD: ACCUMULATE_ADC(temp_board); break;
|
||||
#endif
|
||||
|
||||
#if HAS_TEMP_ADC_REDUNDANT
|
||||
case PrepareTemp_REDUNDANT: HAL_START_ADC(TEMP_REDUNDANT_PIN); break;
|
||||
case PrepareTemp_REDUNDANT: hal.adc_start(TEMP_REDUNDANT_PIN); break;
|
||||
case MeasureTemp_REDUNDANT: ACCUMULATE_ADC(temp_redundant); break;
|
||||
#endif
|
||||
|
||||
#if HAS_TEMP_ADC_1
|
||||
case PrepareTemp_1: HAL_START_ADC(TEMP_1_PIN); break;
|
||||
case PrepareTemp_1: hal.adc_start(TEMP_1_PIN); break;
|
||||
case MeasureTemp_1: ACCUMULATE_ADC(temp_hotend[1]); break;
|
||||
#endif
|
||||
|
||||
#if HAS_TEMP_ADC_2
|
||||
case PrepareTemp_2: HAL_START_ADC(TEMP_2_PIN); break;
|
||||
case PrepareTemp_2: hal.adc_start(TEMP_2_PIN); break;
|
||||
case MeasureTemp_2: ACCUMULATE_ADC(temp_hotend[2]); break;
|
||||
#endif
|
||||
|
||||
#if HAS_TEMP_ADC_3
|
||||
case PrepareTemp_3: HAL_START_ADC(TEMP_3_PIN); break;
|
||||
case PrepareTemp_3: hal.adc_start(TEMP_3_PIN); break;
|
||||
case MeasureTemp_3: ACCUMULATE_ADC(temp_hotend[3]); break;
|
||||
#endif
|
||||
|
||||
#if HAS_TEMP_ADC_4
|
||||
case PrepareTemp_4: HAL_START_ADC(TEMP_4_PIN); break;
|
||||
case PrepareTemp_4: hal.adc_start(TEMP_4_PIN); break;
|
||||
case MeasureTemp_4: ACCUMULATE_ADC(temp_hotend[4]); break;
|
||||
#endif
|
||||
|
||||
#if HAS_TEMP_ADC_5
|
||||
case PrepareTemp_5: HAL_START_ADC(TEMP_5_PIN); break;
|
||||
case PrepareTemp_5: hal.adc_start(TEMP_5_PIN); break;
|
||||
case MeasureTemp_5: ACCUMULATE_ADC(temp_hotend[5]); break;
|
||||
#endif
|
||||
|
||||
#if HAS_TEMP_ADC_6
|
||||
case PrepareTemp_6: HAL_START_ADC(TEMP_6_PIN); break;
|
||||
case PrepareTemp_6: hal.adc_start(TEMP_6_PIN); break;
|
||||
case MeasureTemp_6: ACCUMULATE_ADC(temp_hotend[6]); break;
|
||||
#endif
|
||||
|
||||
#if HAS_TEMP_ADC_7
|
||||
case PrepareTemp_7: HAL_START_ADC(TEMP_7_PIN); break;
|
||||
case PrepareTemp_7: hal.adc_start(TEMP_7_PIN); break;
|
||||
case MeasureTemp_7: ACCUMULATE_ADC(temp_hotend[7]); break;
|
||||
#endif
|
||||
|
||||
#if ENABLED(FILAMENT_WIDTH_SENSOR)
|
||||
case Prepare_FILWIDTH: HAL_START_ADC(FILWIDTH_PIN); break;
|
||||
case Prepare_FILWIDTH: hal.adc_start(FILWIDTH_PIN); break;
|
||||
case Measure_FILWIDTH:
|
||||
if (!HAL_ADC_READY()) next_sensor_state = adc_sensor_state; // Redo this state
|
||||
else filwidth.accumulate(HAL_READ_ADC());
|
||||
if (!hal.adc_ready()) next_sensor_state = adc_sensor_state; // Redo this state
|
||||
else filwidth.accumulate(hal.adc_value());
|
||||
break;
|
||||
#endif
|
||||
|
||||
#if ENABLED(POWER_MONITOR_CURRENT)
|
||||
case Prepare_POWER_MONITOR_CURRENT:
|
||||
HAL_START_ADC(POWER_MONITOR_CURRENT_PIN);
|
||||
hal.adc_start(POWER_MONITOR_CURRENT_PIN);
|
||||
break;
|
||||
case Measure_POWER_MONITOR_CURRENT:
|
||||
if (!HAL_ADC_READY()) next_sensor_state = adc_sensor_state; // Redo this state
|
||||
else power_monitor.add_current_sample(HAL_READ_ADC());
|
||||
if (!hal.adc_ready()) next_sensor_state = adc_sensor_state; // Redo this state
|
||||
else power_monitor.add_current_sample(hal.adc_value());
|
||||
break;
|
||||
#endif
|
||||
|
||||
#if ENABLED(POWER_MONITOR_VOLTAGE)
|
||||
case Prepare_POWER_MONITOR_VOLTAGE:
|
||||
HAL_START_ADC(POWER_MONITOR_VOLTAGE_PIN);
|
||||
hal.adc_start(POWER_MONITOR_VOLTAGE_PIN);
|
||||
break;
|
||||
case Measure_POWER_MONITOR_VOLTAGE:
|
||||
if (!HAL_ADC_READY()) next_sensor_state = adc_sensor_state; // Redo this state
|
||||
else power_monitor.add_voltage_sample(HAL_READ_ADC());
|
||||
if (!hal.adc_ready()) next_sensor_state = adc_sensor_state; // Redo this state
|
||||
else power_monitor.add_voltage_sample(hal.adc_value());
|
||||
break;
|
||||
#endif
|
||||
|
||||
#if HAS_JOY_ADC_X
|
||||
case PrepareJoy_X: HAL_START_ADC(JOY_X_PIN); break;
|
||||
case PrepareJoy_X: hal.adc_start(JOY_X_PIN); break;
|
||||
case MeasureJoy_X: ACCUMULATE_ADC(joystick.x); break;
|
||||
#endif
|
||||
|
||||
#if HAS_JOY_ADC_Y
|
||||
case PrepareJoy_Y: HAL_START_ADC(JOY_Y_PIN); break;
|
||||
case PrepareJoy_Y: hal.adc_start(JOY_Y_PIN); break;
|
||||
case MeasureJoy_Y: ACCUMULATE_ADC(joystick.y); break;
|
||||
#endif
|
||||
|
||||
#if HAS_JOY_ADC_Z
|
||||
case PrepareJoy_Z: HAL_START_ADC(JOY_Z_PIN); break;
|
||||
case PrepareJoy_Z: hal.adc_start(JOY_Z_PIN); break;
|
||||
case MeasureJoy_Z: ACCUMULATE_ADC(joystick.z); break;
|
||||
#endif
|
||||
|
||||
@ -3513,12 +3472,12 @@ void Temperature::isr() {
|
||||
#ifndef ADC_BUTTON_DEBOUNCE_DELAY
|
||||
#define ADC_BUTTON_DEBOUNCE_DELAY 16
|
||||
#endif
|
||||
case Prepare_ADC_KEY: HAL_START_ADC(ADC_KEYPAD_PIN); break;
|
||||
case Prepare_ADC_KEY: hal.adc_start(ADC_KEYPAD_PIN); break;
|
||||
case Measure_ADC_KEY:
|
||||
if (!HAL_ADC_READY())
|
||||
if (!hal.adc_ready())
|
||||
next_sensor_state = adc_sensor_state; // redo this state
|
||||
else if (ADCKey_count < ADC_BUTTON_DEBOUNCE_DELAY) {
|
||||
raw_ADCKey_value = HAL_READ_ADC();
|
||||
raw_ADCKey_value = hal.adc_value();
|
||||
if (raw_ADCKey_value <= 900UL * HAL_ADC_RANGE / 1024UL) {
|
||||
NOMORE(current_ADCKey_raw, raw_ADCKey_value);
|
||||
ADCKey_count++;
|
||||
|
Reference in New Issue
Block a user