AgIsoStack++
A control-function-focused implementation of the major ISOBUS and J1939 protocols
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Private Attributes | List of all members
isobus::NAME Class Reference

A class that represents an ISO11783 control function NAME from an address claim. More...

#include <can_NAME.hpp>

Public Types

enum class  NAMEParameters {
  IdentityNumber , ManufacturerCode , EcuInstance , FunctionInstance ,
  FunctionCode , DeviceClass , DeviceClassInstance , IndustryGroup ,
  ArbitraryAddressCapable
}
 The encoded components that comprise a NAME. More...
 
enum class  IndustryGroup : std::uint8_t {
  Global = 0 , OnHighwayEquipment = 1 , AgriculturalAndForestryEquipment = 2 , ConstructionEquipment = 3 ,
  Marine = 4 , IndustrialOrProcessControl = 5 , Reserved1 = 6 , Reserved2 = 7
}
 The industry group is part of the ISO NAME. It allocates devices and their functions by a specific industry. Function codes' meanings are defined in relation to industry group and device class. More...
 
enum class  Function : std::uint8_t {
  Engine = 0 , AuxiliaryPowerUnit = 1 , ElectricPropulsionControl = 2 , Transmission = 3 ,
  BatteryPackMonitor = 4 , ShiftControl = 5 , PowerTakeOffRearOrPrimary = 6 , SteeringAxle = 7 ,
  DrivingAxle = 8 , SystemControlBrakes = 9 , SteerAxleControlBrakes = 10 , DriveAxleControlBrakes = 11 ,
  EngineRetarder = 12 , DrivelineRetarder = 13 , CruiseControl = 14 , FuelSystem = 15 ,
  SteeringControl = 16 , SteerAxleSuspensionControl = 17 , DriveAxleSuspensionControl = 18 , InstrumentCluster = 19 ,
  TripRecorder = 20 , CabClimateControl = 21 , AerodynamicControl = 22 , VehicleNavigation = 23 ,
  VehicleSecurity = 24 , NetworkInterconnectUnit = 25 , BodyControl = 26 , PowerTakeOffFrontOrSecondary = 27 ,
  OffVehicleGateway = 28 , VirtualTerminal = 29 , ManagementComputerOne = 30 , PropulsionBatteryCharger = 31 ,
  HeadwayControl = 32 , SystemMonitor = 33 , HydraulicPumpControl = 34 , SystemControlSuspension = 35 ,
  SystemControlPneumatic = 36 , CabController = 37 , TirePressureControl = 38 , IgnitionControl = 39 ,
  SeatControl = 40 , OperatorControlsLighting = 41 , WaterPumpControl = 42 , TransmissionDisplay = 43 ,
  ExhaustEmissionControl = 44 , VehicleDynamicStabilityControl = 45 , OilSystemMonitor = 46 , InformationSystemControl = 47 ,
  RampControl = 48 , ClutchConverterControl = 49 , AuxiliaryHeater = 50 , ForwardLookingCollisionWarningSystem = 51 ,
  ChassisControl = 52 , AlternatorElectricalChargingSystem = 53 , CommunicationsCellular = 54 , CommunicationsSatellite = 55 ,
  CommunicationsRadio = 56 , OperatorControlsSteeringColumn = 57 , FanDriveControl = 58 , Starter = 59 ,
  CabDisplayCab = 60 , FileServerOrPrinter = 61 , OnboardDiagnosticUnit = 62 , EngineValveController = 63 ,
  EnduranceBraking = 64 , GasFlowMeasurement = 65 , IOController = 66 , ElectricalSystemController = 67 ,
  AftertreatmentSystemGasMeasurement = 68 , EngineEmissionAftertreatmentSystem = 69 , AuxiliaryRegenerationDevice = 70 , TransferCaseControl = 71 ,
  CoolantValveController = 72 , RolloverDetectionControl = 73 , LubricationSystem = 74 , SupplementalFan = 75 ,
  TemperatureSensor = 76 , FuelPropertiesSensor = 77 , FireSuppressionSystem = 78 , PowerSystemsManager = 79 ,
  ElectricPowertrain = 80 , HydraulicPowertrain = 81 , FileServer = 82 , Printer = 83 ,
  StartAidDevice = 84 , EngineInjectionControlModule = 85 , EVCommunicationController = 86 , DriverImpairmentDevice = 87 ,
  ElectricPowerConverter = 88 , SupplyEquipmentCommunicationController = 89 , VehicleAdapterCommunicationController = 90 , RateControl = 128 ,
  SectionOnOffControl = 129 , PositionControl = 131 , MachineControl = 132 , ProductFlow = 133 ,
  ProductLevel = 134 , DepthOrHeightControl = 135 , FrameControl = 136 , OffBoardDiagnosticServiceTool = 129 ,
  OnBoardDiagnosticDataLogger = 130 , PCKeyboard = 131 , SafetyRestraintSystem = 132 , Turbocharger = 133 ,
  GroundBasedSpeedSensor = 134 , Keypad = 135 , HumiditySensor = 136 , ThermalManagementSystemController = 137 ,
  BrakeStrokeAlert = 138 , OnBoardAxleGroupScale = 139 , OnBoardAxleGroupDisplay = 140 , BatteryCharger = 141 ,
  TurbochargerCompressorBypass = 142 , TurbochargerWastegate = 143 , Throttle = 144 , InertialSensor = 145 ,
  FuelActuator = 146 , EngineExhaustGasRecirculation = 147 , EngineExhaustBackpressure = 148 , OnBoardBinWeightingScale = 149 ,
  OnBoardBinWeighingScaleDisplay = 150 , EngineCylinderPressureMonitoringSystem = 151 , ObjectDetection = 152 , ObjectDetectionDisplay = 153 ,
  ObjectDetectionSensor = 154 , PersonnelDetectionDevice = 155 , Tachograph = 128 , DoorController = 129 ,
  ArticulationTurntableControl = 130 , BodyToVehicleInterfaceControl = 131 , SlopeSensor = 132 , RetarderDisplay = 134 ,
  DifferentialLockController = 135 , LowVoltageDisconnect = 136 , RoadwayInformation = 137 , AutomatedDriving = 138 ,
  ForwardRoadImageProcessing = 128 , FifthWheelSmartSystem = 129 , CatalystFluidSensor = 130 , AdaptiveFrontLightingSystem = 131 ,
  IdleControlSystem = 132 , UserInterfaceSystem = 133 , NonVirtualTerminalDisplay = 128 , OperatorControlsMachineSpecific = 129 ,
  TaskController = 130 , ForeignObjectDetection = 133 , TractorECU = 134 , SequenceControlMaster = 135 ,
  ProductDosing = 136 , ProductTreatment = 137 , DataLogger = 139 , DecisionSupport = 140 ,
  LightingController = 141 , TIMServer = 142 , AuxiliaryValveControl = 129 , RearHitchControl = 130 ,
  FrontHitchControl = 131 , CenterHitchControl = 134 , DownPressure = 137 , ProductPressure = 130 ,
  TailingMonitor = 128 , HeaderControl = 129 , ProductLossMonitor = 130 , HarvesterProductMoisture = 131 ,
  TwineWrapperControl = 128 , ProductPackagingControl = 129 , ForageProductMoisture = 131 , UnloadControl = 136 ,
  GuidanceFeeler = 128 , CameraSystem = 129 , CropScouting = 130 , MaterialPropertiesSensing = 131 ,
  InertialMeasurementUnit = 132 , ProductMass = 135 , VibrationKnock = 136 , WeatherInstruments = 137 ,
  SoilScouting = 138 , ConstructionSupplementalEngineControlSensing = 128 , LaserReceiver = 129 , LandLevelingSystemOperatorInterface = 130 ,
  LandLevelingElectricMast = 131 , SingleLandLevelingSystemSupervisor = 132 , LandLevelingSystemDisplay = 133 , LaserTracer = 134 ,
  LoaderControl = 135 , ConstructionEquipmentSlopeSensor = 136 , LiftArmControl = 137 , SupplementalSensorProcessingUnits = 138 ,
  HydraulicSystemPlanner = 139 , HydraulicValveController = 140 , JoystickControl = 141 , RotationSensor = 142 ,
  SonicSensor = 143 , SurveyTotalStationTarget = 144 , HeadingSensor = 145 , AlarmDevice = 146 ,
  SkidSteerMainController = 128 , BladeController = 128 , HFWDController = 128 , Alarm1SystemControlForMarineEngines = 128 ,
  ProtectionSystemForMarineEngines = 129 , DisplayForProtectionSystemForMarineEngines = 130 , Switch = 130 , Load = 140 ,
  FollowUpController = 130 , ModeController = 140 , AutomaticSteeringController = 150 , HeadingSensors = 160 ,
  EngineRoomMonitoring = 130 , EngineInterface = 140 , EngineController = 150 , EngineGateway = 160 ,
  ControlHead = 170 , Actuator = 180 , GaugeInterface = 190 , GaugeLarge = 200 ,
  GaugeSmall = 210 , PropulsionSensorsAndGateway = 220 , SounderDepth = 130 , GlobalNavigationSatelliteSystem = 145 ,
  LoranC = 150 , SpeedSensors = 155 , TurnRateIndicator = 160 , IntegratedNavigation = 170 ,
  RadarOrRadarPlotting = 200 , ElectronicChartDisplayAndInformationSystem = 205 , ElectronicChartSystem = 210 , DirectionFinder = 220 ,
  EmergencyPositionIndicatingBeacon = 130 , AutomaticIdentificationSystem = 140 , DigitalSelectiveCalling = 150 , DataReceiver = 160 ,
  Satellite = 170 , RadioTelephoneMF_HF = 180 , RadioTelephoneVHF = 190 , TimeDateSystems = 130 ,
  VoyageDataRecorder = 140 , IntegratedInstrumentation = 150 , GeneralPurposeDisplays = 160 , GeneralSensorBox = 170 ,
  MarineWeatherInstruments = 180 , TransducerGeneral = 190 , NMEA0183Converter = 200 , GeneratorSupplementalEngineControlSensing = 128 ,
  GeneratorSetController = 129 , GeneratorVoltageRegulator = 130 , ChokeActuator = 131 , WellStimulationPump = 132 ,
  MaxFunctionCode = 255
}
 See ISO11783-1 and www.isobus.net For complete descriptions of the ISO NAME function codes. More...
 
