Skip to content
This repository was archived by the owner on Jul 25, 2022. It is now read-only.

Commit 34349dd

Browse files
committed
Add overload for digitalPinToInterrupt() and analogWrite().
1 parent 992b10e commit 34349dd

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

robot-control-src/DigitalPin.hpp

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,30 @@ class DigitalPin: public GpioInterface {
4343
}
4444
};
4545

46+
template<std::uint8_t PIN>
47+
void analogWrite(const DigitalPin<PIN>& gpio, const int dutyCycle)
48+
{
49+
analogWrite(gpio.pin, dutyCycle);
50+
}
51+
52+
inline constexpr int digitalPinToInterruptWrapper(const int pinNumber)
53+
{
54+
return digitalPinToInterrupt(pinNumber);
55+
}
56+
57+
#undef digitalPinToInterrupt
58+
59+
inline constexpr int digitalPinToInterrupt(const int pinNumber)
60+
{
61+
return digitalPinToInterruptWrapper(pinNumber);
62+
}
63+
64+
template<std::uint8_t PIN>
65+
int constexpr digitalPinToInterrupt(const DigitalPin<PIN>& gpio)
66+
{
67+
return digitalPinToInterruptWrapper(gpio.pin);
68+
}
69+
4670
template<std::uint8_t PIN>
4771
void attachInterrupt(const DigitalPin<PIN>& gpio, void (* const interruptServiceRoutine)(void), const int mode)
4872
{

0 commit comments

Comments
 (0)