First of all, some context here. This Serial API doc mentions caution against commit.
Parameter and keymaps changes, when committed, will degrade the flash chip over time ... If you plan to programmatically change layouts, for example, you shouldn’t commit the changes unless you need them to persist after power loss.
Chords are stored on external flash ... and is less of a concern.
I can see that this charachorder.py library provides an explicit commit:boolean parameter for most of the setter methods, but not for chord-relevant methods. Some of those chord-relevant methods (such as delete_chordmaps(), append_starter_chordmaps(), append_functional_chordmaps()) has docstring explicitly mentioning that they will always commit, but the set_chordmap() and delete_chordmap() does not mention commit behavior.
Q1: Do set_chordmap() and delete_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() and delete_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() and append_functional_chordmaps() come from? Are they hardcoded in the firmware? Are there any docs or source code somewhere listing what those chords are?
First of all, some context here. This Serial API doc mentions caution against commit.
I can see that this
charachorder.pylibrary provides an explicitcommit:booleanparameter 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?