enum class  DeviceClass {
  NonSpecific = 0 , Tractor = 1 , SkidSteerLoader = 1 , Trailer = 2 ,
  ArticulatedDumpTruck = 2 , SecondaryTillage = 3 , Backhoe = 3 , PlanterSeeder = 4 ,
  Crawler = 4 , Fertilizer = 5 , Excavator = 5 , Sprayer = 6 ,
  Forklift = 6 , Harvester = 7 , FourWheelDriveLoader = 7 , RootHarvester = 8 ,
  Grader = 8 , Forage = 9 , MillingMachine = 9 , Irrigation = 10 ,
  RecyclerAndSoilStabilizer = 10 , SystemTools = 10 , TransportTrailer = 11 , BindingAgentSpreader = 11 ,
  FarmYardOperations = 12 , Paver = 12 , PoweredAuxiliaryDevices = 13 , Feeder = 13 ,
  SpecialCrops = 14 , ScreeningPlant = 14 , Earthwork = 15 , Stacker = 15 ,
  Skidder = 16 , Roller = 16 , SensorSystems = 17 , Crusher = 17 ,
  TimberHarvester = 19 , Forwarder = 20 , SafetySystems = 20 , TimberLoader = 21 ,
  TimberProcessor = 22 , Mulcher = 23 , UtilityVehicle = 24 , SlurryManureApplicator = 25 ,
  Gateway = 25 , FeederMixer = 26 , WeederNonChemical = 27 , TurfOrLawnCareMower = 28 ,
  ProductMaterialHandling = 29 , PowerManagementAndLightingSystem = 30 , SteeringSystems = 40 , PropulsionSystems = 50 ,
  NavigationSystems = 60 , CommunicationsSystems = 70 , InstrumentationOrGeneral = 80 , EnvironmentalHVACSystem = 90 ,
  DeckCargoOrFishingEquipment = 100 , NotAvailable = 127
}
 The device class is part of the ISO NAME and is known in J1939 as the "vehicle system". This is a 7-bit field defined and assigned by SAE. Device class provides a common name for a group of functions within a connected network. More...
 
