fix indentation and make helpers static inline

pull/198/head
mazgch 2014-03-04 15:00:28 +01:00
parent c1d3cb5aa3
commit 8f5a2a580a
2 changed files with 29 additions and 25 deletions

View File

@ -15,23 +15,27 @@
*/ */
#include "gpio_api.h" #include "gpio_api.h"
#define GPIO_INIT_IN(obj, pin, mode) \ static inline void _gpio_init_in(gpio_t* gpio, PinName pin, PinMode mode)
gpio_init(obj, pin), \ {
gpio_mode(obj, mode), \ gpio_init(gpio, pin);
gpio_dir(obj, PIN_INPUT) gpio_mode(gpio, mode);
gpio_dir(gpio, PIN_INPUT);
}
#define GPIO_INIT_OUT(obj, pin, mode, value) \ static inline void _gpio_init_out(gpio_t* gpio, PinName pin, PinMode mode, int value)
gpio_init(obj, pin), \ {
gpio_write(obj, value), \ gpio_init(gpio, pin);
gpio_dir(obj, PIN_OUTPUT), \ gpio_write(gpio, value);
gpio_mode(obj, mode) gpio_dir(gpio, PIN_OUTPUT);
gpio_mode(gpio, mode);
}
void gpio_init_in(gpio_t* gpio, PinName pin) { void gpio_init_in(gpio_t* gpio, PinName pin) {
gpio_init_in_ex(gpio, pin, PullDefault); gpio_init_in_ex(gpio, pin, PullDefault);
} }
void gpio_init_in_ex(gpio_t* gpio, PinName pin, PinMode mode) { void gpio_init_in_ex(gpio_t* gpio, PinName pin, PinMode mode) {
GPIO_INIT_IN(gpio, pin, mode); _gpio_init_in(gpio, pin, mode);
} }
void gpio_init_out(gpio_t* gpio, PinName pin) { void gpio_init_out(gpio_t* gpio, PinName pin) {
@ -39,14 +43,14 @@ void gpio_init_out(gpio_t* gpio, PinName pin) {
} }
void gpio_init_out_ex(gpio_t* gpio, PinName pin, int value) { void gpio_init_out_ex(gpio_t* gpio, PinName pin, int value) {
GPIO_INIT_OUT(gpio, pin, PullNone, value); _gpio_init_out(gpio, pin, PullNone, value);
} }
void gpio_init_inout(gpio_t* gpio, PinName pin, PinDirection direction, PinMode mode, int value) { void gpio_init_inout(gpio_t* gpio, PinName pin, PinDirection direction, PinMode mode, int value) {
if (direction == PIN_INPUT) { if (direction == PIN_INPUT) {
GPIO_INIT_IN(gpio, pin, mode); _gpio_init_in(gpio, pin, mode);
gpio_write(gpio, value); // we prepare the value in case direction is switched later gpio_write(gpio, value); // we prepare the value in case it is switched later
} else { } else {
GPIO_INIT_OUT(gpio, pin, mode, value); _gpio_init_out(gpio, pin, mode, value);
} }
} }

View File

@ -9,19 +9,19 @@ void mbed_sdk_init()
gpio_t gpsEn, gpsRst, led, modemRts; gpio_t gpsEn, gpsRst, led, modemRts;
// start with modem disabled // start with modem disabled
gpio_init_out_ex(&modemEn, MDMEN, PullNone, 0); gpio_init_out_ex(&modemEn, MDMEN, PullNone, 0);
gpio_init_out_ex(&modemRst, MDMRST, PullNone, 1); gpio_init_out_ex(&modemRst, MDMRST, PullNone, 1);
gpio_init_out_ex(&modemPwrOn, MDMPWRON, PullNone, 1); gpio_init_out_ex(&modemPwrOn, MDMPWRON, PullNone, 1);
gpio_init_out_ex(&modemLvlOe, MDMLVLOE, PullNone, 1); gpio_init_out_ex(&modemLvlOe, MDMLVLOE, PullNone, 1);
gpio_init_out_ex(&modemILvlOe, MDMILVLOE, PullNone, 0); gpio_init_out_ex(&modemILvlOe, MDMILVLOE, PullNone, 0);
gpio_init_out_ex(&modemUsbDet, MDMUSBDET, PullNone, 0); gpio_init_out_ex(&modemUsbDet, MDMUSBDET, PullNone, 0);
gpio_init_out_ex(&modemRts, MDMRTS, PullNone, 0); gpio_init_out_ex(&modemRts, MDMRTS, PullNone, 0);
// start with gps disabled // start with gps disabled
gpio_init_out_ex(&gpsEn, GPSEN, PullNone, 0); gpio_init_out_ex(&gpsEn, GPSEN, PullNone, 0);
gpio_init_out_ex(&gpsRst, GPSRST, PullNone, 1); gpio_init_out_ex(&gpsRst, GPSRST, PullNone, 1);
// led should be off // led should be off
gpio_init_out_ex(&led, LED, PullNone, 0); gpio_init_out_ex(&led, LED, PullNone, 0);
wait_ms(50); // when USB cable is inserted the interface chip issues wait_ms(50); // when USB cable is inserted the interface chip issues
// multiple resets to the target CPU We wait here for a short period to // multiple resets to the target CPU We wait here for a short period to
// prevent those resets from propagating to the modem and other // prevent those resets from propagating to the modem and other