Lizzy project
Dependencies: aconno_I2C Lis2dh12 adc52832_common aconno_SEGGER_RTT
source/main.h@3:38eadab20283, 2018-03-09 (annotated)
- Committer:
- dbartolovic
- Date:
- Fri Mar 09 16:55:53 2018 +0000
- Revision:
- 3:38eadab20283
- Parent:
- 1:198b9945994e
- Child:
- 4:49b1aeca55e4
Changed full scale to 2g
Who changed what in which revision?
User | Revision | Line number | New 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) |
dbartolovic | 3:38eadab20283 | 21 | //#define LSB_VALUE (192) |
dbartolovic | 3:38eadab20283 | 22 | #define LSB_VALUE (16) |
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) |
jurica238814 | 0:fc77522f4d28 | 42 | #define MEASURE_INTERVAL_MS (250) |
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 |