Helper object for parsing DDOPs.
More...
#include <isobus_device_descriptor_object_pool_helpers.hpp>
|
class | Boom |
| A helper class that describes a boom This is used to describe a boom, or more generally, an ISO11783-10 function element. More...
|
|
class | Implement |
| A helper class that describes an implement based on its DDOP. More...
|
|
class | ObjectPoolValue |
| A wrapper for a DDOP value which tells you if the value was actually supplied by the DDOP. More...
|
|
class | ProductControlInformation |
| A helper class that groups product rate infomation together. A TC server could use this to know quickly what rates are available and how to interact with them. Use the associated element number and DDI to perform value commands and requests with a client. More...
|
|
class | RateMetadata |
| A helper class that groups a DDI with an object id. More...
|
|
class | Section |
| A helper class that describes an individual section of a boom. This is used to describe the sections of a boom. Units are defined in mm as specified in the ISO 11783-10 standard. X offsets are fore/aft. Y offsets are left/right again as defined in the ISO 11783-10 standard. More...
|
|
class | SubBoom |
| A helper class that describes a sub boom (not all devices support this) More...
|
|
|
static void | parse_element (DeviceDescriptorObjectPool &ddop, std::shared_ptr< task_controller_object::DeviceElementObject > elementObject, Implement &implementToPopulate) |
| Parse an element of the DDOP.
|
|
static Section | parse_section (DeviceDescriptorObjectPool &ddop, std::shared_ptr< task_controller_object::DeviceElementObject > elementObject) |
| Parse a section element of the DDOP.
|
|
static SubBoom | parse_sub_boom (DeviceDescriptorObjectPool &ddop, std::shared_ptr< task_controller_object::DeviceElementObject > elementObject) |
| Parse a sub boom element of the DDOP.
|
|
static ProductControlInformation | parse_bin (DeviceDescriptorObjectPool &ddop, std::shared_ptr< task_controller_object::DeviceElementObject > elementObject) |
| Parses a bin element of the DDOP.
|
|
static void | set_value_from_property (ObjectPoolValue &objectPoolValue, const std::shared_ptr< task_controller_object::DevicePropertyObject > &property, DataDescriptionIndex ddi) |
| Sets the value and presence based on a DDI match.
|
|
static void | set_editable_from_process_data (ObjectPoolValue &objectPoolValue, const std::shared_ptr< task_controller_object::DeviceProcessDataObject > &processData, DataDescriptionIndex ddi) |
| Sets the settable flag based on a DDI match for process data.
|
|
static void | set_product_control_information_max_rate (ProductControlInformation &productControlInformation, const std::shared_ptr< task_controller_object::Object > &object, std::uint16_t ddi) |
| Sets the max rate field of the product control information based on the supplied object if the DDI is known to be a max rate DDI.
|
|
static void | set_product_control_information_min_rate (ProductControlInformation &productControlInformation, const std::shared_ptr< task_controller_object::Object > &object, std::uint16_t ddi) |
| Sets the minimum rate field of the product control information based on the supplied object if the DDI is known to be a minimum rate DDI.
|
|
static void | set_product_control_information_default_rate (ProductControlInformation &productControlInformation, const std::shared_ptr< task_controller_object::Object > &object, std::uint16_t ddi) |
| Sets the default rate field of the product control information based on the supplied object if the DDI is known to be a default rate DDI.
|
|
static void | set_product_control_information_setpoint_rate (ProductControlInformation &productControlInformation, const std::shared_ptr< task_controller_object::Object > &object, std::uint16_t ddi) |
| Sets the setpoint rate field of the product control information based on the supplied object if the DDI is known to be a setpoint rate DDI.
|
|
static void | set_product_control_information_actual_rate (ProductControlInformation &productControlInformation, const std::shared_ptr< task_controller_object::Object > &object, std::uint16_t ddi) |
| Sets the actual rate field of the product control information based on the supplied object if the DDI is known to be a actual rate DDI.
|
|
Helper object for parsing DDOPs.
- Attention
- Getting this data from the DDOP requires traversing the entire DDOP several times, so you should treat these as O(n^2) and try not to call them too many times.
Definition at line 25 of file isobus_device_descriptor_object_pool_helpers.hpp.
◆ get_implement_geometry()
◆ parse_bin()
Parses a bin element of the DDOP.
- Parameters
-
[in] | ddop | The DDOP to get the implement product control info from |
[in] | elementObject | The element to parse |
- Returns
- The parsed product control information, or a default product control information if the elementObject is invalid or has no relevant data
Definition at line 323 of file isobus_device_descriptor_object_pool_helpers.cpp.
◆ parse_element()
Parse an element of the DDOP.
- Parameters
-
[in] | ddop | The DDOP to get the implement geometry and info from |
[in] | elementObject | The object to parse |
[out] | implementToPopulate | The implement to populate with the parsed data |
Definition at line 128 of file isobus_device_descriptor_object_pool_helpers.cpp.
◆ parse_section()
Parse a section element of the DDOP.
- Parameters
-
[in] | ddop | The DDOP to get the implement geometry and info from |
[in] | elementObject | The element to parse |
- Returns
- The parsed section, or a default section if the elementObject is invalid
Definition at line 221 of file isobus_device_descriptor_object_pool_helpers.cpp.
◆ parse_sub_boom()
Parse a sub boom element of the DDOP.
- Parameters
-
[in] | ddop | The DDOP to get the implement geometry and info from |
[in] | elementObject | The element to parse |
- Returns
- The parsed sub boom, or a default sub boom if the elementObject is invalid
Definition at line 264 of file isobus_device_descriptor_object_pool_helpers.cpp.
◆ set_editable_from_process_data()
Sets the settable flag based on a DDI match for process data.
- Parameters
-
[in,out] | objectPoolValue | The object pool value to update. |
[in] | processData | The device process data object. |
[in] | ddi | The DDI to check against. |
Definition at line 374 of file isobus_device_descriptor_object_pool_helpers.cpp.
◆ set_product_control_information_actual_rate()
Sets the actual rate field of the product control information based on the supplied object if the DDI is known to be a actual rate DDI.
- Parameters
-
[in,out] | productControlInformation | The product control information to update. |
[in] | object | The object to use to update the product control information. |
[in] | ddi | The DDI to check against. |
Definition at line 595 of file isobus_device_descriptor_object_pool_helpers.cpp.
◆ set_product_control_information_default_rate()
Sets the default rate field of the product control information based on the supplied object if the DDI is known to be a default rate DDI.
- Parameters
-
[in,out] | productControlInformation | The product control information to update. |
[in] | object | The object to use to update the product control information. |
[in] | ddi | The DDI to check against. |
Definition at line 492 of file isobus_device_descriptor_object_pool_helpers.cpp.
◆ set_product_control_information_max_rate()
Sets the max rate field of the product control information based on the supplied object if the DDI is known to be a max rate DDI.
- Parameters
-
[in,out] | productControlInformation | The product control information to update. |
[in] | object | The object to use to update the product control information. |
[in] | ddi | The DDI to check against. |
Definition at line 384 of file isobus_device_descriptor_object_pool_helpers.cpp.
◆ set_product_control_information_min_rate()
Sets the minimum rate field of the product control information based on the supplied object if the DDI is known to be a minimum rate DDI.
- Parameters
-
[in,out] | productControlInformation | The product control information to update. |
[in] | object | The object to use to update the product control information. |
[in] | ddi | The DDI to check against. |
Definition at line 438 of file isobus_device_descriptor_object_pool_helpers.cpp.
◆ set_product_control_information_setpoint_rate()
Sets the setpoint rate field of the product control information based on the supplied object if the DDI is known to be a setpoint rate DDI.
- Parameters
-
[in,out] | productControlInformation | The product control information to update. |
[in] | object | The object to use to update the product control information. |
[in] | ddi | The DDI to check against. |
Definition at line 541 of file isobus_device_descriptor_object_pool_helpers.cpp.
◆ set_value_from_property()
Sets the value and presence based on a DDI match.
- Parameters
-
[in,out] | objectPoolValue | The object pool value to set. |
[in] | property | The device property object. |
[in] | ddi | The DDI to check against. |
Definition at line 363 of file isobus_device_descriptor_object_pool_helpers.cpp.
The documentation for this class was generated from the following files: