Skip to content

Vader tempo having multiple booms#29

Draft
gunicsba wants to merge 8 commits intoAgOpenGPS-Official:developfrom
gunicsba:vader_tempo
Draft

Vader tempo having multiple booms#29
gunicsba wants to merge 8 commits intoAgOpenGPS-Official:developfrom
gunicsba:vader_tempo

Conversation

@gunicsba
Copy link
Copy Markdown
Contributor

This will be a draft PR for Mareks Tempo planter.

This is what we had:
[Debug][TC Server]: Client 128 value command for element 10 DDI Actual Condensed Work State (1-16) with value 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 OK.
[Debug][TC Server]: Sending set value to client 128 for DDI Actual Condensed Work State (1-16) element 10 with value 1 1 1 1 1 1 0 0 0 0 0 0 3 3 3 3
[Debug][TC Server]: Client 128 value command for element 0 DDI Actual Work State with value On OK.
[Debug][TC Server]: Client 128 value command for element 2 DDI Actual Work State with value On OK.
[Debug][TC Server]: Client 128 value command for element 2 DDI Actual Condensed Work State (1-16) with value 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 OK.
[Debug][TC Server]: Client 128 value command for element 10 DDI Actual Work State with value On OK.
[Debug][TC Server]: Client 128 value command for element 10 DDI Actual Condensed Work State (1-16) with value 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 OK.

In theory we shoud now control the 2 booms together.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR expands Task Controller section/element handling to support more sections and multiple DDOP elements per DDI, aligns the UDP protocol handling to a 64-section message, and improves log output with timestamps while updating the AgIsoStack++ dependency.

Changes:

  • Support multiple element numbers per DDI and send setpoints/control state to all mapped elements (multi-boom support).
  • Increase TaskControllerServer configuration from 16 to 64 (sections/channels) and parse a new 64-section UDP PGN payload.
  • Prefix CAN stack logs with an HH:MM:SS timestamp and bump the isobus FetchContent commit.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
src/task_controller.cpp Stores multiple element numbers per DDI and broadcasts setpoints/control state across all mapped elements; increases TC server limits to 64.
include/task_controller.hpp Updates ClientState API to expose multiple element numbers per DDI.
src/app.cpp Switches UDP section parsing to a 64-section PGN and expands bit unpacking to 8 bytes.
src/logging.cpp Adds timestamp generation and prefixes CAN stack log lines with timestamps.
CMakeLists.txt Updates AgIsoStack++ (isobus) dependency commit hash.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

Comment on lines 50 to 55
bool are_measurement_commands_sent() const;
void mark_measurement_commands_sent();
std::uint16_t get_element_number_for_ddi(isobus::DataDescriptionIndex ddi) const;
void set_element_number_for_ddi(isobus::DataDescriptionIndex ddi, std::uint16_t elementNumber);
const std::vector<std::uint16_t> &get_element_numbers_for_ddi(isobus::DataDescriptionIndex ddi) const;
void add_element_number_for_ddi(isobus::DataDescriptionIndex ddi, std::uint16_t elementNumber);
bool has_element_number_for_ddi(isobus::DataDescriptionIndex ddi) const;
Comment on lines +53 to +58
static std::string get_timestamp()
{
std::time_t now = std::time(nullptr);
std::tm localTime;
localtime_s(&localTime, &now);

gunicsba and others added 2 commits March 16, 2026 23:34
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
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.

3 participants