using NameParameterFilter = std::pair<const NAMEParameters, const std::uint32_t>
 A structure that tracks the pair of a NAME parameter and associated value.
 

Public Member Functions

bool operator== (const NAME &obj) const
 A useful way to compare session objects to each other for equality.
 
 NAME (std::uint64_t rawNAMEData=0)
 Constructor for a NAME.
 
bool get_arbitrary_address_capable () const
 Returns if the ECU is capable of address arbitration.
 
void set_arbitrary_address_capable (bool value)
 Sets the data in the NAME that corresponds to the arbitration capability of the ECU.
 
std::uint8_t get_industry_group () const
 Returns the industry group encoded in the NAME.
 
void set_industry_group (std::uint8_t value)
 Sets the industry group encoded in the NAME.
 
std::uint8_t get_device_class_instance () const
 Returns the device class (vehicle system) encoded in the NAME.
 
void set_device_class_instance (std::uint8_t value)
 Sets the device class instance (vehicle system) to be encoded in the NAME.
 
std::uint8_t get_device_class () const
 Returns the device class (vehicle system) encoded in the NAME.
 
void set_device_class (std::uint8_t value)
 Sets the device class (vehicle system) to be encoded in the NAME.
 
std::uint8_t get_function_code () const
 Gets the function code encoded in the NAME.
 
void set_function_code (std::uint8_t value)
 Sets the function code encoded in the NAME.
 
std::uint8_t get_function_instance () const
 Gets the function instance encoded in the NAME.
 
void set_function_instance (std::uint8_t value)
 Sets the function instance encoded in the NAME.
 
std::uint8_t get_ecu_instance () const
 Gets the ecu instance encoded in the NAME.
 
void set_ecu_instance (std::uint8_t value)
 Sets the ecu instance encoded in the NAME.
 
std::uint16_t get_manufacturer_code () const
 Gets the manufacturer code encoded in the NAME.
 
void set_manufacturer_code (std::uint16_t value)
 Sets the manufacturer code encoded in the NAME.
 
std::uint32_t get_identity_number () const
 Gets the identity number encoded in the NAME.
 
void set_identity_number (std::uint32_t value)
 Sets the identity number encoded in the NAME.
 
std::uint64_t get_full_name () const
 Gets the raw 64 bit NAME.
 
void set_full_name (std::uint64_t value)
 Sets the raw, encoded 64 bit NAME.
 

Private Attributes

std::uint64_t rawName
 A raw, 64 bit NAME encoded with all NAMEParameters.
 

Detailed Description

A class that represents an ISO11783 control function NAME from an address claim.

Definition at line 23 of file can_NAME.hpp.

Member Typedef Documentation

◆ NameParameterFilter

using isobus::NAME::NameParameterFilter = std::pair<const NAMEParameters, const std::uint32_t>

A structure that tracks the pair of a NAME parameter and associated value.

Definition at line 431 of file can_NAME.hpp.

Member Enumeration Documentation

◆ DeviceClass

enum class isobus::NAME::DeviceClass
strong

The device class is part of the ISO NAME and is known in J1939 as the "vehicle system". This is a 7-bit field defined and assigned by SAE. Device class provides a common name for a group of functions within a connected network.

Enumerator
Tractor 

Industry Group 1 and 2.

SkidSteerLoader 

Industry Group 3.

Trailer 

Industry group 1 and 2.

ArticulatedDumpTruck 

Industry group 3.

SecondaryTillage 

Industry group 2.

Backhoe 

Industry group 3.

PlanterSeeder 

Industry group 2.

Crawler 

Industry group 3.

Fertilizer 

Industry group 2.

Excavator 

Industry group 3.

Sprayer 

Industry group 2.

Forklift 

Industry group 3.

Harvester 

Industry group 2.

FourWheelDriveLoader 

Industry group 3.

RootHarvester 

Industry group 2.

Grader 

Industry group 3.

Forage 

Industry group 2.

MillingMachine 

Industry group 3.

Irrigation 

Industry group 2.

RecyclerAndSoilStabilizer 

Industry group 3.

SystemTools 

Industry group 4.

TransportTrailer 

Industry group 2.

BindingAgentSpreader 

Industry group 3.

FarmYardOperations 

Industry group 2.

Paver 

Industry group 3.

PoweredAuxiliaryDevices 

Industry group 2.

Feeder 

Industry group 3.

SpecialCrops 

Industry group 2.

ScreeningPlant 

Industry group 3.

Earthwork 

Industry group 2.

Stacker 

Industry group 3.

Skidder 

Industry group 2.

Roller 

Industry group 3.

SensorSystems 

Industry group 2.

Crusher 

Industry group 3.

TimberHarvester 

Industry group 2.

Forwarder 

Industry group 2.

SafetySystems 

Industry group 4.

TimberLoader 

Industry group 2.

TimberProcessor 

Industry group 2.

Mulcher 

Industry group 2.

UtilityVehicle 

Industry group 2.

SlurryManureApplicator 

Industry group 2.

Gateway 

Industry group 4.

FeederMixer 

Industry group 2.

WeederNonChemical 

Industry group 2.

