-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Questions about commit #5
Comments
From what I can recall,
|
I'm pretty sure what Getpsyched said above is right, but John and @Theaninova can confirm for sure. |
Thanks @GetPsyched for the quick reply (and creating relevant new issue(s) for tracking purpose). With regard to
It might not be a perceivable or tangible use case but, based on my own first-hand experience of using "thumb drive" (which also uses flash chips), they do wear out within merely several years. While thumb drives are cheap to replace, the data loss would typically go unnoticed for a long time and the troubleshooting were unpleasant. In Charachorder's case, the device is not cheap, unless its flash storage becomes replaceable by swapping a TF card. All that being said, you seem to hint that there is indeed an "in-RAM" mode on the hardware? If that is the case, exposing that mode in this SDK becomes a no-brainer. :) |
Ah, so what you're requesting is essentially something that would go along the lines of:
cc @Raymo111 @jdestgermain @Theaninova again to weigh in their opinion on how viable this is independent of the inconvenience. Code-wise this shouldn't be much of an issue I suppose. |
I'm not sure if I follow the conversation correctly, chords need to be stored on flash by design. Just storing them in RAM is not possible because opposed to settings and layouts they are never held in RAM unless immediately needed. Especially the older M0 devices are very heavily constrained in memory, and moving chords to a RAM-only mode might constrain them to only a few hundred chords. That being said, there is something we are trying out internally that could benefit from an in-ram mode which as a tradeoff constrains the amount of chords you can have, so there might be the possibility we add this at some point, but please level your expectations of what is possible. |
"A few hundred chords" are already plenty to enable some different use case. Not every user is going all-in to chord every words in a dictionary (well, at least not initially); some may already be a fluent touch typist who wants to add only hundreds of long words and phrases in his/her field. |
But chords are fairly cheap to store anyway; wasn't it the commits we were worried about? |
Well, because the docs in this library mentions "commit" on chords too, I thought the commit concept was also applicable to chords. But now I can clarify.
|
First of all, some context here. This Serial API doc mentions caution against commit.
I can see that this
charachorder.py
library provides an explicitcommit:boolean
parameter for most of the setter methods, but not for chord-relevant methods. Some of those chord-relevant methods (such asdelete_chordmaps()
,append_starter_chordmaps()
,append_functional_chordmaps()
) has docstring explicitly mentioning that they will always commit, but theset_chordmap()
anddelete_chordmap()
does not mention commit behavior.Q1: Do
set_chordmap()
anddelete_chordmap()
always auto-commit, too?Q2: If I programmatically add for example 1000+ chords (such as those defined in CharChorder Builder), does that incur 1000+ commits? That can easily be 3 magnitudes more than one would change the keymaps and layouts. Shall I also make an effort to minimize the
set_chordmap()
anddelete_chordmap()
calls?Q3: Is there a "no commit" mode for me to frequently test out different chords which are meant to be lost after powering down?
Q4: By the way, where do the chords of
append_starter_chordmaps()
andappend_functional_chordmaps()
come from? Are they hardcoded in the firmware? Are there any docs or source code somewhere listing what those chords are?The text was updated successfully, but these errors were encountered: