firmware issueshttps://git.flow3r.garden/card10/firmware/-/issues2021-09-23T00:08:25Zhttps://git.flow3r.garden/card10/firmware/-/issues/236card10 no longer wakes up from sleep2021-09-23T00:08:25Zrahixcard10@rahix.decard10 no longer wakes up from sleepWhen turning off card10, it does not wake up anymore until a full (>10s reset button press) poweroff is performed.When turning off card10, it does not wake up anymore until a full (>10s reset button press) poweroff is performed.schneiderschneiderhttps://git.flow3r.garden/card10/firmware/-/issues/94Not able to switch to menu(.py)2019-08-21T12:21:19ZgenofireNot able to switch to menu(.py)3e886c502a4cf8b670d60c838cc6f6cf06cc3968
```
Bootloader v0.0-133-g3e886c5
card10 init...
MAX7765x DIDM: 0x01 CID: 0x08
PWM started.
f_open error 4
card10.bin not found!
Trying to boot
[ 0] startup: Epicardium startup ...
[ ...3e886c502a4cf8b670d60c838cc6f6cf06cc3968
```
Bootloader v0.0-133-g3e886c5
card10 init...
MAX7765x DIDM: 0x01 CID: 0x08
PWM started.
f_open error 4
card10.bin not found!
Trying to boot
[ 0] startup: Epicardium startup ...
[ 0] startup: Version v0.0-133-g3e886c5
[ 0] startup: Initializing hardware ...
MAX7765x DIDM: 0x01 CID: 0x08
[ 0] init: Core 1 Debugger Mode
[ 0] fatfs: FatFs mounted
[ 0] startup: Initializing tasks ...
[ 0] ble: can not open ble.txt -> BLE is not started
[ 0] startup: Starting FreeRTOS ...
[ 0] dispatcher: Ready.
[ 4] lifecycle: Booting core 1 ...
[ 20] lifecycle: Loading "main.py" ...
[ 23] lifecycle: Triggering core 1 reset.
[ 31] init: Starting light sensor ...
--------------------------------
Pycardium
Version: v0.0-133-g3e886c5
--------------------------------
Loading main.py ...
MAXUSB ISSUE 2
MAXUSB ISSUE 2
[ 2427] lifecycle: Into the menu
[ 2430] lifecycle: Loading "menu.py" ...
[ 3435] lifecycle: API blocked
``rahixcard10@rahix.derahixcard10@rahix.dehttps://git.flow3r.garden/card10/firmware/-/issues/89OpenOCD: Write mass flash script2019-08-23T12:46:06ZschneiderOpenOCD: Write mass flash scriptMain question is: Can OpenOCD deal with multiple debuggers attached at the same time?Main question is: Can OpenOCD deal with multiple debuggers attached at the same time?datenwolfdatenwolfhttps://git.flow3r.garden/card10/firmware/-/issues/88BLE: Make it Opt-In2019-08-20T18:01:38ZschneiderBLE: Make it Opt-InAs long as we don't have real privacy features enabled:
Make BLE opt-in and turn it off until it is not opt-in
Three phases:
1) Turn BLE off
2) Turn BLE on if there is a file on flash which indicates so
3) Offer a menu option to opt-...As long as we don't have real privacy features enabled:
Make BLE opt-in and turn it off until it is not opt-in
Three phases:
1) Turn BLE off
2) Turn BLE on if there is a file on flash which indicates so
3) Offer a menu option to opt-in (or back out if requested)koalokoalohttps://git.flow3r.garden/card10/firmware/-/issues/87Fundamental board hardware test2019-08-23T12:46:45ZschneiderFundamental board hardware testShould be flashed together with the bootloader to weed out bad fundamental boards a early as possible.
Should do:
- Turn on magnetometer and show that a stream of data is coming out
- Check for all required I2C devices
- Show measure...Should be flashed together with the bootloader to weed out bad fundamental boards a early as possible.
Should do:
- Turn on magnetometer and show that a stream of data is coming out
- Check for all required I2C devices
- Show measured battery voltage and make sure it is in range
- Show a pass message after pressing the power button if points above are me
- Vibrate Motor
- Blink LEDsschneiderschneiderhttps://git.flow3r.garden/card10/firmware/-/issues/77Personal State2019-08-20T22:01:42Zrahixcard10@rahix.dePersonal Statehttps://card10.badge.events.ccc.de/ps/
@schneider, is there a plan on how this will be implemented?https://card10.badge.events.ccc.de/ps/
@schneider, is there a plan on how this will be implemented?schneiderschneiderhttps://git.flow3r.garden/card10/firmware/-/issues/128Print a message once bonding started / succeeded2019-08-25T09:18:20Zrahixcard10@rahix.dePrint a message once bonding started / succeededv1.7https://git.flow3r.garden/card10/firmware/-/issues/68Changes for Release2022-01-11T11:59:18Zrahixcard10@rahix.deChanges for ReleaseLet's make a list of things that should be `ifdef`d in a release-build. I'll add a meson option for them once we have an overview.Let's make a list of things that should be `ifdef`d in a release-build. I'll add a meson option for them once we have an overview.rahixcard10@rahix.derahixcard10@rahix.dehttps://git.flow3r.garden/card10/firmware/-/issues/67Output everything over CDCACM as well2019-08-15T20:10:57Zrahixcard10@rahix.deOutput everything over CDCACM as wellImplement `_write` to output to `epic_uart_write_str` and thus all output devices.Implement `_write` to output to `epic_uart_write_str` and thus all output devices.https://git.flow3r.garden/card10/firmware/-/issues/62Flash Access Lock2019-08-09T14:50:46Zrahixcard10@rahix.deFlash Access LockTo allow opening of a USB block-device, we need to lock out all other flash accesses. Epicardium needs an internal locking mechanism to manage this.To allow opening of a USB block-device, we need to lock out all other flash accesses. Epicardium needs an internal locking mechanism to manage this.swymswymhttps://git.flow3r.garden/card10/firmware/-/issues/61L0dable Lifecycle2019-08-16T01:12:01Zrahixcard10@rahix.deL0dable LifecycleImplementation of the following API calls:
- `epic_exec()`: Start a new core 1 payload
- `epic_exit()`: Exit from a payload
Additionally, as discussed [here](https://git.card10.badge.events.ccc.de/card10/firmware/merge_requests/45#note...Implementation of the following API calls:
- `epic_exec()`: Start a new core 1 payload
- `epic_exit()`: Exit from a payload
Additionally, as discussed [here](https://git.card10.badge.events.ccc.de/card10/firmware/merge_requests/45#note_1099) and [here](https://git.card10.badge.events.ccc.de/card10/firmware/merge_requests/45#note_1119), the l0dable runtime should automatically call these to inform Epicardium about the state of a l0dable.rahixcard10@rahix.derahixcard10@rahix.dehttps://git.flow3r.garden/card10/firmware/-/issues/56ELF Loader2019-08-05T19:45:34Zrahixcard10@rahix.deELF LoaderAdd an ELF loader to allow loading core 1 payloads from external flash.Add an ELF loader to allow loading core 1 payloads from external flash.q3kq3khttps://git.flow3r.garden/card10/firmware/-/issues/39Sensor Data Streams2019-07-20T22:44:35Zrahixcard10@rahix.deSensor Data StreamsA unified way to access streamed sensor data.A unified way to access streamed sensor data.rahixcard10@rahix.derahixcard10@rahix.dehttps://git.flow3r.garden/card10/firmware/-/issues/26Card10 Menu2019-08-19T14:17:20Zrahixcard10@rahix.deCard10 MenuCard10 should have a menu where a user can select which python script/l0dable to run next.Card10 should have a menu where a user can select which python script/l0dable to run next.rahixcard10@rahix.derahixcard10@rahix.dehttps://git.flow3r.garden/card10/firmware/-/issues/24Document epicardium API2019-07-08T22:13:09Zch3Document epicardium APIAdd to logix (https://card10.badge.events.ccc.de/):
- New modules are declared in epicardium/epicardium.h and implemented in epicardium/modules/*.c and include in epicardium/modules/meson.build
- use Sphinx doccomments
- use unique A...Add to logix (https://card10.badge.events.ccc.de/):
- New modules are declared in epicardium/epicardium.h and implemented in epicardium/modules/*.c and include in epicardium/modules/meson.build
- use Sphinx doccomments
- use unique API IDs
- FreeRTOS tasks (you don't know in which task you run - wait for the right task)
- calls look same on both cores
- Use only types from stdlib or epicardium.h (do not include random other .h)
- tools to build Docs: python-sphinx, python-sphinx-hawkmoth (AUR: python-sphinx-hawkmoth-git)
- error handling: `errno`s as return values, don't pass pointers into epicardium address space to (py)cardium (https://www.kernel.org/doc/html/v4.10/process/coding-style.html#function-return-values-and-names) (also see #17)
(Probably check with @rahix for correctness.)ch3ch3https://git.flow3r.garden/card10/firmware/-/issues/23Epicardium BLE2020-10-05T19:50:24Zch3Epicardium BLE- Flash FileSystem Access (for updating the scripts)
- Serial: A MicroPython REPL
- 'smartwatch' features, like ECG- Flash FileSystem Access (for updating the scripts)
- Serial: A MicroPython REPL
- 'smartwatch' features, like ECGschneiderschneiderhttps://git.flow3r.garden/card10/firmware/-/issues/21Import common modules into Pycardium2020-10-05T19:45:42Zrahixcard10@rahix.deImport common modules into PycardiumRight now, the standard-library supported by Pycardium is really really small. We should expand it so people can use normal stdlib modules they know from CPython.
For the most part this means using the implementations from [micropython...Right now, the standard-library supported by Pycardium is really really small. We should expand it so people can use normal stdlib modules they know from CPython.
For the most part this means using the implementations from [micropython-lib](https://github.com/micropython/micropython-lib). To do so, please add *micropython-lib* as a new submodule in `lib/micropython/micropython-lib` and then symlink the relevant files in `pycardium/modules/py` and add them to `pycardium/modules/py/meson.build`.
Some modules may have requirements that are not (yet) available in Pycardium. We need to find a way to add these as well.
The following modules are important in my opinion (but please don't limit yourself to this list):
- [x] [`binascii`](https://github.com/micropython/micropython-lib/tree/master/binascii)
- [x] [`collections`](https://github.com/micropython/micropython-lib/tree/master/collections) (+ [`deque`](https://github.com/micropython/micropython-lib/tree/master/collections.deque) & [`defaultdict`](https://github.com/micropython/micropython-lib/tree/master/collections.defaultdict))
- [x] [`contextlib`](https://github.com/micropython/micropython-lib/tree/master/contextlib) ([`ucontextlib`](https://github.com/micropython/micropython-lib/tree/master/ucontextlib))
- [x] [`functools`](https://github.com/micropython/micropython-lib/tree/master/functools)
- [x] [`itertools`](https://github.com/micropython/micropython-lib/tree/master/itertools)
- [x] [`string`](https://github.com/micropython/micropython-lib/tree/master/string)
- [x] [`struct`](https://github.com/micropython/micropython-lib/tree/master/struct)
- [x] `uuid` ( *micropython-lib* does not yet implement this module, so we need a version from somewhere else. Maybe even contribute an implementation upstream?)
We might run into space issues if we try to include too much. The following would be nice to have, but are not entirely necessary:
- [ ] [`cmd`](https://github.com/micropython/micropython-lib/tree/master/cmd)
- [ ] [`json`](https://github.com/micropython/micropython-lib/tree/master/json)
- [ ] [`re`](https://github.com/micropython/micropython-lib/tree/master/re) (requires pcre?)
- [ ] [`textwrap`](https://github.com/micropython/micropython-lib/blob/master/textwrap)
- [ ] [`time`](https://github.com/micropython/micropython-lib/tree/master/time)https://git.flow3r.garden/card10/firmware/-/issues/17Error Handling over API2019-07-08T22:00:13Zrahixcard10@rahix.deError Handling over APIEpicardium API does not currently have a way to signal errors to the other core.Epicardium API does not currently have a way to signal errors to the other core.rahixcard10@rahix.derahixcard10@rahix.dehttps://git.flow3r.garden/card10/firmware/-/issues/16API Docs2019-07-08T00:26:08Zrahixcard10@rahix.deAPI DocsAdd a sphinx config to automatically create html docs for the MicroPython modules in `pycardium/modules/py`. Also add the generated output to logix in some way.
For the c modules, we need a way for adding API docs manually.
The Epicar...Add a sphinx config to automatically create html docs for the MicroPython modules in `pycardium/modules/py`. Also add the generated output to logix in some way.
For the c modules, we need a way for adding API docs manually.
The Epicardium API should also be documented this way.rahixcard10@rahix.derahixcard10@rahix.dehttps://git.flow3r.garden/card10/firmware/-/issues/15Proper stack & heap for MicroPython2019-07-06T16:16:16Zrahixcard10@rahix.deProper stack & heap for MicroPythonRight now, we use the stack hack from `ports/minimal`. This should be changed to a proper implementation, especially the heap which is locked to 4k at the moment.Right now, we use the stack hack from `ports/minimal`. This should be changed to a proper implementation, especially the heap which is locked to 4k at the moment.rahixcard10@rahix.derahixcard10@rahix.de