Numworks Epsilon  1.4.1
Graphing Calculator Operating System
mpconfigport.h
Go to the documentation of this file.
1 #include <stdint.h>
2 #include "helpers.h"
3 
4 // options to control how Micro Python is built
5 
6 // You can disable the built-in MicroPython compiler by setting the following
7 // config option to 0. If you do this then you won't get a REPL prompt, but you
8 // will still be able to execute pre-compiled scripts, compiled with mpy-cross.
9 #define MICROPY_ENABLE_COMPILER (1)
10 
11 #define MICROPY_QSTR_BYTES_IN_HASH (1)
12 //#define MICROPY_QSTR_EXTRA_POOL mp_qstr_frozen_const_pool
13 #define MICROPY_ALLOC_PATH_MAX (256)
14 #define MICROPY_ALLOC_PARSE_CHUNK_INIT (16)
15 #define MICROPY_EMIT_X64 (0)
16 #define MICROPY_EMIT_THUMB (0)
17 #define MICROPY_EMIT_INLINE_THUMB (0)
18 #define MICROPY_COMP_MODULE_CONST (0)
19 #define MICROPY_COMP_CONST (0)
20 #define MICROPY_COMP_DOUBLE_TUPLE_ASSIGN (0)
21 #define MICROPY_COMP_TRIPLE_TUPLE_ASSIGN (0)
22 #define MICROPY_MEM_STATS (0)
23 #define MICROPY_DEBUG_PRINTERS (0)
24 #define MICROPY_ENABLE_GC (1)
25 #define MICROPY_GC_ALLOC_THRESHOLD (0)
26 #define MICROPY_STACK_CHECK (1)
27 #define MICROPY_REPL_EVENT_DRIVEN (0)
28 #define MICROPY_HELPER_REPL (1)
29 #define MICROPY_HELPER_LEXER_UNIX (0)
30 #define MICROPY_ENABLE_SOURCE_LINE (1)
31 #define MICROPY_ENABLE_DOC_STRING (0)
32 #define MICROPY_ERROR_REPORTING (MICROPY_ERROR_REPORTING_DETAILED)
33 #define MICROPY_BUILTIN_METHOD_CHECK_SELF_ARG (0)
34 #define MICROPY_PY_ASYNC_AWAIT (0)
35 #define MICROPY_PY_BUILTINS_BYTEARRAY (0)
36 #define MICROPY_PY_BUILTINS_MEMORYVIEW (0)
37 #define MICROPY_PY_BUILTINS_ENUMERATE (0)
38 #define MICROPY_PY_BUILTINS_FILTER (0)
39 #define MICROPY_PY_BUILTINS_FROZENSET (0)
40 #define MICROPY_PY_BUILTINS_REVERSED (0)
41 #define MICROPY_PY_BUILTINS_SET (0)
42 #define MICROPY_PY_BUILTINS_PROPERTY (0)
43 #define MICROPY_PY___FILE__ (0)
44 #define MICROPY_PY_GC (0)
45 #define MICROPY_PY_ARRAY (0)
46 #define MICROPY_PY_ATTRTUPLE (0)
47 #define MICROPY_PY_COLLECTIONS (0)
48 #define MICROPY_PY_MATH (1)
49 #define MICROPY_PY_MATH_SPECIAL_FUNCTIONS (1)
50 #define MICROPY_PY_CMATH (1)
51 #define MICROPY_PY_IO (0)
52 #define MICROPY_PY_STRUCT (0)
53 #define MICROPY_PY_SYS (0)
54 #define MICROPY_MODULE_FROZEN_MPY (0)
55 #define MICROPY_CPYTHON_COMPAT (0)
56 #define MICROPY_LONGINT_IMPL (MICROPY_LONGINT_IMPL_MPZ)
57 #define MICROPY_FLOAT_IMPL (MICROPY_FLOAT_IMPL_DOUBLE)
58 #define MICROPY_PY_URANDOM (1)
59 #define MICROPY_PY_URANDOM_EXTRA_FUNCS (1)
60 
61 #define MICROPY_VM_HOOK_LOOP micropython_port_should_interrupt();
62 
63 // type definitions for the specific machine
64 
65 #define MICROPY_MAKE_POINTER_CALLABLE(p) ((void*)((mp_uint_t)(p) | 1))
66 
67 // This port is intended to be 32-bit, but unfortunately, int32_t for
68 // different targets may be defined in different ways - either as int
69 // or as long. This requires different printf formatting specifiers
70 // to print such value. So, we avoid int32_t and use int directly.
71 #define UINT_FMT "%u"
72 #define INT_FMT "%d"
73 typedef intptr_t mp_int_t; // must be pointer size
74 typedef uintptr_t mp_uint_t; // must be pointer size
75 
76 typedef long mp_off_t;
77 
78 #define SEEK_CUR 1
79 
80 #define MP_PLAT_PRINT_STRN(str, len) mp_hal_stdout_tx_strn_cooked(str, len)
81 
82 // extra built in names to add to the global namespace
83 #define MICROPY_PORT_BUILTINS \
84  { MP_OBJ_NEW_QSTR(MP_QSTR_open), (mp_obj_t)&mp_builtin_open_obj }, \
85  { MP_OBJ_NEW_QSTR(MP_QSTR_input), (mp_obj_t)&mp_builtin_input_obj },
86 
87 // We need to provide a declaration/definition of alloca()
88 #include <alloca.h>
89 
90 #define MICROPY_HW_BOARD_NAME "minimal"
91 #define MICROPY_HW_MCU_NAME "unknown-cpu"
92 
93 #ifdef __linux__
94 #define MICROPY_MIN_USE_STDOUT (1)
95 #endif
96 
97 #ifdef __thumb__
98 #define MICROPY_MIN_USE_CORTEX_CPU (1)
99 #define MICROPY_MIN_USE_STM32_MCU (1)
100 #endif
101 
102 #define MP_STATE_PORT MP_STATE_VM
103 
104 #define MICROPY_PORT_ROOT_POINTERS \
105  const char *readline_hist[8];
106 
107 
108 extern const struct _mp_obj_module_t kandinsky_module;
109 
110 #define MICROPY_PORT_BUILTIN_MODULES \
111  { MP_ROM_QSTR(MP_QSTR_kandinsky), MP_ROM_PTR(&kandinsky_module) }
112 
113 #define MICROPY_KBD_EXCEPTION (1)
intptr_t mp_int_t
Definition: mpconfigport.h:73
uintptr_t mp_uint_t
Definition: mpconfigport.h:74
unsigned int uintptr_t
Definition: stdint.h:14
long mp_off_t
Definition: mpconfigport.h:76
const struct _mp_obj_module_t kandinsky_module
Definition: modkandinsky.c:20
signed int intptr_t
Definition: stdint.h:15