IoT - Kubus / Mbed 2 deprecated Kubus

Dependencies:   mbed nRF24L01P

Committer:
Micha? ?azowik
Date:
Thu Jan 19 11:26:38 2017 +0100
Revision:
56:065bd3a75d97
Parent:
54:2551a3c781cf
Backed out changeset 090149c4aa28

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>
pannaanna 2:6541a391bdbd 6 #include <string>
pannaanna 2:6541a391bdbd 7 #include "nRF24L01P.h"
pannaannap 5:fbd5b1e953e6 8 #include "mbed.h"
pannaanna 2:6541a391bdbd 9
sbarzowski 41:7f1a763a26fb 10 #define DATA_RATE NRF24L01P_DATARATE_250_KBPS
pannaanna 2:6541a391bdbd 11 #define POWER NRF24L01P_TX_PWR_ZERO_DB
pannaanna 2:6541a391bdbd 12 #define CHANNEL 2
pannaanna 2:6541a391bdbd 13 #define TRANSFER_SIZE 32
pannaanna 2:6541a391bdbd 14
pannaannap 27:27cffdb2e9d3 15 const unsigned long long MASTER_ADDRESS = 0xBACDFF00;
pannaannap 27:27cffdb2e9d3 16 const unsigned long long BOARD1_ADDRESS = 0xBACDFF01;
pannaannap 27:27cffdb2e9d3 17 const unsigned long long BOARD2_ADDRESS = 0xBACDFF02;
pannaannap 27:27cffdb2e9d3 18 const unsigned long long BOARD3_ADDRESS = 0xBACDFF03;
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
pannaanna 2:6541a391bdbd 27 struct Data {
Bartosz Stebel 8:1861d0eef60a 28 Data(uint8_t type_, int32_t i_val)
Bartosz Stebel 8:1861d0eef60a 29 : type(type_) {
Bartosz Stebel 8:1861d0eef60a 30 value.i = i_val;
Bartosz Stebel 8:1861d0eef60a 31 }
Bartosz Stebel 8:1861d0eef60a 32
Bartosz Stebel 8:1861d0eef60a 33 Data(uint8_t type_, float f_val)
Bartosz Stebel 8:1861d0eef60a 34 : type(type_) {
Bartosz Stebel 8:1861d0eef60a 35 value.f = f_val;
Bartosz Stebel 8:1861d0eef60a 36 }
Bartosz Stebel 52:917b3f31cad3 37 Data(): type(0)
Bartosz Stebel 52:917b3f31cad3 38 {
Bartosz Stebel 52:917b3f31cad3 39 value.i = 0;
Bartosz Stebel 52:917b3f31cad3 40 }
sbarzowski 40:40d4161fe1ad 41
pannaanna 2:6541a391bdbd 42 std::string serialize();
Bartosz Stebel 8:1861d0eef60a 43 bool deserialize(std::string str);
sbarzowski 40:40d4161fe1ad 44
pannaanna 2:6541a391bdbd 45 uint8_t type;
Bartosz Stebel 8:1861d0eef60a 46 union {
Bartosz Stebel 8:1861d0eef60a 47 int32_t i;
Bartosz Stebel 8:1861d0eef60a 48 float f;
Bartosz Stebel 8:1861d0eef60a 49 } value;
pannaanna 2:6541a391bdbd 50 };
pannaanna 2:6541a391bdbd 51
pannaanna 37:1251e35fe43e 52 std::string str_hex(const char* text, int len);
pannaanna 37:1251e35fe43e 53
Micha? ?azowik 56:065bd3a75d97 54 void radio_init(nRF24L01P* radio, unsigned long long rx_address,
Micha? ?azowik 56:065bd3a75d97 55 unsigned long long tx_address);
pannaannap 6:98401b545e0c 56
Bartosz Stebel 8:1861d0eef60a 57 #endif /* JNP3_COMMON */