Skip to content

Tc fix working width#618

Open
gunicsba wants to merge 17 commits intoOpen-Agriculture:mainfrom
gunicsba:tc-fix-working-width
Open

Tc fix working width#618
gunicsba wants to merge 17 commits intoOpen-Agriculture:mainfrom
gunicsba:tc-fix-working-width

Conversation

@gunicsba
Copy link
Copy Markdown
Contributor

I noticed that the Müller Elektronik sprayer working widths weren't correct.

Now it has fallbacks according to: https://www.isobus.net/isobus/attachments/345/ISO11783-11-DDI-290-SetpointWorkState-v1.pdf

Each Section Device Element shall at least provide one type of Working Width. If
more than one type of Working Width is provided, then the Section Controller shall be
capable to use the different Working Width types with the following priority:

  1. Actual Working Width (DDI 67)
  2. Maximum Working Width (DDI 70)
  3. Default Working Width (DDI 68)

GwnDaan and others added 7 commits March 15, 2025 21:36
Also adds extra measurement commands logging and clarifies some documentation
According to: https://www.isobus.net/isobus/attachments/345/ISO11783-11-DDI-290-SetpointWorkState-v1.pdf

Each Section Device Element shall at least provide one type of Working Width. If
more than one type of Working Width is provided, then the Section Controller shall be
capable to use the different Working Width types with the following priority:
1. Actual Working Width (DDI 67)
2. Maximum Working Width (DDI 70)
3. Default Working Width (DDI 68)
Comment thread isobus/src/isobus_device_descriptor_object_pool_helpers.cpp Outdated
@gunicsba
Copy link
Copy Markdown
Contributor Author

@GwnDaan I made the changes but not sure why the Build started to fail. It doesn't make sense. previous build only had clang-format error...

gunicsba added 4 commits April 3, 2026 20:43
…ssDDOP stated

dopLocalizationLabel is a std::array<std::uint8_t, 7>, so .empty() always returns false. This prevented process_labels_from_ddop() from ever being called for user-provided binary DDOPs, causing the state machine to proceed with uninitialized label data. Replaced with a comparison against a zero-initialized array to correctly detect the sentinel "not yet populated" state.
@gunicsba
Copy link
Copy Markdown
Contributor Author

gunicsba commented Apr 5, 2026

@ad3154 @martonmiklos something isn't right with our tests .. for me they seem to fail randomly...
and not just for this PR but for other PRs too.

@ad3154
Copy link
Copy Markdown
Member

ad3154 commented Apr 6, 2026

@ad3154 @martonmiklos something isn't right with our tests .. for me they seem to fail randomly... and not just for this PR but for other PRs too.

Yeah, it's the timing related stuff... the tests do actual thread delays and read actual system time everywhere, which is prone to unpredictability. Ideally we just need to add an abstraction to our timing interface to allow overriding it from a test environment. Adding this abstraction would also greatly speed up the tests....

@ad3154
Copy link
Copy Markdown
Member

ad3154 commented Apr 7, 2026

@ad3154 @martonmiklos something isn't right with our tests .. for me they seem to fail randomly... and not just for this PR but for other PRs too.

I have opened a PR that should finally completely fix the random test failures. It was not fun, but it needed to happen, haha.

#682

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants