37
37
#include "esp_mphal.h"
38
38
#include "user_interface.h"
39
39
40
- STATIC const qstr os_uname_info_fields [] = {
41
- MP_QSTR_sysname , MP_QSTR_nodename ,
42
- MP_QSTR_release , MP_QSTR_version , MP_QSTR_machine
43
- };
44
- STATIC const MP_DEFINE_STR_OBJ (os_uname_info_sysname_obj , MICROPY_PY_SYS_PLATFORM );
45
- STATIC const MP_DEFINE_STR_OBJ (os_uname_info_nodename_obj , MICROPY_PY_SYS_PLATFORM );
46
- STATIC const MP_DEFINE_STR_OBJ (os_uname_info_version_obj , MICROPY_GIT_TAG " on " MICROPY_BUILD_DATE );
47
- STATIC const MP_DEFINE_STR_OBJ (os_uname_info_machine_obj , MICROPY_HW_BOARD_NAME " with " MICROPY_HW_MCU_NAME );
48
-
49
- STATIC mp_obj_tuple_t os_uname_info_obj = {
50
- .base = {& mp_type_attrtuple },
51
- .len = 5 ,
52
- .items = {
53
- (mp_obj_t )& os_uname_info_sysname_obj ,
54
- (mp_obj_t )& os_uname_info_nodename_obj ,
55
- NULL ,
56
- (mp_obj_t )& os_uname_info_version_obj ,
57
- (mp_obj_t )& os_uname_info_machine_obj ,
58
- (void * )os_uname_info_fields ,
59
- }
60
- };
61
-
62
- STATIC mp_obj_t os_uname (void ) {
63
- // We must populate the "release" field each time in case it was GC'd since the last call.
64
- const char * ver = system_get_sdk_version ();
65
- os_uname_info_obj .items [2 ] = mp_obj_new_str (ver , strlen (ver ));
66
- return (mp_obj_t )& os_uname_info_obj ;
40
+ STATIC const char * mp_uos_uname_release (void ) {
41
+ return system_get_sdk_version ();
67
42
}
68
- STATIC MP_DEFINE_CONST_FUN_OBJ_0 (os_uname_obj , os_uname );
69
43
70
- STATIC mp_obj_t os_urandom (mp_obj_t num ) {
44
+ STATIC mp_obj_t mp_uos_urandom (mp_obj_t num ) {
71
45
mp_int_t n = mp_obj_get_int (num );
72
46
vstr_t vstr ;
73
47
vstr_init_len (& vstr , n );
@@ -76,64 +50,20 @@ STATIC mp_obj_t os_urandom(mp_obj_t num) {
76
50
}
77
51
return mp_obj_new_str_from_vstr (& mp_type_bytes , & vstr );
78
52
}
79
- STATIC MP_DEFINE_CONST_FUN_OBJ_1 (os_urandom_obj , os_urandom );
53
+ STATIC MP_DEFINE_CONST_FUN_OBJ_1 (mp_uos_urandom_obj , mp_uos_urandom );
80
54
81
- // We wrap the mp_uos_dupterm function to detect if a UART is attached or not
82
- mp_obj_t os_dupterm (size_t n_args , const mp_obj_t * args ) {
83
- mp_obj_t prev_obj = mp_uos_dupterm_obj .fun .var (n_args , args );
84
- if (mp_obj_get_type (args [0 ]) == & pyb_uart_type ) {
55
+ void mp_uos_dupterm_stream_detached_attached (mp_obj_t stream_detached , mp_obj_t stream_attached ) {
56
+ if (mp_obj_get_type (stream_attached ) == & pyb_uart_type ) {
85
57
++ uart_attached_to_dupterm ;
86
58
}
87
- if (mp_obj_get_type (prev_obj ) == & pyb_uart_type ) {
59
+ if (mp_obj_get_type (stream_detached ) == & pyb_uart_type ) {
88
60
-- uart_attached_to_dupterm ;
89
61
}
90
- return prev_obj ;
91
62
}
92
- STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN (os_dupterm_obj , 1 , 2 , os_dupterm );
93
63
94
- STATIC mp_obj_t os_dupterm_notify (mp_obj_t obj_in ) {
64
+ STATIC mp_obj_t mp_uos_dupterm_notify (mp_obj_t obj_in ) {
95
65
(void )obj_in ;
96
66
mp_hal_signal_dupterm_input ();
97
67
return mp_const_none ;
98
68
}
99
- STATIC MP_DEFINE_CONST_FUN_OBJ_1 (os_dupterm_notify_obj , os_dupterm_notify );
100
-
101
- STATIC const mp_rom_map_elem_t os_module_globals_table [] = {
102
- { MP_ROM_QSTR (MP_QSTR___name__ ), MP_ROM_QSTR (MP_QSTR_uos ) },
103
- { MP_ROM_QSTR (MP_QSTR_uname ), MP_ROM_PTR (& os_uname_obj ) },
104
- { MP_ROM_QSTR (MP_QSTR_urandom ), MP_ROM_PTR (& os_urandom_obj ) },
105
- #if MICROPY_PY_OS_DUPTERM
106
- { MP_ROM_QSTR (MP_QSTR_dupterm ), MP_ROM_PTR (& os_dupterm_obj ) },
107
- { MP_ROM_QSTR (MP_QSTR_dupterm_notify ), MP_ROM_PTR (& os_dupterm_notify_obj ) },
108
- #endif
109
- #if MICROPY_VFS
110
- { MP_ROM_QSTR (MP_QSTR_ilistdir ), MP_ROM_PTR (& mp_vfs_ilistdir_obj ) },
111
- { MP_ROM_QSTR (MP_QSTR_listdir ), MP_ROM_PTR (& mp_vfs_listdir_obj ) },
112
- { MP_ROM_QSTR (MP_QSTR_mkdir ), MP_ROM_PTR (& mp_vfs_mkdir_obj ) },
113
- { MP_ROM_QSTR (MP_QSTR_rmdir ), MP_ROM_PTR (& mp_vfs_rmdir_obj ) },
114
- { MP_ROM_QSTR (MP_QSTR_chdir ), MP_ROM_PTR (& mp_vfs_chdir_obj ) },
115
- { MP_ROM_QSTR (MP_QSTR_getcwd ), MP_ROM_PTR (& mp_vfs_getcwd_obj ) },
116
- { MP_ROM_QSTR (MP_QSTR_remove ), MP_ROM_PTR (& mp_vfs_remove_obj ) },
117
- { MP_ROM_QSTR (MP_QSTR_rename ), MP_ROM_PTR (& mp_vfs_rename_obj ) },
118
- { MP_ROM_QSTR (MP_QSTR_stat ), MP_ROM_PTR (& mp_vfs_stat_obj ) },
119
- { MP_ROM_QSTR (MP_QSTR_statvfs ), MP_ROM_PTR (& mp_vfs_statvfs_obj ) },
120
- { MP_ROM_QSTR (MP_QSTR_mount ), MP_ROM_PTR (& mp_vfs_mount_obj ) },
121
- { MP_ROM_QSTR (MP_QSTR_umount ), MP_ROM_PTR (& mp_vfs_umount_obj ) },
122
- #if MICROPY_VFS_FAT
123
- { MP_ROM_QSTR (MP_QSTR_VfsFat ), MP_ROM_PTR (& mp_fat_vfs_type ) },
124
- #endif
125
- #if MICROPY_VFS_LFS1
126
- { MP_ROM_QSTR (MP_QSTR_VfsLfs1 ), MP_ROM_PTR (& mp_type_vfs_lfs1 ) },
127
- #endif
128
- #if MICROPY_VFS_LFS2
129
- { MP_ROM_QSTR (MP_QSTR_VfsLfs2 ), MP_ROM_PTR (& mp_type_vfs_lfs2 ) },
130
- #endif
131
- #endif
132
- };
133
-
134
- STATIC MP_DEFINE_CONST_DICT (os_module_globals , os_module_globals_table );
135
-
136
- const mp_obj_module_t uos_module = {
137
- .base = { & mp_type_module },
138
- .globals = (mp_obj_dict_t * )& os_module_globals ,
139
- };
69
+ STATIC MP_DEFINE_CONST_FUN_OBJ_1 (mp_uos_dupterm_notify_obj , mp_uos_dupterm_notify );
0 commit comments