mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-01-19 00:37:25 +01:00
Merge branch 'version-11' into HEAD
This commit is contained in:
@@ -42,3 +42,7 @@ bool micropython_port_interrupt_if_needed() {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
int micropython_port_random() {
|
||||
return Ion::random();
|
||||
}
|
||||
|
||||
@@ -12,6 +12,7 @@ extern "C" {
|
||||
bool micropython_port_vm_hook_loop();
|
||||
bool micropython_port_interruptible_msleep(uint32_t delay);
|
||||
bool micropython_port_interrupt_if_needed();
|
||||
int micropython_port_random();
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -83,12 +83,15 @@
|
||||
// Whether to provide "sys" module
|
||||
#define MICROPY_PY_SYS (0)
|
||||
|
||||
// Wether to provide the "urandom" module
|
||||
// Whether to provide the "urandom" module
|
||||
#define MICROPY_PY_URANDOM (1)
|
||||
|
||||
// Whether to include: randrange, randint, choice, random, uniform
|
||||
#define MICROPY_PY_URANDOM_EXTRA_FUNCS (1)
|
||||
|
||||
// Function to seed URANDOM with on init
|
||||
#define MICROPY_PY_URANDOM_SEED_INIT_FUNC micropython_port_random()
|
||||
|
||||
// Make a pointer to RAM callable (eg set lower bit for Thumb code)
|
||||
// (This scheme won't work if we want to mix Thumb and normal ARM code.)
|
||||
#define MICROPY_MAKE_POINTER_CALLABLE(p) (p)
|
||||
|
||||
@@ -200,8 +200,20 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_2(mod_urandom_uniform_obj, mod_urandom_uniform);
|
||||
|
||||
#endif // MICROPY_PY_URANDOM_EXTRA_FUNCS
|
||||
|
||||
|
||||
#ifdef MICROPY_PY_URANDOM_SEED_INIT_FUNC
|
||||
STATIC mp_obj_t mod_urandom___init__() {
|
||||
mod_urandom_seed(MP_OBJ_NEW_SMALL_INT(MICROPY_PY_URANDOM_SEED_INIT_FUNC));
|
||||
return mp_const_none;
|
||||
}
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_0(mod_urandom___init___obj, mod_urandom___init__);
|
||||
#endif
|
||||
|
||||
STATIC const mp_rom_map_elem_t mp_module_urandom_globals_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_urandom) },
|
||||
#ifdef MICROPY_PY_URANDOM_SEED_INIT_FUNC
|
||||
{ MP_ROM_QSTR(MP_QSTR___init__), MP_ROM_PTR(&mod_urandom___init___obj) },
|
||||
#endif
|
||||
{ MP_ROM_QSTR(MP_QSTR_getrandbits), MP_ROM_PTR(&mod_urandom_getrandbits_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_seed), MP_ROM_PTR(&mod_urandom_seed_obj) },
|
||||
#if MICROPY_PY_URANDOM_EXTRA_FUNCS
|
||||
|
||||
Reference in New Issue
Block a user