|
30 | 30 | #include "py/nlr.h"
|
31 | 31 | #include "py/obj.h"
|
32 | 32 | #include "py/objtuple.h"
|
| 33 | +#include "py/objstr.h" |
33 | 34 | #include "lib/fatfs/ff.h"
|
34 | 35 | #include "lib/fatfs/diskio.h"
|
| 36 | +#include "genhdr/py-version.h" |
35 | 37 | #include "rng.h"
|
36 | 38 | #include "file.h"
|
37 | 39 | #include "sdcard.h"
|
@@ -64,6 +66,29 @@ STATIC bool sd_in_root(void) {
|
64 | 66 | #endif
|
65 | 67 | }
|
66 | 68 |
|
| 69 | +STATIC const qstr os_uname_info_fields[] = { MP_QSTR_sysname, MP_QSTR_nodename, |
| 70 | + MP_QSTR_release, MP_QSTR_version, MP_QSTR_machine }; |
| 71 | +STATIC const MP_DEFINE_STR_OBJ(os_uname_info_sysname_obj, "pyboard"); |
| 72 | +STATIC const MP_DEFINE_STR_OBJ(os_uname_info_nodename_obj, "pyboard"); |
| 73 | +STATIC const MP_DEFINE_STR_OBJ(os_uname_info_release_obj, "1.4.1"); |
| 74 | +STATIC const MP_DEFINE_STR_OBJ(os_uname_info_version_obj, MICROPY_GIT_TAG " on " MICROPY_BUILD_DATE); |
| 75 | +STATIC const MP_DEFINE_STR_OBJ(os_uname_info_machine_obj, MICROPY_HW_BOARD_NAME " with " MICROPY_HW_MCU_NAME); |
| 76 | +STATIC MP_DEFINE_FAKENAMEDTUPLE( |
| 77 | + os_uname_info_obj, |
| 78 | + os_uname_info_fields, |
| 79 | + 5, |
| 80 | + (mp_obj_t)&os_uname_info_sysname_obj, |
| 81 | + (mp_obj_t)&os_uname_info_nodename_obj, |
| 82 | + (mp_obj_t)&os_uname_info_release_obj, |
| 83 | + (mp_obj_t)&os_uname_info_version_obj, |
| 84 | + (mp_obj_t)&os_uname_info_machine_obj |
| 85 | +); |
| 86 | + |
| 87 | +STATIC mp_obj_t os_uname(void) { |
| 88 | + return (mp_obj_t)&os_uname_info_obj; |
| 89 | +} |
| 90 | +STATIC MP_DEFINE_CONST_FUN_OBJ_0(os_uname_obj, os_uname); |
| 91 | + |
67 | 92 | /// \function chdir(path)
|
68 | 93 | /// Change current directory.
|
69 | 94 | STATIC mp_obj_t os_chdir(mp_obj_t path_in) {
|
@@ -334,6 +359,8 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_1(os_urandom_obj, os_urandom);
|
334 | 359 | STATIC const mp_map_elem_t os_module_globals_table[] = {
|
335 | 360 | { MP_OBJ_NEW_QSTR(MP_QSTR___name__), MP_OBJ_NEW_QSTR(MP_QSTR_uos) },
|
336 | 361 |
|
| 362 | + { MP_OBJ_NEW_QSTR(MP_QSTR_uname), (mp_obj_t)&os_uname_obj }, |
| 363 | + |
337 | 364 | { MP_OBJ_NEW_QSTR(MP_QSTR_chdir), (mp_obj_t)&os_chdir_obj },
|
338 | 365 | { MP_OBJ_NEW_QSTR(MP_QSTR_getcwd), (mp_obj_t)&os_getcwd_obj },
|
339 | 366 | { MP_OBJ_NEW_QSTR(MP_QSTR_listdir), (mp_obj_t)&os_listdir_obj },
|
|
0 commit comments