Platform HAL for rohm sensor drivers. Used for abstracting Arduino/mbed os/mbed classic.

Dependents:   rohm-bm1383-hello-mbedclassic rohm-bh1726-hello rohm-rpr0521-hello rohm-bh1745-hello ... more

Revision:
0:38c206f19bb7
Child:
1:4d6dc19a2347
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rohm-sensor-hal/rohm_hal.h	Mon Apr 11 08:26:39 2016 +0000
@@ -0,0 +1,49 @@
+/*   Copyright 2016 Rohm Semiconductor
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+*/
+#ifndef ROHM_HAL_H
+#define ROHM_HAL_H
+
+/* This file is meant for making same code work on many platforms easier. */
+#ifdef __MBED__
+    #include "mbed.h"               //types
+
+    #define USE_MBED_HARDWARE_I2C
+    extern Serial pc;
+    //Serial pc(USBTX, USBRX); done in main.cpp
+    #define DEBUG_print(...)    pc.printf(__VA_ARGS__)
+    #define DEBUG_printf(...)   pc.printf(__VA_ARGS__)
+    #define DEBUG_println(...)  pc.printf(__VA_ARGS__);pc.printf("\r\n")
+
+#elif __ARDUINO__
+    #include <arduino.h>            //types, Serial
+
+    //#define USE_ARDUINO_SOFTWARE_I2C
+    #define USE_ARDUINO_HARDWARE_I2C
+
+    #define DEBUG_printf(a)         Serial.print(a)
+    #define DEBUG_printf(a, b)      Serial.print(a);Serial.print(b)
+    #define DEBUG_printf(a, b, c)       Serial.print(a);Serial.print(b);Serial.print(c)
+    #define DEBUG_printf(a, b, c, ...)  Serial.print(a);Serial.print(b);Serial.print(c)
+    #define DEBUG_print()           Serial.print()
+    #define DEBUG_println()         Serial.println()
+#endif
+
+#if 0       //Enable/disable debug prints
+    #define DEBUG_print()
+    #define DEBUG_printf()
+    #define DEBUG_println()
+#endif
+
+#endif /* ROHM_HAL_H */