fixed binding key in bind mode
This commit is contained in:
@@ -4,6 +4,29 @@ PlatformNode::PlatformNode(void) {
|
||||
for (uint8_t i = 0; i < PLATFORM_TOTAL_CHANNEL_COUNT; i++) {
|
||||
_channels[i] = PLATFORM_DEFAULT_CHANNEL_VALUE;
|
||||
}
|
||||
|
||||
randomSeed(analogRead(0));
|
||||
}
|
||||
|
||||
void PlatformNode::seed(void) {
|
||||
uint8_t val;
|
||||
|
||||
val = EEPROM.read(EEPROM_ADDRESS_BIND_KEY_SEEDED);
|
||||
|
||||
if (val != 0xf1) {
|
||||
EEPROM.write(EEPROM_ADDRESS_BIND_0, random(1, 255)); //Yes, from 1 to 254
|
||||
EEPROM.write(EEPROM_ADDRESS_BIND_1, random(1, 255)); //Yes, from 1 to 254
|
||||
EEPROM.write(EEPROM_ADDRESS_BIND_2, random(1, 255)); //Yes, from 1 to 254
|
||||
EEPROM.write(EEPROM_ADDRESS_BIND_3, random(1, 255)); //Yes, from 1 to 254
|
||||
EEPROM.write(EEPROM_ADDRESS_BIND_KEY_SEEDED, 0xf1);
|
||||
}
|
||||
}
|
||||
|
||||
void PlatformNode::loadBindKey(void) {
|
||||
bindKey[0] = EEPROM.read(EEPROM_ADDRESS_BIND_0);
|
||||
bindKey[1] = EEPROM.read(EEPROM_ADDRESS_BIND_1);
|
||||
bindKey[2] = EEPROM.read(EEPROM_ADDRESS_BIND_2);
|
||||
bindKey[3] = EEPROM.read(EEPROM_ADDRESS_BIND_3);
|
||||
}
|
||||
|
||||
int PlatformNode::getRcChannel(uint8_t channel) {
|
||||
@@ -23,6 +46,12 @@ void PlatformNode::setRcChannel(uint8_t channel, int value, int offset) {
|
||||
void PlatformNode::enterBindMode(void) {
|
||||
isBindMode = true;
|
||||
|
||||
// Set temporary bind mode
|
||||
bindKey[0] = 0xf1;
|
||||
bindKey[0] = 0x1e;
|
||||
bindKey[0] = 0x07;
|
||||
bindKey[0] = 0x42;
|
||||
|
||||
radioNode.set(
|
||||
0, // Minimum power
|
||||
125000, // 125kHz bandwidth
|
||||
@@ -34,5 +63,6 @@ void PlatformNode::enterBindMode(void) {
|
||||
|
||||
void PlatformNode::leaveBindMode(void) {
|
||||
isBindMode = false;
|
||||
loadBindKey();
|
||||
radioNode.reset();
|
||||
}
|
||||
Reference in New Issue
Block a user