mbed library sources

Fork of mbed-src by mbed official

Committer:
mbed_official
Date:
Fri Sep 25 14:15:10 2015 +0100
Revision:
627:4fa1328d9c60
Parent:
525:c320967f86b9
Synchronized with git revision fe238a91ab7a4d1d72c4cab9da04967c619d54ad

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

Silicon Labs - Add support for low-power async Serial

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 627:4fa1328d9c60 1 /***************************************************************************//**
mbed_official 627:4fa1328d9c60 2 * @file error.h
mbed_official 627:4fa1328d9c60 3 *******************************************************************************
mbed_official 627:4fa1328d9c60 4 * @section License
mbed_official 627:4fa1328d9c60 5 * <b>(C) Copyright 2015 Silicon Labs, http://www.silabs.com</b>
mbed_official 627:4fa1328d9c60 6 *******************************************************************************
mbed_official 525:c320967f86b9 7 *
mbed_official 627:4fa1328d9c60 8 * Permission is granted to anyone to use this software for any purpose,
mbed_official 627:4fa1328d9c60 9 * including commercial applications, and to alter it and redistribute it
mbed_official 627:4fa1328d9c60 10 * freely, subject to the following restrictions:
mbed_official 525:c320967f86b9 11 *
mbed_official 627:4fa1328d9c60 12 * 1. The origin of this software must not be misrepresented; you must not
mbed_official 627:4fa1328d9c60 13 * claim that you wrote the original software.
mbed_official 627:4fa1328d9c60 14 * 2. Altered source versions must be plainly marked as such, and must not be
mbed_official 627:4fa1328d9c60 15 * misrepresented as being the original software.
mbed_official 627:4fa1328d9c60 16 * 3. This notice may not be removed or altered from any source distribution.
mbed_official 525:c320967f86b9 17 *
mbed_official 627:4fa1328d9c60 18 * DISCLAIMER OF WARRANTY/LIMITATION OF REMEDIES: Silicon Labs has no
mbed_official 627:4fa1328d9c60 19 * obligation to support this Software. Silicon Labs is providing the
mbed_official 627:4fa1328d9c60 20 * Software "AS IS", with no express or implied warranties of any kind,
mbed_official 627:4fa1328d9c60 21 * including, but not limited to, any implied warranties of merchantability
mbed_official 627:4fa1328d9c60 22 * or fitness for any particular purpose or warranties against infringement
mbed_official 627:4fa1328d9c60 23 * of any proprietary rights of a third party.
mbed_official 627:4fa1328d9c60 24 *
mbed_official 627:4fa1328d9c60 25 * Silicon Labs will not be liable for any consequential, incidental, or
mbed_official 627:4fa1328d9c60 26 * special damages, or any other relief, or for any claim by any third party,
mbed_official 627:4fa1328d9c60 27 * arising from your use of this Software.
mbed_official 627:4fa1328d9c60 28 *
mbed_official 627:4fa1328d9c60 29 ******************************************************************************/
mbed_official 627:4fa1328d9c60 30
mbed_official 525:c320967f86b9 31 #ifndef MBED_ERROR_H
mbed_official 525:c320967f86b9 32 #define MBED_ERROR_H
mbed_official 525:c320967f86b9 33
mbed_official 525:c320967f86b9 34 /** To generate a fatal compile-time error, you can use the pre-processor #error directive.
mbed_official 525:c320967f86b9 35 *
mbed_official 525:c320967f86b9 36 * @code
mbed_official 525:c320967f86b9 37 * #error "That shouldn't have happened!"
mbed_official 525:c320967f86b9 38 * @endcode
mbed_official 525:c320967f86b9 39 *
mbed_official 525:c320967f86b9 40 * If the compiler evaluates this line, it will report the error and stop the compile.
mbed_official 525:c320967f86b9 41 *
mbed_official 525:c320967f86b9 42 * For example, you could use this to check some user-defined compile-time variables:
mbed_official 525:c320967f86b9 43 *
mbed_official 525:c320967f86b9 44 * @code
mbed_official 525:c320967f86b9 45 * #define NUM_PORTS 7
mbed_official 525:c320967f86b9 46 * #if (NUM_PORTS > 4)
mbed_official 525:c320967f86b9 47 * #error "NUM_PORTS must be less than 4"
mbed_official 525:c320967f86b9 48 * #endif
mbed_official 525:c320967f86b9 49 * @endcode
mbed_official 525:c320967f86b9 50 *
mbed_official 525:c320967f86b9 51 * Reporting Run-Time Errors:
mbed_official 525:c320967f86b9 52 * To generate a fatal run-time error, you can use the mbed error() function.
mbed_official 525:c320967f86b9 53 *
mbed_official 525:c320967f86b9 54 * @code
mbed_official 525:c320967f86b9 55 * error("That shouldn't have happened!");
mbed_official 525:c320967f86b9 56 * @endcode
mbed_official 525:c320967f86b9 57 *
mbed_official 525:c320967f86b9 58 * If the mbed running the program executes this function, it will print the
mbed_official 525:c320967f86b9 59 * message via the USB serial port, and then die with the blue lights of death!
mbed_official 525:c320967f86b9 60 *
mbed_official 525:c320967f86b9 61 * The message can use printf-style formatting, so you can report variables in the
mbed_official 525:c320967f86b9 62 * message too. For example, you could use this to check a run-time condition:
mbed_official 525:c320967f86b9 63 *
mbed_official 525:c320967f86b9 64 * @code
mbed_official 525:c320967f86b9 65 * if(x >= 5) {
mbed_official 525:c320967f86b9 66 * error("expected x to be less than 5, but got %d", x);
mbed_official 525:c320967f86b9 67 * }
mbed_official 525:c320967f86b9 68 * #endcode
mbed_official 525:c320967f86b9 69 */
mbed_official 525:c320967f86b9 70
mbed_official 525:c320967f86b9 71 #ifdef __cplusplus
mbed_official 525:c320967f86b9 72 extern "C" {
mbed_official 525:c320967f86b9 73 #endif
mbed_official 525:c320967f86b9 74
mbed_official 525:c320967f86b9 75 void error(const char* format, ...);
mbed_official 525:c320967f86b9 76
mbed_official 525:c320967f86b9 77 #ifdef __cplusplus
mbed_official 525:c320967f86b9 78 }
mbed_official 525:c320967f86b9 79 #endif
mbed_official 525:c320967f86b9 80
mbed_official 525:c320967f86b9 81 #endif