IoT - Kubus / Mbed 2 deprecated Kubus

Dependencies:   mbed nRF24L01P

Committer:
pannaannap
Date:
Thu Jan 05 13:13:28 2017 +0000
Revision:
7:e51d0fbb1a25
Parent:
6:98401b545e0c
Child:
8:1861d0eef60a
one main file

Who changed what in which revision?

UserRevisionLine numberNew contents of line
pannaannap 6:98401b545e0c 1 #ifndef JNP3_COMMON_H
pannaannap 6:98401b545e0c 2 #define JNP3_COMMON_H
pannaannap 6:98401b545e0c 3
pannaanna 2:6541a391bdbd 4 #include <stdint.h>
pannaanna 2:6541a391bdbd 5 #include <string>
pannaanna 2:6541a391bdbd 6 #include "nRF24L01P.h"
pannaannap 5:fbd5b1e953e6 7 #include "mbed.h"
pannaanna 2:6541a391bdbd 8
pannaanna 2:6541a391bdbd 9 #define DATA_RATE NRF24L01P_DATARATE_250_KBPS
pannaanna 2:6541a391bdbd 10 #define POWER NRF24L01P_TX_PWR_ZERO_DB
pannaanna 2:6541a391bdbd 11 #define CHANNEL 2
pannaanna 2:6541a391bdbd 12 #define TRANSFER_SIZE 32
pannaanna 2:6541a391bdbd 13
pannaanna 2:6541a391bdbd 14 const unsigned long long MASTER_ADDRESS = 0xABCDEF00;
pannaanna 2:6541a391bdbd 15 const unsigned long long PIR1_ADDRESS = 0xABCDEF01;
pannaanna 2:6541a391bdbd 16 const unsigned long long PIR2_ADDRESS = 0xABCDEF02;
pannaanna 2:6541a391bdbd 17 const unsigned long long DISTANCE_SENSOR_ADDRESS = 0xABCDEF02;
pannaanna 2:6541a391bdbd 18 const unsigned long long SOUND_SENSOR_ADDRESS = 0xABCDEF03;
pannaanna 2:6541a391bdbd 19
pannaanna 2:6541a391bdbd 20 enum SENSOR_TYPE {
pannaannap 4:aa25f65395e3 21 PIR1 = 1,
pannaannap 4:aa25f65395e3 22 PIR2 = 2,
pannaannap 4:aa25f65395e3 23 DISTANCE = 3,
pannaannap 4:aa25f65395e3 24 SOUND = 4,
pannaanna 2:6541a391bdbd 25 };
pannaanna 2:6541a391bdbd 26
pannaannap 7:e51d0fbb1a25 27 struct SensorDescription {
pannaannap 7:e51d0fbb1a25 28 SensorDescription(int _sensor_id, unsigned long long _rx_address, unsigned long long _tx_address)
pannaannap 7:e51d0fbb1a25 29 : sensor_id(_sensor_id), rx_address(_rx_address), tx_address(_tx_address) {}
pannaannap 7:e51d0fbb1a25 30 int sensor_id;
pannaannap 7:e51d0fbb1a25 31 unsigned long long rx_address;
pannaannap 7:e51d0fbb1a25 32 unsigned long long tx_address;
pannaannap 7:e51d0fbb1a25 33 };
pannaannap 7:e51d0fbb1a25 34
pannaanna 2:6541a391bdbd 35 struct Data {
pannaanna 2:6541a391bdbd 36 Data(uint8_t type_, uint8_t counter_)
pannaanna 2:6541a391bdbd 37 : type(type_), counter(counter_) {}
pannaanna 2:6541a391bdbd 38
pannaanna 2:6541a391bdbd 39 // TODO correct?
pannaanna 2:6541a391bdbd 40 Data(std::string serialized)
pannaanna 2:6541a391bdbd 41 : type(serialized[0]), counter(serialized[1]) {}
pannaanna 2:6541a391bdbd 42
pannaanna 2:6541a391bdbd 43 std::string serialize();
pannaanna 2:6541a391bdbd 44
pannaanna 2:6541a391bdbd 45 uint8_t type;
pannaanna 2:6541a391bdbd 46 uint8_t counter;
pannaanna 2:6541a391bdbd 47 };
pannaanna 2:6541a391bdbd 48
pannaanna 2:6541a391bdbd 49 void radio_init(nRF24L01P* radio, unsigned long long rx_address,
pannaanna 2:6541a391bdbd 50 unsigned long long tx_address);
pannaannap 6:98401b545e0c 51
pannaannap 6:98401b545e0c 52 #endif /* JNP3_COMMON */