mirror of
https://github.com/meshcore-dev/MeshCore.git
synced 2026-03-30 21:25:46 +00:00
* fix for double radio.begin(). RNG seed from pressing ENTER
This commit is contained in:
@@ -267,9 +267,9 @@ protected:
|
||||
public:
|
||||
|
||||
#ifdef WRAPPER_CLASS
|
||||
MyMesh(RadioLibWrapper& radio, mesh::RNG& rng, mesh::RTCClock& rtc, SimpleMeshTables& tables)
|
||||
MyMesh(RadioLibWrapper& radio, StdRNG& rng, mesh::RTCClock& rtc, SimpleMeshTables& tables)
|
||||
#else
|
||||
MyMesh(mesh::Radio& radio, mesh::RNG& rng, mesh::RTCClock& rtc, SimpleMeshTables& tables)
|
||||
MyMesh(mesh::Radio& radio, StdRNG& rng, mesh::RTCClock& rtc, SimpleMeshTables& tables)
|
||||
#endif
|
||||
: BaseChatMesh(radio, *new ArduinoMillis(), rng, rtc, *new StaticPoolPacketManager(16), tables)
|
||||
{
|
||||
@@ -298,6 +298,14 @@ public:
|
||||
IdentityStore store(fs, "/identity");
|
||||
#endif
|
||||
if (!store.load("_main", self_id, _prefs.node_name, sizeof(_prefs.node_name))) { // legacy: node_name was from identity file
|
||||
// Need way to get some entropy to seed RNG
|
||||
Serial.println("Press ENTER to generate key:");
|
||||
char c = 0;
|
||||
while (c != '\n') { // wait for ENTER to be pressed
|
||||
if (Serial.available()) c = Serial.read();
|
||||
}
|
||||
((StdRNG *)getRNG())->begin(millis());
|
||||
|
||||
self_id = mesh::LocalIdentity(getRNG()); // create new random identity
|
||||
store.save("_main", self_id);
|
||||
}
|
||||
@@ -543,10 +551,6 @@ void setup() {
|
||||
#ifdef WRAPPER_CLASS
|
||||
fast_rng.begin(radio.random(0x7FFFFFFF));
|
||||
#else
|
||||
char c = 0;
|
||||
// while (c != '\n') { // wait for ENTER to be pressed
|
||||
// if (Serial.available()) c = Serial.read();
|
||||
// }
|
||||
fast_rng.begin(millis());
|
||||
#endif
|
||||
|
||||
|
||||
@@ -6,6 +6,6 @@ ESP32Board board;
|
||||
ESPNOWRadio radio;
|
||||
|
||||
bool radio_init() {
|
||||
radio.begin();
|
||||
// NOTE: radio.begin() is called by Dispatcher::begin(), so not needed here
|
||||
return true; // success
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user