Lizzy project

Dependencies:   aconno_I2C Lis2dh12 adc52832_common aconno_SEGGER_RTT

Committer:
dbartolovic
Date:
Wed Mar 07 14:39:27 2018 +0000
Revision:
1:198b9945994e
Parent:
0:fc77522f4d28
Child:
2:41a1cdac47a7
Child:
3:38eadab20283
Made some adjustments.

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 1:198b9945994e 18 #define PRINT_ON_RTT (1)
jurica238814 0:fc77522f4d28 19 #define DEBUG_LED (1)
jurica238814 0:fc77522f4d28 20 #define NANO_MODULE (0)
jurica238814 0:fc77522f4d28 21 #define LSB_VALUE (192)
jurica238814 0:fc77522f4d28 22
jurica238814 0:fc77522f4d28 23 #if NANO_MODULE
jurica238814 0:fc77522f4d28 24 #define I2C_DATA (p2)
jurica238814 0:fc77522f4d28 25 #define I2C_CLK (p3)
jurica238814 0:fc77522f4d28 26 #define INT_PIN1 (p10)
jurica238814 0:fc77522f4d28 27 #define INT_PIN2 (p9)
jurica238814 0:fc77522f4d28 28 #define ACC_POWER_PIN (p13)
jurica238814 0:fc77522f4d28 29 #define RED_LED_PIN (p12)
jurica238814 0:fc77522f4d28 30 #else
jurica238814 0:fc77522f4d28 31 #define I2C_DATA (p20)
jurica238814 0:fc77522f4d28 32 #define I2C_CLK (p17)
jurica238814 0:fc77522f4d28 33 #define INT_PIN1 (p16)
jurica238814 0:fc77522f4d28 34 #define INT_PIN2 (p15)
jurica238814 0:fc77522f4d28 35 #define ACC_POWER_PIN (p11)
jurica238814 0:fc77522f4d28 36 #define RED_LED_PIN (p22)
jurica238814 0:fc77522f4d28 37 #endif
jurica238814 0:fc77522f4d28 38
jurica238814 0:fc77522f4d28 39 #define BLE_ACTIVE_TIME_S (0.4)
jurica238814 0:fc77522f4d28 40 #define POWER_UP_DELAY_MS (200)
jurica238814 0:fc77522f4d28 41 #define MEASURE_INTERVAL_MS (250)
jurica238814 0:fc77522f4d28 42
jurica238814 0:fc77522f4d28 43 #if PRINT_ON_RTT
jurica238814 0:fc77522f4d28 44 #include "SEGGER_RTT.h"
jurica238814 0:fc77522f4d28 45 #define printf(...) SEGGER_RTT_printf(0, __VA_ARGS__)
jurica238814 0:fc77522f4d28 46 #else
jurica238814 0:fc77522f4d28 47 #define printf(...)
jurica238814 0:fc77522f4d28 48 #endif
jurica238814 0:fc77522f4d28 49
jurica238814 0:fc77522f4d28 50 #define INT1_THRESHOLD (20u)
jurica238814 0:fc77522f4d28 51 #define INT1_DUR (0x00)
jurica238814 0:fc77522f4d28 52
jurica238814 0:fc77522f4d28 53 #define ACC_INT_SIG (0x00001020) // Acc interrupt signal
jurica238814 0:fc77522f4d28 54 #define DISABLE_BLE_SIG (0x00001030)
jurica238814 0:fc77522f4d28 55
jurica238814 0:fc77522f4d28 56 #if DEBUG
jurica238814 0:fc77522f4d28 57 NRF52_UART uart(p12, p14, Baud9600);
jurica238814 0:fc77522f4d28 58 char buffer[255];
jurica238814 0:fc77522f4d28 59 #define SEND(...) {uint8_t len = sprintf(buffer, __VA_ARGS__); uartM.lock(); uart.send(buffer, len); uartM.unlock();}
jurica238814 0:fc77522f4d28 60 #else
jurica238814 0:fc77522f4d28 61 #define SEND(...)
jurica238814 0:fc77522f4d28 62 #endif
jurica238814 0:fc77522f4d28 63
jurica238814 0:fc77522f4d28 64 char memsI2CAddress = I2C_ADDRESS;
jurica238814 0:fc77522f4d28 65 Mutex uartM;
jurica238814 0:fc77522f4d28 66 Thread uartT;
jurica238814 0:fc77522f4d28 67 Thread bleT;
jurica238814 0:fc77522f4d28 68 Thread measureT;
jurica238814 0:fc77522f4d28 69
jurica238814 0:fc77522f4d28 70 DigitalOut AccVcc(ACC_POWER_PIN);
jurica238814 0:fc77522f4d28 71 DigitalOut redLed(RED_LED_PIN);
jurica238814 0:fc77522f4d28 72 InterruptIn INT1(INT_PIN1);
jurica238814 0:fc77522f4d28 73 //InterruptIn INT2(INT_PIN2);
jurica238814 0:fc77522f4d28 74 I2C i2c(I2C_DATA,I2C_CLK);
jurica238814 0:fc77522f4d28 75 Lis2dh12 mems(&i2c, memsI2CAddress);
jurica238814 0:fc77522f4d28 76 Ticker bleTicker;
jurica238814 0:fc77522f4d28 77
jurica238814 0:fc77522f4d28 78 #endif