TurfOrLawnCareMower 

Industry group 2.

ProductMaterialHandling 

Industry group 2.

PowerManagementAndLightingSystem 

Industry group 4.

SteeringSystems 

Industry group 4.

PropulsionSystems 

Industry group 4.

NavigationSystems 

Industry group 4.

CommunicationsSystems 

Industry group 4.

InstrumentationOrGeneral 

Industry group 4.

EnvironmentalHVACSystem 

Industry group 4.

DeckCargoOrFishingEquipment 

Industry group 4.

Definition at line 363 of file can_NAME.hpp.

◆ Function

enum class isobus::NAME::Function : std::uint8_t
strong

See ISO11783-1 and www.isobus.net For complete descriptions of the ISO NAME function codes.

Note
Functions are defined in relation to industry group and device class. See www.isobus.net for more info.
Enumerator
Engine 

The typical mechanical power source of the machine.

AuxiliaryPowerUnit 

Power source for operating systems without the use of the prime drive engine.

ElectricPropulsionControl 

Control system which operates the drive mechanism when it is electrically powered.

Transmission 

Mechanical system for altering the speed vs. torque output of the engine.

BatteryPackMonitor 

Monitors the condition of a battery pack.

ShiftControl 

Control Unit that determines and transmits onto the network the gear desired by the operator.

PowerTakeOffRearOrPrimary 

System that controls the mechanical power derived from a prime engine and used to operate auxiliary items.

SteeringAxle 

Adjusts attack angle of steering axle.

DrivingAxle 

Adjusts attack angle of driving axle.

SystemControlBrakes 

Controls service braking system electronically.

SteerAxleControlBrakes 

Control for actuating the service brakes on a steered axle.

DriveAxleControlBrakes 

Control for actuating the service brakes on a drive axle.

EngineRetarder 

Controller for the retarder capabilities of the engine.

DrivelineRetarder 

Controller for the retarder capabilities of the driveline.

CruiseControl 

Control system for maintaining the vehicle's speed at a fixed operator selectable value.

FuelSystem 

Controls fuel flow from the tank to the filter to the water removal/separator to the engine and then back to the tank.

SteeringControl 

Controls steering in steer-by-wire.

SteerAxleSuspensionControl 

Control system for the suspension of a steered axle.

DriveAxleSuspensionControl 

Control system for the suspension of a driven axle.

InstrumentCluster 

Gauge display for a vehicle, usually in the cab.

TripRecorder 

System for accumulating data versus travel of the vehicle.

CabClimateControl 

System for controlling the climate within the cab of the vehicle.

AerodynamicControl 

Modifies drag by altering body panels.

VehicleNavigation 

System associated with the vehicles physical location.

VehicleSecurity 

System for comparing operator-provided data sequences against reference.

NetworkInterconnectUnit 

ECU for connecting different network segments together.

BodyControl 

Can handle suspension control for the body sections independent from the axle sections.

PowerTakeOffFrontOrSecondary 

System that controls the mechanical power derived from a prime engine and used to operate auxiliary items.

OffVehicleGateway 

ECU for connecting between vehicle network(s) and an off-vehicle system or network.

VirtualTerminal 

General-purpose intelligent display with a specific message set defined in ISO 11783-6.

ManagementComputerOne 

Manages vehicle systems, i.e. powertrain.

PropulsionBatteryCharger 

Unit used to charge propulsion batteries in an electric vehicle.

HeadwayControl 

Forward-looking collision avoidance, collision warning, speed controller, or speed control.

SystemMonitor 

Generic system monitor.

HydraulicPumpControl 

Pump controller that provides hydraulic power.

SystemControlSuspension 

Controller responsible for coordinating the over-all suspension of a vehicle.

SystemControlPneumatic 

Controller responsible for coordinating the pneumatics of a vehicle.

CabController 

Controller located in/near vehicle cab used to perform functions that are grouped together for convenience.

TirePressureControl 

Unit that provides control of centralized tire inflation.

IgnitionControl 

Unit for altering the ignition of an engine.

SeatControl 

System for controlling the seats (operator and passenger) within the cab.

OperatorControlsLighting 

Controller for sending the operator lighting controls messages.

WaterPumpControl 

Controller for a water pump mounted on the vehicle/machine.

TransmissionDisplay 

Display designed specifically to display transmission information.

ExhaustEmissionControl 

Emissions controller.

VehicleDynamicStabilityControl 

Stability controller.

OilSystemMonitor 

Monitors oil level, life, temperature.

InformationSystemControl 

Information management for a vehicle's application, such as cargo management.

RampControl 

Loading unloading chairlift, ramps, lifts or tailgates.

ClutchConverterControl 

When transmission is distributed this handles torque converter lock-up or engine-transmission connection.

AuxiliaryHeater 

Primary heat typically being taken from the engine coolant.

ForwardLookingCollisionWarningSystem 

System which detects and warns of impending collision.

ChassisControl 

Controls the chassis (not body or cab) components.

AlternatorElectricalChargingSystem 

Vehicle's primary on-board charging controller.

CommunicationsCellular 

Radio communications unit designed to communicate via the cellular telephone system.

CommunicationsSatellite 

Radio communications unit designed specifically to communicate via some satellite system.

CommunicationsRadio 

Radio unit designed specifically to communicate via a terrestrial p2p system.

OperatorControlsSteeringColumn 

Unit that gathers the operator inputs from switches/levers/etc and transmits associated messages.

FanDriveControl 

Primary control system affecting the operation of the main cooling fan.

Starter 

Mechanical system for initiating rotation in an engine.

CabDisplayCab 

Used for a fairly elaborate in cab display, non VT and non instrument cluster.

FileServerOrPrinter 

Printing or file storage unit on the network.

OnboardDiagnosticUnit 

Tool that can be permanently mounted on the vehicle and which may not support all of the ISO 11783-12 messages.

EngineValveController 

