mbed library sources

Dependents:   Encrypted my_mbed lklk CyaSSL_DTLS_Cellular ... more

Superseded

This library was superseded by mbed-dev - https://os.mbed.com/users/mbed_official/code/mbed-dev/.

Development branch of the mbed library sources. This library is kept in synch with the latest changes from the mbed SDK and it is not guaranteed to work.

If you are looking for a stable and tested release, please import one of the official mbed library releases:

Import librarymbed

The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Committer:
mbed_official
Date:
Wed Jun 11 16:00:09 2014 +0100
Revision:
227:7bd0639b8911
Parent:
149:1fb5f62b92bd
Synchronized with git revision d58d532ebc0e0a96f4fffb8edefc082b71b964af

Full URL: https://github.com/mbedmicro/mbed/commit/d58d532ebc0e0a96f4fffb8edefc082b71b964af/

Who changed what in which revision?

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