from bbc microbit library

Dependencies:   BLE_API mbed-dev-bin nRF51822

Dependents:   microbit

Fork of microbit-dal by Lancaster University

Revision:
1:8aa5cdb4ab67
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/inc/core/MicroBitCompat.h	Thu Apr 07 01:33:22 2016 +0100
@@ -0,0 +1,111 @@
+/*
+The MIT License (MIT)
+
+Copyright (c) 2016 British Broadcasting Corporation.
+This software is provided by Lancaster University by arrangement with the BBC.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
+*/
+
+/**
+  * This file contains functions used to maintain compatability and portability.
+  * It also contains constants that are used elsewhere in the DAL.
+  */
+
+#ifndef MICROBIT_COMPAT_H
+#define MICROBIT_COMPAT_H
+
+#include "mbed.h"
+#include "MicroBitConfig.h"
+
+#define PI 3.14159265359
+
+/**
+  * Determines the smallest of the two numbers
+  *
+  * @param a the first number
+  *
+  * @param b the second number
+  *
+  * @return The smallest of the two given values.
+  */
+inline int min(int a, int b)
+{
+    return (a < b ? a : b);
+}
+
+/**
+  * Determines the largest of the two numbers
+  *
+  * @param a the first number
+  *
+  * @param b the second number
+  *
+  * @return The larger of the two given values.
+  */
+inline int max(int a, int b)
+{
+    return (a > b ? a : b);
+}
+
+/**
+  * Sets a given area of memory to zero.
+  *
+  * @param a the pointer to the beginning of the memory to clear
+  *
+  * @param b the number of bytes to clear.
+  */
+inline void *memclr(void *a, size_t b)
+{
+    return memset(a,0,b);
+}
+
+/**
+  * Determines if the given character is a printable ASCII/UTF8 decimal digit (0..9).
+  *
+  * @param c the character to check
+  *
+  * @return true if the character is a digit, false otherwise.
+  */
+inline bool isdigit(char c)
+{
+    return (c > 47 && c < 58);
+}
+
+/**
+  * Performs an in buffer reverse of a given char array.
+  *
+  * @param s the string to reverse.
+  *
+  * @return MICROBIT_OK, or MICROBIT_INVALID_PARAMETER.
+  */
+int string_reverse(char *s);
+
+/**
+  * Converts a given integer into a string representation.
+  *
+  * @param n The number to convert.
+  *
+  * @param s A pointer to the buffer where the resulting string will be stored.
+  *
+  * @return MICROBIT_OK, or MICROBIT_INVALID_PARAMETER.
+  */
+int itoa(int n, char *s);
+
+#endif