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:
|
case PinRole::GeneralOutput:
|
||||||
pinMode(entry.pin, OUTPUT);
|
pinMode(entry.pin, OUTPUT);
|
||||||
break;
|
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);
|
Gpio2Go::configurePin(entry.pin, PinMode::InputPullup, InterruptMode::Change, 300);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -198,7 +201,9 @@ String Gpio::getRoleDescription(PinRole role) const
|
|||||||
return "Output: High when RTO or CM active";
|
return "Output: High when RTO or CM active";
|
||||||
case PinRole::GeneralOutput:
|
case PinRole::GeneralOutput:
|
||||||
return "General output";
|
return "General output";
|
||||||
case PinRole::GeneralInput:
|
case PinRole::GeneralInputPullDown:
|
||||||
|
return "General input (Pull-down)";
|
||||||
|
case PinRole::GeneralInputPullUp:
|
||||||
return "General input (Pull-up)";
|
return "General input (Pull-up)";
|
||||||
default:
|
default:
|
||||||
return "Unknown";
|
return "Unknown";
|
||||||
|
|||||||
6
Gpio.h
6
Gpio.h
@@ -21,7 +21,8 @@ enum class PinRole
|
|||||||
OutputHighCmActive,
|
OutputHighCmActive,
|
||||||
OutputHighRtoOrCmActive,
|
OutputHighRtoOrCmActive,
|
||||||
GeneralOutput,
|
GeneralOutput,
|
||||||
GeneralInput
|
GeneralInputPullDown,
|
||||||
|
GeneralInputPullUp
|
||||||
};
|
};
|
||||||
|
|
||||||
enum class GpioAction
|
enum class GpioAction
|
||||||
@@ -86,7 +87,8 @@ private:
|
|||||||
PinRole::OutputHighRtoActive,
|
PinRole::OutputHighRtoActive,
|
||||||
PinRole::OutputHighCmActive,
|
PinRole::OutputHighCmActive,
|
||||||
PinRole::OutputHighRtoOrCmActive,
|
PinRole::OutputHighRtoOrCmActive,
|
||||||
PinRole::GeneralInput,
|
PinRole::GeneralInputPullDown,
|
||||||
|
PinRole::GeneralInputPullUp,
|
||||||
PinRole::GeneralOutput
|
PinRole::GeneralOutput
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -224,7 +224,8 @@ void Network::initialize()
|
|||||||
{
|
{
|
||||||
switch (pinEntry.role)
|
switch (pinEntry.role)
|
||||||
{
|
{
|
||||||
case PinRole::GeneralInput:
|
case PinRole::GeneralInputPullDown:
|
||||||
|
case PinRole::GeneralInputPullUp:
|
||||||
if(rebGpio)
|
if(rebGpio)
|
||||||
{
|
{
|
||||||
buildMqttPath(gpioPath, {mqtt_topic_gpio_prefix, (mqtt_topic_gpio_pin + std::to_string(pinEntry.pin)).c_str(), mqtt_topic_gpio_role});
|
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