- Oct 19, 2019
-
-
rahix authored
Signed-off-by:
Rahix <rahix@rahix.de>
-
- Oct 18, 2019
-
-
rahix authored
Add a menu entry that opens USB storage. Pressing any button will return to the menu and disable USB storage again. Signed-off-by:
Rahix <rahix@rahix.de>
-
rahix authored
Add a mechanism for "favorite apps" which are shown at the top of the app-list no matter what. Signed-off-by:
Rahix <rahix@rahix.de>
-
rahix authored
When a traveller has many apps installed, loading the menu takes some time. To give them feedback that card10 is in fact loading the menu right now, immediately display a loading message before starting to enumerate the app list. Signed-off-by:
Rahix <rahix@rahix.de>
-
Fix menu entries being ordered by directory name instead of display name. Co-authored-by:
Rahix <rahix@rahix.de>
- Oct 10, 2019
-
- Oct 09, 2019
-
-
Guinness authored
-
- Oct 06, 2019
-
-
rahix authored
Add a --set-time flag to allow setting card10 system time via the USB-Serial connection. Use like this: ./tools/pycard10.py --set-time Signed-off-by:
Rahix <rahix@rahix.de>
- Oct 05, 2019
-
-
rahix authored
Signed-off-by:
Rahix <rahix@rahix.de>
-
Maximilian Wagenbach authored
-
rahix authored
Unify unrecoverable errors to use panic() in all cases. This will allow further changes to panic() to work for all critical errors. Signed-off-by:
Rahix <rahix@rahix.de>
-
rahix authored
Newlib assert uses __assert_func and thus our panic() function while MXC_ASSERT uses a custom assertion logic. Newlib assert is also more portable as it works in expression position while MXC_ASSERT only works as a statement. Signed-off-by:
Rahix <rahix@rahix.de>
-
rahix authored
Define `__assert_func()` so a failing `assert()` will trigger a panic. Signed-off-by:
Rahix <rahix@rahix.de>
-
rahix authored
In unrecoverable situations we should provide a common way to output the cause of the error and then reset the CPU. The panic() function is mean to be exactly that. It outputs the error-cause, stack-trace, and firmware revision, accompanied by a link to the issue-tracker to encourage people to report the error. After a timeout of ~1.5s it resets the CPU and reboots. Future Work: - Right now, the stack-trace only has a depth of one which is the return address from where panic() was called. In the future it might make sense to provide a deeper stack-trace if a robust implementation is possible. - Integration of @msgctl's faultscreen (!79) so users who don't have the serial console open at all times can also see what happened. Signed-off-by:
Rahix <rahix@rahix.de>
-
rahix authored
In severe error conditions, asynchronous prints will never work. For such cases we need a way to make prints happen synchronously again, the same way it works during early boot. Add a serial_return_to_synchronous() function which unconditionally switches the serial driver code to synchronous mode. Only use this function in unrecoverable error conditions! Signed-off-by:
Rahix <rahix@rahix.de>
-
rahix authored
card10_reset() won't ever return to where it was called from. Telling the compiler this can help with program-flow analysis. Signed-off-by:
Rahix <rahix@rahix.de>
-
Fix two bugs in the display/gfx module: 1. The animation of the simple_menu used in the main menu had the issue that there is a black line visible at the top. This is due the gfx_puts method ignoring lines, where the top pixel of the string is above the top of the screen. As gfx_puts uses gfx_setpixel which in turn ignores pixels outside of the screen, remove the check in gfx_puts. 2. X and Y coordinates were cast to unsigned-ints before being given to the gfx-library which means calls like circ(0, -10, 30) would be draw at coordinates like [0,65526]. Fix this by changing the data-type of all coordinates to signed-integers. Also remove the x and y ranges from the documentation of the individual python functions and instead add a general documentation about the screen and it's size/coordinate system.
- Oct 04, 2019
-
-
We update the documentaiton and CI tooling to remove references to the jailbreak firmware. We also slightly update the docs to mention USB mode in a separate page, for unification purposes.
-
dx authored
And show the no_apps_message instead of crashing
-
rahix authored
Previously, we left out the dependency of the QSTR header on `modules.h`. This was done to prevent rebuilds of the entire MicroPython sources whenever a Pycardium module is changed. This leads to issues where QSTRs got out of sync and weird errors like the following could happen: import foo_module Exception: No module `abc_def` (a different string than expected) Attempt to fix this by only updating the QSTR header when the module-header actually changes. For this, a few workarounds are needed: - Replace symlinks with actual copied files so timestamps change on updates. - Add a hack so meson picks up on the dependency of the file in genhdr/ - Rename the outer file so older meson versions don't complain about multiple targets with the same name. Co-authored-by:
dx <dequis@dequis.org> Signed-off-by:
Rahix <rahix@rahix.de>