Control system used to manipulate the actuation of engine intake or exhaust.

EnduranceBraking 

Sum of all units in a vehicle which enable the driver to brake with virtually no friction.

GasFlowMeasurement 

Provides measurement of gas flow rates and associated parameters.

IOController 

Reporting and/or control unit for external input and output channels.

ElectricalSystemController 

Can include load centres, fuse boxes and power distribution boards.

AftertreatmentSystemGasMeasurement 

Sensor for measuring gas properties before and after an aftertreatment system.

EngineEmissionAftertreatmentSystem 

Engine Emission Aftertreatment System.

AuxiliaryRegenerationDevice 

Auxiliary Regeneration Device used as part of an after treatment system.

TransferCaseControl 

The device which controls the selection of the number of drive wheels (for example 2 or 4 wheel drive)

CoolantValveController 

Device used to control the flow of coolant (water, oil, air, etc�) for any thermal management system.

RolloverDetectionControl 

Device designed for detection of vehicle rollover.

LubricationSystem 

The Lubrication System pumps quantities of lubricant to each machine/vehicle joint that need to be lubricated.

SupplementalFan 

This is an auxillary fan used for additional cooling. It is in addition to the primary cooling fan.

TemperatureSensor 

Device which measures temperature.

FuelPropertiesSensor 

Device which measures fuel properties.

FireSuppressionSystem 

Fire Suppression System.

PowerSystemsManager 

Controller application that manages the power output of one or more power systems. See also IG 5 Function 129 - Generator Set Controller.

ElectricPowertrain 

Controller application in charge of controlling and coordinating the operation of an electric drive system.

HydraulicPowertrain 

Controller application in charge of controlling and coordinating the operation of a hydraulic drive system.

FileServer 

A file storage unit on the network - A permanent connection may exist and the unit is expected to store data (as in magnetic or eeprom devices). See Function 61 for a combination File Server/Printer unit.

Printer 

A printing unit on the network - A permanent connection may exist and the unit is expected to be able to print (paper type output). See Function 61 for a combination File Server/Printer unit.

StartAidDevice 

Device that controls hardware and/or conveys information related to assisting an engine in starting, such as a glow plug, grid heater, etc.

EngineInjectionControlModule 

A device for direct or port injection of fuel for engine combustion and with which an engine controller may communicate.

EVCommunicationController 

A controller or application that manages the connection to an external power source, i.e. the Electric Vehicle Supply Equipment.

DriverImpairmentDevice 

Device which prevents the starting of a vehicle motor due to driver impairment. Example is an alcohol interlock device.

ElectricPowerConverter 

An inverter or converter used to transform AC or DC power to or from an AC or DC source.

SupplyEquipmentCommunicationController 

Typically part of an Electrical Vehicle Supply Equipment (EVSE) in an electric vehicle charging station.

VehicleAdapterCommunicationController 

A controller inside of the adapter placed between an Electric Vehicle Supply Equipment (EVSE) vehicle connector and the vehicle inlet.

RateControl 

Control of the rate of product placed on or in the soil.

SectionOnOffControl 

On/Off control of individual sections.

PositionControl 

Multiple axis position control of a device's application boom.

MachineControl 

Control of outputs including adjustment of any ancillary functions like position and/or rotation speed.

ProductFlow 

Measuring function to monitor the current product flow.

ProductLevel 

Measuring function to monitor the current product level in the bin/tank.

DepthOrHeightControl 

Control of the depth of the tool in the soil, or control of the height of the boom above the surface of the soil or above the height of the standing crop.

FrameControl 

Control of the folding and unfolding of the frame of the device. Control used to change between transport and field operation position. Not to be used for field operations.

OffBoardDiagnosticServiceTool 

Off-board diagnostic-service tool.

OnBoardDiagnosticDataLogger 

On-board data logger.

PCKeyboard 

A user interface similar to a PC keyboard.

SafetyRestraintSystem 

The safety restraint system can be for controlling activation of airbags, belt tensioners, roll over protection systems, etc.

Turbocharger 

Turbocharger used on the engine.

GroundBasedSpeedSensor 

Measures actual ground speed of a vehicle with a device such as radar or other such devices.

Keypad 

An operator input device used to control machine functions or provide data.

HumiditySensor 

Device which measures air humidity.

ThermalManagementSystemController 

This device controls all devices that may be used in a thermal management system including Jacket Water Cooling, Charged Air Cooling, Transmission Cooling, Electronics Cooling, Aux Oil Cooling, etc.

BrakeStrokeAlert 

The device that evaluates air brake stroke for normal stroke, over stroke, dragging brake, or a non-functioning brake actuator and is permanently mounted on the vehicle.

OnBoardAxleGroupScale 

The device that determines axle group weights and is permanently mounted on the vehicle.

OnBoardAxleGroupDisplay 

The device that displays axle group weights and may be permanently mounted on the vehicle.

BatteryCharger 

A device used to charge batteries in a vehicle from an off-board source of electrical energy.

TurbochargerCompressorBypass 

Device used to control the flow across the Compressor Bypass.

TurbochargerWastegate 

Device used to control the position of the Wastegate to adjust the exhaust flow.

Throttle 

Device used to control the air/fuel mixture into the cylinders for combustion.

InertialSensor 

Detects a change in geographic position, a change in velocity, and/or a change in orientation. This may include but is not limited to an accelerometer, gyroscopes, etc.

FuelActuator 

Device used to control the flow of fuel (or fuel rack) on a engine.

EngineExhaustGasRecirculation 

Device that controls the engine exhaust gas recirculation system.

EngineExhaustBackpressure 

Device that controls the engine exhaust backpressure.

OnBoardBinWeightingScale 

Device that determines bin weights and is permanently mounted on the vehicle.

OnBoardBinWeighingScaleDisplay 

Device that displays bin weights and may be permanently mounted on the vehicle.

EngineCylinderPressureMonitoringSystem 

