Repository navigation
Bump AgIsoStack++ to upstream main (includes #718) - #104
Conversation
Moves the pin from c0e1ebb (19 Sep) to f3c37b8 (13 Oct). For us this brings the VT client fixes for a slow pool parse (#774) and a VT that stops sending its status (#719), working Extended Version commands (#768), and the CAN driver being closed on stop with a reported reason when it fails to open (#722, #747, #759). AgIsoStack++ PR #718 is applied on top as a patch until it is merged: a control function restored to the address table gets credit for the claim that restored it, and the roll-call no longer credits the first inactive CF on the channel. Without it a CF can be pruned on every address claim request and its broadcasts dropped meanwhile. ApplyPatchOnce.cmake skips an already applied patch, so a rerun of the FetchContent patch step does not fail, and the patch is kept LF. Since #747, CANHardwareInterface::start() can return false after it started the update thread, so Application::stop() now checks is_running() instead of the start() result. The CAN start failure log includes the driver's get_last_error(). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
AgIsoStack++ PR #718 is merged upstream (fbf5236), with the same can_network_manager.cpp change as the patch we carried, so pin that commit and remove the patch, ApplyPatchOnce.cmake and the PATCH_COMMAND. This also brings #782 (Extended Input Attributes sizing in the VT client autoscale). Autoscale now fails instead of hanging on an object it cannot size; all 88 objects in resources/AOG_TC.iop are sized by the new code. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
No adapter / wrong channel test: Logging to file: C:\Users\GunicsBa\AppData\Roaming\AOG-TaskController\logs/AOG-TaskController_2026-10-14_8-36.log |
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Summary
Bumps AgIsoStack++ from
c0e1ebb(19 Sep) to upstreammainfbf5236(14 Oct), the merge of Open-Agriculture/AgIsoStack-plus-plus#718. 31 commits, upstream repository, no fork and no local patches.What this gets us
Address claim / partner handling (Open-Agriculture/AgIsoStack-plus-plus#718):
update_new_partners(), Keep a new partner's address claim credit when it replaces a control function Open-Agriculture/AgIsoStack-plus-plus#724), which #718 does not touch.VT client (our VT UI):
resources/AOG_TC.iopwith the new sizer sizes all 88 objects and ends exactly at the end of the pool, so autoscaling is unaffected.WaitForEndOfObjectPoolResponse/WaitForLoadVersionResponsewhen the VT takes more than 3 s to parse the pool. On VT version 3+, it keeps waiting while the VT status message reports "parsing", as ISO 11783-6 C.2.2 requires. Before, a slow terminal made us drop the connection and start over.WaitForPartnerVTStatusMessagenow times out and retries like every other wait state, instead of waiting forever when the VT stops broadcasting its status.CAN hardware:
CANHardwareInterface::stop()now closes the driver, so the adapter is released on exit.start()returnsfalsewhen a channel fails to open, and the Windows plugins (PCAN-Basic, TouCAN, SYS TEC, InnoMaker) report why throughget_last_error(). We now add that reason to the "Failed to start CAN hardware interface." log line.The rest of the bump is VT server, TC client, ISOXML export, tutorial and example changes. They don't reach code we use.
Changes in this repo
CMakeLists.txt: newGIT_TAG.Application::stop()now checksCANHardwareInterface::is_running()instead of the removedcanHardwareStartedflag. Since Report SocketCAN open failures through start() and get_last_error() Open-Agriculture/AgIsoStack-plus-plus#747,start()can returnfalseand still have started the update thread and setstarted. With the old flag, the failed-initialize path from Decouple logging from the main loop to stop it stalling ISOBUS transmit #79 would skipstop()and leave that thread running.canDriver->get_last_error()when it is not empty.Behaviour change to watch on hardware
Our VT pool version label is
hash_object_pool_to_version()output: a 64-bit hash in hex, usually 16 characters. Until now the client sent only its first 7 characters with (Store/Load) Version. After Open-Agriculture/AgIsoStack-plus-plus#768, on a VT version 5 or later with a label longer than 7 characters, the client uses the Extended Version commands with the full label. Expect one full pool upload on VT5+ terminals the first time, because the old 7-character version no longer matches. Terminals at VT version 4 or below behave as before. If a VT5+ terminal turns out to handle Extended Version badly, cutting the label to 7 characters on our side restores the old behaviour.Test plan
ctestpass, from a fresh fetch offbf5236resources/AOG_TC.iopwalked with the newget_number_bytes_in_object(): 88 objects, no unsized object, ends at the pool end🤖 Generated with Claude Code