Use hardware RNG for CSMA r-value seed on ESP32

This commit is contained in:
Mark Qvist 2024-03-30 15:11:24 +01:00
parent 854b345e3d
commit e63b5b6cdb
1 changed files with 11 additions and 2 deletions

View File

@ -60,8 +60,17 @@ void setup() {
}
#endif
// Seed the PRNG
randomSeed(analogRead(0));
// Seed the PRNG for CSMA R-value selection
# if MCU_VARIANT == MCU_ESP32
// On ESP32, get the seed value from the
// hardware RNG
int seed_val = (int)esp_random();
#else
// Otherwise, get a pseudo-random seed
// value from an unconnected analog pin
int seed_val = analogRead(0);
#endif
randomSeed(seed_val);
// Initialise serial communication
memset(serialBuffer, 0, sizeof(serialBuffer));