System designed to monitor engine cylinder pressures and provide combustion information.

ObjectDetection 

System for detection of undesirable objects in the product flow.

ObjectDetectionDisplay 

Display designed specifically for displaying and managing object detection information.

ObjectDetectionSensor 

Detects the presence of objects within a region.

Tachograph 

< Device for the detection of personnel in proximity to a vehicle.

Records engine speed over a period of time

DoorController 

Door controller.

ArticulationTurntableControl 

Control of the articulation turntable for joined body buses.

BodyToVehicleInterfaceControl 

Manages interaction of vehicle functions and body functions. May be combination of body signals and gateway functionalities.

SlopeSensor 

Sensor for measuring a slope along an axis.

RetarderDisplay 

Display module that shows information pertaining to the retarder (driveline or exhaust or engine)

DifferentialLockController 

Differential Lock Controller.

LowVoltageDisconnect 

Monitors the voltage of the starting battery bank and disconnects predetermined auxiliary loads to assure enough power is left in the batteries for starting the vehicle.

RoadwayInformation 

Devices that use this function will provide information relevant to the roadway in which the vehicle is traveling. This includes attributes such as intersections, grade, speed limit, number of lanes, etc.

AutomatedDriving 

Automated Driving System. See SAE J3016.

ForwardRoadImageProcessing 

Determine vehicle position from lane markings. Performance, Advisory & Warning only.

FifthWheelSmartSystem 

Any systems relative to the operation & status/safety monitoring of the fifth wheel coupler system.

CatalystFluidSensor 

The Catalyst Fluid Sensor can measure the catalyst fluid temperature, the catalyst fluid level and the catalyst fluid quality.

AdaptiveFrontLightingSystem 

System used to adjust the vehicle front lighting for the current operating conditions (city, highway, country,etc.)

IdleControlSystem 

The device automatically starts and stops the engine when the vehicle is stationary for the purpose of reducing excess idle time.

UserInterfaceSystem 

The User Interface System is a two way interface system. Uses of this may include, but are not limited to, setting climate conditions, setting system parameters, and/or logging operating conditions.

NonVirtualTerminalDisplay 

An operator display connected to the 11783 network that cannot perform as a Virtual Terminal and is not allowed to send a VT status message.

OperatorControlsMachineSpecific 

Operator interface controls, either auxiliary control inputs or a proprietary means, provided by a control function.

TaskController 

A control function on the 11783 network that is responsible for the sending, receiving and logging of process data as defined in ISO11783-10.

ForeignObjectDetection 

Detection of undesirable objects in the product flow.

TractorECU 

(TECU) An interface unit between the tractor and the implement bus representing the tractor and its messages on the 11783 network

SequenceControlMaster 

The master controller in the Sequence Control System as defined in ISO11783-14.

ProductDosing 

Control function that adds an active ingredient to a liquid carrier for application to fields (direct injection systems)

ProductTreatment 

Control function that mixes a treatment to a dry product applied to or harvested from fields.

DataLogger 

Data logger as defined in ISO11783-10 for non-task related data logging.

DecisionSupport 

A control function which is used by the operator or by another control function to configure an operation to perform optimally under the current circumstances.

LightingController 

Control function that controls electrical power to the lights and reports the status of the lights. This control function can be used on trailers or implements.

TIMServer 

Control function that represents a Tractor Implement Management (TIM) Server.

AuxiliaryValveControl 

Control of addressed tractor mounted auxiliary valves.

RearHitchControl 

Control of the rear hitch of an agricultural tractor.

FrontHitchControl 

Control of the front hitch of an agricultural tractor.

CenterHitchControl 

Control of center hitch of an agricultural tractor.

DownPressure 

Control of the ground contact pressure on the product delivery unit for optimal operation e.g. pressure on openers for penetrating the ground.

ProductPressure 

Monitoring of the pressure of the product in the delivery booms.

TailingMonitor 

Measuring system to monitor the quantity of unthreshed material returned to threshing machine.

HeaderControl 

Control of the headers reel height and rotation and material delivery rate.

ProductLossMonitor 

Measuring system to monitor the amount of grain being delivered back onto the soil.

HarvesterProductMoisture 

Measuring system to monitor the moisture content of the grain.

TwineWrapperControl 

Control of the wrapping of twine around a bale before discharge from the baler.

ProductPackagingControl 

Control of packaging process for the forage material.

ForageProductMoisture 

Measuring system to monitor the moisture of the forage content.

UnloadControl 

Control of trailer unloading process.

GuidanceFeeler 

Mechanical function for determining row position in the field.

CameraSystem 

Provides images or processed data for control operations.

CropScouting 

Measures vegetation parameters in a standing crop.

MaterialPropertiesSensing 

Sensing system to detect material properties like density, particle size, color or constituents.

ProductMass 

< A sensor unit providing inertial measurements

Measuring function to monitor the mass of the product

VibrationKnock 

Measuring function to determine the vibration or knock behaviour of a system.

WeatherInstruments 

The "Weather Instruments" function code shall be used by ISO11783 compliant Weather Instruments.

SoilScouting 

Soil Sensor to measure different soil physical parameters. One example of a soil sensor is a system that measures the apparent conductivity.

ConstructionSupplementalEngineControlSensing 

Supplemental Engine Control Sensing.

LaserReceiver 

Laser Receiver.

LandLevelingSystemOperatorInterface 

A component that allows the user to control the Land Leveling System and display information about the operation of the system.

LandLevelingElectricMast 

Land Leveling Electric Mast.

SingleLandLevelingSystemSupervisor 

Single Land Leveling System Supervisor.

LandLevelingSystemDisplay 

Land Leveling System Display.

LaserTracer 

Laser Tracer.

LoaderControl 

Loader control unit.

ConstructionEquipmentSlopeSensor 

Measures the slope along a axis.

LiftArmControl 

Controller whose primary purpose is to control the lift arms and tilt functions on a construction loader, skid steer loader, or similar machine.

