summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsommersoft <sommersoft@gmail.com>2018-03-09 02:19:51 +0000
committersommersoft <sommersoft@gmail.com>2018-03-09 02:19:51 +0000
commitc1c3a79ec4aa5215b6d5debe8bc7a710c40e82a4 (patch)
treedd10457df1fc32e4924c0ce5e21f9c816982a3a0
parent60d6ccc73192892d7fe1acba1cafc37e25421cad (diff)
atmel-samd: changed Status to Runtime; instituted runtime singleton
-rw-r--r--ports/atmel-samd/Makefile3
-rwxr-xr-xports/atmel-samd/common-hal/supervisor/Runtime.c (renamed from ports/atmel-samd/common-hal/supervisor/Status.c)2
-rwxr-xr-xports/atmel-samd/common-hal/supervisor/Runtime.h37
-rwxr-xr-xports/atmel-samd/common-hal/supervisor/__init__.c40
-rwxr-xr-xshared-bindings/supervisor/Runtime.c (renamed from shared-bindings/supervisor/Status.c)24
-rwxr-xr-xshared-bindings/supervisor/Runtime.h (renamed from shared-bindings/supervisor/Status.h)9
-rw-r--r--shared-bindings/supervisor/__init__.c12
-rwxr-xr-xshared-bindings/supervisor/__init__.h39
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