Shared Contracts Worklist
Delete an item when it is done.
Monitor transport
- Clear
VC_CORERESETon the host's timeout-resume path.host/libraries/tagcore/tagmonitor.cchas two resume paths after a failed monitor call. The reset path clears the flag. The timeout path is taken when the timeout probe has halted the target, and it resumes with(demcr | MON_EN | VC_CORERESET), leaving the flag set. Since decision 0006 a stale flag can no longer stop a U3 tag sleeping. It still leadsmonitorResetRecoveryActive()to read the next boot as a monitor attach. Test across L4 and U3 targets before changing it, because both transports read that bit.
Data-log download
- Decide how a download handles missing blocks. The host asks for a page at an index and advances by the records the page held, until a page comes back with nothing in it. Today:
- End of log: most tags return an
Ackwith no payload; BitTag returns an emptybittag_data_log. - Missing block:
NODATAwhile the index is below the status's data count is skipped one index at a time, bytag-dwnld(host/commandline/dwnld.cc) and qtmonitor (host/applications/qtmon/abstractdownload.cpp) alike. Past the count it ends the log. - The count is only a hint, and the tools disagree on it.
tag-dwnldrefuses to download when it is zero, though firmware paths reset it (for example IMUTag'sstate_run.con a flash error). qtmonitor stops when the index reaches it, so a low count truncates the download silently.
Proposed: the tag marks a hole with a new Ack.Err value, DATASKIPPED;
any other reply without records ends the log, and every downloader follows
one tagcore rule that reads no count. See
data-log end and skipped pages.