SupplementalSensorProcessingUnits 

An ECU functioning as an I/O module connected to the bus with the designed purpose of data collection (input or output)

HydraulicSystemPlanner 

Coordinates the functions of a number of valve controllers.

HydraulicValveController 

The valve controller will typically control the flow of oil to a specific cylinder.

JoystickControl 

Joystick Control.

RotationSensor 

A device that measures the rotational angle around an axis.

SonicSensor 

A device that measures distance via ultrasonic pulse/echo range techniques.

SurveyTotalStationTarget 

A survey total station target shall be located on a construction machine and shall be connected to the CAN network. It is targeted by the total station device.

HeadingSensor 

A device that measures vehicle azimuth.

AlarmDevice 

Device that provides an audible and/or visual alarm.

SkidSteerMainController 

Main controller for a skid steer machine.

BladeController 

Controller for blade height.

HFWDController 

Hydraulic front wheel drive controller.

Alarm1SystemControlForMarineEngines 

The ECU that controls the Alarm functions on an engine of a Marine System.

ProtectionSystemForMarineEngines 

The first ECU that controls the Protection functions on the first engine of a Marine System.

DisplayForProtectionSystemForMarineEngines 

The ECU that provides the display of information and/or indicators associated specifically with the protection system on an engine of a Marine System.

Switch 

A CAN switch.

Load 

Load.

FollowUpController 

Follow-up controller.

ModeController 

Mode Controller.

AutomaticSteeringController 

Automatic Steering Controller.

HeadingSensors 

Heading Sensors.

EngineRoomMonitoring 

Marine engine room monitoring system.

EngineInterface 

Marine Engine interface.

EngineController 

Marine Engine Controller.

EngineGateway 

Marine engine gateway.

ControlHead 

Marine electronic control head.

Actuator 

Marine actuator.

GaugeInterface 

Marine Gauge Interface.

GaugeLarge 

Large marine gauge.

GaugeSmall 

Small marine gauge.

PropulsionSensorsAndGateway 

Propulsion sensors and gateway.

SounderDepth 

Sounder.

GlobalNavigationSatelliteSystem 

Marine GNSS.

LoranC 

Marine Loran C.

SpeedSensors 

Marine speed sensors.

TurnRateIndicator 

Marine turn rate indicator.

IntegratedNavigation 

Marine integrated navigation.

RadarOrRadarPlotting 

Radar and/or Radar Plotting.

ElectronicChartDisplayAndInformationSystem 

ECDIS.

ElectronicChartSystem 

ECS.

DirectionFinder 

Direction Finder.

EmergencyPositionIndicatingBeacon 

EPIRB.

AutomaticIdentificationSystem 

Marine automatic identification system.

DigitalSelectiveCalling 

DSC.

DataReceiver 

Marine data receiver.

Satellite 

A satellite ?

RadioTelephoneMF_HF 

Radio - Telephone(MF / HF)

RadioTelephoneVHF 

Radio - Telephone(VHF)

TimeDateSystems 

Marine time date system.

VoyageDataRecorder 

Marine Voyage Data Recorder.

IntegratedInstrumentation 

Marine Integrated Instrumentation.

GeneralPurposeDisplays 

Marine General Purpose Displays.

GeneralSensorBox 

Marine General Sensor Box.

MarineWeatherInstruments 

Marine Weather Instruments.

TransducerGeneral 

Marine Transducer/general.

NMEA0183Converter 

NMEA 0183 Converter.

GeneratorSupplementalEngineControlSensing 

Supplemental Engine Control Sensing.

GeneratorSetController 

Generator set controller used to collect data and control.

GeneratorVoltageRegulator 

Generator Voltage Regulator.

ChokeActuator 

Device used to Control the flow of air on a Gas Engine.

WellStimulationPump 

Device which communicates operating parameters of a well stimulation pump used in oil and gas drilling applications.

MaxFunctionCode 

Max allocated function code.

Definition at line 57 of file can_NAME.hpp.

◆ IndustryGroup

enum class isobus::NAME::IndustryGroup : std::uint8_t
strong

The industry group is part of the ISO NAME. It allocates devices and their functions by a specific industry. Function codes' meanings are defined in relation to industry group and device class.

Enumerator
Global 

Global applies to all industries.

Reserved1 

Reserved for future assignment by SAE. Should not be used.

Reserved2 

Reserved for future assignment by SAE. Should not be used.

Definition at line 43 of file can_NAME.hpp.

◆ NAMEParameters

enum class isobus::NAME::NAMEParameters
strong

The encoded components that comprise a NAME.

Enumerator
IdentityNumber 

Usually the serial number of the ECU, unique for all similar control functions.

ManufacturerCode 

The J1939/ISO11783 manufacturer code of the ECU with this NAME.

EcuInstance 

The ECU instance of the ECU with this NAME. Usually increments in NAME order with similar CFs.

FunctionInstance 

The function instance of the ECU. Similar to Virtual Terminal number.

FunctionCode 

The function of the ECU, as defined by ISO11783.

DeviceClass 

Also known as the vehicle system from J1939, describes general ECU type.

DeviceClassInstance 

The instance number of this device class.

IndustryGroup 

The industry group associated with this ECU, such as "agricultural".

ArbitraryAddressCapable 

Defines if this ECU supports address arbitration.

Definition at line 27 of file can_NAME.hpp.

Constructor & Destructor Documentation

◆ NAME()

isobus::NAME::NAME ( std::uint64_t rawNAMEData = 0)
explicit

Constructor for a NAME.

Parameters
[in]rawNAMEDataThe raw 64 bit NAME of an ECU

Definition at line 14 of file can_NAME.cpp.

Member Function Documentation

◆ get_arbitrary_address_capable()

bool isobus::NAME::get_arbitrary_address_capable ( ) const

Returns if the ECU is capable of address arbitration.

