implement pull-up and -down
This commit is contained in:
9
Gpio.cpp
9
Gpio.cpp
@@ -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
6
Gpio.h
@@ -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
|
||||
};
|
||||
|
||||
|
||||
@@ -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});
|
||||
|
||||
Reference in New Issue
Block a user