Proposal to keep gateways separated.

This commit is contained in:
Henrik Ekblad
2014-09-09 16:57:56 +02:00
parent 9192da3a7d
commit 7fa54a6e5a
28 changed files with 3604 additions and 740 deletions
+8 -1
View File
@@ -34,9 +34,11 @@ MySensor::MySensor(uint8_t _cepin, uint8_t _cspin) : RF24(_cepin, _cspin) {
void MySensor::begin(void (*_msgCallback)(const MyMessage &), uint8_t _nodeId, boolean _repeaterMode, uint8_t _parentNodeId, rf24_pa_dbm_e paLevel, uint8_t channel, rf24_datarate_e dataRate) {
Serial.begin(BAUD_RATE);
isGateway = false;
repeaterMode = _repeaterMode;
msgCallback = _msgCallback;
// Only gateway should use node id 0
isGateway = _nodeId == 0;
if (repeaterMode) {
setupRepeaterMode();
@@ -47,6 +49,11 @@ void MySensor::begin(void (*_msgCallback)(const MyMessage &), uint8_t _nodeId, b
eeprom_read_block((void*)&nc, (void*)EEPROM_NODE_ID_ADDRESS, sizeof(NodeConfig));
// Read latest received controller configuration from EEPROM
eeprom_read_block((void*)&cc, (void*)EEPROM_CONTROLLER_CONFIG_ADDRESS, sizeof(ControllerConfig));
if (isGateway) {
nc.distance = 0;
}
if (cc.isMetric == 0xff) {
// Eeprom empty, set default to metric
cc.isMetric = 0x01;