|
| 1 | + |
| 2 | +/* Define mock symbols to nullify PinMode definitions */ |
| 3 | +#define PullNone TempPullNone |
| 4 | +#define PullUp TempPullUp |
| 5 | +#define PullDown TempPullDown |
| 6 | +#define OpenDrainPullUp TempOpenDrainPullUp |
| 7 | +#define OpenDrainNoPull TempOpenDrainNoPull |
| 8 | +#define OpenDrainPullDown TempOpenDrainPullDown |
| 9 | +#define PushPullNoPull TempPushPullNoPull |
| 10 | +#define PushPullPullUp TempPushPullPullUp |
| 11 | +#define PushPullPullDown TempPushPullPullDown |
| 12 | +#define OpenDrain TempOpenDrain |
| 13 | +#define PullDefault TempPullDefault |
| 14 | + |
| 15 | +#define INPUT TempINPUT |
| 16 | +#define OUTPUT TempOUTPUT |
| 17 | +#define INPUT_PULLUP TempINPUT_PULLUP |
| 18 | +#define INPUT_PULLDOWN TempINPUT_PULLDOWN |
| 19 | + |
| 20 | +/* Rename symbol PinMode into MbedPinMode for all the file PinNamesTypes.h |
| 21 | + * Functions using PinMode should be redeclared with the correct PinMode symbol */ |
| 22 | +#define PinMode MbedPinMode |
| 23 | +#include "mbed_config.h" |
| 24 | +#include "PinNamesTypes.h" |
| 25 | +#undef PinMode |
| 26 | + |
| 27 | +/* Rename symbol PinMode into ArduinoPinMode for all the file Common.h |
| 28 | + * Functions using PinMode should be redeclared with the correct PinMode symbol */ |
| 29 | +#define PinMode ArduinoPinMode |
| 30 | +#include "api/Common.h" |
| 31 | +#undef PinMode |
| 32 | + |
| 33 | +#undef PullNone |
| 34 | +#undef PullUp |
| 35 | +#undef PullDown |
| 36 | +#undef OpenDrainPullUp |
| 37 | +#undef OpenDrainNoPull |
| 38 | +#undef OpenDrainPullDown |
| 39 | +#undef PushPullNoPull |
| 40 | +#undef PushPullPullUp |
| 41 | +#undef PushPullPullDown |
| 42 | +#undef OpenDrain |
| 43 | +#undef PullDefault |
| 44 | + |
| 45 | +#undef INPUT |
| 46 | +#undef OUTPUT |
| 47 | +#undef INPUT_PULLUP |
| 48 | +#undef INPUT_PULLDOWN |
| 49 | + |
| 50 | +/* Define the PinName symbol to be used in all the contexts */ |
| 51 | +typedef enum { |
| 52 | + PullNone = TempPullNone, |
| 53 | + PullUp = TempPullUp, |
| 54 | + PullDown = TempPullDown, |
| 55 | + OpenDrainPullUp = TempOpenDrainPullUp, |
| 56 | + OpenDrainNoPull = TempOpenDrainNoPull, |
| 57 | + OpenDrainPullDown = TempOpenDrainPullDown, |
| 58 | + PushPullNoPull = TempPushPullNoPull, |
| 59 | + PushPullPullUp = TempPushPullPullUp, |
| 60 | + PushPullPullDown = TempPushPullPullDown, |
| 61 | + OpenDrain = TempOpenDrain, |
| 62 | + PullDefault = TempPullDefault, |
| 63 | + INPUT = TempINPUT, |
| 64 | + OUTPUT = TempOUTPUT, |
| 65 | + INPUT_PULLUP = TempINPUT_PULLUP, |
| 66 | + INPUT_PULLDOWN = TempINPUT_PULLDOWN |
| 67 | +} PinMode; |
| 68 | + |
| 69 | +/* Redeclare Common.h functions with the updated PinMode */ |
| 70 | +void pinMode(pin_size_t pinNumber, PinMode pinMode); |
| 71 | + |
0 commit comments