Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions include/app.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@

#include "isobus/hardware_integration/can_hardware_plugin.hpp"
#include "isobus/isobus/can_message.hpp"
#include "isobus/isobus/isobus_functionalities.hpp"
#include "isobus/isobus/isobus_speed_distance_messages.hpp"
#include "isobus/isobus/nmea2000_message_interface.hpp"

Expand Down Expand Up @@ -47,8 +46,6 @@ class Application
std::shared_ptr<isobus::InternalControlFunction> tecuCF = nullptr;
std::unique_ptr<isobus::SpeedMessagesInterface> speedMessagesInterface;
std::unique_ptr<isobus::NMEA2000MessageInterface> nmea2000MessageInterface;
std::unique_ptr<isobus::ControlFunctionFunctionalities> tecuFunctionalities;
std::unique_ptr<isobus::ControlFunctionFunctionalities> tcFunctionalities;
std::uint8_t nmea2000SequenceIdentifier = 0;
std::uint32_t lastJ1939SpeedTransmit = 0;
std::uint32_t lastTCStatusTransmit = 0;
Expand Down
43 changes: 0 additions & 43 deletions src/app.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -205,33 +205,6 @@ bool Application::initialize()
tcServer->initialize();
tcServer->set_task_totals_active(true); // TODO: make this dynamic based on status in AOG

// Announce TC Control Function Functionalities (PGN 64654 / 0xFC8E) per ISO 11783-12.
tcFunctionalities = std::make_unique<isobus::ControlFunctionFunctionalities>(tcCF);

// TC-BAS (Basic): mandatory baseline for any TC server
tcFunctionalities->set_functionality_is_supported(
isobus::ControlFunctionFunctionalities::Functionalities::TaskControllerBasicServer,
1,
true);

// TC-GEO: DISABLED – variable rate / prescription maps are not supported
tcFunctionalities->set_functionality_is_supported(
isobus::ControlFunctionFunctionalities::Functionalities::TaskControllerGeoServer,
1,
false);
tcFunctionalities->set_task_controller_geo_server_option_state(
isobus::ControlFunctionFunctionalities::TaskControllerGeoServerOptions::PolygonBasedPrescriptionMapsAreSupported,
false);

// TC-SC (Section Control): 1 boom, 64 sections – matching MyTCServer constructor limits
tcFunctionalities->set_functionality_is_supported(
isobus::ControlFunctionFunctionalities::Functionalities::TaskControllerSectionControlServer,
1,
true);
tcFunctionalities->set_task_controller_section_control_server_option_state(
1, // numberOfSupportedBooms
64); // numberOfSupportedSections

// Register a ProcessData PGN callback to drive the bidirectional VersionPayload exchange
isobus::CANNetworkManager::CANNetwork.add_any_control_function_parameter_group_number_callback(
static_cast<std::uint32_t>(isobus::CANLibParameterGroupNumber::ProcessData),
Expand All @@ -241,18 +214,6 @@ bool Application::initialize()
// Initialize speed and distance messages
if (tecuCF && tecuCF->get_address_valid())
{
std::cout << "[" << get_timestamp() << "] [Init] Creating TECU Control Function Functionalities..." << std::endl;
tecuFunctionalities = std::make_unique<isobus::ControlFunctionFunctionalities>(tecuCF);
// Announce as Basic Tractor ECU Server Class 1 (ISO 11783-9 compliance)
tecuFunctionalities->set_functionality_is_supported(
isobus::ControlFunctionFunctionalities::Functionalities::BasicTractorECUServer,
2, // Generation 2 (Version 2)
true);
tecuFunctionalities->set_basic_tractor_ECU_server_option_state(
isobus::ControlFunctionFunctionalities::BasicTractorECUOptions::Class1NoOptions,
true);
std::cout << "[" << get_timestamp() << "] [Init] TECU announced as Class 1 Tractor ECU (PGN 64654)" << std::endl;

std::cout << "[" << get_timestamp() << "] [Init] Creating Speed Messages Interface on TECU..." << std::endl;
speedMessagesInterface = std::make_unique<isobus::SpeedMessagesInterface>(tecuCF, true, true, true, false); //TODO: make configurable whether to send these messages
speedMessagesInterface->initialize();
Expand Down Expand Up @@ -389,10 +350,6 @@ bool Application::update()

tcServer->request_measurement_commands();
tcServer->update();
if (tcFunctionalities)
tcFunctionalities->update();
if (tecuFunctionalities)
tecuFunctionalities->update();
if (speedMessagesInterface)
speedMessagesInterface->update();
if (nmea2000MessageInterface)
Expand Down