AgIsoStack++
A control-function-focused implementation of the major ISOBUS and J1939 protocols
Loading...
Searching...
No Matches
can_NAME.hpp
Go to the documentation of this file.
1//================================================================================================
8//================================================================================================
9
10#ifndef CAN_NAME_HPP
11#define CAN_NAME_HPP
12
13#include <cstdint>
14#include <tuple>
15
16namespace isobus
17{
18 //================================================================================================
22 //================================================================================================
23 class NAME
24 {
25 public:
39
43 enum class IndustryGroup : std::uint8_t
44 {
45 Global = 0,
46 OnHighwayEquipment = 1,
47 AgriculturalAndForestryEquipment = 2,
48 ConstructionEquipment = 3,
49 Marine = 4,
50 IndustrialOrProcessControl = 5,
51 Reserved1 = 6,
52 Reserved2 = 7
53 };
54
57 enum class Function : std::uint8_t
58 {
59 // Common Functions
60 Engine = 0,
63 Transmission = 3,
65 ShiftControl = 5,
67 SteeringAxle = 7,
68 DrivingAxle = 8,
72 EngineRetarder = 12,
74 CruiseControl = 14,
75 FuelSystem = 15,
76 SteeringControl = 16,
80 TripRecorder = 20,
84 VehicleSecurity = 24,
86 BodyControl = 26,
89 VirtualTerminal = 29,
92 HeadwayControl = 32,
93 SystemMonitor = 33,
97 CabController = 37,
99 IgnitionControl = 39,
100 SeatControl = 40,
102 WaterPumpControl = 42,
106 OilSystemMonitor = 46,
108 RampControl = 48,
110 AuxiliaryHeater = 50,
112 ChassisControl = 52,
118 FanDriveControl = 58,
119 Starter = 59,
120 CabDisplayCab = 60,
124 EnduranceBraking = 64,
125 GasFlowMeasurement = 65,
126 IOController = 66,
134 LubricationSystem = 74,
135 SupplementalFan = 75,
136 TemperatureSensor = 76,
140 ElectricPowertrain = 80,
142 FileServer = 82,
143 Printer = 83,
144 StartAidDevice = 84,
151 RateControl = 128,
152 SectionOnOffControl = 129,
153 PositionControl = 131,
154 MachineControl = 132,
155 ProductFlow = 133,
156 ProductLevel = 134,
158 FrameControl = 136,
159
160 // Non-specific system (Device class 0) industry group and vehicle system
163 PCKeyboard = 131,
165 Turbocharger = 133,
167 Keypad = 135,
168 HumiditySensor = 136,
170 BrakeStrokeAlert = 138,
173 BatteryCharger = 141,
176 Throttle = 144,
177 InertialSensor = 145,
178 FuelActuator = 146,
184 ObjectDetection = 152,
187 PersonnelDetectionDevice = 155,
188
189 // ******** On-Highway (Industry Group 1) ********
190 // Non-specific system (Device class 0) industry group 1
191 Tachograph = 128,
192 DoorController = 129,
195 SlopeSensor = 132,
196 RetarderDisplay = 134,
199 RoadwayInformation = 137,
200 AutomatedDriving = 138,
201
202 // Non-specific system (Device class 0) Tractor industry group 1
205 CatalystFluidSensor = 130,
207 IdleControlSystem = 132,
208 UserInterfaceSystem = 133,
209
210 // ******** Agriculture (Industry Group 2) ********
211 // Non-specific system (Device class 0) industry group 2
214 TaskController = 130,
216 TractorECU = 134,
218 ProductDosing = 136,
219 ProductTreatment = 137,
220 DataLogger = 139,
221 DecisionSupport = 140,
222 LightingController = 141,
223 TIMServer = 142,
224
225 // Tractor (Device class 1) Industry Group 2
227 RearHitchControl = 130,
228 FrontHitchControl = 131,
229 CenterHitchControl = 134,
230
231 // Planters/Seeders (Device Class 4) Industry Group 2
232 DownPressure = 137,
233
234 // Fertilizers (Device Class 5) Industry Group 2
235 ProductPressure = 130,
236
237 // Harvesters (Device Class 7) Industry Group 2
238 TailingMonitor = 128,
239 HeaderControl = 129,
240 ProductLossMonitor = 130,
242
243 // Forage (Device Class 9) Industry Group 2
244 TwineWrapperControl = 128,
247
248 // Transport/Trailer (Device Class 11) Industry Group 2
249 UnloadControl = 136,
250
251 // Sensor Systems (Device Class 17) Industry Group 2
252 GuidanceFeeler = 128,
253 CameraSystem = 129,
254 CropScouting = 130,
256 InertialMeasurementUnit = 132,
257 ProductMass = 135,
258 VibrationKnock = 136,
259 WeatherInstruments = 137,
260 SoilScouting = 138,
261
262 // ******** Construction (Industry Group 3) ********
263 // Non-specific system (Device class 0) Industry Group 3
265 LaserReceiver = 129,
270 LaserTracer = 134,
271 LoaderControl = 135,
273 LiftArmControl = 137,
277 JoystickControl = 141,
278 RotationSensor = 142,
279 SonicSensor = 143,
281 HeadingSensor = 145,
282 AlarmDevice = 146,
283
284 // Skid Steer Loader (Device Class 1) Industry Group 3
286
287 // Crawler (Device Class 4) Industry Group 3
288 BladeController = 128,
289
290 // Grader (Device Class 8) Industry Group 3
291 HFWDController = 128,
292
293 // ******** Marine (Industry Group 4) ********
297
298 // Power Management And Lighting System (Device Class 30)
299 Switch = 130,
300 Load = 140,
301
302 // Steering systems (Device class 40)
303 FollowUpController = 130,
304 ModeController = 140,
306 HeadingSensors = 160,
307
308 // Propulsion Systems
310 EngineInterface = 140,
311 EngineController = 150,
312 EngineGateway = 160,
313 ControlHead = 170,
314 Actuator = 180,
315 GaugeInterface = 190,
316 GaugeLarge = 200,
317 GaugeSmall = 210,
319
320 // Navigation Systems
321 SounderDepth = 130,
323 LoranC = 150,
324 SpeedSensors = 155,
325 TurnRateIndicator = 160,
330 DirectionFinder = 220,
331
332 // Communications Systems
336 DataReceiver = 160,
337 Satellite = 170,
338 RadioTelephoneMF_HF = 180,
339 RadioTelephoneVHF = 190,
340 TimeDateSystems = 130,
341 VoyageDataRecorder = 140,
344 GeneralSensorBox = 170,
346 TransducerGeneral = 190,
347 NMEA0183Converter = 200,
348
349 // ******** Industrial / Process Control (Industry Group 5) ********
353 ChokeActuator = 131,
354 WellStimulationPump = 132,
355
356 MaxFunctionCode = 255
357 };
358
363 enum class DeviceClass
364 {
365 NonSpecific = 0,
366 Tractor = 1,
367 SkidSteerLoader = 1,
368 Trailer = 2,
370 SecondaryTillage = 3,
371 Backhoe = 3,
372 PlanterSeeder = 4,
373 Crawler = 4,
374 Fertilizer = 5,
375 Excavator = 5,
376 Sprayer = 6,
377 Forklift = 6,
378 Harvester = 7,
380 RootHarvester = 8,
381 Grader = 8,
382 Forage = 9,
383 MillingMachine = 9,
384 Irrigation = 10,
386 SystemTools = 10,
387 TransportTrailer = 11,
389 FarmYardOperations = 12,
390 Paver = 12,
392 Feeder = 13,
393 SpecialCrops = 14,
394 ScreeningPlant = 14,
395 Earthwork = 15,
396 Stacker = 15,
397 Skidder = 16,
398 Roller = 16,
399 SensorSystems = 17,
400 Crusher = 17,
401 TimberHarvester = 19,
402 Forwarder = 20,
403 SafetySystems = 20,
404 TimberLoader = 21,
405 TimberProcessor = 22,
406 Mulcher = 23,
407 UtilityVehicle = 24,
409 Gateway = 25,
410 FeederMixer = 26,
411 WeederNonChemical = 27,
415 SteeringSystems = 40,
416 PropulsionSystems = 50,
417 NavigationSystems = 60,
422 NotAvailable = 127 //< Applicable to all IGs
423 };
424
428 bool operator==(const NAME &obj) const;
429
431 using NameParameterFilter = std::pair<const NAMEParameters, const std::uint32_t>;
432
435 explicit NAME(std::uint64_t rawNAMEData = 0);
436
440
443 void set_arbitrary_address_capable(bool value);
444
447 std::uint8_t get_industry_group() const;
448
451 void set_industry_group(std::uint8_t value);
452
455 std::uint8_t get_device_class_instance() const;
456
459 void set_device_class_instance(std::uint8_t value);
460
463 std::uint8_t get_device_class() const;
464
467 void set_device_class(std::uint8_t value);
468
471 std::uint8_t get_function_code() const;
472
475 void set_function_code(std::uint8_t value);
476
479 std::uint8_t get_function_instance() const;
480
483 void set_function_instance(std::uint8_t value);
484
487 std::uint8_t get_ecu_instance() const;
488
491 void set_ecu_instance(std::uint8_t value);
492
495 std::uint16_t get_manufacturer_code() const;
496
499 void set_manufacturer_code(std::uint16_t value);
500
503 std::uint32_t get_identity_number() const;
504
507 void set_identity_number(std::uint32_t value);
508
511 std::uint64_t get_full_name() const;
512
515 void set_full_name(std::uint64_t value);
516
517 private:
518 std::uint64_t rawName;
519 };
520} // namespace isobus
521
522#endif // CAN_NAME_HPP
A class that represents an ISO11783 control function NAME from an address claim.
Definition can_NAME.hpp:24
std::uint8_t get_ecu_instance() const
Gets the ecu instance encoded in the NAME.
Definition can_NAME.cpp:106
std::pair< const NAMEParameters, const std::uint32_t > NameParameterFilter
A structure that tracks the pair of a NAME parameter and associated value.
Definition can_NAME.hpp:431
bool get_arbitrary_address_capable() const
Returns if the ECU is capable of address arbitration.
Definition can_NAME.cpp:24
NAME(std::uint64_t rawNAMEData=0)
Constructor for a NAME.
Definition can_NAME.cpp:14
std::uint8_t get_function_instance() const
Gets the function instance encoded in the NAME.
Definition can_NAME.cpp:91
void set_device_class_instance(std::uint8_t value)
Sets the device class instance (vehicle system) to be encoded in the NAME.
Definition can_NAME.cpp:55
void set_manufacturer_code(std::uint16_t value)
Sets the manufacturer code encoded in the NAME.
Definition can_NAME.cpp:126
void set_ecu_instance(std::uint8_t value)
Sets the ecu instance encoded in the NAME.
Definition can_NAME.cpp:111
DeviceClass
The device class is part of the ISO NAME and is known in J1939 as the "vehicle system"....
Definition can_NAME.hpp:364
@ SpecialCrops
Industry group 2.
@ SecondaryTillage
Industry group 2.
@ PowerManagementAndLightingSystem
Industry group 4.
@ BindingAgentSpreader
Industry group 3.
@ SystemTools
Industry group 4.
@ NavigationSystems
Industry group 4.
@ Crusher
Industry group 3.
@ Forage
Industry group 2.
@ TransportTrailer
Industry group 2.
@ PropulsionSystems
Industry group 4.
@ Forwarder
Industry group 2.
@ EnvironmentalHVACSystem
Industry group 4.
@ Grader
Industry group 3.
@ Excavator
Industry group 3.
@ DeckCargoOrFishingEquipment
Industry group 4.
@ TimberLoader
Industry group 2.
@ Paver
Industry group 3.
@ Stacker
Industry group 3.
@ Feeder
Industry group 3.
@ Forklift
Industry group 3.
@ ArticulatedDumpTruck
Industry group 3.
@ TimberHarvester
Industry group 2.
@ InstrumentationOrGeneral
Industry group 4.
@ Skidder
Industry group 2.
@ UtilityVehicle
Industry group 2.
@ FeederMixer
Industry group 2.
@ PoweredAuxiliaryDevices
Industry group 2.
@ Harvester
Industry group 2.
@ Mulcher
Industry group 2.
@ Trailer
Industry group 1 and 2.
@ Tractor
Industry Group 1 and 2.
@ Crawler
Industry group 3.
@ TurfOrLawnCareMower
Industry group 2.
@ Sprayer
Industry group 2.
@ Irrigation
Industry group 2.
@ RootHarvester
Industry group 2.
@ Gateway
Industry group 4.
@ RecyclerAndSoilStabilizer
Industry group 3.
@ SlurryManureApplicator
Industry group 2.
@ ScreeningPlant
Industry group 3.
@ Earthwork
Industry group 2.
@ Roller
Industry group 3.
@ MillingMachine
Industry group 3.
@ PlanterSeeder
Industry group 2.
@ FourWheelDriveLoader
Industry group 3.
@ Fertilizer
Industry group 2.
@ CommunicationsSystems
Industry group 4.
@ SkidSteerLoader
Industry Group 3.
@ ProductMaterialHandling
Industry group 2.
@ SteeringSystems
Industry group 4.
@ SafetySystems
Industry group 4.
@ FarmYardOperations
Industry group 2.
@ SensorSystems
Industry group 2.
@ WeederNonChemical
Industry group 2.
@ Backhoe
Industry group 3.
@ TimberProcessor
Industry group 2.
void set_function_instance(std::uint8_t value)
Sets the function instance encoded in the NAME.
Definition can_NAME.cpp:96
NAMEParameters
The encoded components that comprise a NAME.
Definition can_NAME.hpp:28
@ DeviceClassInstance
The instance number of this device class.
@ ArbitraryAddressCapable
Defines if this ECU supports address arbitration.
@ FunctionCode
The function of the ECU, as defined by ISO11783.
@ 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.
@ ManufacturerCode
The J1939/ISO11783 manufacturer code of the ECU with this NAME.
@ IdentityNumber
Usually the serial number of the ECU, unique for all similar control functions.
std::uint16_t get_manufacturer_code() const
Gets the manufacturer code encoded in the NAME.
Definition can_NAME.cpp:121
void set_function_code(std::uint8_t value)
Sets the function code encoded in the NAME.
Definition can_NAME.cpp:85
std::uint64_t rawName
A raw, 64 bit NAME encoded with all NAMEParameters.
Definition can_NAME.hpp:518
void set_industry_group(std::uint8_t value)
Sets the industry group encoded in the NAME.
Definition can_NAME.cpp:40
std::uint8_t get_function_code() const
Gets the function code encoded in the NAME.
Definition can_NAME.cpp:80
std::uint8_t get_device_class_instance() const
Returns the device class (vehicle system) encoded in the NAME.
Definition can_NAME.cpp:50
std::uint64_t get_full_name() const
Gets the raw 64 bit NAME.
Definition can_NAME.cpp:151
Function
See ISO11783-1 and www.isobus.net For complete descriptions of the ISO NAME function codes.
Definition can_NAME.hpp:58
@ EngineInjectionControlModule
A device for direct or port injection of fuel for engine combustion and with which an engine controll...
@ TurnRateIndicator
Marine turn rate indicator.
@ Turbocharger
Turbocharger used on the engine.
@ MaxFunctionCode
Max allocated function code.
@ ChokeActuator
Device used to Control the flow of air on a Gas Engine.
@ SonicSensor
A device that measures distance via ultrasonic pulse/echo range techniques.
@ FifthWheelSmartSystem
Any systems relative to the operation & status/safety monitoring of the fifth wheel coupler system.
@ GasFlowMeasurement
Provides measurement of gas flow rates and associated parameters.
@ GaugeSmall
Small marine gauge.
@ NMEA0183Converter
NMEA 0183 Converter.
@ ElectricalSystemController
Can include load centres, fuse boxes and power distribution boards.
@ WellStimulationPump
Device which communicates operating parameters of a well stimulation pump used in oil and gas drillin...
@ CabController
Controller located in/near vehicle cab used to perform functions that are grouped together for conven...
@ TIMServer
Control function that represents a Tractor Implement Management (TIM) Server.
@ DriveAxleControlBrakes
Control for actuating the service brakes on a drive axle.
@ SupplementalSensorProcessingUnits
An ECU functioning as an I/O module connected to the bus with the designed purpose of data collection...
@ GuidanceFeeler
Mechanical function for determining row position in the field.
@ ElectronicChartDisplayAndInformationSystem
ECDIS.
@ OffVehicleGateway
ECU for connecting between vehicle network(s) and an off-vehicle system or network.
@ EmergencyPositionIndicatingBeacon
EPIRB.
@ EngineInterface
Marine Engine interface.
@ FuelActuator
Device used to control the flow of fuel (or fuel rack) on a engine.
@ TripRecorder
System for accumulating data versus travel of the vehicle.
@ OilSystemMonitor
Monitors oil level, life, temperature.
@ Alarm1SystemControlForMarineEngines
The ECU that controls the Alarm functions on an engine of a Marine System.
@ DisplayForProtectionSystemForMarineEngines
The ECU that provides the display of information and/or indicators associated specifically with the p...
@ ForwardRoadImageProcessing
Determine vehicle position from lane markings. Performance, Advisory & Warning only.
@ FollowUpController
Follow-up controller.
@ EngineRetarder
Controller for the retarder capabilities of the engine.
@ ThermalManagementSystemController
This device controls all devices that may be used in a thermal management system including Jacket Wat...
@ CommunicationsSatellite
Radio communications unit designed specifically to communicate via some satellite system.
@ WeatherInstruments
The "Weather Instruments" function code shall be used by ISO11783 compliant Weather Instruments.
@ AuxiliaryPowerUnit
Power source for operating systems without the use of the prime drive engine.
@ SystemControlPneumatic
Controller responsible for coordinating the pneumatics of a vehicle.
@ OnBoardDiagnosticDataLogger
On-board data logger.
@ DrivelineRetarder
Controller for the retarder capabilities of the driveline.
@ CoolantValveController
Device used to control the flow of coolant (water, oil, air, etc�) for any thermal management system.
@ LaserTracer
Laser Tracer.
@ FuelSystem
Controls fuel flow from the tank to the filter to the water removal/separator to the engine and then ...
@ AutomatedDriving
Automated Driving System. See SAE J3016.
@ PropulsionBatteryCharger
Unit used to charge propulsion batteries in an electric vehicle.
@ IdleControlSystem
The device automatically starts and stops the engine when the vehicle is stationary for the purpose o...
@ DriveAxleSuspensionControl
Control system for the suspension of a driven axle.
@ HarvesterProductMoisture
Measuring system to monitor the moisture content of the grain.
@ DataLogger
Data logger as defined in ISO11783-10 for non-task related data logging.
@ AlarmDevice
Device that provides an audible and/or visual alarm.
@ ProtectionSystemForMarineEngines
The first ECU that controls the Protection functions on the first engine of a Marine System.
@ RolloverDetectionControl
Device designed for detection of vehicle rollover.
@ Tachograph
< Device for the detection of personnel in proximity to a vehicle.
@ CenterHitchControl
Control of center hitch of an agricultural tractor.
@ BodyToVehicleInterfaceControl
Manages interaction of vehicle functions and body functions. May be combination of body signals and g...
@ InertialSensor
Detects a change in geographic position, a change in velocity, and/or a change in orientation....
@ FanDriveControl
Primary control system affecting the operation of the main cooling fan.
@ AutomaticIdentificationSystem
Marine automatic identification system.
@ RetarderDisplay
Display module that shows information pertaining to the retarder (driveline or exhaust or engine)
@ TemperatureSensor
Device which measures temperature.
@ HydraulicValveController
The valve controller will typically control the flow of oil to a specific cylinder.
@ EngineValveController
Control system used to manipulate the actuation of engine intake or exhaust.
@ PowerTakeOffFrontOrSecondary
System that controls the mechanical power derived from a prime engine and used to operate auxiliary i...
@ Printer
A printing unit on the network - A permanent connection may exist and the unit is expected to be able...
@ PositionControl
Multiple axis position control of a device's application boom.
@ DownPressure
Control of the ground contact pressure on the product delivery unit for optimal operation e....
@ LoranC
Marine Loran C.
@ CatalystFluidSensor
The Catalyst Fluid Sensor can measure the catalyst fluid temperature, the catalyst fluid level and th...
@ CommunicationsCellular
Radio communications unit designed to communicate via the cellular telephone system.
@ SafetyRestraintSystem
The safety restraint system can be for controlling activation of airbags, belt tensioners,...
@ HFWDController
Hydraulic front wheel drive controller.
@ GeneratorSupplementalEngineControlSensing
Supplemental Engine Control Sensing.
@ GeneralPurposeDisplays
Marine General Purpose Displays.
@ AftertreatmentSystemGasMeasurement
Sensor for measuring gas properties before and after an aftertreatment system.
@ PropulsionSensorsAndGateway
Propulsion sensors and gateway.
@ GlobalNavigationSatelliteSystem
Marine GNSS.
@ SkidSteerMainController
Main controller for a skid steer machine.
@ SingleLandLevelingSystemSupervisor
Single Land Leveling System Supervisor.
@ PCKeyboard
A user interface similar to a PC keyboard.
@ AerodynamicControl
Modifies drag by altering body panels.
@ RoadwayInformation
Devices that use this function will provide information relevant to the roadway in which the vehicle ...
@ ObjectDetectionDisplay
Display designed specifically for displaying and managing object detection information.
@ MaterialPropertiesSensing
Sensing system to detect material properties like density, particle size, color or constituents.
@ BrakeStrokeAlert
The device that evaluates air brake stroke for normal stroke, over stroke, dragging brake,...
@ VoyageDataRecorder
Marine Voyage Data Recorder.
@ ProductPressure
Monitoring of the pressure of the product in the delivery booms.
@ MarineWeatherInstruments
Marine Weather Instruments.
@ BodyControl
Can handle suspension control for the body sections independent from the axle sections.
@ TimeDateSystems
Marine time date system.
@ TirePressureControl
Unit that provides control of centralized tire inflation.
@ ForwardLookingCollisionWarningSystem
System which detects and warns of impending collision.
@ TurbochargerCompressorBypass
Device used to control the flow across the Compressor Bypass.
@ ObjectDetection
System for detection of undesirable objects in the product flow.
@ ArticulationTurntableControl
Control of the articulation turntable for joined body buses.
@ HeadingSensor
A device that measures vehicle azimuth.
@ LightingController
Control function that controls electrical power to the lights and reports the status of the lights....
@ ConstructionEquipmentSlopeSensor
Measures the slope along a axis.
@ EVCommunicationController
A controller or application that manages the connection to an external power source,...
@ InstrumentCluster
Gauge display for a vehicle, usually in the cab.
@ ManagementComputerOne
Manages vehicle systems, i.e. powertrain.
@ RadioTelephoneMF_HF
Radio - Telephone(MF / HF)
@ JoystickControl
Joystick Control.
@ SteeringAxle
Adjusts attack angle of steering axle.
@ TractorECU
(TECU) An interface unit between the tractor and the implement bus representing the tractor and its m...
@ WaterPumpControl
Controller for a water pump mounted on the vehicle/machine.
@ StartAidDevice
Device that controls hardware and/or conveys information related to assisting an engine in starting,...
@ OperatorControlsMachineSpecific
Operator interface controls, either auxiliary control inputs or a proprietary means,...
@ OperatorControlsSteeringColumn
Unit that gathers the operator inputs from switches/levers/etc and transmits associated messages.
@ BladeController
Controller for blade height.
@ SystemControlSuspension
Controller responsible for coordinating the over-all suspension of a vehicle.
@ ProductLossMonitor
Measuring system to monitor the amount of grain being delivered back onto the soil.
@ DirectionFinder
Direction Finder.
@ LubricationSystem
The Lubrication System pumps quantities of lubricant to each machine/vehicle joint that need to be lu...
@ HydraulicPumpControl
Pump controller that provides hydraulic power.
@ ElectricPowertrain
Controller application in charge of controlling and coordinating the operation of an electric drive s...
@ CommunicationsRadio
Radio unit designed specifically to communicate via a terrestrial p2p system.
@ ProductMass
< A sensor unit providing inertial measurements
@ GaugeInterface
Marine Gauge Interface.
@ LaserReceiver
Laser Receiver.
@ Engine
The typical mechanical power source of the machine.
@ TransferCaseControl
The device which controls the selection of the number of drive wheels (for example 2 or 4 wheel drive...
@ DepthOrHeightControl
Control of the depth of the tool in the soil, or control of the height of the boom above the surface ...
@ PowerSystemsManager
Controller application that manages the power output of one or more power systems....
@ VirtualTerminal
General-purpose intelligent display with a specific message set defined in ISO 11783-6.
@ ForeignObjectDetection
Detection of undesirable objects in the product flow.
@ BatteryCharger
A device used to charge batteries in a vehicle from an off-board source of electrical energy.
@ SurveyTotalStationTarget
A survey total station target shall be located on a construction machine and shall be connected to th...
@ HeadwayControl
Forward-looking collision avoidance, collision warning, speed controller, or speed control.
@ Keypad
An operator input device used to control machine functions or provide data.
@ BatteryPackMonitor
Monitors the condition of a battery pack.
@ RadioTelephoneVHF
Radio - Telephone(VHF)
@ DecisionSupport
A control function which is used by the operator or by another control function to configure an opera...
@ CabDisplayCab
Used for a fairly elaborate in cab display, non VT and non instrument cluster.
@ DifferentialLockController
Differential Lock Controller.
@ VehicleAdapterCommunicationController
A controller inside of the adapter placed between an Electric Vehicle Supply Equipment (EVSE) vehicle...
@ EngineGateway
Marine engine gateway.
@ TransmissionDisplay
Display designed specifically to display transmission information.
@ EngineExhaustBackpressure
Device that controls the engine exhaust backpressure.
@ InformationSystemControl
Information management for a vehicle's application, such as cargo management.
@ GaugeLarge
Large marine gauge.
@ NetworkInterconnectUnit
ECU for connecting different network segments together.
@ IgnitionControl
Unit for altering the ignition of an engine.
@ ForageProductMoisture
Measuring system to monitor the moisture of the forage content.
@ SequenceControlMaster
The master controller in the Sequence Control System as defined in ISO11783-14.
@ EngineExhaustGasRecirculation
Device that controls the engine exhaust gas recirculation system.
@ VibrationKnock
Measuring function to determine the vibration or knock behaviour of a system.
@ UserInterfaceSystem
The User Interface System is a two way interface system. Uses of this may include,...
@ GroundBasedSpeedSensor
Measures actual ground speed of a vehicle with a device such as radar or other such devices.
@ SteerAxleControlBrakes
Control for actuating the service brakes on a steered axle.
@ ShiftControl
Control Unit that determines and transmits onto the network the gear desired by the operator.
@ Actuator
Marine actuator.
@ CameraSystem
Provides images or processed data for control operations.
@ DataReceiver
Marine data receiver.
@ SeatControl
System for controlling the seats (operator and passenger) within the cab.
@ LandLevelingSystemDisplay
Land Leveling System Display.
@ IOController
Reporting and/or control unit for external input and output channels.
@ SteeringControl
Controls steering in steer-by-wire.
@ TurbochargerWastegate
Device used to control the position of the Wastegate to adjust the exhaust flow.
@ ProductLevel
Measuring function to monitor the current product level in the bin/tank.
@ OnBoardAxleGroupScale
The device that determines axle group weights and is permanently mounted on the vehicle.
@ SupplyEquipmentCommunicationController
Typically part of an Electrical Vehicle Supply Equipment (EVSE) in an electric vehicle charging stati...
@ CropScouting
Measures vegetation parameters in a standing crop.
@ RateControl
Control of the rate of product placed on or in the soil.
@ SpeedSensors
Marine speed sensors.
@ SystemControlBrakes
Controls service braking system electronically.
@ EngineController
Marine Engine Controller.
@ LandLevelingElectricMast
Land Leveling Electric Mast.
@ SupplementalFan
This is an auxillary fan used for additional cooling. It is in addition to the primary cooling fan.
@ IntegratedNavigation
Marine integrated navigation.
@ EngineRoomMonitoring
Marine engine room monitoring system.
@ FireSuppressionSystem
Fire Suppression System.
@ VehicleSecurity
System for comparing operator-provided data sequences against reference.
@ DriverImpairmentDevice
Device which prevents the starting of a vehicle motor due to driver impairment. Example is an alcohol...
@ CruiseControl
Control system for maintaining the vehicle's speed at a fixed operator selectable value.
@ GeneratorVoltageRegulator
Generator Voltage Regulator.
@ HydraulicPowertrain
Controller application in charge of controlling and coordinating the operation of a hydraulic drive s...
@ AuxiliaryHeater
Primary heat typically being taken from the engine coolant.
@ Switch
A CAN switch.
@ DoorController
Door controller.
@ ModeController
Mode Controller.
@ PowerTakeOffRearOrPrimary
System that controls the mechanical power derived from a prime engine and used to operate auxiliary i...
@ AlternatorElectricalChargingSystem
Vehicle's primary on-board charging controller.
@ OnBoardBinWeightingScale
Device that determines bin weights and is permanently mounted on the vehicle.
@ IntegratedInstrumentation
Marine Integrated Instrumentation.
@ ObjectDetectionSensor
Detects the presence of objects within a region.
@ DrivingAxle
Adjusts attack angle of driving axle.
@ HeaderControl
Control of the headers reel height and rotation and material delivery rate.
@ Satellite
A satellite ?
@ OnBoardBinWeighingScaleDisplay
Device that displays bin weights and may be permanently mounted on the vehicle.
@ AuxiliaryValveControl
Control of addressed tractor mounted auxiliary valves.
@ OnBoardAxleGroupDisplay
The device that displays axle group weights and may be permanently mounted on the vehicle.
@ ControlHead
Marine electronic control head.
@ LandLevelingSystemOperatorInterface
A component that allows the user to control the Land Leveling System and display information about th...
@ ProductTreatment
Control function that mixes a treatment to a dry product applied to or harvested from fields.
@ ElectricPropulsionControl
Control system which operates the drive mechanism when it is electrically powered.
@ MachineControl
Control of outputs including adjustment of any ancillary functions like position and/or rotation spee...
@ OperatorControlsLighting
Controller for sending the operator lighting controls messages.
@ GeneratorSetController
Generator set controller used to collect data and control.
@ FuelPropertiesSensor
Device which measures fuel properties.
@ HumiditySensor
Device which measures air humidity.
@ SectionOnOffControl
On/Off control of individual sections.
@ AuxiliaryRegenerationDevice
Auxiliary Regeneration Device used as part of an after treatment system.
@ EnduranceBraking
Sum of all units in a vehicle which enable the driver to brake with virtually no friction.
@ ClutchConverterControl
When transmission is distributed this handles torque converter lock-up or engine-transmission connect...
@ ProductFlow
Measuring function to monitor the current product flow.
@ ProductDosing
Control function that adds an active ingredient to a liquid carrier for application to fields (direct...
@ FileServer
A file storage unit on the network - A permanent connection may exist and the unit is expected to sto...
@ SoilScouting
Soil Sensor to measure different soil physical parameters. One example of a soil sensor is a system t...
@ TaskController
A control function on the 11783 network that is responsible for the sending, receiving and logging of...
@ ConstructionSupplementalEngineControlSensing
Supplemental Engine Control Sensing.
@ ChassisControl
Controls the chassis (not body or cab) components.
@ OffBoardDiagnosticServiceTool
Off-board diagnostic-service tool.
@ LowVoltageDisconnect
Monitors the voltage of the starting battery bank and disconnects predetermined auxiliary loads to as...
@ NonVirtualTerminalDisplay
An operator display connected to the 11783 network that cannot perform as a Virtual Terminal and is n...
@ SlopeSensor
Sensor for measuring a slope along an axis.
@ SteerAxleSuspensionControl
Control system for the suspension of a steered axle.
@ VehicleDynamicStabilityControl
Stability controller.
@ EngineCylinderPressureMonitoringSystem
System designed to monitor engine cylinder pressures and provide combustion information.
@ OnboardDiagnosticUnit
Tool that can be permanently mounted on the vehicle and which may not support all of the ISO 11783-12...
@ FrameControl
Control of the folding and unfolding of the frame of the device. Control used to change between trans...
@ FrontHitchControl
Control of the front hitch of an agricultural tractor.
@ FileServerOrPrinter
Printing or file storage unit on the network.
@ VehicleNavigation
System associated with the vehicles physical location.
@ ProductPackagingControl
Control of packaging process for the forage material.
@ TailingMonitor
Measuring system to monitor the quantity of unthreshed material returned to threshing machine.
@ AdaptiveFrontLightingSystem
System used to adjust the vehicle front lighting for the current operating conditions (city,...
@ EngineEmissionAftertreatmentSystem
Engine Emission Aftertreatment System.
@ Throttle
Device used to control the air/fuel mixture into the cylinders for combustion.
@ TwineWrapperControl
Control of the wrapping of twine around a bale before discharge from the baler.
@ RearHitchControl
Control of the rear hitch of an agricultural tractor.
@ CabClimateControl
System for controlling the climate within the cab of the vehicle.
@ ElectricPowerConverter
An inverter or converter used to transform AC or DC power to or from an AC or DC source.
@ Transmission
Mechanical system for altering the speed vs. torque output of the engine.
@ UnloadControl
Control of trailer unloading process.
@ RotationSensor
A device that measures the rotational angle around an axis.
@ Starter
Mechanical system for initiating rotation in an engine.
@ TransducerGeneral
Marine Transducer/general.
@ ExhaustEmissionControl
Emissions controller.
@ SystemMonitor
Generic system monitor.
@ AutomaticSteeringController
Automatic Steering Controller.
@ HeadingSensors
Heading Sensors.
@ RampControl
Loading unloading chairlift, ramps, lifts or tailgates.
@ RadarOrRadarPlotting
Radar and/or Radar Plotting.
@ LoaderControl
Loader control unit.
@ LiftArmControl
Controller whose primary purpose is to control the lift arms and tilt functions on a construction loa...
@ GeneralSensorBox
Marine General Sensor Box.
@ HydraulicSystemPlanner
Coordinates the functions of a number of valve controllers.
IndustryGroup
The industry group is part of the ISO NAME. It allocates devices and their functions by a specific in...
Definition can_NAME.hpp:44
@ 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.
std::uint8_t get_industry_group() const
Returns the industry group encoded in the NAME.
Definition can_NAME.cpp:35
bool operator==(const NAME &obj) const
A useful way to compare session objects to each other for equality.
Definition can_NAME.cpp:19
void set_identity_number(std::uint32_t value)
Sets the identity number encoded in the NAME.
Definition can_NAME.cpp:141
void set_arbitrary_address_capable(bool value)
Sets the data in the NAME that corresponds to the arbitration capability of the ECU.
Definition can_NAME.cpp:29
std::uint8_t get_device_class() const
Returns the device class (vehicle system) encoded in the NAME.
Definition can_NAME.cpp:65
void set_full_name(std::uint64_t value)
Sets the raw, encoded 64 bit NAME.
Definition can_NAME.cpp:156
void set_device_class(std::uint8_t value)
Sets the device class (vehicle system) to be encoded in the NAME.
Definition can_NAME.cpp:70
std::uint32_t get_identity_number() const
Gets the identity number encoded in the NAME.
Definition can_NAME.cpp:136
This namespace encompasses all of the ISO11783 stack's functionality to reduce global namespace pollu...