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 #ifndef LSM303DLHC_REG_H
wardm 15:2e0d977dbb31 2 #define LSM303DLHC_REG_H
wardm 15:2e0d977dbb31 3
wardm 15:2e0d977dbb31 4 // ACC SAD
wardm 15:2e0d977dbb31 5 #define ACC_ADDRESS 0x32
wardm 15:2e0d977dbb31 6 // ACC CTRL SUB
wardm 15:2e0d977dbb31 7 #define CTRL_REG1_A 0x20 //RW ODR(4) LPen Zen Yen Xen
wardm 15:2e0d977dbb31 8 #define CTRL_REG2_A 0x21 //RW HPM(2) HPCF(2) FDS HPCLICK HPIS2 HPIS1
wardm 15:2e0d977dbb31 9 #define CTRL_REG3_A 0x22 //RW I1_CLICK I1_AOI1 I1_AOI2 I1_DRDY1 I1_DRDY2 I1_WTM I1_OVERRUN -
wardm 15:2e0d977dbb31 10 #define CTRL_REG4_A 0x23 //RW BDU BLE FS1 FS0 HR 0(2) SIM
wardm 15:2e0d977dbb31 11 #define CTRL_REG5_A 0x24 //RW BOOT FIFO_EN - - LIR_INT1 D4D_INT1 LIR_INT2 D4D_INT2
wardm 15:2e0d977dbb31 12 #define CTRL_REG6_A 0x25 //RW I2_CLICKen I2_INT1 I2_INT2 BOOT_I1 P2_ACT - H_LACTIVE -
wardm 15:2e0d977dbb31 13 #define REFERENCE_A 0x26 //RW Ref7 Ref6 Ref5 Ref4 Ref3 Ref2 Ref1 Ref0
wardm 15:2e0d977dbb31 14 #define STATUS_REG_A 0x27 //R ZYXOR ZOR YOR XOR ZYXDA ZDA YDA XDA
wardm 15:2e0d977dbb31 15 // ACC OUT SUB
wardm 15:2e0d977dbb31 16 #define OUT_X_L_A 0x28 //R MSB(8)
wardm 15:2e0d977dbb31 17 #define OUT_X_H_A 0x29 //R LSB(4) 0(4)
wardm 15:2e0d977dbb31 18 #define OUT_Y_L_A 0x2A //R ditto
wardm 15:2e0d977dbb31 19 #define OUT_Y_H_A 0x2B //R ditto
wardm 15:2e0d977dbb31 20 #define OUT_Z_L_A 0x2C //R ditto
wardm 15:2e0d977dbb31 21 #define OUT_Z_H_A 0x2D //R ditto
wardm 15:2e0d977dbb31 22 // ACC INT SUB
wardm 15:2e0d977dbb31 23 #define INT1_CFG_A 0x30
wardm 15:2e0d977dbb31 24 #define INT1_SRC_A 0x31
wardm 15:2e0d977dbb31 25 #define INT1_THS_A 0x32
wardm 15:2e0d977dbb31 26 #define INT1_DURATION_A 0x33
wardm 15:2e0d977dbb31 27 #define INT2_CFG_A 0x34
wardm 15:2e0d977dbb31 28 #define INT2_SRC_A 0x35
wardm 15:2e0d977dbb31 29 #define INT2_THS_A 0x36
wardm 15:2e0d977dbb31 30 #define INT2_DURATION_A 0x37
wardm 15:2e0d977dbb31 31 // ACC CLICK SUB
wardm 15:2e0d977dbb31 32 #define CLICK_CFG_A 0x38
wardm 15:2e0d977dbb31 33 #define CLICK_SRC_A 0x39
wardm 15:2e0d977dbb31 34 #define CLICK_THS_A 0x3A
wardm 15:2e0d977dbb31 35 #define TIME_LIMIT_A 0x3B
wardm 15:2e0d977dbb31 36 #define TIME_LATENCY_A 0x3C
wardm 15:2e0d977dbb31 37 #define TIME_WINDOW_A 0x3D
wardm 15:2e0d977dbb31 38
wardm 15:2e0d977dbb31 39 // MAG SAD
wardm 15:2e0d977dbb31 40 #define MAG_ADDRESS 0x3C
wardm 15:2e0d977dbb31 41 // MAG CTRL SUB
wardm 15:2e0d977dbb31 42 #define CRA_REG_M 0x00 //RW TEMP_EN 0(2) DR(3) 0(2)
wardm 15:2e0d977dbb31 43 #define CRB_REG_M 0x01 //RW GN(3) 0(5)
wardm 15:2e0d977dbb31 44 #define MR_REG_M 0x02 //RW 0(6) MD(2)
wardm 15:2e0d977dbb31 45 // MAG OUT SUB
wardm 15:2e0d977dbb31 46 #define OUT_X_H_M 0x03 //R LSB(8)
wardm 15:2e0d977dbb31 47 #define OUT_X_L_M 0x04 //R 0(4) MSB(4)
wardm 15:2e0d977dbb31 48 #define OUT_Z_H_M 0x05 //R ditto
wardm 15:2e0d977dbb31 49 #define OUT_Z_L_M 0x06 //R ditto
wardm 15:2e0d977dbb31 50 #define OUT_Y_H_M 0x07 //R ditto
wardm 15:2e0d977dbb31 51 #define OUT_Y_L_M 0x08 //R ditto
wardm 15:2e0d977dbb31 52 #define SR_REG_M 0x09 //R -(6) LOCK DRDY
wardm 15:2e0d977dbb31 53 #define IRA_REG_M 0x0A //R
wardm 15:2e0d977dbb31 54 #define IRB_REG_M 0x0B //R
wardm 15:2e0d977dbb31 55 #define IRC_REG_M 0x0C //R
wardm 15:2e0d977dbb31 56 // Temprature OUT SUB
wardm 15:2e0d977dbb31 57 #define TEMP_OUT_H_M 0x31 //R MSB(8)
wardm 15:2e0d977dbb31 58 #define TEMP_OUT_L_M 0x32 //R LSB(4) 0(4)
wardm 15:2e0d977dbb31 59
wardm 15:2e0d977dbb31 60 #endif