DzikuVx / QuadMeUp_Crossbow

Cheap DIY RC link based on LoRa 868MHz modules
Mozilla Public License 2.0
115 stars 29 forks source link

Issues on M0 #66

Closed kadrim closed 6 years ago

kadrim commented 6 years ago

Hi there,

i tried your code on adafruit m0 and it needs adjustmends, because the M0 does not have an EEPROM.

In platform_node.h:

`#ifdef ARDUINO_AVR_FEATHER32U4

include

endif`

In platform_node.cpp: ` void PlatformNode::seed(void) { uint8_t val;

ifdef ARDUINO_AVR_FEATHER32U4

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);
} 

endif

}

void PlatformNode::loadBindKey(uint8_t key[]) {

ifdef ARDUINO_AVR_FEATHER32U4

key[0] = EEPROM.read(EEPROM_ADDRESS_BIND_0);
key[1] = EEPROM.read(EEPROM_ADDRESS_BIND_1);
key[2] = EEPROM.read(EEPROM_ADDRESS_BIND_2);
key[3] = EEPROM.read(EEPROM_ADDRESS_BIND_3);

endif

}

void PlatformNode::saveBindKey(uint8_t key[]) {

ifdef ARDUINO_AVR_FEATHER32U4

EEPROM.write(EEPROM_ADDRESS_BIND_0, key[0]);
EEPROM.write(EEPROM_ADDRESS_BIND_1, key[1]);
EEPROM.write(EEPROM_ADDRESS_BIND_2, key[2]);
EEPROM.write(EEPROM_ADDRESS_BIND_3, key[3]);
EEPROM.write(EEPROM_ADDRESS_BIND_KEY_SEEDED, 0xf1);

endif

} `

Best regards, David

DzikuVx commented 6 years ago

Hi,

Unfortunately, EEPROM or some way to store configuration is currently required. I do not have M0 so if noone will find a solution on M0, I will have to drop support for it

kadrim commented 6 years ago

I have some M0 lying around - i will fiddle around with them and try to provide a solution, i.e. using Flash-Memory

DzikuVx commented 6 years ago

Yes, that would be the best

kadrim commented 6 years ago

I created a pull request for this issue: https://github.com/DzikuVx/QuadMeUp_Crossbow/pull/67

Best regards David

kadrim commented 6 years ago

Resolved