Skip to content

Commit 74d95c1

Browse files
committed
Port digital* to C++ APIs
This doesn't fix the underlaying problem about hal gpio* functions visibility
1 parent b3346b8 commit 74d95c1

File tree

1 file changed

+7
-11
lines changed

1 file changed

+7
-11
lines changed

cores/arduino/wiring_digital.cpp

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,40 +18,36 @@
1818
Public License along with this library; if not, write to the
1919
Free Software Foundation, Inc., 59 Temple Place, Suite 330,
2020
Boston, MA 02111-1307 USA
21-
22-
Modified 28 September 2010 by Mark Sproul
2321
*/
2422

2523
#include "Arduino.h"
2624
#include "pins_arduino.h"
2725

28-
static gpio_t gpio[100];
29-
3026
void pinMode(uint8_t pin, PinMode mode)
3127
{
3228
switch (mode) {
3329
case INPUT:
34-
gpio_init_inout(&gpio[pin], (PinName)pin, PIN_INPUT, PullNone, 0);
30+
DigitalIn((PinName)pin).mode(PullNone);
3531
break;
3632
case OUTPUT:
37-
gpio_init_inout(&gpio[pin], (PinName)pin, PIN_OUTPUT, PullNone, 0);
33+
DigitalOut((PinName)pin);
3834
break;
3935
case INPUT_PULLUP:
40-
gpio_init_inout(&gpio[pin], (PinName)pin, PIN_INPUT, PullUp, 0);
36+
DigitalIn((PinName)pin).mode(PullUp);
4137
break;
4238
case INPUT_PULLDOWN:
43-
gpio_init_inout(&gpio[pin], (PinName)pin, PIN_INPUT, PullDown, 0);
39+
DigitalIn((PinName)pin).mode(PullDown);
4440
break;
4541
}
4642
}
4743

4844

4945
void digitalWrite(uint8_t pin, PinStatus val)
5046
{
51-
gpio_write(&gpio[pin], (int)val);
47+
DigitalOut((PinName)pin).write((int)val);
5248
}
5349

5450
PinStatus digitalRead(uint8_t pin)
5551
{
56-
return (PinStatus)gpio_read(&gpio[pin]);
57-
}
52+
return (PinStatus)DigitalIn((PinName)pin).read();
53+
}

0 commit comments

Comments
 (0)