Partial downloads
A full download writes the application program, the parameters and the group address links. A partial download writes only part of that, which is faster and leaves the application program in place. Use it when the device already holds the right application program: this is not checked.
Choose the scope with -partial par|grp|both on knxprogram or with the Load selector in
the application.
| Scope | Meaning |
|---|---|
par | Parameters only |
grp | Group communication only: group addresses and the links of group objects |
both | Parameters and group communication |
When parameters change the group objects (for example, enabling a channel), the reference downloads load group
communication too. knxprogram checks the object table of the device for that.
How the plans are built
The plans follow the partial downloads ETS makes, as recorded in reference downloads, and equal them in the tests for
masks 0x0021, 0x0705, 0x07B0 and 0x0012, and for the IP router.
0x0021and0x0705. Load state machines 1 and 2 are unloaded and loaded whole if group communication is loaded; 3 is not unloaded and gets no segments: Load, the object table range for group communication, the octets parameters occupy as separate writes for parameters, then LoadCompleted. Identity octets are not written.0x07B0. Parameters are load state machine 4, group communication is 1, 2 and 3; 5 stays. 1 and 2 are written whole. 3 and 4 get their segment with only the octets that differ from what the device holds (read byknxprogram).0x0012. Own steps: association pointer, group addresses with association table, object table, parameter runs, then the usual ends; each compared in chunks of 12 and written where it differs. The reference downloads did the group communication ranges also for “parameters”.0x091A(router). The whole load procedure also runs forparandboth, as in the reference downloads.grpis the lighter procedure that clears and writes the filter table.
Limits
- The scope is chosen by hand. ETS decides from the change flags of the device (the loaded flags in the project); Tinkerbus does not.
- Larger tables (several group addresses on
0x0012, runs spanning several APDUs on0x07B0) are not covered by a reference download. - For
0x07B0the checksums of the load images are not compared after a partial load, because the device sums up what was written; the memory is compared. - Partial downloads have not been tried with a changed project on real hardware. See Status.