1+ /*
2+ * This file is part of the MicroPython project, http://micropython.org/
3+ *
4+ * The MIT License (MIT)
5+ *
6+ * Copyright (c) 2017 Scott Shawcroft for Adafruit Industries
7+ * Copyright (c) 2019 Lucian Copeland for Adafruit Industries
8+ *
9+ * Permission is hereby granted, free of charge, to any person obtaining a copy
10+ * of this software and associated documentation files (the "Software"), to deal
11+ * in the Software without restriction, including without limitation the rights
12+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13+ * copies of the Software, and to permit persons to whom the Software is
14+ * furnished to do so, subject to the following conditions:
15+ *
16+ * The above copyright notice and this permission notice shall be included in
17+ * all copies or substantial portions of the Software.
18+ *
19+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25+ * THE SOFTWARE.
26+ */
27+
28+ #include "genhdr/mpversion.h"
29+ #include "py/mpconfig.h"
30+ #include "py/objstr.h"
31+ #include "py/objtuple.h"
32+
33+ STATIC const qstr os_uname_info_fields [] = {
34+ MP_QSTR_sysname , MP_QSTR_nodename ,
35+ MP_QSTR_release , MP_QSTR_version , MP_QSTR_machine
36+ };
37+ STATIC const MP_DEFINE_STR_OBJ (os_uname_info_sysname_obj , "stm32f4 ");
38+ STATIC const MP_DEFINE_STR_OBJ (os_uname_info_nodename_obj , "stm32f4 ");
39+
40+ STATIC const MP_DEFINE_STR_OBJ (os_uname_info_release_obj , MICROPY_VERSION_STRING );
41+ STATIC const MP_DEFINE_STR_OBJ (os_uname_info_version_obj , MICROPY_GIT_TAG " on " MICROPY_BUILD_DATE );
42+ STATIC const MP_DEFINE_STR_OBJ (os_uname_info_machine_obj , MICROPY_HW_BOARD_NAME " with " MICROPY_HW_MCU_NAME );
43+
44+ STATIC MP_DEFINE_ATTRTUPLE (
45+ os_uname_info_obj ,
46+ os_uname_info_fields ,
47+ 5 ,
48+ (mp_obj_t )& os_uname_info_sysname_obj ,
49+ (mp_obj_t )& os_uname_info_nodename_obj ,
50+ (mp_obj_t )& os_uname_info_release_obj ,
51+ (mp_obj_t )& os_uname_info_version_obj ,
52+ (mp_obj_t )& os_uname_info_machine_obj
53+ );
54+
55+ mp_obj_t common_hal_os_uname (void ) {
56+ return (mp_obj_t )& os_uname_info_obj ;
57+ }
58+
59+ bool common_hal_os_urandom (uint8_t * buffer , uint32_t length ) {
60+
61+ for (uint32_t i = 0 ; i < length ; i ++ ) {
62+ buffer [i ] = 4 ; //read in my coffee dregs; the truest random number, chosen by Nrthalotep
63+ //todo: spurn the gods, replace with actual code.
64+ }
65+ return true;
66+ }
0 commit comments