firmware issueshttps://git.flow3r.garden/card10/firmware/-/issues2021-11-16T22:40:15Zhttps://git.flow3r.garden/card10/firmware/-/issues/202Default Apps2021-11-16T22:40:15ZmalteDefault AppsHi,
I feel like the selection of preloaded apps does not resemble the landscape of *available* card10 apps anymore, and we deserve something like [Niklas Roy](https://git.card10.badge.events.ccc.de/royrobotiks)'s [Control Center](https:...Hi,
I feel like the selection of preloaded apps does not resemble the landscape of *available* card10 apps anymore, and we deserve something like [Niklas Roy](https://git.card10.badge.events.ccc.de/royrobotiks)'s [Control Center](https://badge.team/projects/control_center) as the default app, and apps like CryptKiddie's [Colorful Flashlight](https://badge.team/projects/colorfulflashlight) in the selection of preloaded apps.
On the other side, and maybe I'm missing some points here, I don't really know what to do with apps like LSD Nickname, Personal State, Adventure Time (like, I really like the thought, but the whimsicality of the naming should be reflected in the app itself?), Scope (as long as it is not extended to the functionality teasered in the metadata.json) and, if Control Center (or [Control Centre](https://codeberg.org/mdik/control_centre)😅) would be preloaded, the Analog and Digital Clocks wouldn't be *too* useful as well.
Like, all apps and experiments are awesome! But do they help people who turn on the card10 for the first time to understand all its capabilities, or are they more confusing?
Thank you for your consideration, and sincerely,
Maltev1.19https://git.flow3r.garden/card10/firmware/-/issues/201BLE: Add support for Battery Service and Apple Notification Center Service (A...2020-10-17T13:22:00ZschneiderBLE: Add support for Battery Service and Apple Notification Center Service (ANCS)Adding support for these services (which run on the phone!) would make the card10 usable without a dedicated app on Apple devices.Adding support for these services (which run on the phone!) would make the card10 usable without a dedicated app on Apple devices.https://git.flow3r.garden/card10/firmware/-/issues/200Revisit BLE connection parameters2020-10-17T13:23:52ZschneiderRevisit BLE connection parametersRight now they are chosen based on a mix of defaults from the SDK examples and later optimization.
Apple actually has a small guide for them: https://developer.apple.com/accessories/Accessory-Design-Guidelines.pdf (Section 35).
This is...Right now they are chosen based on a mix of defaults from the SDK examples and later optimization.
Apple actually has a small guide for them: https://developer.apple.com/accessories/Accessory-Design-Guidelines.pdf (Section 35).
This issue is concerned with connection interval, latency, MTU, etc.https://git.flow3r.garden/card10/firmware/-/issues/197BLE: Client Characteristic Configuration data not read correctly from AppDB2020-12-20T15:31:31ZschneiderBLE: Client Characteristic Configuration data not read correctly from AppDBObserved behaviour:
- Connect an Android device, enable notifications for the battery service.
- Observe notifications of the battery state arriving
- Disconnect the Android device
- Restart the card10
- Connect the Android device
- Obse...Observed behaviour:
- Connect an Android device, enable notifications for the battery service.
- Observe notifications of the battery state arriving
- Disconnect the Android device
- Restart the card10
- Connect the Android device
- Observe no notifications of the battery state arriving anymore
- Disconnect the Android device
- Connect the Android device
- Observe notifications of the battery state arriving
Desired behaviour:
- Connect an Android device, enable notifications for the battery service.
- Observe notifications of the battery state arriving
- Disconnect the Android device
- Restart the card10
- Connect the Android device
- Observe notifications of the battery state arriving
Investigation:
When opening a connection from an Android device, the stack tries to read persisted CCC data from the AppDB. This data is stored together with other pairing information and is persisted once notifications are enabled for a characteristic by a certain client/connection/bonding.
When a new connection is opened, `AppServerConnCback()` in `stack/ble-profiles/sources/apps/app/app_server.c` tries to read this information again. It uses `AppDbGetHdl(connId)` to resolve the `appDbHdl_t` which contains this data. This fails when connecting for the first time as there is no AppDb handle available yet for this `connId`.
The mapping of `connId` to AppDb handle is held in `appConnCb_t appConnCb[DM_CONN_MAX]` which is part of `stack/ble-profiles/sources/apps/app/app_main.c`. It looks like it gets updated in `stack/ble-profiles/sources/apps/app/app_master.c` and `stack/ble-profiles/sources/apps/app/app_slave.c`.
Some function in `app_master.c` or `app_slave.c` later on updates the mapping. Looks like it is in `appSlaveResolvedAddrInd()` as the Android device is using private addresses which first have to be resolved using pairing information (AFAIK). This though happens after consulting the mapping for the CCC data.
Conclusion:
It looks like the stack tries to read persisted CCC data before the mapping from connection to AppDb entry has been established. In fact the read is performed on outdated information from the previous connection (possibly being a security issue).
Writing this down to not forget about it and test with an mbed board, using an upstream version of the stack.https://git.flow3r.garden/card10/firmware/-/issues/185Implement client API for BLE2019-11-08T11:27:04ZcoonImplement client API for BLEAt this point the card10 can only act as a BLE server but not as a BLE client. There should be a BLE API which can be used in l0dables and micropython m0dules for establishing a BLE connection and exchange data.At this point the card10 can only act as a BLE server but not as a BLE client. There should be a BLE API which can be used in l0dables and micropython m0dules for establishing a BLE connection and exchange data.cooncoonhttps://git.flow3r.garden/card10/firmware/-/issues/180Add timeout to I2C_MasterRead2019-10-04T15:15:11ZschneiderAdd timeout to I2C_MasterReadI've seen this function to hang indefinitely far to often already. As it is usually inside a lock, it can can make the whole device unresponsive.I've seen this function to hang indefinitely far to often already. As it is usually inside a lock, it can can make the whole device unresponsive.https://git.flow3r.garden/card10/firmware/-/issues/178Home menu improvement suggestions2019-11-10T22:42:03ZNiklas RoyHome menu improvement suggestions1) Menu Scrolling / first line
When scrolling in the home menu, there pops up a black rectangle on top of the screen, each time the left or right button is pushed. This happens when the first line is not shown in its entire height due ...1) Menu Scrolling / first line
When scrolling in the home menu, there pops up a black rectangle on top of the screen, each time the left or right button is pushed. This happens when the first line is not shown in its entire height due to the fine scrolling. That is irritating, as it makes it harder to see at a glance whether the menu is scrolling up or down.
2) General design clean up
The menu lines have currently two different background colors (light & dark blue). This could be reduced to one background color (e.g. light blue) and the other color (e.g. dark blue) could be used to indicate which line is currently selected. This would make the yellow '>' on the left side obsolete - and there could be displayed one character more in each line. That would be helpful, as the display is anyway very small and space should be used carefully. It would be also nice to be able to configure the colors and the menu font externally.
3) Button order
The menu moves up and down while the buttons to move the menu are left and right, which is not logical. IMHO it would make far more sense to use the two buttons on the right side for moving the menu up and down and to use the lower button on the left side to select a menu item. TL;DR: Swap 'Select' button with 'Left' button.https://git.flow3r.garden/card10/firmware/-/issues/174TMR5 not usable for IR PWM (IRQ already in use for epicardium API) ?2021-11-16T22:40:25ZFrançois RevolTMR5 not usable for IR PWM (IRQ already in use for epicardium API) ?In my quest to implement TV-B-GONE on the IR LED, I noticed the TMR5 that's wired to the I/O pin P0.23 is already used for the epicardium API, at least its IRQ.
For now I switched to TMR3 in my patches, but I'm not sure which timer is b...In my quest to implement TV-B-GONE on the IR LED, I noticed the TMR5 that's wired to the I/O pin P0.23 is already used for the epicardium API, at least its IRQ.
For now I switched to TMR3 in my patches, but I'm not sure which timer is best to use for the API (or maybe we could still use TMR5 regardless for PWM as long as we don't set it to generate an IRQ? Probably not since it's triggered by setting the timer to 1us).v1.19rahixcard10@rahix.derahixcard10@rahix.dehttps://git.flow3r.garden/card10/firmware/-/issues/159Add bluetooth connectivity status2019-09-14T09:42:21Zchristian-draegerAdd bluetooth connectivity statusIt seems like there is no possibility to get the bluetooth connectivity status via python on the card10 (or at least it's not documented). Could this be added by any chance? It seems like there is no possibility to get the bluetooth connectivity status via python on the card10 (or at least it's not documented). Could this be added by any chance? https://git.flow3r.garden/card10/firmware/-/issues/141ble: fix documentation endian2019-10-18T14:43:00Zgenofireble: fix documentation endianafter merging:
https://git.card10.badge.events.ccc.de/card10/firmware/merge_requests/227
https://git.card10.badge.events.ccc.de/card10/firmware/merge_requests/242
https://git.card10.badge.events.ccc.de/card10/firmware/merge_requests/255...after merging:
https://git.card10.badge.events.ccc.de/card10/firmware/merge_requests/227
https://git.card10.badge.events.ccc.de/card10/firmware/merge_requests/242
https://git.card10.badge.events.ccc.de/card10/firmware/merge_requests/255
detailed in:
https://git.card10.badge.events.ccc.de/card10/firmware/merge_requests/255genofiregenofirehttps://git.flow3r.garden/card10/firmware/-/issues/139App suggestion: reminder to get up when you work for too long at your desk2019-08-29T12:24:47ZaxelApp suggestion: reminder to get up when you work for too long at your deskFirst of all, sorry if this isn't the place to suggest app ideas, but at the very last I wanted to capture the idea somewhere useful.
App idea: a card10 app that reminds you to get up and move if it detects you haven't been moving for a...First of all, sorry if this isn't the place to suggest app ideas, but at the very last I wanted to capture the idea somewhere useful.
App idea: a card10 app that reminds you to get up and move if it detects you haven't been moving for an hour. Good for those who work at a desk and can get absorbed in work.
Could be based on the code from https://badge.team/projects/sleeptracker, which detects periods of lack of movement.
My coding skills are very limited, otherwise I'd try to hash out some code to do this. I might still try!
Cheers
axelhttps://git.flow3r.garden/card10/firmware/-/issues/100Expose I2C in MicroPython2019-08-22T11:00:24ZkoaloExpose I2C in MicroPythonFor accessing internal and external sensors directly from MicroPython, I2C shall be exposed via I2C.
In order to prevent bricking the card10, chips such as the PMIC have to be blacklisted.For accessing internal and external sensors directly from MicroPython, I2C shall be exposed via I2C.
In order to prevent bricking the card10, chips such as the PMIC have to be blacklisted.swymswymhttps://git.flow3r.garden/card10/firmware/-/issues/95Display: Dim backlight based on light sensor2019-09-04T19:31:53ZschneiderDisplay: Dim backlight based on light sensorEspecially should become dimmer when it gets dark.
Not sure what the best value is when the day start is in "ON" mode.Especially should become dimmer when it gets dark.
Not sure what the best value is when the day start is in "ON" mode.https://git.flow3r.garden/card10/firmware/-/issues/92ble: card10 svc notify about sensor data2019-08-22T15:11:19Zgenofireble: card10 svc notify about sensor data- blocked by !51 and !85- blocked by !51 and !85https://git.flow3r.garden/card10/firmware/-/issues/1Card10 App-Ideen2019-08-16T22:36:32ZbitnapperCard10 App-IdeenVorab: Entschuldigung falls der App-Vorschlag an der falschen Stelle gelandet ist. Auf dem EasterEgg wurde um Ideen für Apps gebeten aber ich habe keinen besseren Ort gefunden um diese zu droppen.
# Send-me-an-Angel
Eine App mit der Sh...Vorab: Entschuldigung falls der App-Vorschlag an der falschen Stelle gelandet ist. Auf dem EasterEgg wurde um Ideen für Apps gebeten aber ich habe keinen besseren Ort gefunden um diese zu droppen.
# Send-me-an-Angel
Eine App mit der Shiftcoordinatoren des Heavens über die Card10 nach Engel für spezielle Aufgaben suchen können, für die spezielle Fähigkeiten erforderlich sind.
Engel müssen sich im Engelsystem registrieren und können Fähigkeiten die sie besitzen aus einer definierten und erweiterbaren Liste (z.B. kann BGP, kann IPv6 Routing (linux), hat Schweißgerät) auswählen.
Shiftcoordinatoren können bei Bedarf eine Anfrage nach einem Engel mit einer bestimmten Fähigkeit senden. Diese verteilt sich über die Card10s und löst bei allen Engeln mit einer entsprechenden Fähigkeit einen Notifiaction aus. Diese können dann die Anfrage annehmen oder ablehnen (bzw. ignorieren).
Der Nachricht müssten standardisierte Daten wie Ort und Zeit mitgegeben werden sowie eine Beschreibung des Tasks.
# Skillshare
Typ: social
Ähnlich wie Send-me-an-Angel können alle Teilnehmenden Skills eintragen. Zu jedem Skill kann angegeben werden, ob man diesen bereitstellen kann oder ob man diesen gerne erlangen will. Sehen sich zwei Card10 mit einem passenden Skillset (A sucht Skill B, C bietet Skill B), werden beide informiert.
# Toolshare
Wie Skillshare, nur mit Werkzeugen (Biete Trockeneis trifft Suche Trockeneis > Bing!).