Update Water HAL: enhance GPIO config with drive mode and input settings
- Added `DriveMode` configuration and input enablement for `one_wire_pin`. - Improved GPIO initialization with `InputConfig` and default pull settings.
This commit is contained in:
@@ -4,7 +4,7 @@ use crate::hal::{ADC1, TANK_MULTI_SAMPLE};
|
|||||||
use embassy_time::Timer;
|
use embassy_time::Timer;
|
||||||
use esp_hal::analog::adc::{Adc, AdcCalLine, AdcConfig, AdcPin, Attenuation};
|
use esp_hal::analog::adc::{Adc, AdcCalLine, AdcConfig, AdcPin, Attenuation};
|
||||||
use esp_hal::delay::Delay;
|
use esp_hal::delay::Delay;
|
||||||
use esp_hal::gpio::{Flex, Input, Output, OutputConfig, Pull};
|
use esp_hal::gpio::{DriveMode, Flex, Input, InputConfig, Output, OutputConfig, Pull};
|
||||||
use esp_hal::pcnt::channel::CtrlMode::Keep;
|
use esp_hal::pcnt::channel::CtrlMode::Keep;
|
||||||
use esp_hal::pcnt::channel::EdgeMode::{Hold, Increment};
|
use esp_hal::pcnt::channel::EdgeMode::{Hold, Increment};
|
||||||
use esp_hal::pcnt::unit::Unit;
|
use esp_hal::pcnt::unit::Unit;
|
||||||
@@ -32,7 +32,15 @@ impl<'a> TankSensor<'a> {
|
|||||||
flow_sensor: Input,
|
flow_sensor: Input,
|
||||||
pcnt1: Unit<'a, 1>,
|
pcnt1: Unit<'a, 1>,
|
||||||
) -> Result<TankSensor<'a>, FatError> {
|
) -> Result<TankSensor<'a>, FatError> {
|
||||||
one_wire_pin.apply_output_config(&OutputConfig::default().with_pull(Pull::None));
|
one_wire_pin.apply_output_config(
|
||||||
|
&OutputConfig::default()
|
||||||
|
.with_drive_mode(DriveMode::OpenDrain)
|
||||||
|
.with_pull(Pull::None),
|
||||||
|
);
|
||||||
|
one_wire_pin.apply_input_config(&InputConfig::default().with_pull(Pull::None));
|
||||||
|
one_wire_pin.set_high();
|
||||||
|
one_wire_pin.set_input_enable(true);
|
||||||
|
one_wire_pin.set_output_enable(true);
|
||||||
|
|
||||||
let mut adc1_config = AdcConfig::new();
|
let mut adc1_config = AdcConfig::new();
|
||||||
let tank_pin =
|
let tank_pin =
|
||||||
|
|||||||
Reference in New Issue
Block a user