Returns
true if the ECU can arbitrate addresses

Definition at line 24 of file can_NAME.cpp.

Here is the caller graph for this function:

◆ get_device_class()

std::uint8_t isobus::NAME::get_device_class ( ) const

Returns the device class (vehicle system) encoded in the NAME.

Returns
The device class (vehicle system) encoded in the NAME

Definition at line 65 of file can_NAME.cpp.

Here is the caller graph for this function:

◆ get_device_class_instance()

std::uint8_t isobus::NAME::get_device_class_instance ( ) const

Returns the device class (vehicle system) encoded in the NAME.

Returns
The device class (vehicle system) encoded in the NAME

Definition at line 50 of file can_NAME.cpp.

Here is the caller graph for this function:

◆ get_ecu_instance()

std::uint8_t isobus::NAME::get_ecu_instance ( ) const

Gets the ecu instance encoded in the NAME.

Returns
The ecu instance encoded in the NAME

Definition at line 106 of file can_NAME.cpp.

Here is the caller graph for this function:

◆ get_full_name()

std::uint64_t isobus::NAME::get_full_name ( ) const

Gets the raw 64 bit NAME.

Returns
The raw 64 bit NAME

Definition at line 151 of file can_NAME.cpp.

Here is the caller graph for this function:

◆ get_function_code()

std::uint8_t isobus::NAME::get_function_code ( ) const

Gets the function code encoded in the NAME.

Returns
The function code encoded in the NAME

Definition at line 80 of file can_NAME.cpp.

Here is the caller graph for this function:

◆ get_function_instance()

std::uint8_t isobus::NAME::get_function_instance ( ) const

Gets the function instance encoded in the NAME.

Returns
The function instance encoded in the NAME

Definition at line 91 of file can_NAME.cpp.

Here is the caller graph for this function:

◆ get_identity_number()

std::uint32_t isobus::NAME::get_identity_number ( ) const

Gets the identity number encoded in the NAME.

Returns
The identity number encoded in the NAME

Definition at line 136 of file can_NAME.cpp.

Here is the caller graph for this function:

◆ get_industry_group()

std::uint8_t isobus::NAME::get_industry_group ( ) const

Returns the industry group encoded in the NAME.

Returns
The industry group encoded in the NAME

Definition at line 35 of file can_NAME.cpp.

Here is the caller graph for this function:

◆ get_manufacturer_code()

std::uint16_t isobus::NAME::get_manufacturer_code ( ) const

Gets the manufacturer code encoded in the NAME.

Returns
The manufacturer code encoded in the NAME

Definition at line 121 of file can_NAME.cpp.

Here is the caller graph for this function:

◆ operator==()

bool isobus::NAME::operator== ( const NAME & obj) const

A useful way to compare session objects to each other for equality.

Parameters
[in]objThe rhs of the operator
Returns
true if the objects are "equal"

Definition at line 19 of file can_NAME.cpp.

◆ set_arbitrary_address_capable()

void isobus::NAME::set_arbitrary_address_capable ( bool value)

Sets the data in the NAME that corresponds to the arbitration capability of the ECU.

Parameters
[in]valueTrue if the ECU supports arbitration, false if not

Definition at line 29 of file can_NAME.cpp.

◆ set_device_class()

void isobus::NAME::set_device_class ( std::uint8_t value)

Sets the device class (vehicle system) to be encoded in the NAME.

Parameters
[in]valueThe device class (vehicle system) to be encoded in the NAME

Definition at line 70 of file can_NAME.cpp.

◆ set_device_class_instance()

void isobus::NAME::set_device_class_instance ( std::uint8_t value)

Sets the device class instance (vehicle system) to be encoded in the NAME.

Parameters
[in]valueThe device class instance (vehicle system) to be encoded in the NAME

Definition at line 55 of file can_NAME.cpp.

◆ set_ecu_instance()

void isobus::NAME::set_ecu_instance ( std::uint8_t value)

Sets the ecu instance encoded in the NAME.

Parameters
[in]valueThe ecu instance to be encoded in the NAME

Definition at line 111 of file can_NAME.cpp.

◆ set_full_name()

void isobus::NAME::set_full_name ( std::uint64_t value)

Sets the raw, encoded 64 bit NAME.

Parameters
[in]valueThe raw, encoded 64 bit NAME

Definition at line 156 of file can_NAME.cpp.

Here is the caller graph for this function:

◆ set_function_code()

void isobus::NAME::set_function_code ( std::uint8_t value)

Sets the function code encoded in the NAME.

Parameters
[in]valueThe function code to be encoded in the NAME

Definition at line 85 of file can_NAME.cpp.

◆ set_function_instance()

void isobus::NAME::set_function_instance ( std::uint8_t value)

Sets the function instance encoded in the NAME.

Parameters
[in]valueThe function instance to be encoded in the NAME

Definition at line 96 of file can_NAME.cpp.

◆ set_identity_number()

void isobus::NAME::set_identity_number ( std::uint32_t value)

Sets the identity number encoded in the NAME.

Parameters
[in]valueThe identity number to be encoded in the NAME

Definition at line 141 of file can_NAME.cpp.

◆ set_industry_group()

void isobus::NAME::set_industry_group ( std::uint8_t value)

Sets the industry group encoded in the NAME.

Parameters
[in]valueThe industry group to encode in the NAME

Definition at line 40 of file can_NAME.cpp.

◆ set_manufacturer_code()

void isobus::NAME::set_manufacturer_code ( std::uint16_t value)

Sets the manufacturer code encoded in the NAME.

Parameters
[in]valueThe manufacturer code to be encoded in the NAME

Definition at line 126 of file can_NAME.cpp.

Member Data Documentation

◆ rawName

std::uint64_t isobus::NAME::rawName
private

A raw, 64 bit NAME encoded with all NAMEParameters.

Definition at line 518 of file can_NAME.hpp.


The documentation for this class was generated from the following files: