Lancaster University's (short term!) clone of mbed-src for micro:bit. This is a copy of the github branch https://github.com/lancaster-university/mbed-classic
Fork of mbed-src by
Diff: common/pinmap_common.c
- Revision:
- 64:7b352733b00a
- Parent:
- 19:398f4c622e1b
- Child:
- 221:8276e3a4886f
diff -r a46ad637dc84 -r 7b352733b00a common/pinmap_common.c --- a/common/pinmap_common.c Thu Dec 19 09:00:06 2013 +0000 +++ b/common/pinmap_common.c Thu Dec 19 13:15:07 2013 +0000 @@ -44,17 +44,22 @@ return (uint32_t)NC; } -uint32_t pinmap_peripheral(PinName pin, const PinMap* map) { - if (pin == (PinName)NC) - return (uint32_t)NC; - +uint32_t pinmap_find_peripheral(PinName pin, const PinMap* map) { while (map->pin != NC) { if (map->pin == pin) return map->peripheral; map++; } - - // no mapping available - error("pinmap not found for peripheral"); return (uint32_t)NC; } + +uint32_t pinmap_peripheral(PinName pin, const PinMap* map) { + uint32_t peripheral = (uint32_t)NC; + + if (pin == (PinName)NC) + return (uint32_t)NC; + peripheral = pinmap_find_peripheral(pin, map); + if ((uint32_t)NC == peripheral) // no mapping available + error("pinmap not found for peripheral"); + return peripheral; +}