summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrobert <robert@hammelrath.com>2020-08-22 20:56:26 +0200
committerDamien George <damien@micropython.org>2020-10-29 14:11:08 +1100
commitb4062894df8e17e11179dcb5f5b28b27eed33aff (patch)
treecd65e0bf5a72818f56f44b5c4b9c9d07ca604f9e
parent03a1f94ea16a532bd4219092edb06e251d9a0ca5 (diff)
esp32/mpconfigport.h: Seed the urandom module on import.
For seeding, the RNG function of the ESP-IDF is used, which is told to be a true RNG, at least when WiFi or Bluetooth is enabled. Seeding on import is as per CPython. To obtain a reproducible sequence of pseudo-random numbers one must explicitly seed with a known value.
-rw-r--r--ports/esp32/mpconfigport.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/ports/esp32/mpconfigport.h b/ports/esp32/mpconfigport.h
index b63d1f895..f170d7070 100644
--- a/ports/esp32/mpconfigport.h
+++ b/ports/esp32/mpconfigport.h
@@ -6,6 +6,7 @@
#include <stdint.h>
#include <alloca.h>
+#include "esp_system.h"
#if !MICROPY_ESP_IDF_4
#include "rom/ets_sys.h"
@@ -141,6 +142,7 @@
#define MICROPY_PY_UBINASCII_CRC32 (1)
#define MICROPY_PY_URANDOM (1)
#define MICROPY_PY_URANDOM_EXTRA_FUNCS (1)
+#define MICROPY_PY_URANDOM_SEED_INIT_FUNC (esp_random())
#define MICROPY_PY_OS_DUPTERM (1)
#define MICROPY_PY_MACHINE (1)
#define MICROPY_PY_MACHINE_PIN_MAKE_NEW mp_pin_make_new