@@ -128,13 +128,22 @@ const char* first_existing_file_in_list(const char ** filenames) {
128
128
return NULL ;
129
129
}
130
130
131
+ void write_compressed (const compressed_string_t * compressed ) {
132
+ char decompressed [compressed -> length ];
133
+ decompress (compressed , decompressed );
134
+ serial_write (decompressed );
135
+ }
136
+
131
137
bool maybe_run_list (const char * * filenames , pyexec_result_t * exec_result ) {
132
138
const char * filename = first_existing_file_in_list (filenames );
133
139
if (filename == NULL ) {
134
140
return false;
135
141
}
136
142
mp_hal_stdout_tx_str (filename );
137
- mp_hal_stdout_tx_str (translate (" output:\n" ));
143
+ const compressed_string_t * compressed = translate (" output:\n" );
144
+ char decompressed [compressed -> length ];
145
+ decompress (compressed , decompressed );
146
+ mp_hal_stdout_tx_str (decompressed );
138
147
pyexec_file (filename , exec_result );
139
148
return true;
140
149
}
@@ -145,11 +154,11 @@ bool run_code_py(safe_mode_t safe_mode) {
145
154
if (serial_connected_at_start ) {
146
155
serial_write ("\n" );
147
156
if (autoreload_is_enabled ()) {
148
- serial_write (translate ("Auto-reload is on. Simply save files over USB to run them or enter REPL to disable.\n" ));
157
+ write_compressed (translate ("Auto-reload is on. Simply save files over USB to run them or enter REPL to disable.\n" ));
149
158
} else if (safe_mode != NO_SAFE_MODE ) {
150
- serial_write (translate ("Running in safe mode! Auto-reload is off.\n" ));
159
+ write_compressed (translate ("Running in safe mode! Auto-reload is off.\n" ));
151
160
} else if (!autoreload_is_enabled ()) {
152
- serial_write (translate ("Auto-reload is off.\n" ));
161
+ write_compressed (translate ("Auto-reload is off.\n" ));
153
162
}
154
163
}
155
164
#endif
@@ -163,7 +172,7 @@ bool run_code_py(safe_mode_t safe_mode) {
163
172
bool found_main = false;
164
173
165
174
if (safe_mode != NO_SAFE_MODE ) {
166
- serial_write (translate ("Running in safe mode! Not running saved code.\n" ));
175
+ write_compressed (translate ("Running in safe mode! Not running saved code.\n" ));
167
176
} else {
168
177
new_status_color (MAIN_RUNNING );
169
178
@@ -179,7 +188,7 @@ bool run_code_py(safe_mode_t safe_mode) {
179
188
if (!found_main ){
180
189
found_main = maybe_run_list (double_extension_filenames , & result );
181
190
if (found_main ) {
182
- serial_write (translate ("WARNING: Your code filename has two extensions\n" ));
191
+ write_compressed (translate ("WARNING: Your code filename has two extensions\n" ));
183
192
}
184
193
}
185
194
stop_mp ();
@@ -218,37 +227,37 @@ bool run_code_py(safe_mode_t safe_mode) {
218
227
219
228
if (!serial_connected_at_start ) {
220
229
if (autoreload_is_enabled ()) {
221
- serial_write (translate ("Auto-reload is on. Simply save files over USB to run them or enter REPL to disable.\n" ));
230
+ write_compressed (translate ("Auto-reload is on. Simply save files over USB to run them or enter REPL to disable.\n" ));
222
231
} else {
223
- serial_write (translate ("Auto-reload is off.\n" ));
232
+ write_compressed (translate ("Auto-reload is off.\n" ));
224
233
}
225
234
}
226
235
// Output a user safe mode string if its set.
227
236
#ifdef BOARD_USER_SAFE_MODE
228
237
if (safe_mode == USER_SAFE_MODE ) {
229
238
serial_write ("\n" );
230
- serial_write (translate ("You requested starting safe mode by " ));
239
+ write_compressed (translate ("You requested starting safe mode by " ));
231
240
serial_write (BOARD_USER_SAFE_MODE_ACTION );
232
241
serial_write ("\n" );
233
- serial_write (translate ("To exit, please reset the board without " ));
242
+ write_compressed (translate ("To exit, please reset the board without " ));
234
243
serial_write (BOARD_USER_SAFE_MODE_ACTION );
235
244
serial_write ("\n" );
236
245
} else
237
246
#endif
238
247
if (safe_mode != NO_SAFE_MODE ) {
239
248
serial_write ("\n" );
240
- serial_write (translate ("You are running in safe mode which means something really bad happened.\n" ));
249
+ write_compressed (translate ("You are running in safe mode which means something really bad happened.\n" ));
241
250
if (safe_mode == HARD_CRASH ) {
242
- serial_write (translate ("Looks like our core CircuitPython code crashed hard. Whoops!\n" ));
243
- serial_write (translate ("Please file an issue here with the contents of your CIRCUITPY drive:\n" ));
251
+ write_compressed (translate ("Looks like our core CircuitPython code crashed hard. Whoops!\n" ));
252
+ write_compressed (translate ("Please file an issue here with the contents of your CIRCUITPY drive:\n" ));
244
253
serial_write ("https://github.com/adafruit/circuitpython/issues\n" );
245
254
} else if (safe_mode == BROWNOUT ) {
246
- serial_write (translate ("The microcontroller's power dipped. Please make sure your power supply provides\n" ));
247
- serial_write (translate ("enough power for the whole circuit and press reset (after ejecting CIRCUITPY).\n" ));
255
+ write_compressed (translate ("The microcontroller's power dipped. Please make sure your power supply provides\n" ));
256
+ write_compressed (translate ("enough power for the whole circuit and press reset (after ejecting CIRCUITPY).\n" ));
248
257
}
249
258
}
250
259
serial_write ("\n" );
251
- serial_write (translate ("Press any key to enter the REPL. Use CTRL-D to reload." ));
260
+ write_compressed (translate ("Press any key to enter the REPL. Use CTRL-D to reload." ));
252
261
}
253
262
if (serial_connected_before_animation && !serial_connected ()) {
254
263
serial_connected_at_start = false;
@@ -403,7 +412,7 @@ int __attribute__((used)) main(void) {
403
412
}
404
413
if (exit_code == PYEXEC_FORCED_EXIT ) {
405
414
if (!first_run ) {
406
- serial_write (translate ("soft reboot\n" ));
415
+ write_compressed (translate ("soft reboot\n" ));
407
416
}
408
417
first_run = false;
409
418
skip_repl = run_code_py (safe_mode );
0 commit comments