diff options
| author | sommersoft <sommersoft@gmail.com> | 2018-03-09 02:19:51 +0000 |
|---|---|---|
| committer | sommersoft <sommersoft@gmail.com> | 2018-03-09 02:19:51 +0000 |
| commit | c1c3a79ec4aa5215b6d5debe8bc7a710c40e82a4 (patch) | |
| tree | dd10457df1fc32e4924c0ce5e21f9c816982a3a0 | |
| parent | 60d6ccc73192892d7fe1acba1cafc37e25421cad (diff) | |
atmel-samd: changed Status to Runtime; instituted runtime singleton
| -rw-r--r-- | ports/atmel-samd/Makefile | 3 | ||||
| -rwxr-xr-x | ports/atmel-samd/common-hal/supervisor/Runtime.c (renamed from ports/atmel-samd/common-hal/supervisor/Status.c) | 2 | ||||
| -rwxr-xr-x | ports/atmel-samd/common-hal/supervisor/Runtime.h | 37 | ||||
| -rwxr-xr-x | ports/atmel-samd/common-hal/supervisor/__init__.c | 40 | ||||
| -rwxr-xr-x | shared-bindings/supervisor/Runtime.c (renamed from shared-bindings/supervisor/Status.c) | 24 | ||||
| -rwxr-xr-x | shared-bindings/supervisor/Runtime.h (renamed from shared-bindings/supervisor/Status.h) | 9 | ||||
| -rw-r--r-- | shared-bindings/supervisor/__init__.c | 12 | ||||
| -rwxr-xr-x | shared-bindings/supervisor/__init__.h | 39 |
8 files changed, 145 insertions, 21 deletions
diff --git a/ports/atmel-samd/Makefile b/ports/atmel-samd/Makefile index a58d49926..7347dcdbe 100644 --- a/ports/atmel-samd/Makefile +++ b/ports/atmel-samd/Makefile @@ -268,7 +268,8 @@ SRC_COMMON_HAL = \ neopixel_write/__init__.c \ os/__init__.c \ storage/__init__.c \ - supervisor/Status.c \ + supervisor/__init__.c \ + supervisor/Runtime.c \ time/__init__.c \ analogio/__init__.c \ analogio/AnalogIn.c \ diff --git a/ports/atmel-samd/common-hal/supervisor/Status.c b/ports/atmel-samd/common-hal/supervisor/Runtime.c index b7f95a54e..8efe7cb78 100755 --- a/ports/atmel-samd/common-hal/supervisor/Status.c +++ b/ports/atmel-samd/common-hal/supervisor/Runtime.c @@ -25,7 +25,7 @@ */ #include <stdbool.h> -#include "shared-bindings/supervisor/Status.h" +#include "shared-bindings/supervisor/Runtime.h" #include "usb.h" bool common_hal_get_serial_connected(void) { diff --git a/ports/atmel-samd/common-hal/supervisor/Runtime.h b/ports/atmel-samd/common-hal/supervisor/Runtime.h new file mode 100755 index 000000000..f3d76d1b6 --- /dev/null +++ b/ports/atmel-samd/common-hal/supervisor/Runtime.h @@ -0,0 +1,37 @@ +/* + * This file is part of the MicroPython project, http://micropython.org/ + * + * The MIT License (MIT) + * + * Copyright (c) 2018 Michael Schroeder + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#ifndef MICROPY_INCLUDED_ATMEL_SAMD_COMMON_HAL_SUPERVISOR_RUNTIME_H +#define MICROPY_INCLUDED_ATMEL_SAMD_COMMON_HAL_SUPERVISOR_RUNTIME_H + +#include "py/obj.h" + +typedef struct { + mp_obj_base_t base; + // Stores no state currently. +} super_runtime_obj_t; + +#endif // MICROPY_INCLUDED_ATMEL_SAMD_COMMON_HAL_SUPERVISOR_RUNTIME_H diff --git a/ports/atmel-samd/common-hal/supervisor/__init__.c b/ports/atmel-samd/common-hal/supervisor/__init__.c new file mode 100755 index 000000000..ac88556b4 --- /dev/null +++ b/ports/atmel-samd/common-hal/supervisor/__init__.c @@ -0,0 +1,40 @@ +/* + * This file is part of the MicroPython project, http://micropython.org/ + * + * The MIT License (MIT) + * + * Copyright (c) 2018 Michael Schroeder + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + + +#include "py/obj.h" + +#include "shared-bindings/supervisor/__init__.h" +#include "shared-bindings/supervisor/Runtime.h" + + +// The singleton supervisor.Runtime object, bound to supervisor.runtime +// It currently only has properties, and no state. +const super_runtime_obj_t common_hal_supervisor_runtime_obj = { + .base = { + .type = &supervisor_runtime_type, + }, +};
\ No newline at end of file diff --git a/shared-bindings/supervisor/Status.c b/shared-bindings/supervisor/Runtime.c index 5d34b91f3..b112cdde2 100755 --- a/shared-bindings/supervisor/Status.c +++ b/shared-bindings/supervisor/Runtime.c @@ -26,24 +26,24 @@ #include <stdbool.h> #include "py/objproperty.h" -#include "shared-bindings/supervisor/Status.h" +#include "shared-bindings/supervisor/Runtime.h" //TODO: add USB, REPL to description once they're operational -//| .. currentmodule:: status +//| .. currentmodule:: runtime //| -//| :class:`Status` --- Supervisor Status information -//| ------------------------------------------------- +//| :class:`Runtime` --- Supervisor Runtime information +//| ---------------------------------------------------- //| -//| Get current status of the serial connection. +//| Get current status of runtime objects. //| //| Usage:: //| //| import supervisor -//| if supervisor.serial_connected: +//| if supervisor.runtime.serial_connected: //| print("Hello World!") //| -//| .. attribute:: serial_connected +//| .. attribute:: runtime.serial_connected //| //| Returns the serial communication status (read-only) //| @@ -64,14 +64,14 @@ const mp_obj_property_t supervisor_serial_connected_obj = { (mp_obj_t)&mp_const_none_obj}, }; -STATIC const mp_rom_map_elem_t supervisor_status_locals_dict_table[] = { +STATIC const mp_rom_map_elem_t supervisor_runtime_locals_dict_table[] = { { MP_ROM_QSTR(MP_QSTR_serial_connected), MP_ROM_PTR(&supervisor_serial_connected_obj) }, }; -STATIC MP_DEFINE_CONST_DICT(supervisor_status_locals_dict, supervisor_status_locals_dict_table); +STATIC MP_DEFINE_CONST_DICT(supervisor_runtime_locals_dict, supervisor_runtime_locals_dict_table); -const mp_obj_type_t supervisor_status_type = { +const mp_obj_type_t supervisor_runtime_type = { .base = { &mp_type_type }, - .name = MP_QSTR_Status, - .locals_dict = (mp_obj_t)&supervisor_status_locals_dict, + .name = MP_QSTR_Runtime, + .locals_dict = (mp_obj_t)&supervisor_runtime_locals_dict, }; diff --git a/shared-bindings/supervisor/Status.h b/shared-bindings/supervisor/Runtime.h index 43888bcf8..4a67925ec 100755 --- a/shared-bindings/supervisor/Status.h +++ b/shared-bindings/supervisor/Runtime.h @@ -24,15 +24,14 @@ * THE SOFTWARE. */ -#ifndef MICROPY_INCLUDED_SHARED_BINDINGS_SUPERVISOR_STATUS_H -#define MICROPY_INCLUDED_SHARED_BINDINGS_SUPERVISOR_STATUS_H +#ifndef MICROPY_INCLUDED_SHARED_BINDINGS_RUNTIME_STATUS_H +#define MICROPY_INCLUDED_SHARED_BINDINGS_RUNTIME_STATUS_H #include <stdbool.h> #include "py/obj.h" -//#include "common-hal/supervisor/Status.h" -const mp_obj_type_t supervisor_status_type; +const mp_obj_type_t supervisor_runtime_type; bool common_hal_get_serial_connected(void); @@ -40,4 +39,4 @@ bool common_hal_get_serial_connected(void); //bool common_hal_get_repl_active(void); //bool common_hal_get_usb_enumerated(void); -#endif // MICROPY_INCLUDED_SHARED_BINDINGS_SUPERVISOR_STATUS_H +#endif // MICROPY_INCLUDED_SHARED_BINDINGS_SUPERVISOR_RUNTIME_H diff --git a/shared-bindings/supervisor/__init__.c b/shared-bindings/supervisor/__init__.c index 46b69da46..12a41d433 100644 --- a/shared-bindings/supervisor/__init__.c +++ b/shared-bindings/supervisor/__init__.c @@ -28,7 +28,8 @@ #include "supervisor/shared/autoreload.h" #include "supervisor/shared/rgb_led_status.h" - #include "shared-bindings/supervisor/Status.h" + #include "shared-bindings/supervisor/__init__.h" + #include "shared-bindings/supervisor/Runtime.h" //| :mod:`supervisor` --- Supervisor settings //| ================================================= //| @@ -37,6 +38,13 @@ //| :platform: SAMD21 //| +//| .. attribute:: runtime +//| +//| Runtime information, such as `runtime.serial_connected` +//| (USB serial connection status). +//| This object is the sole instance of `supervisor.Runtime`. +//| + //| .. method:: enable_autoreload() //| //| Enable autoreload based on USB file write activity. @@ -79,7 +87,7 @@ STATIC const mp_rom_map_elem_t supervisor_module_globals_table[] = { { MP_OBJ_NEW_QSTR(MP_QSTR_enable_autoreload), MP_ROM_PTR(&supervisor_enable_autoreload_obj) }, { MP_OBJ_NEW_QSTR(MP_QSTR_disable_autoreload), MP_ROM_PTR(&supervisor_disable_autoreload_obj) }, { MP_OBJ_NEW_QSTR(MP_QSTR_set_rgb_status_brightness), MP_ROM_PTR(&supervisor_set_rgb_status_brightness_obj) }, - { MP_ROM_QSTR(MP_QSTR_Status), MP_ROM_PTR(&supervisor_status_type) }, + { MP_ROM_QSTR(MP_QSTR_runtime), MP_ROM_PTR(&common_hal_supervisor_runtime_obj) }, }; STATIC MP_DEFINE_CONST_DICT(supervisor_module_globals, supervisor_module_globals_table); diff --git a/shared-bindings/supervisor/__init__.h b/shared-bindings/supervisor/__init__.h new file mode 100755 index 000000000..d2e568945 --- /dev/null +++ b/shared-bindings/supervisor/__init__.h @@ -0,0 +1,39 @@ +/* + * This file is part of the MicroPython project, http://micropython.org/ + * + * The MIT License (MIT) + * + * Copyright (c) 2018 Michael Schroeder + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#ifndef MICROPY_INCLUDED_SHARED_BINDINGS_SUPERVISOR___INIT___H +#define MICROPY_INCLUDED_SHARED_BINDINGS_SUPERVISOR___INIT___H + +//#include "py/mpconfig.h" +#include "py/obj.h" + +#include "common-hal/supervisor/Runtime.h" + +extern const super_runtime_obj_t common_hal_supervisor_runtime_obj; + + + +#endif // MICROPY_INCLUDED_SHARED_BINDINGS_SUPERVISOR___INIT___H
\ No newline at end of file |
