Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 3c33846

Browse files
committed
stmhal: Add os.uname() function to uos module.
1 parent 27cd3b9 commit 3c33846

File tree

2 files changed

+33
-0
lines changed

2 files changed

+33
-0
lines changed

stmhal/moduos.c

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,10 @@
3030
#include "py/nlr.h"
3131
#include "py/obj.h"
3232
#include "py/objtuple.h"
33+
#include "py/objstr.h"
3334
#include "lib/fatfs/ff.h"
3435
#include "lib/fatfs/diskio.h"
36+
#include "genhdr/py-version.h"
3537
#include "rng.h"
3638
#include "file.h"
3739
#include "sdcard.h"
@@ -64,6 +66,29 @@ STATIC bool sd_in_root(void) {
6466
#endif
6567
}
6668

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+
6792
/// \function chdir(path)
6893
/// Change current directory.
6994
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);
334359
STATIC const mp_map_elem_t os_module_globals_table[] = {
335360
{ MP_OBJ_NEW_QSTR(MP_QSTR___name__), MP_OBJ_NEW_QSTR(MP_QSTR_uos) },
336361

362+
{ MP_OBJ_NEW_QSTR(MP_QSTR_uname), (mp_obj_t)&os_uname_obj },
363+
337364
{ MP_OBJ_NEW_QSTR(MP_QSTR_chdir), (mp_obj_t)&os_chdir_obj },
338365
{ MP_OBJ_NEW_QSTR(MP_QSTR_getcwd), (mp_obj_t)&os_getcwd_obj },
339366
{ MP_OBJ_NEW_QSTR(MP_QSTR_listdir), (mp_obj_t)&os_listdir_obj },

stmhal/qstrdefsport.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -368,6 +368,12 @@ Q(os)
368368
Q(/)
369369
Q(flash)
370370
Q(sd)
371+
Q(sysname)
372+
Q(nodename)
373+
Q(release)
374+
Q(version)
375+
Q(machine)
376+
Q(uname)
371377
Q(chdir)
372378
Q(getcwd)
373379
Q(listdir)

0 commit comments

Comments
 (0)