Code for Technion Formula car sensors reader

Dependencies:   mbed Buffer FATFileSystem

Fork of SX1272PingPong by Semtech

This is code is part of a Technion course project in advanced IoT, implementing a device to read and transmit sensors data from a Formula racing car built by students at Technion - Israel Institute of Technology.

How to install

  • Create an account on Mbed: https://os.mbed.com/account/signup/
  • Import project into Compiler
  • In the Program Workspace select "Formula_Nucleo_Reader"
  • Select a Platform like so:
  1. Click button at top-left
  2. Add Board
  3. Search "NUCLEO F103RB" and then "Add to your Mbed Compiler"
  • Finally click "Compile", if the build was successful, the binary would download automatically
  • To install it on device simply plug it in to a PC, open device drive and drag then drop binary file in it
Committer:
wardm
Date:
Thu May 17 20:37:41 2018 +0000
Revision:
15:2e0d977dbb31
V1.0.0

Who changed what in which revision?

UserRevisionLine numberNew contents of line
wardm 15:2e0d977dbb31 1 /* Copyright (c) 2012 mbed.org, MIT License
wardm 15:2e0d977dbb31 2 *
wardm 15:2e0d977dbb31 3 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software
wardm 15:2e0d977dbb31 4 * and associated documentation files (the "Software"), to deal in the Software without restriction,
wardm 15:2e0d977dbb31 5 * including without limitation the rights to use, copy, modify, merge, publish, distribute,
wardm 15:2e0d977dbb31 6 * sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
wardm 15:2e0d977dbb31 7 * furnished to do so, subject to the following conditions:
wardm 15:2e0d977dbb31 8 *
wardm 15:2e0d977dbb31 9 * The above copyright notice and this permission notice shall be included in all copies or
wardm 15:2e0d977dbb31 10 * substantial portions of the Software.
wardm 15:2e0d977dbb31 11 *
wardm 15:2e0d977dbb31 12 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
wardm 15:2e0d977dbb31 13 * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
wardm 15:2e0d977dbb31 14 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
wardm 15:2e0d977dbb31 15 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
wardm 15:2e0d977dbb31 16 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
wardm 15:2e0d977dbb31 17 */
wardm 15:2e0d977dbb31 18
wardm 15:2e0d977dbb31 19 #ifndef DEBUG_H
wardm 15:2e0d977dbb31 20 #define DEBUG_H
wardm 15:2e0d977dbb31 21
wardm 15:2e0d977dbb31 22 /** @file debug.h */
wardm 15:2e0d977dbb31 23
wardm 15:2e0d977dbb31 24 #ifndef NDEBUG
wardm 15:2e0d977dbb31 25
wardm 15:2e0d977dbb31 26 #include <stdarg.h>
wardm 15:2e0d977dbb31 27 #include <stdio.h>
wardm 15:2e0d977dbb31 28
wardm 15:2e0d977dbb31 29 /** Output a debug message
wardm 15:2e0d977dbb31 30 *
wardm 15:2e0d977dbb31 31 * @param format printf-style format string, followed by variables
wardm 15:2e0d977dbb31 32 */
wardm 15:2e0d977dbb31 33 static inline void debug(const char *format, ...) {
wardm 15:2e0d977dbb31 34 va_list args;
wardm 15:2e0d977dbb31 35 va_start(args, format);
wardm 15:2e0d977dbb31 36 vfprintf(stderr, format, args);
wardm 15:2e0d977dbb31 37 va_end(args);
wardm 15:2e0d977dbb31 38 }
wardm 15:2e0d977dbb31 39
wardm 15:2e0d977dbb31 40 /** Conditionally output a debug message
wardm 15:2e0d977dbb31 41 *
wardm 15:2e0d977dbb31 42 * @param condition output only if condition is true
wardm 15:2e0d977dbb31 43 * @param format printf-style format string, followed by variables
wardm 15:2e0d977dbb31 44 */
wardm 15:2e0d977dbb31 45 static inline void debug_if(bool condition, const char *format, ...) {
wardm 15:2e0d977dbb31 46 if(condition) {
wardm 15:2e0d977dbb31 47 va_list args;
wardm 15:2e0d977dbb31 48 va_start(args, format);
wardm 15:2e0d977dbb31 49 vfprintf(stderr, format, args);
wardm 15:2e0d977dbb31 50 va_end(args);
wardm 15:2e0d977dbb31 51 }
wardm 15:2e0d977dbb31 52 }
wardm 15:2e0d977dbb31 53
wardm 15:2e0d977dbb31 54 #else
wardm 15:2e0d977dbb31 55
wardm 15:2e0d977dbb31 56 static inline void debug(const char *format, ...) {}
wardm 15:2e0d977dbb31 57 static inline void debug(bool condition, const char *format, ...) {}
wardm 15:2e0d977dbb31 58
wardm 15:2e0d977dbb31 59 #endif
wardm 15:2e0d977dbb31 60
wardm 15:2e0d977dbb31 61 #endif