mbed SDK library sources

Fork of mbed-src by mbed official

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:
Tue Feb 11 15:00:06 2014 +0000
Revision:
89:9655231f5786
Parent:
79:6fdc4ea80ae0
Synchronized with git revision 17499c34d273f02497e0706d3abc516b12f3fc62

Full URL: https://github.com/mbedmicro/mbed/commit/17499c34d273f02497e0706d3abc516b12f3fc62/

Who changed what in which revision?

UserRevisionLine numberNew contents of line
emilmont 4:c4bfb462ca53 1 /* mbed Microcontroller Library
emilmont 4:c4bfb462ca53 2 * Copyright (c) 2006-2013 ARM Limited
emilmont 4:c4bfb462ca53 3 *
emilmont 4:c4bfb462ca53 4 * Licensed under the Apache License, Version 2.0 (the "License");
emilmont 4:c4bfb462ca53 5 * you may not use this file except in compliance with the License.
emilmont 4:c4bfb462ca53 6 * You may obtain a copy of the License at
emilmont 4:c4bfb462ca53 7 *
emilmont 4:c4bfb462ca53 8 * http://www.apache.org/licenses/LICENSE-2.0
emilmont 4:c4bfb462ca53 9 *
emilmont 4:c4bfb462ca53 10 * Unless required by applicable law or agreed to in writing, software
emilmont 4:c4bfb462ca53 11 * distributed under the License is distributed on an "AS IS" BASIS,
emilmont 4:c4bfb462ca53 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
emilmont 4:c4bfb462ca53 13 * See the License for the specific language governing permissions and
emilmont 4:c4bfb462ca53 14 * limitations under the License.
emilmont 4:c4bfb462ca53 15 */
emilmont 4:c4bfb462ca53 16 #include "gpio_api.h"
emilmont 4:c4bfb462ca53 17 #include "wait_api.h"
emilmont 4:c4bfb462ca53 18 #include "toolchain.h"
emilmont 4:c4bfb462ca53 19
emilmont 4:c4bfb462ca53 20 WEAK void mbed_die(void);
emilmont 4:c4bfb462ca53 21 WEAK void mbed_die(void) {
mbed_official 79:6fdc4ea80ae0 22 __disable_irq(); // dont allow interrupts to disturb the flash pattern
mbed_official 79:6fdc4ea80ae0 23
mbed_official 79:6fdc4ea80ae0 24 #if (DEVICE_ERROR_RED == 1)
emilmont 4:c4bfb462ca53 25 gpio_t led_red; gpio_init(&led_red, LED_RED, PIN_OUTPUT);
emilmont 4:c4bfb462ca53 26
mbed_official 79:6fdc4ea80ae0 27 #elif (DEVICE_ERROR_PATTERN == 1)
emilmont 4:c4bfb462ca53 28 gpio_t led_1; gpio_init(&led_1, LED1, PIN_OUTPUT);
emilmont 4:c4bfb462ca53 29 gpio_t led_2; gpio_init(&led_2, LED2, PIN_OUTPUT);
emilmont 4:c4bfb462ca53 30 gpio_t led_3; gpio_init(&led_3, LED3, PIN_OUTPUT);
emilmont 4:c4bfb462ca53 31 gpio_t led_4; gpio_init(&led_4, LED4, PIN_OUTPUT);
emilmont 4:c4bfb462ca53 32 #endif
emilmont 4:c4bfb462ca53 33
emilmont 4:c4bfb462ca53 34 while (1) {
mbed_official 79:6fdc4ea80ae0 35 #if (DEVICE_ERROR_RED == 1)
emilmont 4:c4bfb462ca53 36 gpio_write(&led_red, 1);
emilmont 4:c4bfb462ca53 37
mbed_official 79:6fdc4ea80ae0 38 #elif (DEVICE_ERROR_PATTERN == 1)
emilmont 4:c4bfb462ca53 39 gpio_write(&led_1, 1);
emilmont 4:c4bfb462ca53 40 gpio_write(&led_2, 0);
emilmont 4:c4bfb462ca53 41 gpio_write(&led_3, 0);
emilmont 4:c4bfb462ca53 42 gpio_write(&led_4, 1);
emilmont 4:c4bfb462ca53 43 #endif
mbed_official 79:6fdc4ea80ae0 44
emilmont 4:c4bfb462ca53 45 wait_ms(150);
emilmont 4:c4bfb462ca53 46
mbed_official 79:6fdc4ea80ae0 47 #if (DEVICE_ERROR_RED == 1)
emilmont 4:c4bfb462ca53 48 gpio_write(&led_red, 0);
emilmont 4:c4bfb462ca53 49
mbed_official 79:6fdc4ea80ae0 50 #elif (DEVICE_ERROR_PATTERN == 1)
emilmont 4:c4bfb462ca53 51 gpio_write(&led_1, 0);
emilmont 4:c4bfb462ca53 52 gpio_write(&led_2, 1);
emilmont 4:c4bfb462ca53 53 gpio_write(&led_3, 1);
emilmont 4:c4bfb462ca53 54 gpio_write(&led_4, 0);
emilmont 4:c4bfb462ca53 55 #endif
mbed_official 79:6fdc4ea80ae0 56
emilmont 4:c4bfb462ca53 57 wait_ms(150);
emilmont 4:c4bfb462ca53 58 }
emilmont 4:c4bfb462ca53 59 }