@@ -120,6 +120,20 @@ const mp_obj_type_t mp_type_espidf_MemoryError = {
120
120
.parent = & mp_type_MemoryError ,
121
121
};
122
122
123
+ //| def get_total_psram() -> int:
124
+ //| """Returns the number of bytes of psram detected, or 0 if psram is not present or not configured"""
125
+ STATIC mp_obj_t espidf_get_total_psram (void ) {
126
+ return MP_OBJ_NEW_SMALL_INT (common_hal_espidf_get_total_psram ());
127
+ }
128
+ MP_DEFINE_CONST_FUN_OBJ_0 (espidf_get_total_psram_obj , espidf_get_total_psram );
129
+
130
+ //| def get_reserved_psram() -> int:
131
+ //| """Returns number of bytes of psram reserved for use by esp-idf, either a board-specific default value or the value defined in ``/.env``."""
132
+ STATIC mp_obj_t espidf_get_reserved_psram (void ) {
133
+ return MP_OBJ_NEW_SMALL_INT (common_hal_espidf_get_reserved_psram ());
134
+ }
135
+ MP_DEFINE_CONST_FUN_OBJ_0 (espidf_get_reserved_psram_obj , espidf_get_reserved_psram );
136
+
123
137
STATIC const mp_rom_map_elem_t espidf_module_globals_table [] = {
124
138
{ MP_ROM_QSTR (MP_QSTR___name__ ), MP_ROM_QSTR (MP_QSTR_espidf ) },
125
139
@@ -129,6 +143,8 @@ STATIC const mp_rom_map_elem_t espidf_module_globals_table[] = {
129
143
130
144
{ MP_ROM_QSTR (MP_QSTR_erase_nvs ), MP_ROM_PTR (& espidf_erase_nvs_obj )},
131
145
146
+ { MP_ROM_QSTR (MP_QSTR_get_total_psram ), MP_ROM_PTR (& espidf_get_total_psram_obj )},
147
+ { MP_ROM_QSTR (MP_QSTR_get_reserved_psram ), MP_ROM_PTR (& espidf_get_reserved_psram_obj )},
132
148
{ MP_ROM_QSTR (MP_QSTR_IDFError ), MP_ROM_PTR (& mp_type_espidf_IDFError ) },
133
149
{ MP_ROM_QSTR (MP_QSTR_MemoryError ), MP_ROM_PTR (& mp_type_espidf_MemoryError ) },
134
150
};
@@ -139,66 +155,3 @@ const mp_obj_module_t espidf_module = {
139
155
.base = { & mp_type_module },
140
156
.globals = (mp_obj_dict_t * )& espidf_module_globals ,
141
157
};
142
-
143
- void raise_esp_error (esp_err_t err ) {
144
- const compressed_string_t * msg = NULL ;
145
- const mp_obj_type_t * exception_type = & mp_type_espidf_IDFError ;
146
- switch (err ) {
147
- case ESP_FAIL :
148
- msg = translate ("Generic Failure" );
149
- break ;
150
- case ESP_ERR_NO_MEM :
151
- exception_type = & mp_type_espidf_MemoryError ;
152
- msg = translate ("Out of memory" );
153
- break ;
154
- case ESP_ERR_INVALID_ARG :
155
- msg = translate ("Invalid argument" );
156
- break ;
157
- case ESP_ERR_INVALID_STATE :
158
- msg = translate ("Invalid state" );
159
- break ;
160
- case ESP_ERR_INVALID_SIZE :
161
- msg = translate ("Invalid size" );
162
- break ;
163
- case ESP_ERR_NOT_FOUND :
164
- msg = translate ("Requested resource not found" );
165
- break ;
166
- case ESP_ERR_NOT_SUPPORTED :
167
- msg = translate ("Operation or feature not supported" );
168
- break ;
169
- case ESP_ERR_TIMEOUT :
170
- msg = translate ("Operation timed out" );
171
- break ;
172
- case ESP_ERR_INVALID_RESPONSE :
173
- msg = translate ("Received response was invalid" );
174
- break ;
175
- case ESP_ERR_INVALID_CRC :
176
- msg = translate ("CRC or checksum was invalid" );
177
- break ;
178
- case ESP_ERR_INVALID_VERSION :
179
- msg = translate ("Version was invalid" );
180
- break ;
181
- case ESP_ERR_INVALID_MAC :
182
- msg = translate ("MAC address was invalid" );
183
- break ;
184
- }
185
- if (msg ) {
186
- mp_raise_msg (exception_type , msg );
187
- }
188
-
189
- const char * group = "ESP-IDF" ;
190
-
191
- // tests must be in descending order
192
- MP_STATIC_ASSERT (ESP_ERR_FLASH_BASE > ESP_ERR_MESH_BASE );
193
- MP_STATIC_ASSERT (ESP_ERR_MESH_BASE > ESP_ERR_WIFI_BASE );
194
- if (err >= ESP_ERR_FLASH_BASE ) {
195
- group = "Flash" ;
196
- } else if (err >= ESP_ERR_MESH_BASE ) {
197
- group = "Mesh" ;
198
- } else if (err >= ESP_ERR_WIFI_BASE ) {
199
- group = "WiFi" ;
200
- }
201
- mp_raise_msg_varg (exception_type , translate ("%s error 0x%x" ), group , err );
202
- }
203
-
204
- MP_REGISTER_MODULE (MP_QSTR_espidf , espidf_module , CIRCUITPY_ESPIDF );
0 commit comments