fixed drive strength

Dependents:   capstone_i2c

Fork of mbed-dev by mbed official

Committer:
cpadua
Date:
Tue Apr 11 20:39:24 2017 +0000
Revision:
163:1d4c9d0af1e9
Parent:
149:156823d33999
fixed i2c-api.c

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 107:414e9c822e99 1 /* mbed Microcontroller Library
mbed_official 107:414e9c822e99 2 * Copyright (c) 2006-2015 ARM Limited
mbed_official 107:414e9c822e99 3 *
mbed_official 107:414e9c822e99 4 * Licensed under the Apache License, Version 2.0 (the "License");
mbed_official 107:414e9c822e99 5 * you may not use this file except in compliance with the License.
mbed_official 107:414e9c822e99 6 * You may obtain a copy of the License at
mbed_official 107:414e9c822e99 7 *
mbed_official 107:414e9c822e99 8 * http://www.apache.org/licenses/LICENSE-2.0
mbed_official 107:414e9c822e99 9 *
mbed_official 107:414e9c822e99 10 * Unless required by applicable law or agreed to in writing, software
mbed_official 107:414e9c822e99 11 * distributed under the License is distributed on an "AS IS" BASIS,
mbed_official 107:414e9c822e99 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
mbed_official 107:414e9c822e99 13 * See the License for the specific language governing permissions and
mbed_official 107:414e9c822e99 14 * limitations under the License.
mbed_official 107:414e9c822e99 15 */
mbed_official 107:414e9c822e99 16 #ifndef MBED_GPIO_OBJECT_H
mbed_official 107:414e9c822e99 17 #define MBED_GPIO_OBJECT_H
mbed_official 107:414e9c822e99 18
mbed_official 107:414e9c822e99 19 #include "mbed_assert.h"
mbed_official 107:414e9c822e99 20 #include "ioport.h"
mbed_official 107:414e9c822e99 21
mbed_official 107:414e9c822e99 22 #ifdef __cplusplus
mbed_official 107:414e9c822e99 23 extern "C" {
mbed_official 107:414e9c822e99 24 #endif
mbed_official 107:414e9c822e99 25
mbed_official 107:414e9c822e99 26 typedef struct {
mbed_official 107:414e9c822e99 27 PinName pin;
mbed_official 107:414e9c822e99 28 uint8_t mode;
mbed_official 107:414e9c822e99 29 uint8_t direction;
mbed_official 107:414e9c822e99 30 } gpio_t;
mbed_official 107:414e9c822e99 31
mbed_official 107:414e9c822e99 32 static inline void gpio_write(gpio_t *obj, int value)
mbed_official 107:414e9c822e99 33 {
mbed_official 107:414e9c822e99 34 MBED_ASSERT(obj->pin != (PinName)NC);
mbed_official 107:414e9c822e99 35 if (value)
mbed_official 107:414e9c822e99 36 ioport_set_pin_level(obj->pin, IOPORT_PIN_LEVEL_HIGH);
mbed_official 107:414e9c822e99 37 else
mbed_official 107:414e9c822e99 38 ioport_set_pin_level(obj->pin, IOPORT_PIN_LEVEL_LOW);
mbed_official 107:414e9c822e99 39 }
mbed_official 107:414e9c822e99 40
mbed_official 107:414e9c822e99 41 static inline int gpio_read(gpio_t *obj)
mbed_official 107:414e9c822e99 42 {
mbed_official 107:414e9c822e99 43 MBED_ASSERT(obj->pin != (PinName)NC);
mbed_official 107:414e9c822e99 44 return (ioport_get_pin_level(obj->pin) ? 1 : 0);
mbed_official 107:414e9c822e99 45 }
mbed_official 107:414e9c822e99 46
mbed_official 107:414e9c822e99 47 static inline int gpio_is_connected(const gpio_t *obj)
mbed_official 107:414e9c822e99 48 {
mbed_official 107:414e9c822e99 49 return obj->pin != (PinName)NC;
mbed_official 107:414e9c822e99 50 }
mbed_official 107:414e9c822e99 51
mbed_official 107:414e9c822e99 52 #ifdef __cplusplus
mbed_official 107:414e9c822e99 53 }
mbed_official 107:414e9c822e99 54 #endif
mbed_official 107:414e9c822e99 55
mbed_official 107:414e9c822e99 56 #endif