Lizzy project

Dependencies:   aconno_I2C Lis2dh12 adc52832_common aconno_SEGGER_RTT

Committer:
dbartolovic
Date:
Fri Mar 09 18:09:57 2018 +0000
Revision:
5:9903738f2587
Parent:
4:49b1aeca55e4
Child:
6:55607d577a42
Set acc mode to high resolution

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jurica238814 0:fc77522f4d28 1 /*
jurica238814 0:fc77522f4d28 2 * Made by Jurica Resetar @ aconno
jurica238814 0:fc77522f4d28 3 * More info @ aconno.de
jurica238814 0:fc77522f4d28 4 *
jurica238814 0:fc77522f4d28 5 */
jurica238814 0:fc77522f4d28 6
jurica238814 0:fc77522f4d28 7 #ifndef MAIN_H
jurica238814 0:fc77522f4d28 8 #define MAIN_H
jurica238814 0:fc77522f4d28 9
jurica238814 0:fc77522f4d28 10 #include "mbed.h"
jurica238814 0:fc77522f4d28 11 #include "Lis2dh12.h"
jurica238814 0:fc77522f4d28 12 #include "Lis2dh12_regs.h"
jurica238814 0:fc77522f4d28 13 #include "aconno_ble.h"
jurica238814 0:fc77522f4d28 14 #include "ble/BLE.h"
jurica238814 0:fc77522f4d28 15 #include "GapAdvertisingData.h"
jurica238814 0:fc77522f4d28 16
jurica238814 0:fc77522f4d28 17 #define DEBUG (0)
dbartolovic 5:9903738f2587 18 #define PRINT_ON_RTT (1)
dbartolovic 5:9903738f2587 19 #define DEBUG_LED (1)
jurica238814 0:fc77522f4d28 20 #define NANO_MODULE (0)
dbartolovic 3:38eadab20283 21 //#define LSB_VALUE (192)
dbartolovic 5:9903738f2587 22 #define LSB_VALUE (1)
jurica238814 0:fc77522f4d28 23
jurica238814 0:fc77522f4d28 24 #if NANO_MODULE
jurica238814 0:fc77522f4d28 25 #define I2C_DATA (p2)
jurica238814 0:fc77522f4d28 26 #define I2C_CLK (p3)
jurica238814 0:fc77522f4d28 27 #define INT_PIN1 (p10)
jurica238814 0:fc77522f4d28 28 #define INT_PIN2 (p9)
jurica238814 0:fc77522f4d28 29 #define ACC_POWER_PIN (p13)
jurica238814 0:fc77522f4d28 30 #define RED_LED_PIN (p12)
jurica238814 0:fc77522f4d28 31 #else
jurica238814 0:fc77522f4d28 32 #define I2C_DATA (p20)
jurica238814 0:fc77522f4d28 33 #define I2C_CLK (p17)
jurica238814 0:fc77522f4d28 34 #define INT_PIN1 (p16)
jurica238814 0:fc77522f4d28 35 #define INT_PIN2 (p15)
jurica238814 0:fc77522f4d28 36 #define ACC_POWER_PIN (p11)
jurica238814 0:fc77522f4d28 37 #define RED_LED_PIN (p22)
jurica238814 0:fc77522f4d28 38 #endif
jurica238814 0:fc77522f4d28 39
jurica238814 0:fc77522f4d28 40 #define BLE_ACTIVE_TIME_S (0.4)
jurica238814 0:fc77522f4d28 41 #define POWER_UP_DELAY_MS (200)
dbartolovic 5:9903738f2587 42 #define MEASURE_INTERVAL_MS (100)
jurica238814 0:fc77522f4d28 43
jurica238814 0:fc77522f4d28 44 #if PRINT_ON_RTT
jurica238814 0:fc77522f4d28 45 #include "SEGGER_RTT.h"
jurica238814 0:fc77522f4d28 46 #define printf(...) SEGGER_RTT_printf(0, __VA_ARGS__)
jurica238814 0:fc77522f4d28 47 #else
jurica238814 0:fc77522f4d28 48 #define printf(...)
jurica238814 0:fc77522f4d28 49 #endif
jurica238814 0:fc77522f4d28 50
jurica238814 0:fc77522f4d28 51 #define INT1_THRESHOLD (20u)
jurica238814 0:fc77522f4d28 52 #define INT1_DUR (0x00)
jurica238814 0:fc77522f4d28 53
jurica238814 0:fc77522f4d28 54 #define ACC_INT_SIG (0x00001020) // Acc interrupt signal
jurica238814 0:fc77522f4d28 55 #define DISABLE_BLE_SIG (0x00001030)
jurica238814 0:fc77522f4d28 56
jurica238814 0:fc77522f4d28 57 #if DEBUG
jurica238814 0:fc77522f4d28 58 NRF52_UART uart(p12, p14, Baud9600);
jurica238814 0:fc77522f4d28 59 char buffer[255];
jurica238814 0:fc77522f4d28 60 #define SEND(...) {uint8_t len = sprintf(buffer, __VA_ARGS__); uartM.lock(); uart.send(buffer, len); uartM.unlock();}
jurica238814 0:fc77522f4d28 61 #else
jurica238814 0:fc77522f4d28 62 #define SEND(...)
jurica238814 0:fc77522f4d28 63 #endif
jurica238814 0:fc77522f4d28 64
jurica238814 0:fc77522f4d28 65 char memsI2CAddress = I2C_ADDRESS;
jurica238814 0:fc77522f4d28 66 Mutex uartM;
jurica238814 0:fc77522f4d28 67 Thread uartT;
jurica238814 0:fc77522f4d28 68 Thread bleT;
jurica238814 0:fc77522f4d28 69 Thread measureT;
jurica238814 0:fc77522f4d28 70
jurica238814 0:fc77522f4d28 71 DigitalOut AccVcc(ACC_POWER_PIN);
jurica238814 0:fc77522f4d28 72 DigitalOut redLed(RED_LED_PIN);
jurica238814 0:fc77522f4d28 73 InterruptIn INT1(INT_PIN1);
jurica238814 0:fc77522f4d28 74 //InterruptIn INT2(INT_PIN2);
jurica238814 0:fc77522f4d28 75 I2C i2c(I2C_DATA,I2C_CLK);
jurica238814 0:fc77522f4d28 76 Lis2dh12 mems(&i2c, memsI2CAddress);
jurica238814 0:fc77522f4d28 77 Ticker bleTicker;
jurica238814 0:fc77522f4d28 78
jurica238814 0:fc77522f4d28 79 #endif