IoT - Kubus / Mbed 2 deprecated Kubus

Dependencies:   mbed nRF24L01P

Committer:
sbarzowski
Date:
Wed Jan 18 16:57:05 2017 +0100
Branch:
multipipe
Revision:
51:090149c4aa28
Parent:
44:d15530b37144
Child:
54:2551a3c781cf
Multipipe

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 37:1251e35fe43e 4 #include <sstream>
pannaanna 2:6541a391bdbd 5 #include <stdint.h>
sbarzowski 51:090149c4aa28 6 #include <vector>
pannaanna 2:6541a391bdbd 7 #include <string>
pannaanna 2:6541a391bdbd 8 #include "nRF24L01P.h"
pannaannap 5:fbd5b1e953e6 9 #include "mbed.h"
pannaanna 2:6541a391bdbd 10
sbarzowski 41:7f1a763a26fb 11 #define DATA_RATE NRF24L01P_DATARATE_250_KBPS
pannaanna 2:6541a391bdbd 12 #define POWER NRF24L01P_TX_PWR_ZERO_DB
pannaanna 2:6541a391bdbd 13 #define CHANNEL 2
pannaanna 2:6541a391bdbd 14 #define TRANSFER_SIZE 32
pannaanna 2:6541a391bdbd 15
sbarzowski 51:090149c4aa28 16 // STUPID LEGACY, DON'T USE
pannaannap 27:27cffdb2e9d3 17 const unsigned long long MASTER_ADDRESS = 0xBACDFF00;
pannaannap 27:27cffdb2e9d3 18 const unsigned long long BOARD1_ADDRESS = 0xBACDFF01;
pannaannap 27:27cffdb2e9d3 19 const unsigned long long BOARD2_ADDRESS = 0xBACDFF02;
pannaannap 27:27cffdb2e9d3 20 const unsigned long long BOARD3_ADDRESS = 0xBACDFF03;
pannaanna 2:6541a391bdbd 21
sbarzowski 51:090149c4aa28 22 extern const int pipes[];
sbarzowski 51:090149c4aa28 23 extern const unsigned long long addresses[];
sbarzowski 51:090149c4aa28 24
pannaanna 2:6541a391bdbd 25 enum SENSOR_TYPE {
pannaannap 4:aa25f65395e3 26 PIR1 = 1,
pannaannap 4:aa25f65395e3 27 PIR2 = 2,
pannaannap 4:aa25f65395e3 28 DISTANCE = 3,
pannaannap 4:aa25f65395e3 29 SOUND = 4,
pannaanna 2:6541a391bdbd 30 };
pannaanna 2:6541a391bdbd 31
pannaanna 2:6541a391bdbd 32 struct Data {
Bartosz Stebel 8:1861d0eef60a 33 Data(uint8_t type_, int32_t i_val)
Bartosz Stebel 8:1861d0eef60a 34 : type(type_) {
Bartosz Stebel 8:1861d0eef60a 35 value.i = i_val;
Bartosz Stebel 8:1861d0eef60a 36 }
Bartosz Stebel 8:1861d0eef60a 37
Bartosz Stebel 8:1861d0eef60a 38 Data(uint8_t type_, float f_val)
Bartosz Stebel 8:1861d0eef60a 39 : type(type_) {
Bartosz Stebel 8:1861d0eef60a 40 value.f = f_val;
Bartosz Stebel 8:1861d0eef60a 41 }
sbarzowski 40:40d4161fe1ad 42
pannaanna 2:6541a391bdbd 43 std::string serialize();
Bartosz Stebel 8:1861d0eef60a 44 bool deserialize(std::string str);
sbarzowski 40:40d4161fe1ad 45
pannaanna 2:6541a391bdbd 46 uint8_t type;
Bartosz Stebel 8:1861d0eef60a 47 union {
Bartosz Stebel 8:1861d0eef60a 48 int32_t i;
Bartosz Stebel 8:1861d0eef60a 49 float f;
Bartosz Stebel 8:1861d0eef60a 50 } value;
pannaanna 2:6541a391bdbd 51 };
pannaanna 2:6541a391bdbd 52
pannaanna 37:1251e35fe43e 53 std::string str_hex(const char* text, int len);
pannaanna 37:1251e35fe43e 54
sbarzowski 51:090149c4aa28 55 void radio_init_sensor_board(nRF24L01P* radio, unsigned long long tx_address);
sbarzowski 51:090149c4aa28 56 void radio_init_master(nRF24L01P* radio, const std::vector<unsigned long long> &rx_addresses);
pannaannap 6:98401b545e0c 57
Bartosz Stebel 8:1861d0eef60a 58 #endif /* JNP3_COMMON */