implement pull-up and -down

This commit is contained in:
technyon
2023-06-04 13:17:42 +02:00
parent 56bd07629f
commit f839d42c83
3 changed files with 13 additions and 5 deletions

View File

@@ -75,7 +75,10 @@ void Gpio::init()
case PinRole::GeneralOutput:
pinMode(entry.pin, OUTPUT);
break;
case PinRole::GeneralInput:
case PinRole::GeneralInputPullDown:
Gpio2Go::configurePin(entry.pin, PinMode::InputPullDown, InterruptMode::Change, 300);
break;
case PinRole::GeneralInputPullUp:
Gpio2Go::configurePin(entry.pin, PinMode::InputPullup, InterruptMode::Change, 300);
break;
default:
@@ -198,7 +201,9 @@ String Gpio::getRoleDescription(PinRole role) const
return "Output: High when RTO or CM active";
case PinRole::GeneralOutput:
return "General output";
case PinRole::GeneralInput:
case PinRole::GeneralInputPullDown:
return "General input (Pull-down)";
case PinRole::GeneralInputPullUp:
return "General input (Pull-up)";
default:
return "Unknown";

6
Gpio.h
View File

@@ -21,7 +21,8 @@ enum class PinRole
OutputHighCmActive,
OutputHighRtoOrCmActive,
GeneralOutput,
GeneralInput
GeneralInputPullDown,
GeneralInputPullUp
};
enum class GpioAction
@@ -86,7 +87,8 @@ private:
PinRole::OutputHighRtoActive,
PinRole::OutputHighCmActive,
PinRole::OutputHighRtoOrCmActive,
PinRole::GeneralInput,
PinRole::GeneralInputPullDown,
PinRole::GeneralInputPullUp,
PinRole::GeneralOutput
};

View File

@@ -224,7 +224,8 @@ void Network::initialize()
{
switch (pinEntry.role)
{
case PinRole::GeneralInput:
case PinRole::GeneralInputPullDown:
case PinRole::GeneralInputPullUp:
if(rebGpio)
{
buildMqttPath(gpioPath, {mqtt_topic_gpio_prefix, (mqtt_topic_gpio_pin + std::to_string(pinEntry.pin)).c_str(), mqtt_topic_gpio_role});