AgIsoStack++
A control-function-focused implementation of the major ISOBUS and J1939 protocols
|
An client interface for interacting with a virtual terminal (VT) server. More...
#include <isobus_virtual_terminal_client.hpp>
Classes | |
class | AssignedAuxiliaryFunction |
A struct for storing information of a function assigned to an auxiliary input. More... | |
struct | AssignedAuxiliaryInputDevice |
A struct for storing information about an auxiliary input device. More... | |
struct | AuxiliaryFunctionEvent |
A struct for storing information of an auxilary function event. More... | |
struct | AuxiliaryInputState |
Struct for storing the state of an auxiliary input on our device. More... | |
struct | ObjectPoolDataStruct |
An object for storing information regarding an object pool upload. More... | |
struct | VTAudioSignalTerminationEvent |
A struct for storing information of a VT control audio signal termination event. More... | |
struct | VTChangeActiveMaskEvent |
A struct for storing information of a VT change active mask event. More... | |
struct | VTChangeNumericValueEvent |
A struct for storing information of a VT change numeric value event. More... | |
struct | VTChangeSoftKeyMaskEvent |
A struct for storing information of a VT change soft key mask event. More... | |
struct | VTChangeStringValueEvent |
A struct for storing information of a VT change string value event. More... | |
struct | VTESCMessageEvent |
A struct for storing information of a VT ESC message event. More... | |
struct | VTKeyEvent |
A struct for storing information of a VT key input event. More... | |
struct | VTPointingEvent |
A struct for storing information of a VT pointing event. More... | |
struct | VTSelectInputObjectEvent |
A struct for storing information of a VT input object selection event. More... | |
struct | VTUserLayoutHideShowEvent |
A struct for storing information of a VT on user-layout hide/show event. More... | |
Public Types | |
enum class | Function : std::uint8_t { SoftKeyActivationMessage = 0x00 , ButtonActivationMessage = 0x01 , PointingEventMessage = 0x02 , VTSelectInputObjectMessage = 0x03 , VTESCMessage = 0x04 , VTChangeNumericValueMessage = 0x05 , VTChangeActiveMaskMessage = 0x06 , VTChangeSoftKeyMaskMessage = 0x07 , VTChangeStringValueMessage = 0x08 , VTOnUserLayoutHideShowMessage = 0x09 , VTControlAudioSignalTerminationMessage = 0x0A , ObjectPoolTransferMessage = 0x11 , EndOfObjectPoolMessage = 0x12 , AuxiliaryAssignmentTypeOneCommand = 0x20 , AuxiliaryInputTypeOneStatus = 0x21 , PreferredAssignmentCommand = 0x22 , AuxiliaryInputTypeTwoMaintenanceMessage = 0x23 , AuxiliaryAssignmentTypeTwoCommand = 0x24 , AuxiliaryInputStatusTypeTwoEnableCommand = 0x25 , AuxiliaryInputTypeTwoStatusMessage = 0x26 , AuxiliaryCapabilitiesRequest = 0x27 , SelectActiveWorkingSet = 0x90 , ESCCommand = 0x92 , HideShowObjectCommand = 0xA0 , EnableDisableObjectCommand = 0xA1 , SelectInputObjectCommand = 0xA2 , ControlAudioSignalCommand = 0xA3 , SetAudioVolumeCommand = 0xA4 , ChangeChildLocationCommand = 0xA5 , ChangeSizeCommand = 0xA6 , ChangeBackgroundColourCommand = 0xA7 , ChangeNumericValueCommand = 0xA8 , ChangeEndPointCommand = 0xA9 , ChangeFontAttributesCommand = 0xAA , ChangeLineAttributesCommand = 0xAB , ChangeFillAttributesCommand = 0xAC , ChangeActiveMaskCommand = 0xAD , ChangeSoftKeyMaskCommand = 0xAE , ChangeAttributeCommand = 0xAF , ChangePriorityCommand = 0xB0 , ChangeListItemCommand = 0xB1 , DeleteObjectPoolCommand = 0xB2 , ChangeStringValueCommand = 0xB3 , ChangeChildPositionCommand = 0xB4 , ChangeObjectLabelCommand = 0xB5 , ChangePolygonPointCommand = 0xB6 , ChangePolygonScaleCommand = 0xB7 , GraphicsContextCommand = 0xB8 , GetAttributeValueMessage = 0xB9 , SelectColourMapCommand = 0xBA , IdentifyVTMessage = 0xBB , ExecuteExtendedMacroCommand = 0xBC , LockUnlockMaskCommand = 0xBD , ExecuteMacroCommand = 0xBE , GetMemoryMessage = 0xC0 , GetSupportedWidecharsMessage = 0xC1 , GetNumberOfSoftKeysMessage = 0xC2 , GetTextFontDataMessage = 0xC3 , GetWindowMaskDataMessage = 0xC4 , GetSupportedObjectsMessage = 0xC5 , GetHardwareMessage = 0xC7 , StoreVersionCommand = 0xD0 , LoadVersionCommand = 0xD1 , DeleteVersionCommand = 0xD2 , ExtendedGetVersionsMessage = 0xD3 , ExtendedStoreVersionCommand = 0xD4 , ExtendedLoadVersionCommand = 0xD5 , ExtendedDeleteVersionCommand = 0xD6 , GetVersionsMessage = 0xDF , GetVersionsResponse = 0xE0 , UnsupportedVTFunctionMessage = 0xFD , VTStatusMessage = 0xFE , WorkingSetMaintenanceMessage = 0xFF } |
Enumerates the multiplexor byte values for VT commands. More... | |
enum class | HideShowObjectCommand : std::uint8_t { HideObject = 0 , ShowObject = 1 } |
Enumerates the states that can be sent with a hide/show object command. More... | |
enum class | EnableDisableObjectCommand : std::uint8_t { DisableObject = 0 , EnableObject = 1 } |
Enumerates the states that can be sent with an enable/disable object command. More... | |
enum class | SelectInputObjectOptions : std::uint8_t { ActivateObjectForDataInput = 0x00 , SetFocusToObject = 0xFF } |
Enumerates the states that can be sent with a select input object options command. More... | |
enum class | VTVersion { Version2OrOlder , Version3 , Version4 , Version5 , Version6 , ReservedOrUnknown } |
The different VT versions that a client or server might support. More... | |
enum class | LineDirection : std::uint8_t { TopLeftToBottomRightOfEnclosingVirtualRectangle = 0 , BottomLeftToTopRightOfEnclosingVirtualRectangle = 1 } |
Enumerates the different line directions that can be used when changing an endpoint of an object. More... | |
enum class | FontSize : std::uint8_t { Size6x8 = 0 , Size8x8 = 1 , Size8x12 = 2 , Size12x16 = 3 , Size16x16 = 4 , Size16x24 = 5 , Size24x32 = 6 , Size32x32 = 7 , Size32x48 = 8 , Size48x64 = 9 , Size64x64 = 10 , Size64x96 = 11 , Size96x128 = 12 , Size128x128 = 13 , Size128x192 = 14 } |
Enumerates the different font sizes. More... | |
enum class | FontStyleBits : std::uint8_t { Bold = 0 , CrossedOut = 1 , Underlined = 2 , Italic = 3 , Inverted = 4 , Flashing = 5 , FlashingHidden = 6 , ProportionalFontRendering = 7 } |
Enumerates the font style options that can be encoded in a font style bitfield. More... | |
enum class | FontType : std::uint8_t { ISO8859_1 = 0 , ISO8859_15 = 1 , ISO8859_2 = 2 , Reserved_1 = 3 , ISO8859_4 = 4 , ISO8859_5 = 5 , Reserved_2 = 6 , ISO8859_7 = 7 , ReservedEnd = 239 , ProprietaryBegin = 240 , ProprietaryEnd = 255 } |
Enumerates the different font types. More... | |
enum class | FillType : std::uint8_t { NoFill = 0 , FillWithLineColour = 1 , FillWithSpecifiedColourInFillColourAttribute = 2 , FillWithPatternGivenByFillPatternAttribute = 3 } |
Enumerates the different fill types for an object. More... | |
enum class | MaskType : std::uint8_t { DataMask = 1 , AlarmMask = 2 } |
The types of object pool masks. More... | |
enum class | AlarmMaskPriority : std::uint8_t { High = 0 , Medium = 1 , Low = 2 } |
The allowable priorities of an alarm mask. More... | |
enum class | MaskLockState : std::uint8_t { UnlockMask = 0 , LockMask = 1 } |
Denotes the lock/unlock state of a mask. Used to freeze/unfreeze rendering of a mask. More... | |
enum class | KeyActivationCode : std::uint8_t { ButtonUnlatchedOrReleased = 0 , ButtonPressedOrLatched = 1 , ButtonStillHeld = 2 , ButtonPressAborted = 3 } |
The different key activation codes that a button press can generate. More... | |
enum class | ESCMessageErrorCode : std::uint8_t { NoError = 0 , NoInputFieldOpen = 1 , OtherError = 5 } |
Enumerates the errors that can be present in an ESC message. More... | |
enum class | MacroEventID : std::uint8_t { Reserved = 0 , OnActivate = 1 , OnDeactivate = 2 , OnShow = 3 , OnHide = 4 , OnEnable = 5 , OnDisable = 6 , OnChangeActiveMask = 7 , OnChangeSoftKeyMask = 8 , OnChangeAttribute = 9 , OnChangeBackgroundColour = 10 , OnChangeFontAttributes = 11 , OnChangeLineAttributes = 12 , OnChangeFillAttributes = 13 , OnChangeChildLocation = 14 , OnChangeSize = 15 , OnChangeValue = 16 , OnChangePriority = 17 , OnChangeEndPoint = 18 , OnInputFieldSelection = 19 , OnInputFieldDeselection = 20 , OnESC = 21 , OnEntryOfValue = 22 , OnEntryOfNewValue = 23 , OnKeyPress = 24 , OnKeyRelease = 25 , OnChangeChildPosition = 26 , OnPointingEventPress = 27 , OnPointingEventRelease = 28 , ReservedBegin = 29 , ReservedEnd = 254 , UseExtendedMacroReference = 255 } |
Enumerates the different events that can be associated with a macro. More... | |
enum class | GraphicMode : std::uint8_t { Monochrome = 0 , SixteenColour = 1 , TwoHundredFiftySixColour = 2 } |
Enumerates the various VT server graphics modes. More... | |
enum class | AuxiliaryTypeTwoFunctionType : std::uint8_t { BooleanLatching = 0 , AnalogueLatching = 1 , BooleanMomentary = 2 , AnalogueMomentaryTwoWay = 3 , AnalogueMomentaryOneWay = 4 , DualBooleanLatching = 5 , DualBooleanMomentary = 6 , DualBooleanLatchingUpOnly = 7 , DualBooleanLatchingDownpOnly = 8 , AnalogueMomentaryBooleanLatching = 9 , AnalogueLatchingBooleanLatching = 10 , QuadratureBooleanMomentary = 11 , QuadratureAnalogueLatching = 12 , QuadratureAnalogueMomentary = 13 , BidirectionalEncoder = 14 , Reserved = 30 , ReservedRemoveAssignment = 31 } |
Enumerates the various auxiliary input function types. More... | |
enum class | StateMachineState : std::uint8_t { Disconnected , WaitForPartnerVTStatusMessage , SendWorkingSetMasterMessage , ReadyForObjectPool , SendGetMemory , WaitForGetMemoryResponse , SendGetNumberSoftkeys , WaitForGetNumberSoftKeysResponse , SendGetTextFontData , WaitForGetTextFontDataResponse , SendGetHardware , WaitForGetHardwareResponse , SendGetVersions , WaitForGetVersionsResponse , SendStoreVersion , WaitForStoreVersionResponse , SendLoadVersion , WaitForLoadVersionResponse , UploadObjectPool , SendEndOfObjectPool , WaitForEndOfObjectPoolResponse , Connected , Failed } |
The internal state machine state of the VT client, mostly just public so tests can access it. More... | |
Public Member Functions | |
VirtualTerminalClient (std::shared_ptr< PartneredControlFunction > partner, std::shared_ptr< InternalControlFunction > clientSource) | |
The constructor for a VirtualTerminalClient. | |
VirtualTerminalClient (VirtualTerminalClient &)=delete | |
Deleted copy constructor for VirtualTerminalClient. | |
~VirtualTerminalClient () | |
The destructor for the VirtualTerminalClient. | |
void | initialize (bool spawnThread) |
This function starts the state machine. Call this once you have supplied 1 or more object pool and are ready to connect. | |
bool | get_is_initialized () const |
Returns if the client has been initialized. | |
bool | get_is_connected () const |
Check whether the client is connected to the VT server. | |
void | terminate () |
Terminates the client and joins the worker thread if applicable. | |
void | restart_communication () |
Halts communication with the VT gracefully and restarts it. | |
std::shared_ptr< PartneredControlFunction > | get_partner_control_function () const |
Returns the control function of the VT server with which this VT client communicates. | |
std::shared_ptr< InternalControlFunction > | get_internal_control_function () const |
Returns the internal control function being used by the client. | |
std::uint8_t | get_active_working_set_master_address () const |
Returns the active working set master's address. | |
EventDispatcher< VTKeyEvent > & | get_vt_soft_key_event_dispatcher () |
The event dispatcher for when a soft key is pressed or released. | |
EventDispatcher< VTKeyEvent > & | get_vt_button_event_dispatcher () |
The event dispatcher for when a button is pressed or released. | |
EventDispatcher< VTPointingEvent > & | get_vt_pointing_event_dispatcher () |
The event dispatcher for when a pointing event is "pressed or released". | |
EventDispatcher< VTSelectInputObjectEvent > & | get_vt_select_input_object_event_dispatcher () |
The event dispatcher for when an input object event is triggered. | |
EventDispatcher< VTESCMessageEvent > & | get_vt_esc_message_event_dispatcher () |
The event dispatcher for when an ESC message is received, e.g. an open object input is closed. | |
EventDispatcher< VTChangeNumericValueEvent > & | get_vt_change_numeric_value_event_dispatcher () |
The event dispatcher for when a numeric value is changed in an input object. | |
EventDispatcher< VTChangeActiveMaskEvent > & | get_vt_change_active_mask_event_dispatcher () |
The event dispatcher for when the active mask is changed. | |
EventDispatcher< VTChangeSoftKeyMaskEvent > & | get_vt_change_soft_key_mask_event_dispatcher () |
The event dispatcher for when the soft key mask is changed. | |
EventDispatcher< VTChangeStringValueEvent > & | get_vt_change_string_value_event_dispatcher () |
The event dispatcher for when a string value is changed. | |
EventDispatcher< VTUserLayoutHideShowEvent > & | get_vt_user_layout_hide_show_event_dispatcher () |
The event dispatcher for when a user-layout object is hidden or shown. | |
EventDispatcher< VTAudioSignalTerminationEvent > & | get_vt_control_audio_signal_termination_event_dispatcher () |
The event dispatcher for when an audio signal is terminated. | |
EventDispatcher< AuxiliaryFunctionEvent > & | get_auxiliary_function_event_dispatcher () |
The event dispatcher for for when a change in auxiliary input for a function is received. | |
void | set_auxiliary_input_model_identification_code (std::uint16_t modelIdentificationCode) |
Set the model identification code of our auxiliary input device. | |
bool | get_auxiliary_input_learn_mode_enabled () const |
Get whether the VT has enabled the learn mode for the auxiliary input. | |
void | add_auxiliary_input_object_id (const std::uint16_t auxiliaryInputID) |
Add a new auxiliary input to be managed by this virtual terminal object. | |
void | remove_auxiliary_input_object_id (const std::uint16_t auxiliaryInputID) |
Remove an auxiliary input from the pool of managed auxiliary inputs. | |
void | update_auxiliary_input (const std::uint16_t auxiliaryInputID, const std::uint16_t value1, const std::uint16_t value2, const bool controlLocked=false) |
Update the state of an auxiliary input. This should be called when the value of an auxiliary input changes. | |
bool | send_hide_show_object (std::uint16_t objectID, HideShowObjectCommand command) |
Sends a hide/show object command. | |
bool | send_enable_disable_object (std::uint16_t objectID, EnableDisableObjectCommand command) |
Sends an enable/disable object command. | |
bool | send_select_input_object (std::uint16_t objectID, SelectInputObjectOptions option) |
Sends a select input object command. | |
bool | send_ESC () |
Sends the ESC message (Escape) | |
bool | send_control_audio_signal (std::uint8_t activations, std::uint16_t frequency_hz, std::uint16_t duration_ms, std::uint16_t offTimeDuration_ms) |
Sends the control audio signal command. | |
bool | send_set_audio_volume (std::uint8_t volume_percent) |
Sends the set audio volume command. | |
bool | send_change_child_location (std::uint16_t objectID, std::uint16_t parentObjectID, std::uint8_t relativeXPositionChange, std::uint8_t relativeYPositionChange) |
Sends the change child location command. | |
bool | send_change_child_position (std::uint16_t objectID, std::uint16_t parentObjectID, std::uint16_t xPosition, std::uint16_t yPosition) |
Sends the change child position command. | |
bool | send_change_size_command (std::uint16_t objectID, std::uint16_t newWidth, std::uint16_t newHeight) |
Sends the change size command. | |
bool | send_change_background_colour (std::uint16_t objectID, std::uint8_t colour) |
Sends the change background colour command. | |
bool | send_change_numeric_value (std::uint16_t objectID, std::uint32_t value) |
Sends the change numeric value command. | |
bool | send_change_string_value (std::uint16_t objectID, uint16_t stringLength, const char *value) |
Sends the change string value command. | |
bool | send_change_string_value (std::uint16_t objectID, const std::string &value) |
Sends the change string value command (with a c++ string instead of buffer + length) | |
bool | send_change_endpoint (std::uint16_t objectID, std::uint16_t width_px, std::uint16_t height_px, LineDirection direction) |
Sends the change endpoint command, which changes the end of an output line. | |
bool | send_change_font_attributes (std::uint16_t objectID, std::uint8_t colour, FontSize size, std::uint8_t type, std::uint8_t styleBitfield) |
Sends the change font attributes command. | |
bool | send_change_line_attributes (std::uint16_t objectID, std::uint8_t colour, std::uint8_t width, std::uint16_t lineArtBitmask) |
Sends the change line attributes command. | |
bool | send_change_fill_attributes (std::uint16_t objectID, FillType fillType, std::uint8_t colour, std::uint16_t fillPatternObjectID) |
Sends the change fill attributes command. | |
bool | send_change_active_mask (std::uint16_t workingSetObjectID, std::uint16_t newActiveMaskObjectID) |
Sends the change active mask command. | |
bool | send_change_softkey_mask (MaskType type, std::uint16_t dataOrAlarmMaskObjectID, std::uint16_t newSoftKeyMaskObjectID) |
Sends the change softkey mask command. | |
bool | send_change_attribute (std::uint16_t objectID, std::uint8_t attributeID, std::uint32_t value) |
Sends the change attribute command. | |
bool | send_change_attribute (std::uint16_t objectID, std::uint8_t attributeID, float value) |
Sends the change attribute command (for float values) | |
bool | send_change_priority (std::uint16_t alarmMaskObjectID, AlarmMaskPriority priority) |
Sends the change priority command. | |
bool | send_change_list_item (std::uint16_t objectID, std::uint8_t listIndex, std::uint16_t newObjectID) |
Sends the change list item command. | |
bool | send_lock_unlock_mask (MaskLockState state, std::uint16_t objectID, std::uint16_t timeout_ms) |
Sends the lock unlock mask command. | |
bool | send_execute_macro (std::uint16_t objectID) |
Sends the execute macro command. | |
bool | send_change_object_label (std::uint16_t objectID, std::uint16_t labelStringObjectID, std::uint8_t fontType, std::uint16_t graphicalDesignatorObjectID) |
Sends the change object label command. | |
bool | send_change_polygon_point (std::uint16_t objectID, std::uint8_t pointIndex, std::uint16_t newXValue, std::uint16_t newYValue) |
Sends change polygon point command. | |
bool | send_change_polygon_scale (std::uint16_t objectID, std::uint16_t widthAttribute, std::uint16_t heightAttribute) |
Sends the change polygon scale command. | |
bool | send_select_colour_map_or_palette (std::uint16_t objectID) |
Sends the select colour map or palette command. | |
bool | send_execute_extended_macro (std::uint16_t objectID) |
Sends the execute extended macro command. | |
bool | send_select_active_working_set (std::uint64_t NAMEofWorkingSetMasterForDesiredWorkingSet) |
Sends the select active working set command. | |
bool | send_set_graphics_cursor (std::uint16_t objectID, std::int16_t xPosition, std::int16_t yPosition) |
Sends the set graphics cursor command. | |
bool | send_move_graphics_cursor (std::uint16_t objectID, std::int16_t xOffset, std::int16_t yOffset) |
Sends the move graphics cursor command. | |
bool | send_set_foreground_colour (std::uint16_t objectID, std::uint8_t colour) |
Sends the set foreground colour command. | |
bool | send_set_background_colour (std::uint16_t objectID, std::uint8_t colour) |
Sends the set background colour command. | |
bool | send_set_line_attributes_object_id (std::uint16_t objectID, std::uint16_t lineAttributeobjectID) |
Sends the set line attributes object id. | |
bool | send_set_fill_attributes_object_id (std::uint16_t objectID, std::uint16_t fillAttributeobjectID) |
Sends the fill attributes object id. | |
bool | send_set_font_attributes_object_id (std::uint16_t objectID, std::uint16_t fontAttributesObjectID) |
Sends the set fill attributes object ID command. | |
bool | send_erase_rectangle (std::uint16_t objectID, std::uint16_t width, std::uint16_t height) |
Sends the erase rectangle command. | |
bool | send_draw_point (std::uint16_t objectID, std::int16_t xOffset, std::int16_t yOffset) |
Sends the draw point command. | |
bool | send_draw_line (std::uint16_t objectID, std::int16_t xOffset, std::int16_t yOffset) |
Sends the draw line command. | |
bool | send_draw_rectangle (std::uint16_t objectID, std::uint16_t width, std::uint16_t height) |
Sends the draw rectangle command. | |
bool | send_draw_closed_ellipse (std::uint16_t objectID, std::uint16_t width, std::uint16_t height) |
Sends the draw closed ellipse message. | |
bool | send_draw_polygon (std::uint16_t objectID, std::uint8_t numberOfPoints, const std::int16_t *listOfXOffsetsRelativeToCursor, const std::int16_t *listOfYOffsetsRelativeToCursor) |
Sends the draw polygon command. | |
bool | send_draw_text (std::uint16_t objectID, bool transparent, std::uint8_t textLength, const char *value) |
Sends the draw text command. | |
bool | send_pan_viewport (std::uint16_t objectID, std::int16_t xAttribute, std::int16_t yAttribute) |
Sends the pan viewport command. | |
bool | send_zoom_viewport (std::uint16_t objectID, float zoom) |
Sends the zoom viewport command. | |
bool | send_pan_and_zoom_viewport (std::uint16_t objectID, std::int16_t xAttribute, std::int16_t yAttribute, float zoom) |
Sends the pan and zoom viewport command. | |
bool | send_change_viewport_size (std::uint16_t objectID, std::uint16_t width, std::uint16_t height) |
Sends the change viewport size command. | |
bool | send_draw_vt_object (std::uint16_t graphicsContextObjectID, std::uint16_t VTObjectID) |
Sends the draw VT object command. | |
bool | send_copy_canvas_to_picture_graphic (std::uint16_t graphicsContextObjectID, std::uint16_t objectID) |
Sends the copy canvas to picture graphic command. | |
bool | send_copy_viewport_to_picture_graphic (std::uint16_t graphicsContextObjectID, std::uint16_t objectID) |
Sends the copy viewport to picture graphic command. | |
bool | send_get_attribute_value (std::uint16_t objectID, std::uint8_t attributeID) |
Sends the get attribute value message. | |
std::uint8_t | get_softkey_x_axis_pixels () const |
Returns the number of X axis pixels in a softkey. | |
std::uint8_t | get_softkey_y_axis_pixels () const |
Returns the number of Y axis pixels in a softkey. | |
std::uint8_t | get_number_virtual_softkeys () const |
Returns the number of virtual softkeys reported by the VT server. | |
std::uint8_t | get_number_physical_softkeys () const |
Returns the number of physical softkeys reported by the VT server. | |
bool | get_font_size_supported (FontSize value) const |
Returns if the selected font is supported. | |
bool | get_font_style_supported (FontStyleBits value) const |
Returns if the selected font style is supported. | |
GraphicMode | get_graphic_mode () const |
Returns the graphics mode supported by the VT server. | |
bool | get_support_touchscreen_with_pointing_message () const |
Returns if the VT server supports a touchscreen with pointing message. | |
bool | get_support_pointing_device_with_pointing_message () const |
Returns if the VT server supports a pointing device with pointing message. | |
bool | get_multiple_frequency_audio_output () const |
Returns if the VT server supports multiple frequency audio output. | |
bool | get_has_adjustable_volume_output () const |
Returns if the VT server supports adjustable volume output. | |
bool | get_support_simultaneous_activation_physical_keys () const |
Returns if the VT server supports simultaneous activation of physical keys. | |
bool | get_support_simultaneous_activation_buttons_and_softkeys () const |
Returns if the VT server supports simultaneous activation of buttons and softkeys. | |
bool | get_support_drag_operation () const |
Returns if the VT supports the drag operation. | |
bool | get_support_intermediate_coordinates_during_drag_operations () const |
Returns if the VT supports the intermediate coordinates during a drag operation. | |
std::uint16_t | get_number_x_pixels () const |
Returns the number of x pixels in the data mask area. | |
std::uint16_t | get_number_y_pixels () const |
Returns the number of y pixels in the data mask area. | |
VTVersion | get_connected_vt_version () const |
Returns the VT version supported supported by the VT server. | |
bool | is_vt_version_supported (VTVersion value) const |
Returns whether the VT version is supported by the VT server. | |
std::uint16_t | get_visible_data_mask () const |
Returns the current data mask displayed by the VT server. | |
std::uint16_t | get_visible_soft_key_mask () const |
Returns the current soft key mask displayed by the VT server. | |
void | set_object_pool (std::uint8_t poolIndex, const std::uint8_t *pool, std::uint32_t size, std::string version="") |
Assigns an object pool to the client using a buffer and size. | |
void | set_object_pool (std::uint8_t poolIndex, const std::vector< std::uint8_t > *pool, std::string version="") |
Assigns an object pool to the client using a vector. | |
void | set_object_pool_scaling (std::uint8_t poolIndex, std::uint32_t originalDataMaskDimensions_px, std::uint32_t originalSoftKyeDesignatorHeight_px) |
Configures an object pool to be automatically scaled to match the target VT server. | |
void | register_object_pool_data_chunk_callback (std::uint8_t poolIndex, std::uint32_t poolTotalSize, DataChunkCallback value, std::string version="") |
Assigns an object pool to the client where the client will get data in chunks during upload. | |
void | update () |
Periodic Update Function (worker thread may call this) | |
Public Attributes | |
LanguageCommandInterface | languageCommandInterface |
Used to determine the language and unit systems in use by the VT server. | |
Protected Member Functions | |
bool | send_message_to_vt (const std::uint8_t *dataBuffer, std::uint32_t dataLength, CANIdentifier::CANPriority priority=CANIdentifier::CANPriority::Priority5) const |
Sends a message to the VT server. | |
bool | send_delete_object_pool () const |
Sends the delete object pool message. | |
bool | send_working_set_maintenance (bool initializing) const |
Sends the working set maintenance message. | |
bool | send_get_memory (std::uint32_t requiredMemory) const |
Sends the get memory message. | |
bool | send_get_number_of_softkeys () const |
Sends the get number of softkeys message. | |
bool | send_get_text_font_data () const |
Sends the get text font data message. | |
bool | send_get_hardware () const |
Sends the get hardware message. | |
bool | send_get_supported_widechars () const |
Sends the get supported widechars message. | |
bool | send_get_window_mask_data () const |
Sends the get window mask data message. | |
bool | send_get_supported_objects () const |
Sends the get supported objects message. | |
bool | send_get_versions () const |
Sends the get versions message. | |
bool | send_store_version (std::array< std::uint8_t, 7 > versionLabel) const |
Sends the store version message. | |
bool | send_load_version (std::array< std::uint8_t, 7 > versionLabel) const |
Sends the load version message. | |
bool | send_delete_version (std::array< std::uint8_t, 7 > versionLabel) const |
Sends the delete version message. | |
bool | send_extended_get_versions () const |
Sends the get extended versions message. | |
bool | send_extended_store_version (std::array< std::uint8_t, 32 > versionLabel) const |
Sends the extended store version message. | |
bool | send_extended_load_version (std::array< std::uint8_t, 32 > versionLabel) const |
Sends the extended load version message. | |
bool | send_extended_delete_version (std::array< std::uint8_t, 32 > versionLabel) const |
Sends the extended delete version message. | |
bool | send_end_of_object_pool () const |
Sends the end of object pool message. | |
bool | send_working_set_master () const |
Sends the working set master message. | |
bool | send_auxiliary_functions_preferred_assignment () const |
Send the preferred auxiliary control type 2 assignment command. | |
bool | send_auxiliary_function_assignment_response (std::uint16_t functionObjectID, bool hasError, bool isAlreadyAssigned) const |
Send the auxiliary control type 2 assignment reponse message. | |
bool | send_auxiliary_input_maintenance () const |
Send the auxiliary control type 2 maintenance message. | |
bool | send_auxiliary_input_status_enable_response (std::uint16_t objectID, bool isEnabled, bool hasError) const |
Send the auxiliary input status type 2 enable response. | |
void | update_auxiliary_input_status () |
Send the auxiliary control type 2 status message for all inputs if applicable. | |
bool | update_auxiliary_input_status (std::uint16_t objectID) |
Send the auxiliary control type 2 status message for a specific input if applicable. | |
void | set_state (StateMachineState value) |
Sets the state machine state and updates the associated timestamp. | |
bool | get_any_pool_needs_scaling () const |
Returns if any object pool had scaling configured. | |
bool | scale_object_pools () |
Iterates through each object pool and scales each object in the pool automatically. | |
FontSize | get_font_or_next_smallest_font (FontSize originalFont) const |
Returns the closest font to the one you passed in, in decending order. | |
bool | resize_object (std::uint8_t *buffer, float scaleFactor, VirtualTerminalObjectType type) |
Resizes a single VT object by some scale factor. | |
bool | is_function_unsupported (Function function) const |
Extract from the cache whether a VT does not support a specific function. | |
bool | is_function_unsupported (std::uint8_t functionCode) const |
Extract from the cache whether a VT does not support a specific function. | |
bool | send_command (const std::vector< std::uint8_t > &data) |
Sends a command to the VT server. | |
bool | queue_command (const std::vector< std::uint8_t > &data, bool replace=false) |
Tries to send a command to the VT server, and queues it if it fails. | |
bool | replace_command (const std::vector< std::uint8_t > &data) |
Replaces the first message in the queue with the same function-code and priority, and removes the rest. | |
void | process_command_queue () |
Tries to send all messages in the queue. | |
void | worker_thread_function () |
The worker thread will execute this function when it runs, if applicable. | |
Static Protected Member Functions | |
static void | process_flags (std::uint32_t flag, void *parent) |
Processes the internal Tx flags. | |
static void | process_rx_message (const CANMessage &message, void *parentPointer) |
Processes a CAN message destined for any VT client. | |
static void | process_callback (std::uint32_t parameterGroupNumber, std::uint32_t dataLength, std::shared_ptr< InternalControlFunction > sourceControlFunction, std::shared_ptr< ControlFunction > destinationControlFunction, bool successful, void *parentPointer) |
The callback passed to the network manager's send function to know when a Tx is completed. | |
static bool | process_internal_object_pool_upload_callback (std::uint32_t callbackIndex, std::uint32_t bytesOffset, std::uint32_t numberOfBytesNeeded, std::uint8_t *chunkBuffer, void *parentPointer) |
The data callback passed to the network manger's send function for the transport layer messages. | |
static bool | get_is_object_scalable (VirtualTerminalObjectType type) |
Returns if the specified object type can be scaled. | |
static FontSize | remap_font_to_scale (FontSize originalFont, float scaleFactor) |
Remaps a font to some other font based on a scale factor This is not a one-size-fits-all solution, but should usually result in a compatible font. | |
static std::uint32_t | get_minimum_object_length (VirtualTerminalObjectType type) |
Returns the minimum length that the specified object could possibly require in bytes. | |
static std::uint32_t | get_number_bytes_in_object (std::uint8_t *buffer) |
Returns the total number of bytes in the VT object located at the specified memory location. | |
static void | process_standard_object_height_and_width (std::uint8_t *buffer, float scaleFactor) |
Resizes the most common VT object format by some scale factor. | |
Protected Attributes | |
std::shared_ptr< PartneredControlFunction > | partnerControlFunction |
The partner control function this client will send to. | |
std::shared_ptr< InternalControlFunction > | myControlFunction |
The internal control function the client uses to send from. | |
ProcessingFlags | txFlags |
A retry mechanism for internal Tx messages. | |
std::uint32_t | lastVTStatusTimestamp_ms = 0 |
The timestamp of the last VT status message. | |
std::uint16_t | activeWorkingSetDataMaskObjectID = NULL_OBJECT_ID |
The active working set data mask object ID. | |
std::uint16_t | activeWorkingSetSoftKeyMaskObjectID = NULL_OBJECT_ID |
The active working set's softkey mask object ID. | |
std::uint8_t | activeWorkingSetMasterAddress = NULL_CAN_ADDRESS |
The active working set master address. | |
std::uint8_t | busyCodesBitfield = 0 |
The VT server's busy codes. | |
std::uint8_t | currentCommandFunctionCode = 0 |
The VT server's current command function code. | |
std::uint8_t | connectedVTVersion = 0 |
The VT server's supported max version. | |
std::uint8_t | softKeyXAxisPixels = 0 |
The size of a soft key X dimension as reported by the VT server. | |
std::uint8_t | softKeyYAxisPixels = 0 |
The size of a soft key Y dimension as reported by the VT server. | |
std::uint8_t | numberVirtualSoftkeysPerSoftkeyMask = 0 |
The number of virtual softkeys per softkey mask as reported by the VT server. | |
std::uint8_t | numberPhysicalSoftkeys = 0 |
The number of physical softkeys supported by the VT server. | |
std::uint8_t | smallFontSizesBitfield = 0 |
The small font sizes supported by the VT server. | |
std::uint8_t | largeFontSizesBitfield = 0 |
The large font sizes supported by the VT server. | |
std::uint8_t | fontStylesBitfield = 0 |
The text font capabilities supported by the VT server. | |
GraphicMode | supportedGraphicsMode = GraphicMode::TwoHundredFiftySixColour |
The graphics mode reported by the VT server. | |
std::uint16_t | xPixels = 0 |
The x pixel dimension as reported by the VT server. | |
std::uint16_t | yPixels = 0 |
The y pixel dimension as reported by the VT server. | |
std::uint8_t | hardwareFeaturesBitfield = 0 |
The reported hardware features from the VT server. | |
StateMachineState | state = StateMachineState::Disconnected |
The current client state machine state. | |
CurrentObjectPoolUploadState | currentObjectPoolState = CurrentObjectPoolUploadState::Uninitialized |
The current upload state of the object pool being processed. | |
std::uint32_t | stateMachineTimestamp_ms = 0 |
Timestamp from the last state machine update. | |
std::uint32_t | lastWorkingSetMaintenanceTimestamp_ms = 0 |
The timestamp from the last time we sent the maintenance message. | |
std::uint32_t | lastAuxiliaryMaintenanceTimestamp_ms = 0 |
The timestamp from the last time we sent the maintenance message. | |
std::vector< ObjectPoolDataStruct > | objectPools |
A container to hold all object pools that have been assigned to the interface. | |
std::vector< std::uint8_t > | unsupportedFunctions |
Holds the functions unsupported by the server. | |
std::vector< AssignedAuxiliaryInputDevice > | assignedAuxiliaryInputDevices |
A container to hold all auxiliary input devices known. | |
std::uint16_t | ourModelIdentificationCode = 1 |
The model identification code of this input device. | |
std::map< std::uint16_t, AuxiliaryInputState > | ourAuxiliaryInputs |
The inputs on this auxiliary input device. | |
std::thread * | workerThread = nullptr |
The worker thread that updates this interface. | |
bool | firstTimeInState = false |
Stores if the current update cycle is the first time a state machine state has been processed. | |
bool | initialized = false |
Stores the client initialization state. | |
bool | sendWorkingSetMaintenance = false |
Used internally to enable and disable cyclic sending of the working set maintenance message. | |
bool | sendAuxiliaryMaintenance = false |
Used internally to enable and disable cyclic sending of the auxiliary maintenance message. | |
bool | shouldTerminate = false |
Used to determine if the client should exit and join the worker thread. | |
std::vector< std::vector< std::uint8_t > > | commandQueue |
A queue of commands to send to the VT server. | |
bool | commandAwaitingResponse = false |
Determines if we are currently waiting for a response to a command. | |
std::uint32_t | lastCommandTimestamp_ms = 0 |
The timestamp of the last command sent. | |
Mutex | commandQueueMutex |
A mutex to protect the command queue. | |
EventDispatcher< VTKeyEvent > | softKeyEventDispatcher |
A list of all soft key event callbacks. | |
EventDispatcher< VTKeyEvent > | buttonEventDispatcher |
A list of all button event callbacks. | |
EventDispatcher< VTPointingEvent > | pointingEventDispatcher |
A list of all pointing event callbacks. | |
EventDispatcher< VTSelectInputObjectEvent > | selectInputObjectEventDispatcher |
A list of all select input object callbacks. | |
EventDispatcher< VTESCMessageEvent > | escMessageEventDispatcher |
A list of all ESC event callbacks. | |
EventDispatcher< VTChangeNumericValueEvent > | changeNumericValueEventDispatcher |
A list of all change numeric value callbacks. | |
EventDispatcher< VTChangeActiveMaskEvent > | changeActiveMaskEventDispatcher |
A list of all change active mask callbacks. | |
EventDispatcher< VTChangeSoftKeyMaskEvent > | changeSoftKeyMaskEventDispatcher |
A list of all change soft key mask callbacks. | |
EventDispatcher< VTChangeStringValueEvent > | changeStringValueEventDispatcher |
A list of all change string value callbacks. | |
EventDispatcher< VTUserLayoutHideShowEvent > | userLayoutHideShowEventDispatcher |
A list of all user layout hide/show callbacks. | |
EventDispatcher< VTAudioSignalTerminationEvent > | audioSignalTerminationEventDispatcher |
A list of all control audio signal termination callbacks. | |
EventDispatcher< AuxiliaryFunctionEvent > | auxiliaryFunctionEventDispatcher |
A list of all auxiliary function callbacks. | |
DataChunkCallback | objectPoolDataCallback = nullptr |
The callback to use to get pool data. | |
std::uint32_t | lastObjectPoolIndex = 0 |
The last object pool index that was processed. | |
Static Protected Attributes | |
static constexpr std::uint64_t | AUXILIARY_INPUT_STATUS_DELAY = 1000 |
The delay between the auxiliary input status messages, in milliseconds. | |
static constexpr std::uint64_t | AUXILIARY_INPUT_STATUS_DELAY_INTERACTION = 50 |
The delay between the auxiliary input status messages when the input is interacted with, in milliseconds. | |
static constexpr std::uint32_t | VT_STATUS_TIMEOUT_MS = 3000 |
The max allowable time between VT status messages before its considered offline. | |
static constexpr std::uint32_t | WORKING_SET_MAINTENANCE_TIMEOUT_MS = 1000 |
The delay between working set maintenance messages. | |
static constexpr std::uint32_t | AUXILIARY_MAINTENANCE_TIMEOUT_MS = 100 |
The delay between auxiliary maintenance messages. | |
An client interface for interacting with a virtual terminal (VT) server.
This class is the main interface for working with a VT. To use it, you must instantiate it with a source and partner control function, and set and one or more object pools to this class to be uploaded to the VT server. Once this setup is done, call the initialize function to start running the internal state machine. The stack will take care of uploading the object pool, and then you will be able to interact with the pool using the provided "send" functions from your application.
Definition at line 43 of file isobus_virtual_terminal_client.hpp.
|
strong |
The allowable priorities of an alarm mask.
Enumerator | |
---|---|
High | Overrides lower priority alarm masks. |
Medium | Overrides low priority alarm masks. |
Low | Overrides data masks. |
Definition at line 229 of file isobus_virtual_terminal_client.hpp.
|
strong |
Enumerates the various auxiliary input function types.
Definition at line 306 of file isobus_virtual_terminal_client.hpp.
|
strongprotected |
The different states of an object pool upload process.
Enumerator | |
---|---|
Uninitialized | The object pool upload has not been started. |
InProgress | The object pool upload is in progress. |
Success | The object pool was uploaded. |
Failed | The pool upload has failed. |
Definition at line 1300 of file isobus_virtual_terminal_client.hpp.
|
strong |
Enumerates the states that can be sent with an enable/disable object command.
Enumerator | |
---|---|
DisableObject | Disables a compatible object. |
EnableObject | Enables a compatible object. |
Definition at line 132 of file isobus_virtual_terminal_client.hpp.
|
strong |
Enumerates the errors that can be present in an ESC message.
Enumerator | |
---|---|
NoError | No error occurred. |
NoInputFieldOpen | No input field is open. |
OtherError | Error is not one of the above. |
Definition at line 253 of file isobus_virtual_terminal_client.hpp.
|
strong |
Enumerates the different fill types for an object.
Definition at line 213 of file isobus_virtual_terminal_client.hpp.
|
strong |
Enumerates the different font sizes.
Definition at line 164 of file isobus_virtual_terminal_client.hpp.
|
strong |
Enumerates the font style options that can be encoded in a font style bitfield.
Definition at line 184 of file isobus_virtual_terminal_client.hpp.
|
strong |
Enumerates the different font types.
Definition at line 197 of file isobus_virtual_terminal_client.hpp.
|
strong |
Enumerates the multiplexor byte values for VT commands.
Definition at line 47 of file isobus_virtual_terminal_client.hpp.
|
strong |
Enumerates the various VT server graphics modes.
Enumerator | |
---|---|
Monochrome | Monochromatic graphics mode (1 bit) |
SixteenColour | 16 Colour mode (4 bit) |
TwoHundredFiftySixColour | 256 Colour mode (8 bit) |
Definition at line 298 of file isobus_virtual_terminal_client.hpp.
|
strongprotected |
Enumerates the command types for graphics context objects.
Definition at line 1265 of file isobus_virtual_terminal_client.hpp.
|
strong |
Enumerates the states that can be sent with a hide/show object command.
Enumerator | |
---|---|
HideObject | Hides the object. |
ShowObject | Shows an object. |
Definition at line 125 of file isobus_virtual_terminal_client.hpp.
|
strong |
The different key activation codes that a button press can generate.
Enumerator | |
---|---|
ButtonUnlatchedOrReleased | Button is released. |
ButtonPressedOrLatched | Button is pressed. |
ButtonStillHeld | Button is being held down (sent cyclically) |
ButtonPressAborted | Press was aborted (user navigated away from the button and did not release it) |
Definition at line 244 of file isobus_virtual_terminal_client.hpp.
|
strong |
Enumerates the different line directions that can be used when changing an endpoint of an object.
Definition at line 157 of file isobus_virtual_terminal_client.hpp.
|
strong |
Enumerates the different events that can be associated with a macro.
Definition at line 261 of file isobus_virtual_terminal_client.hpp.
|
strong |
Denotes the lock/unlock state of a mask. Used to freeze/unfreeze rendering of a mask.
Enumerator | |
---|---|
UnlockMask | Renders the mask normally. |
LockMask | Locks the mask so rendering of it is not updated until it is unlocked or a timeout occurs. |
Definition at line 237 of file isobus_virtual_terminal_client.hpp.
|
strong |
The types of object pool masks.
Enumerator | |
---|---|
DataMask | A data mask, used in normal circumstances. |
AlarmMask | An alarm mask, which has different metadata related to popping up alarms, like priority. |
Definition at line 222 of file isobus_virtual_terminal_client.hpp.
|
strong |
Enumerates the states that can be sent with a select input object options command.
Enumerator | |
---|---|
ActivateObjectForDataInput | Activates an object for data input. |
SetFocusToObject | Focuses the object (usually this draws a temporary box around it) |
Definition at line 139 of file isobus_virtual_terminal_client.hpp.
|
strong |
The internal state machine state of the VT client, mostly just public so tests can access it.
Definition at line 328 of file isobus_virtual_terminal_client.hpp.
|
strongprotected |
Flags used as a retry mechanism for sending important messages.
Definition at line 1291 of file isobus_virtual_terminal_client.hpp.
|
strong |
The different VT versions that a client or server might support.
Definition at line 146 of file isobus_virtual_terminal_client.hpp.
isobus::VirtualTerminalClient::VirtualTerminalClient | ( | std::shared_ptr< PartneredControlFunction > | partner, |
std::shared_ptr< InternalControlFunction > | clientSource ) |
The constructor for a VirtualTerminalClient.
[in] | partner | The VT server control function |
[in] | clientSource | The internal control function to communicate from |
Definition at line 28 of file isobus_virtual_terminal_client.cpp.
isobus::VirtualTerminalClient::~VirtualTerminalClient | ( | ) |
The destructor for the VirtualTerminalClient.
Definition at line 36 of file isobus_virtual_terminal_client.cpp.
void isobus::VirtualTerminalClient::add_auxiliary_input_object_id | ( | const std::uint16_t | auxiliaryInputID | ) |
Add a new auxiliary input to be managed by this virtual terminal object.
This function should be called for each auxiliary input that is available in the pool, and will receive updates using update_auxiliary_input().
[in] | auxiliaryInputID | The ID of the auxiliary input |
Definition at line 218 of file isobus_virtual_terminal_client.cpp.
std::uint8_t isobus::VirtualTerminalClient::get_active_working_set_master_address | ( | ) | const |
Returns the active working set master's address.
Definition at line 137 of file isobus_virtual_terminal_client.cpp.
|
protected |
Returns if any object pool had scaling configured.
Definition at line 3351 of file isobus_virtual_terminal_client.cpp.
EventDispatcher< VirtualTerminalClient::AuxiliaryFunctionEvent > & isobus::VirtualTerminalClient::get_auxiliary_function_event_dispatcher | ( | ) |
The event dispatcher for for when a change in auxiliary input for a function is received.
Definition at line 203 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::get_auxiliary_input_learn_mode_enabled | ( | ) | const |
Get whether the VT has enabled the learn mode for the auxiliary input.
Definition at line 213 of file isobus_virtual_terminal_client.cpp.
VirtualTerminalClient::VTVersion isobus::VirtualTerminalClient::get_connected_vt_version | ( | ) | const |
Returns the VT version supported supported by the VT server.
Definition at line 1158 of file isobus_virtual_terminal_client.cpp.
|
protected |
Returns the closest font to the one you passed in, in decending order.
[in] | originalFont | The original font that you want to scale |
Definition at line 3497 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::get_font_size_supported | ( | FontSize | value | ) | const |
Returns if the selected font is supported.
[in] | value | The font to check against |
Definition at line 1064 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::get_font_style_supported | ( | FontStyleBits | value | ) | const |
Returns if the selected font style is supported.
[in] | value | The font style to check against |
Definition at line 1098 of file isobus_virtual_terminal_client.cpp.
VirtualTerminalClient::GraphicMode isobus::VirtualTerminalClient::get_graphic_mode | ( | ) | const |
Returns the graphics mode supported by the VT server.
Definition at line 1103 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::get_has_adjustable_volume_output | ( | ) | const |
Returns if the VT server supports adjustable volume output.
Definition at line 1123 of file isobus_virtual_terminal_client.cpp.
std::shared_ptr< InternalControlFunction > isobus::VirtualTerminalClient::get_internal_control_function | ( | ) | const |
Returns the internal control function being used by the client.
Definition at line 132 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::get_is_connected | ( | ) | const |
Check whether the client is connected to the VT server.
Definition at line 78 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::get_is_initialized | ( | ) | const |
Returns if the client has been initialized.
Definition at line 73 of file isobus_virtual_terminal_client.cpp.
|
staticprotected |
Returns if the specified object type can be scaled.
[in] | type | The object type to check |
Definition at line 3446 of file isobus_virtual_terminal_client.cpp.
|
staticprotected |
Returns the minimum length that the specified object could possibly require in bytes.
[in] | type | The VT object type to check |
Definition at line 3722 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::get_multiple_frequency_audio_output | ( | ) | const |
Returns if the VT server supports multiple frequency audio output.
Definition at line 1118 of file isobus_virtual_terminal_client.cpp.
|
staticprotected |
Returns the total number of bytes in the VT object located at the specified memory location.
[in] | buffer | A pointer to the start of the VT object |
Definition at line 3882 of file isobus_virtual_terminal_client.cpp.
std::uint8_t isobus::VirtualTerminalClient::get_number_physical_softkeys | ( | ) | const |
Returns the number of physical softkeys reported by the VT server.
Definition at line 1059 of file isobus_virtual_terminal_client.cpp.
std::uint8_t isobus::VirtualTerminalClient::get_number_virtual_softkeys | ( | ) | const |
Returns the number of virtual softkeys reported by the VT server.
Definition at line 1054 of file isobus_virtual_terminal_client.cpp.
std::uint16_t isobus::VirtualTerminalClient::get_number_x_pixels | ( | ) | const |
Returns the number of x pixels in the data mask area.
Definition at line 1148 of file isobus_virtual_terminal_client.cpp.
std::uint16_t isobus::VirtualTerminalClient::get_number_y_pixels | ( | ) | const |
Returns the number of y pixels in the data mask area.
Definition at line 1153 of file isobus_virtual_terminal_client.cpp.
std::shared_ptr< PartneredControlFunction > isobus::VirtualTerminalClient::get_partner_control_function | ( | ) | const |
Returns the control function of the VT server with which this VT client communicates.
Definition at line 127 of file isobus_virtual_terminal_client.cpp.
std::uint8_t isobus::VirtualTerminalClient::get_softkey_x_axis_pixels | ( | ) | const |
Returns the number of X axis pixels in a softkey.
Definition at line 1044 of file isobus_virtual_terminal_client.cpp.
std::uint8_t isobus::VirtualTerminalClient::get_softkey_y_axis_pixels | ( | ) | const |
Returns the number of Y axis pixels in a softkey.
Definition at line 1049 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::get_support_drag_operation | ( | ) | const |
Returns if the VT supports the drag operation.
Definition at line 1138 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::get_support_intermediate_coordinates_during_drag_operations | ( | ) | const |
Returns if the VT supports the intermediate coordinates during a drag operation.
Definition at line 1143 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::get_support_pointing_device_with_pointing_message | ( | ) | const |
Returns if the VT server supports a pointing device with pointing message.
Definition at line 1113 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::get_support_simultaneous_activation_buttons_and_softkeys | ( | ) | const |
Returns if the VT server supports simultaneous activation of buttons and softkeys.
Definition at line 1133 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::get_support_simultaneous_activation_physical_keys | ( | ) | const |
Returns if the VT server supports simultaneous activation of physical keys.
Definition at line 1128 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::get_support_touchscreen_with_pointing_message | ( | ) | const |
Returns if the VT server supports a touchscreen with pointing message.
Definition at line 1108 of file isobus_virtual_terminal_client.cpp.
std::uint16_t isobus::VirtualTerminalClient::get_visible_data_mask | ( | ) | const |
Returns the current data mask displayed by the VT server.
Definition at line 1215 of file isobus_virtual_terminal_client.cpp.
std::uint16_t isobus::VirtualTerminalClient::get_visible_soft_key_mask | ( | ) | const |
Returns the current soft key mask displayed by the VT server.
Definition at line 1220 of file isobus_virtual_terminal_client.cpp.
EventDispatcher< VirtualTerminalClient::VTKeyEvent > & isobus::VirtualTerminalClient::get_vt_button_event_dispatcher | ( | ) |
The event dispatcher for when a button is pressed or released.
Definition at line 153 of file isobus_virtual_terminal_client.cpp.
EventDispatcher< VirtualTerminalClient::VTChangeActiveMaskEvent > & isobus::VirtualTerminalClient::get_vt_change_active_mask_event_dispatcher | ( | ) |
The event dispatcher for when the active mask is changed.
The VT sends this whenever there are missing object references or errors in the mask.
Definition at line 178 of file isobus_virtual_terminal_client.cpp.
EventDispatcher< VirtualTerminalClient::VTChangeNumericValueEvent > & isobus::VirtualTerminalClient::get_vt_change_numeric_value_event_dispatcher | ( | ) |
The event dispatcher for when a numeric value is changed in an input object.
Definition at line 173 of file isobus_virtual_terminal_client.cpp.
EventDispatcher< VirtualTerminalClient::VTChangeSoftKeyMaskEvent > & isobus::VirtualTerminalClient::get_vt_change_soft_key_mask_event_dispatcher | ( | ) |
The event dispatcher for when the soft key mask is changed.
The VT sends this whenever there are missing object references or errors in the mask.
Definition at line 183 of file isobus_virtual_terminal_client.cpp.
EventDispatcher< VirtualTerminalClient::VTChangeStringValueEvent > & isobus::VirtualTerminalClient::get_vt_change_string_value_event_dispatcher | ( | ) |
The event dispatcher for when a string value is changed.
The object could be either the input string object or the referenced string variable object.
Definition at line 188 of file isobus_virtual_terminal_client.cpp.
EventDispatcher< VirtualTerminalClient::VTAudioSignalTerminationEvent > & isobus::VirtualTerminalClient::get_vt_control_audio_signal_termination_event_dispatcher | ( | ) |
The event dispatcher for when an audio signal is terminated.
Definition at line 198 of file isobus_virtual_terminal_client.cpp.
EventDispatcher< VirtualTerminalClient::VTESCMessageEvent > & isobus::VirtualTerminalClient::get_vt_esc_message_event_dispatcher | ( | ) |
The event dispatcher for when an ESC message is received, e.g. an open object input is closed.
Definition at line 168 of file isobus_virtual_terminal_client.cpp.
EventDispatcher< VirtualTerminalClient::VTPointingEvent > & isobus::VirtualTerminalClient::get_vt_pointing_event_dispatcher | ( | ) |
The event dispatcher for when a pointing event is "pressed or released".
Definition at line 158 of file isobus_virtual_terminal_client.cpp.
EventDispatcher< VirtualTerminalClient::VTSelectInputObjectEvent > & isobus::VirtualTerminalClient::get_vt_select_input_object_event_dispatcher | ( | ) |
The event dispatcher for when an input object event is triggered.
Definition at line 163 of file isobus_virtual_terminal_client.cpp.
EventDispatcher< VirtualTerminalClient::VTKeyEvent > & isobus::VirtualTerminalClient::get_vt_soft_key_event_dispatcher | ( | ) |
The event dispatcher for when a soft key is pressed or released.
Definition at line 148 of file isobus_virtual_terminal_client.cpp.
EventDispatcher< VirtualTerminalClient::VTUserLayoutHideShowEvent > & isobus::VirtualTerminalClient::get_vt_user_layout_hide_show_event_dispatcher | ( | ) |
The event dispatcher for when a user-layout object is hidden or shown.
Definition at line 193 of file isobus_virtual_terminal_client.cpp.
void isobus::VirtualTerminalClient::initialize | ( | bool | spawnThread | ) |
This function starts the state machine. Call this once you have supplied 1 or more object pool and are ready to connect.
[in] | spawnThread | The client will start a thread to manage itself if this parameter is true. Otherwise you must update it cyclically. |
Definition at line 41 of file isobus_virtual_terminal_client.cpp.
|
protected |
Extract from the cache whether a VT does not support a specific function.
[in] | function | The function to check |
Definition at line 4456 of file isobus_virtual_terminal_client.cpp.
|
protected |
Extract from the cache whether a VT does not support a specific function.
[in] | functionCode | The code of the function to check |
Definition at line 4451 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::is_vt_version_supported | ( | VTVersion | value | ) | const |
Returns whether the VT version is supported by the VT server.
[in] | value | The VT version to check against |
Definition at line 1203 of file isobus_virtual_terminal_client.cpp.
|
staticprotected |
The callback passed to the network manager's send function to know when a Tx is completed.
[in] | parameterGroupNumber | The parameter group number of the message that was sent |
[in] | dataLength | The length of the data that was sent |
[in] | sourceControlFunction | The control function that sent the message |
[in] | destinationControlFunction | The control function that received the message or nullptr for a broadcast |
[in] | successful | true if the message was sent successfully |
[in] | parentPointer | A context variable to find the relevant VT client class |
Definition at line 3240 of file isobus_virtual_terminal_client.cpp.
|
protected |
Tries to send all messages in the queue.
Definition at line 4542 of file isobus_virtual_terminal_client.cpp.
|
staticprotected |
Processes the internal Tx flags.
[in] | flag | The flag to process |
[in] | parent | A context variable to find the relevant VT client class |
Definition at line 2146 of file isobus_virtual_terminal_client.cpp.
|
staticprotected |
The data callback passed to the network manger's send function for the transport layer messages.
We upload the data with callbacks to avoid making a complete copy of the pool to accommodate the multiplexor that needs to get passed to the transport layer message's first byte.
[in] | callbackIndex | The number of times the callback has been called |
[in] | bytesOffset | The byte offset at which to get pool data |
[in] | numberOfBytesNeeded | The number of bytes the protocol needs to send another frame (usually 7) |
[out] | chunkBuffer | A pointer through which the data should be returned to the protocol |
[in] | parentPointer | A context variable that is passed back through the callback |
Definition at line 3267 of file isobus_virtual_terminal_client.cpp.
|
staticprotected |
Processes a CAN message destined for any VT client.
[in] | message | The CAN message being received |
[in] | parentPointer | A context variable to find the relevant VT client class |
Definition at line 2196 of file isobus_virtual_terminal_client.cpp.
|
staticprotected |
Resizes the most common VT object format by some scale factor.
[in] | buffer | A pointer to the start of the VT object |
[in] | scaleFactor | The scale factor to use when scaling the object, with 1.0 being the original scale |
Definition at line 4173 of file isobus_virtual_terminal_client.cpp.
|
protected |
Tries to send a command to the VT server, and queues it if it fails.
[in] | data | The data to send, including the function-code |
[in] | replace | If true, the message will replace any existing message with the same priority and function-code |
Definition at line 4493 of file isobus_virtual_terminal_client.cpp.
void isobus::VirtualTerminalClient::register_object_pool_data_chunk_callback | ( | std::uint8_t | poolIndex, |
std::uint32_t | poolTotalSize, | ||
DataChunkCallback | value, | ||
std::string | version = "" ) |
Assigns an object pool to the client where the client will get data in chunks during upload.
This is probably better for huge pools if you are RAM constrained, or if your pool is stored on some external device that you need to get data from in pages. This is also the best way to load from IOP files, as you can read the data in piece by piece.
[in] | poolIndex | The index of the pool you are assigning |
[in] | poolTotalSize | The object pool size |
[in] | value | The data callback that will be used to get object pool data to upload. |
[in] | version | An optional version string. The stack will automatically store/load your pool from the VT if this is provided. |
Definition at line 1293 of file isobus_virtual_terminal_client.cpp.
|
staticprotected |
Remaps a font to some other font based on a scale factor This is not a one-size-fits-all solution, but should usually result in a compatible font.
[in] | originalFont | The font to scale |
[in] | scaleFactor | The factor by which to attempt scaling the font |
Definition at line 3508 of file isobus_virtual_terminal_client.cpp.
void isobus::VirtualTerminalClient::remove_auxiliary_input_object_id | ( | const std::uint16_t | auxiliaryInputID | ) |
Remove an auxiliary input from the pool of managed auxiliary inputs.
[in] | auxiliaryInputID | The ID of the auxiliary input |
Definition at line 223 of file isobus_virtual_terminal_client.cpp.
|
protected |
Replaces the first message in the queue with the same function-code and priority, and removes the rest.
[in] | data | The data to send, including the function-code |
Definition at line 4515 of file isobus_virtual_terminal_client.cpp.
|
protected |
Resizes a single VT object by some scale factor.
[in] | buffer | A pointer to the start of the VT object |
[in] | scaleFactor | The scale factor to scale the object by |
[in] | type | The type of the object to resize. Must match the object located at buffer |
Definition at line 4183 of file isobus_virtual_terminal_client.cpp.
void isobus::VirtualTerminalClient::restart_communication | ( | ) |
Halts communication with the VT gracefully and restarts it.
Definition at line 115 of file isobus_virtual_terminal_client.cpp.
|
protected |
Iterates through each object pool and scales each object in the pool automatically.
Definition at line 3367 of file isobus_virtual_terminal_client.cpp.
|
protected |
Send the auxiliary control type 2 assignment reponse message.
[in] | functionObjectID | The object ID of the function |
[in] | hasError | true if the assignment failed |
[in] | isAlreadyAssigned | true if the function is already assigned |
Definition at line 2007 of file isobus_virtual_terminal_client.cpp.
|
protected |
Send the preferred auxiliary control type 2 assignment command.
Definition at line 1996 of file isobus_virtual_terminal_client.cpp.
|
protected |
Send the auxiliary control type 2 maintenance message.
Definition at line 2029 of file isobus_virtual_terminal_client.cpp.
|
protected |
Send the auxiliary input status type 2 enable response.
[in] | objectID | The object ID of the input |
[in] | isEnabled | true if the input is enabled |
[in] | hasError | true if the enable failed |
Definition at line 2047 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_change_active_mask | ( | std::uint16_t | workingSetObjectID, |
std::uint16_t | newActiveMaskObjectID ) |
Sends the change active mask command.
This command is used to change the active mask of a Working Set to either a Data Mask object or an Alarm Mask object.
[in] | workingSetObjectID | The ID of the working set |
[in] | newActiveMaskObjectID | The object ID of the new active mask |
Definition at line 506 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_change_attribute | ( | std::uint16_t | objectID, |
std::uint8_t | attributeID, | ||
float | value ) |
Sends the change attribute command (for float values)
This command is used to change a float attribute with an assigned Attribute ID. This is most useful for changing output number scale factors.
[in] | objectID | The ID of the target object |
[in] | attributeID | The attribute ID of the attribute being changed |
[in] | value | The new attribute value |
Definition at line 545 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_change_attribute | ( | std::uint16_t | objectID, |
std::uint8_t | attributeID, | ||
std::uint32_t | value ) |
Sends the change attribute command.
This command is used to change any attribute with an assigned Attribute ID. This message cannot be used to change strings.
[in] | objectID | The ID of the target object |
[in] | attributeID | The attribute ID of the attribute being changed |
[in] | value | The new attribute value |
Definition at line 532 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_change_background_colour | ( | std::uint16_t | objectID, |
std::uint8_t | colour ) |
Sends the change background colour command.
[in] | objectID | The ID of the target object |
[in] | colour | The new background colour of the object |
Definition at line 394 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_change_child_location | ( | std::uint16_t | objectID, |
std::uint16_t | parentObjectID, | ||
std::uint8_t | relativeXPositionChange, | ||
std::uint8_t | relativeYPositionChange ) |
Sends the change child location command.
The Change Child Location command is used to change the position of an object. The new position is set relative to the object's current position. Since the object can be included in many parent objects, the parent Object ID is also included. If a parent object includes the child object multiple times, then each instance will be moved. The position attributes given in the message have an offset of -127, so a value of 255 results in a +128 px move. Positive values indicate a position change down or to the right. Negative values indicate a position change up or to the left.
[in] | objectID | The ID of the target object |
[in] | parentObjectID | The ID of the object's parent object |
[in] | relativeXPositionChange | The amount to change the X position by (px) |
[in] | relativeYPositionChange | The amount to change the Y position by (px) |
Definition at line 352 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_change_child_position | ( | std::uint16_t | objectID, |
std::uint16_t | parentObjectID, | ||
std::uint16_t | xPosition, | ||
std::uint16_t | yPosition ) |
Sends the change child position command.
The new position is set relative to the parent object's position. Since the object can be included in many parent objects, the parent Object ID is also included.If a parent object includes the child object multiples times, then each instance will be moved to the same location(the designer may want to use Change Child Location command to move all instances in a relative motion). When the object is moved, the parent object shall be refreshed. The position attributes given in the message are signed integer. Positive values indicate a position below(Y) or to the right of(X) the top left corner of the parent object.Negative values indicate a position above(Y) or to the left of(X) the top left corner of the parent object.
[in] | objectID | The ID of the target object |
[in] | parentObjectID | The ID of the object's parent object |
[in] | xPosition | The new X position of the object (px) |
[in] | yPosition | The new Y position of the object (px) |
Definition at line 365 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_change_endpoint | ( | std::uint16_t | objectID, |
std::uint16_t | width_px, | ||
std::uint16_t | height_px, | ||
LineDirection | direction ) |
Sends the change endpoint command, which changes the end of an output line.
[in] | objectID | The ID of the target object |
[in] | width_px | The width to change the output line to |
[in] | height_px | The height to change the output line to |
[in] | direction | The line direction (refer to output line object attributes) |
Definition at line 454 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_change_fill_attributes | ( | std::uint16_t | objectID, |
FillType | fillType, | ||
std::uint8_t | colour, | ||
std::uint16_t | fillPatternObjectID ) |
Sends the change fill attributes command.
This command is used to change the Fill Attributes in a Fill Attributes object.
[in] | objectID | The ID of the target object |
[in] | fillType | The fill type |
[in] | colour | See the standard VT colour palette for more details |
[in] | fillPatternObjectID | Object ID to a fill pattern or NULL_OBJECT_ID |
Definition at line 493 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_change_font_attributes | ( | std::uint16_t | objectID, |
std::uint8_t | colour, | ||
FontSize | size, | ||
std::uint8_t | type, | ||
std::uint8_t | styleBitfield ) |
Sends the change font attributes command.
This command is used to change the Font Attributes in a Font Attributes object.
[in] | objectID | The ID of the target object |
[in] | colour | See the standard VT colour palette for more details |
[in] | size | Font size |
[in] | type | Font Type |
[in] | styleBitfield | The font style encoded as a bitfield |
Definition at line 467 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_change_line_attributes | ( | std::uint16_t | objectID, |
std::uint8_t | colour, | ||
std::uint8_t | width, | ||
std::uint16_t | lineArtBitmask ) |
Sends the change line attributes command.
This command is used to change the Line Attributes in a Line Attributes object.
[in] | objectID | The ID of the target object |
[in] | colour | See the standard VT colour palette for more details |
[in] | width | The line width |
[in] | lineArtBitmask | The line art, encoded as a bitfield (See ISO11783-6 for details) |
Definition at line 480 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_change_list_item | ( | std::uint16_t | objectID, |
std::uint8_t | listIndex, | ||
std::uint16_t | newObjectID ) |
Sends the change list item command.
This command is used to change a list item in an Input List object, Output List object, animation object, or external object definition object. NULL_OBJECT_ID will result in the list item being removed, but will not change the index order of the other list items.
[in] | objectID | The object ID of the list |
[in] | listIndex | The index in the list to edit |
[in] | newObjectID | The new object ID for the specified list index, or NULL_OBJECT_ID. |
Definition at line 580 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_change_numeric_value | ( | std::uint16_t | objectID, |
std::uint32_t | value ) |
Sends the change numeric value command.
The size of the object shall not be changed by this command. Only the object indicated in the command is to be changed, variables referenced by the object are not changed.
[in] | objectID | The ID of the target object |
[in] | value | The new numeric value of the object |
Definition at line 407 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_change_object_label | ( | std::uint16_t | objectID, |
std::uint16_t | labelStringObjectID, | ||
std::uint8_t | fontType, | ||
std::uint16_t | graphicalDesignatorObjectID ) |
Sends the change object label command.
This command is used by an ECU to change a label of an object.
[in] | objectID | The ID of the target object |
[in] | labelStringObjectID | The label's object ID |
[in] | fontType | The font type or NULL_OBJECT_ID |
[in] | graphicalDesignatorObjectID | Object ID of an object to be used as a graphic representation of the object label or NULL_OBJECT_ID |
Definition at line 619 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_change_polygon_point | ( | std::uint16_t | objectID, |
std::uint8_t | pointIndex, | ||
std::uint16_t | newXValue, | ||
std::uint16_t | newYValue ) |
Sends change polygon point command.
This command is used by a Working Set to modify a point in an Output Polygon object.
[in] | objectID | The ID of the target object |
[in] | pointIndex | The index of the point in the polygon to edit |
[in] | newXValue | The new X axis value (px) |
[in] | newYValue | The new Y axis value (px) |
Definition at line 632 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_change_polygon_scale | ( | std::uint16_t | objectID, |
std::uint16_t | widthAttribute, | ||
std::uint16_t | heightAttribute ) |
Sends the change polygon scale command.
This command is used by a Working Set to change the scale of a complete Output Polygon object. This message causes the value of the polygon points to be changed.
[in] | objectID | The ID of the target object |
[in] | widthAttribute | New width attribute |
[in] | heightAttribute | New height attribute |
Definition at line 645 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_change_priority | ( | std::uint16_t | alarmMaskObjectID, |
AlarmMaskPriority | priority ) |
Sends the change priority command.
This command is used to change the priority of an Alarm Mask. This command causes the VT to evaluate the priority of all active masks and may cause a change to a different mask if the Alarm Mask being changed should either become the active Working Set and mask, or should no longer be the active Working Set and mask.
[in] | alarmMaskObjectID | The object ID of the target alarm mask |
[in] | priority | The new priority for the mask |
Definition at line 567 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_change_size_command | ( | std::uint16_t | objectID, |
std::uint16_t | newWidth, | ||
std::uint16_t | newHeight ) |
Sends the change size command.
A value of 0 for width or height or both means that the object size is 0 and the object is not drawn.
[in] | objectID | The ID of the target object |
[in] | newWidth | The new width of the object |
[in] | newHeight | The new height of the object |
Definition at line 381 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_change_softkey_mask | ( | MaskType | type, |
std::uint16_t | dataOrAlarmMaskObjectID, | ||
std::uint16_t | newSoftKeyMaskObjectID ) |
Sends the change softkey mask command.
This command is used to change the Soft Key Mask associated with a Data Mask object or an Alarm Mask object.
[in] | type | The mask type, alarm or data |
[in] | dataOrAlarmMaskObjectID | The object ID of the target mask |
[in] | newSoftKeyMaskObjectID | The object ID of the new softkey mask |
Definition at line 519 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_change_string_value | ( | std::uint16_t | objectID, |
const std::string & | value ) |
Sends the change string value command (with a c++ string instead of buffer + length)
The size of the object shall not be changed by this command. Only the object indicated in the command is to be changed, variables referenced by the object are not changed. The transferred string is allowed to be smaller than the length of the value attribute of the target object and in this case the VT shall pad the value attribute with space characters.
[in] | objectID | The ID of the target object |
[in] | value | The string to be sent |
Definition at line 449 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_change_string_value | ( | std::uint16_t | objectID, |
uint16_t | stringLength, | ||
const char * | value ) |
Sends the change string value command.
The size of the object shall not be changed by this command. Only the object indicated in the command is to be changed, variables referenced by the object are not changed. The transferred string is allowed to be smaller than the length of the value attribute of the target object and in this case the VT shall pad the value attribute with space characters.
[in] | objectID | The ID of the target object |
[in] | stringLength | The length of the string to be sent |
[in] | value | The string to be sent |
Definition at line 422 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_change_viewport_size | ( | std::uint16_t | objectID, |
std::uint16_t | width, | ||
std::uint16_t | height ) |
Sends the change viewport size command.
This command changes the size of the viewport and can be compared to the normal Change Size command.The graphics cursor is not moved.
[in] | objectID | The ID of the target object |
[in] | width | The width of the viewport |
[in] | height | The height of the viewport |
Definition at line 971 of file isobus_virtual_terminal_client.cpp.
|
protected |
Sends a command to the VT server.
[in] | data | The data to send, including the function-code |
Definition at line 4461 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_control_audio_signal | ( | std::uint8_t | activations, |
std::uint16_t | frequency_hz, | ||
std::uint16_t | duration_ms, | ||
std::uint16_t | offTimeDuration_ms ) |
Sends the control audio signal command.
This command may be used to control the audio on the VT. When received this message shall terminate any audio in process from the originating ECU and replace the previous command with the new command.
[in] | activations | Number of times to activate the signal |
[in] | frequency_hz | The audio frequency to command in Hz |
[in] | duration_ms | Duration of the signal activation |
[in] | offTimeDuration_ms | The amount of silent time in the signal |
Definition at line 318 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_copy_canvas_to_picture_graphic | ( | std::uint16_t | graphicsContextObjectID, |
std::uint16_t | objectID ) |
Sends the copy canvas to picture graphic command.
This command copies the current canvas of the Graphics Context Object into the Picture Graphic object specified.
[in] | graphicsContextObjectID | The ID of the target graphics context object |
[in] | objectID | The picture graphic's object ID to copy to |
Definition at line 1005 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_copy_viewport_to_picture_graphic | ( | std::uint16_t | graphicsContextObjectID, |
std::uint16_t | objectID ) |
Sends the copy viewport to picture graphic command.
This command copies the current Viewport of the GCO into the specified picture graphic.
[in] | graphicsContextObjectID | The ID of the target graphics context object |
[in] | objectID | The picture graphic's object ID to copy to |
Definition at line 1018 of file isobus_virtual_terminal_client.cpp.
|
protected |
Sends the delete object pool message.
Definition at line 1755 of file isobus_virtual_terminal_client.cpp.
|
protected |
Sends the delete version message.
[in] | versionLabel | The version label to delete |
Definition at line 1915 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_draw_closed_ellipse | ( | std::uint16_t | objectID, |
std::uint16_t | width, | ||
std::uint16_t | height ) |
Sends the draw closed ellipse message.
Draws a closed ellipse bounded by the rectangle defined by the current graphics cursor location and the width and height given.The Output Ellipse object drawing rules apply.If a Line Attributes object is currently defined, the border is drawn.If a fill attribute object is currently defined, the ellipse is filled. The graphics cursor is moved to the bottom right pixel inside of the bounding rectangle.
[in] | objectID | The ID of the target object |
[in] | width | The width of the ellipse (px) |
[in] | height | The height of the ellipse (px) |
Definition at line 841 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_draw_line | ( | std::uint16_t | objectID, |
std::int16_t | xOffset, | ||
std::int16_t | yOffset ) |
Sends the draw line command.
Draws a line from the graphics cursor to the specified end pixel using the foreground colour. The Output Line Object drawing rules apply with respect to the end pixel location and Line Attributes.The graphics cursor is moved to the specified end pixel.
[in] | objectID | The ID of the target object |
[in] | xOffset | The pixel X offset relative to the cursor |
[in] | yOffset | The pixel Y offset relative to the cursor |
Definition at line 815 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_draw_point | ( | std::uint16_t | objectID, |
std::int16_t | xOffset, | ||
std::int16_t | yOffset ) |
Sends the draw point command.
Sets the pixel to the foreground colour. The graphics cursor is moved to the defined point.
[in] | objectID | The ID of the target object |
[in] | xOffset | The pixel X offset relative to the cursor |
[in] | yOffset | The pixel Y offset relative to the cursor |
Definition at line 802 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_draw_polygon | ( | std::uint16_t | objectID, |
std::uint8_t | numberOfPoints, | ||
const std::int16_t * | listOfXOffsetsRelativeToCursor, | ||
const std::int16_t * | listOfYOffsetsRelativeToCursor ) |
Sends the draw polygon command.
Draws a polygon from the graphics cursor to the first point, then to the second point and so on. The polygon is closed if the last point has the offset 0,0. This is because offset 0,0 gives the coordinates of the original graphics cursor which was used as the first point in the polygon. If the data does not close the polygon, no automatic closing is performed and filling is ignored. Foreground colour is used for the border colour. The Output Polygon object drawing rules apply. If a Line Attributes object is currently defined, the border is drawn. If a fill object is currently defined and the polygon is closed, the polygon is filled. The graphics cursor is moved to the last point in the list.
[in] | objectID | The ID of the target object |
[in] | numberOfPoints | Number of points in the polygon |
[in] | listOfXOffsetsRelativeToCursor | A list of X offsets for the points, relative to the cursor |
[in] | listOfYOffsetsRelativeToCursor | A list of Y offsets for the points, relative to the cursor |
Definition at line 854 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_draw_rectangle | ( | std::uint16_t | objectID, |
std::uint16_t | width, | ||
std::uint16_t | height ) |
Sends the draw rectangle command.
Draws a rectangle at the graphics cursor. The Rectangle Object drawing rules apply.If a Line Attributes object is currently defined, the border is drawn. If a fill attribute object is currently defined, the rectangle is filled.The graphics cursor is moved to the bottom right pixel inside of the rectangle.
[in] | objectID | The ID of the target object |
[in] | width | The width of the rectangle (px) |
[in] | height | The height of the rectangle (px) |
Definition at line 828 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_draw_text | ( | std::uint16_t | objectID, |
bool | transparent, | ||
std::uint8_t | textLength, | ||
const char * | value ) |
Sends the draw text command.
Draws the given text using the Font Attributes object. Any flashing bits in the Font style of the Font Attributes object are ignored If opaque, the background colour attribute is used.The graphics cursor is moved to the bottom right corner of the extent of the text.
[in] | objectID | The ID of the target object |
[in] | transparent | Denotes if the text background is transparent |
[in] | textLength | String length |
[in] | value | A buffer to the text to draw with length textLength |
Definition at line 883 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_draw_vt_object | ( | std::uint16_t | graphicsContextObjectID, |
std::uint16_t | VTObjectID ) |
Sends the draw VT object command.
his command draws the VT Object specified by the Object ID at the current graphics cursor location.
[in] | graphicsContextObjectID | The ID of the target graphics context object |
[in] | VTObjectID | The object ID to draw |
Definition at line 992 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_enable_disable_object | ( | std::uint16_t | objectID, |
EnableDisableObjectCommand | command ) |
Sends an enable/disable object command.
This command is used to enable or disable an input field object or a Button object and pertains to the accessibility of an input field object or Button object.This command is also used to enable or disable an Animation object. It is allowed to enable already enabled objects and to disable already disabled objects.
[in] | objectID | The ID of the target object |
[in] | command | The target enable/disable state of the object |
Definition at line 279 of file isobus_virtual_terminal_client.cpp.
|
protected |
Sends the end of object pool message.
Definition at line 1965 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_erase_rectangle | ( | std::uint16_t | objectID, |
std::uint16_t | width, | ||
std::uint16_t | height ) |
Sends the erase rectangle command.
Fills the rectangle at the graphics cursor using the current background colour.For this command, the Fill Attributes Object is not used regardless of the state of Options bit 1 The graphics cursor is moved to the bottom right pixel inside of the rectangle.
[in] | objectID | The ID of the target object |
[in] | width | The width of the rectangle |
[in] | height | The height of the rectangle |
Definition at line 789 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_ESC | ( | ) |
Sends the ESC message (Escape)
Definition at line 305 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_execute_extended_macro | ( | std::uint16_t | objectID | ) |
Sends the execute extended macro command.
Executes an extended macro
[in] | objectID | The object ID of the extended macro to execute |
Definition at line 671 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_execute_macro | ( | std::uint16_t | objectID | ) |
Sends the execute macro command.
This command is used to execute a Macro.
[in] | objectID | The ID of the target object |
Definition at line 606 of file isobus_virtual_terminal_client.cpp.
|
protected |
Sends the extended delete version message.
[in] | versionLabel | The version label to delete |
Definition at line 1957 of file isobus_virtual_terminal_client.cpp.
|
protected |
Sends the get extended versions message.
Definition at line 1928 of file isobus_virtual_terminal_client.cpp.
|
protected |
Sends the extended load version message.
[in] | versionLabel | The version label to load |
Definition at line 1949 of file isobus_virtual_terminal_client.cpp.
|
protected |
Sends the extended store version message.
[in] | versionLabel | The version label to store |
Definition at line 1941 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_get_attribute_value | ( | std::uint16_t | objectID, |
std::uint8_t | attributeID ) |
Sends the get attribute value message.
[in] | objectID | The object ID to query |
[in] | attributeID | The attribute object to query |
Definition at line 1031 of file isobus_virtual_terminal_client.cpp.
|
protected |
Sends the get hardware message.
Definition at line 1824 of file isobus_virtual_terminal_client.cpp.
|
protected |
Sends the get memory message.
This message checks to see if the VT has enough memory available to store your object pool(s)
[in] | requiredMemory | Memory in bytes to check for on the VT server |
Definition at line 1785 of file isobus_virtual_terminal_client.cpp.
|
protected |
Sends the get number of softkeys message.
Definition at line 1798 of file isobus_virtual_terminal_client.cpp.
|
protected |
Sends the get supported objects message.
Definition at line 1863 of file isobus_virtual_terminal_client.cpp.
|
protected |
Sends the get supported widechars message.
Definition at line 1837 of file isobus_virtual_terminal_client.cpp.
|
protected |
Sends the get text font data message.
Definition at line 1811 of file isobus_virtual_terminal_client.cpp.
|
protected |
Sends the get versions message.
Definition at line 1876 of file isobus_virtual_terminal_client.cpp.
|
protected |
Sends the get window mask data message.
Definition at line 1850 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_hide_show_object | ( | std::uint16_t | objectID, |
HideShowObjectCommand | command ) |
Sends a hide/show object command.
This command is used to hide or show a Container object. This pertains to the visibility of the object as well as its remembered state.If the object cannot be displayed due to references to missing objects, the VT generates an error in the response.
[in] | objectID | The ID of the target object |
[in] | command | The target hide/show state of the object |
Definition at line 266 of file isobus_virtual_terminal_client.cpp.
|
protected |
Sends the load version message.
[in] | versionLabel | The version label to load |
Definition at line 1902 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_lock_unlock_mask | ( | MaskLockState | state, |
std::uint16_t | objectID, | ||
std::uint16_t | timeout_ms ) |
Sends the lock unlock mask command.
This command is used by a Working Set to disallow or allow screen refreshes at the VT for the visible Data Mask or User Layout Data Mask owned by the requesting Working Set. This message would be used when a series of changes need to be synchronized or made visually atomic. The mask may be unlocked if a a timeout occurs based on the timeout attribute of this message, or by several other methods outlined in ISO11783-6, such as "proprietary reasons".
[in] | state | The target lock/unlock state |
[in] | objectID | The object ID of the target mask |
[in] | timeout_ms | The max time to lock the mask, or 0 for no timeout. Does not apply to unlock commands. |
Definition at line 593 of file isobus_virtual_terminal_client.cpp.
|
protected |
Sends a message to the VT server.
[in] | dataBuffer | A pointer to the data buffer to send |
[in] | dataLength | The length of the data buffer |
[in] | priority | The priority of the message (default is Priority5) |
Definition at line 1745 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_move_graphics_cursor | ( | std::uint16_t | objectID, |
std::int16_t | xOffset, | ||
std::int16_t | yOffset ) |
Sends the move graphics cursor command.
This command alters the graphics cursor x/y attributes of the object by moving it relative to its current position.
[in] | objectID | The ID of the target object |
[in] | xOffset | The new relative X offset of the cursor |
[in] | yOffset | The new relative Y offset of the cursor |
Definition at line 711 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_pan_and_zoom_viewport | ( | std::uint16_t | objectID, |
std::int16_t | xAttribute, | ||
std::int16_t | yAttribute, | ||
float | zoom ) |
Sends the pan and zoom viewport command.
This command allows both panning and zooming at the same time.
[in] | objectID | The ID of the target object |
[in] | xAttribute | The viewport X attribute |
[in] | yAttribute | The viewport Y attribute |
[in] | zoom | Zoom value, -32.0 to 32.0 |
Definition at line 945 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_pan_viewport | ( | std::uint16_t | objectID, |
std::int16_t | xAttribute, | ||
std::int16_t | yAttribute ) |
Sends the pan viewport command.
This command modifies the viewport X and Y attributes and forces a redraw of the object.This allows �panning� of the underlying object contents. The graphics cursor is not moved.
[in] | objectID | The ID of the target object |
[in] | xAttribute | The viewport X attribute |
[in] | yAttribute | The viewport Y attribute |
Definition at line 910 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_select_active_working_set | ( | std::uint64_t | NAMEofWorkingSetMasterForDesiredWorkingSet | ) |
Sends the select active working set command.
[in] | NAMEofWorkingSetMasterForDesiredWorkingSet | The NAME of the target working set master |
Definition at line 684 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_select_colour_map_or_palette | ( | std::uint16_t | objectID | ) |
Sends the select colour map or palette command.
[in] | objectID | The object to select |
Definition at line 658 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_select_input_object | ( | std::uint16_t | objectID, |
SelectInputObjectOptions | option ) |
Sends a select input object command.
This command is used to force the selection of an input field, Button, or Key object.
[in] | objectID | The ID of the target object |
[in] | option | The method by which the object will be selected |
Definition at line 292 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_set_audio_volume | ( | std::uint8_t | volume_percent | ) |
Sends the set audio volume command.
This command applies to subsequent Control Audio Signal commands. VTs that are not able to modify the volume of the currently playing tone shall set the Audio device is busy bit in the response.This command should not affect in any way the volume settings of other Working Sets and shall not affect the volume of Alarm Masks.
[in] | volume_percent | The volume percentage to set the VT server to |
Definition at line 331 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_set_background_colour | ( | std::uint16_t | objectID, |
std::uint8_t | colour ) |
Sends the set background colour command.
This command modifies the background colour attribute.The graphics cursor is not moved.
[in] | objectID | The ID of the target object |
[in] | colour | See standard colour palette, 0-255 |
Definition at line 737 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_set_fill_attributes_object_id | ( | std::uint16_t | objectID, |
std::uint16_t | fillAttributeobjectID ) |
Sends the fill attributes object id.
This command modifies the fill object attribute. All drawing commands that follow use the new attribute value. For no filling, set the Object ID to NULL. The graphics cursor is not moved.
[in] | objectID | The ID of the target object |
[in] | fillAttributeobjectID | The object ID of the fill attribute |
Definition at line 763 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_set_font_attributes_object_id | ( | std::uint16_t | objectID, |
std::uint16_t | fontAttributesObjectID ) |
Sends the set fill attributes object ID command.
This command modifies the font object attribute. All drawing commands that follow use the new attribute value. If text is not being used, the object can be set to NULL. The graphics cursor is not moved.
[in] | objectID | The ID of the target object |
[in] | fontAttributesObjectID | The object ID of the font attribute |
Definition at line 776 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_set_foreground_colour | ( | std::uint16_t | objectID, |
std::uint8_t | colour ) |
Sends the set foreground colour command.
This command modifies the foreground colour attribute.The graphics cursor is not moved.
[in] | objectID | The ID of the target object |
[in] | colour | See standard colour palette, 0-255 |
Definition at line 724 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_set_graphics_cursor | ( | std::uint16_t | objectID, |
std::int16_t | xPosition, | ||
std::int16_t | yPosition ) |
Sends the set graphics cursor command.
This command sets the graphics cursor X/Y attributes of the object.
[in] | objectID | The ID of the target object |
[in] | xPosition | The new X position (px) |
[in] | yPosition | The new Y position (px) |
Definition at line 698 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_set_line_attributes_object_id | ( | std::uint16_t | objectID, |
std::uint16_t | lineAttributeobjectID ) |
Sends the set line attributes object id.
This command modifies the Output Line object attribute. All drawing commands that follow use the new attribute value. For line suppression, set the Object ID to NULL. The graphics cursor is not moved.
[in] | objectID | The ID of the target object |
[in] | lineAttributeobjectID | The object ID of the line attribute |
Definition at line 750 of file isobus_virtual_terminal_client.cpp.
|
protected |
Sends the store version message.
[in] | versionLabel | The version label to store |
Definition at line 1889 of file isobus_virtual_terminal_client.cpp.
|
protected |
Sends the working set maintenance message.
[in] | initializing | Used to set the initializing bit |
Definition at line 1768 of file isobus_virtual_terminal_client.cpp.
|
protected |
Sends the working set master message.
Definition at line 1978 of file isobus_virtual_terminal_client.cpp.
bool isobus::VirtualTerminalClient::send_zoom_viewport | ( | std::uint16_t | objectID, |
float | zoom ) |
Sends the zoom viewport command.
This command allows magnification of the viewport contents. See section on zooming for meaning of the zoom value. The graphics cursor is not moved.
[in] | objectID | The ID of the target object |
[in] | zoom | Zoom value, -32.0 to 32.0 |
Definition at line 923 of file isobus_virtual_terminal_client.cpp.
void isobus::VirtualTerminalClient::set_auxiliary_input_model_identification_code | ( | std::uint16_t | modelIdentificationCode | ) |
Set the model identification code of our auxiliary input device.
The model identification code is used to allow other devices identify whether our device differs from a previous versions. If the model identification code is different, the preferred assignments are reset.
[in] | modelIdentificationCode | The model identification code |
Definition at line 208 of file isobus_virtual_terminal_client.cpp.
void isobus::VirtualTerminalClient::set_object_pool | ( | std::uint8_t | poolIndex, |
const std::uint8_t * | pool, | ||
std::uint32_t | size, | ||
std::string | version = "" ) |
Assigns an object pool to the client using a buffer and size.
This is good for small pools or pools where you have all the data in memory.
[in] | poolIndex | The index of the pool you are assigning |
[in] | pool | A pointer to the object pool. Must remain valid until client is connected! |
[in] | size | The object pool size |
[in] | version | An optional version string. The stack will automatically store/load your pool from the VT if this is provided. |
Definition at line 1225 of file isobus_virtual_terminal_client.cpp.
void isobus::VirtualTerminalClient::set_object_pool | ( | std::uint8_t | poolIndex, |
const std::vector< std::uint8_t > * | pool, | ||
std::string | version = "" ) |
Assigns an object pool to the client using a vector.
This is good for small pools or pools where you have all the data in memory.
[in] | poolIndex | The index of the pool you are assigning |
[in] | pool | A pointer to the object pool. Must remain valid until client is connected! |
[in] | version | An optional version string. The stack will automatically store/load your pool from the VT if this is provided. |
Definition at line 1254 of file isobus_virtual_terminal_client.cpp.
void isobus::VirtualTerminalClient::set_object_pool_scaling | ( | std::uint8_t | poolIndex, |
std::uint32_t | originalDataMaskDimensions_px, | ||
std::uint32_t | originalSoftKyeDesignatorHeight_px ) |
Configures an object pool to be automatically scaled to match the target VT server.
[in] | poolIndex | The index of the pool you want to auto-scale |
[in] | originalDataMaskDimensions_px | The data mask width that your object pool was originally designed for |
[in] | originalSoftKyeDesignatorHeight_px | The soft key designator width that your object pool was originally designed for |
Definition at line 1283 of file isobus_virtual_terminal_client.cpp.
|
protected |
Sets the state machine state and updates the associated timestamp.
[in] | value | The new state for the state machine |
Definition at line 2125 of file isobus_virtual_terminal_client.cpp.
void isobus::VirtualTerminalClient::terminate | ( | ) |
Terminates the client and joins the worker thread if applicable.
Definition at line 83 of file isobus_virtual_terminal_client.cpp.
void isobus::VirtualTerminalClient::update | ( | ) |
Periodic Update Function (worker thread may call this)
This class can spawn a thread, or you can supply your own to run this function. To configure that behavior, see the initialize function.
Definition at line 1322 of file isobus_virtual_terminal_client.cpp.
void isobus::VirtualTerminalClient::update_auxiliary_input | ( | const std::uint16_t | auxiliaryInputID, |
const std::uint16_t | value1, | ||
const std::uint16_t | value2, | ||
const bool | controlLocked = false ) |
Update the state of an auxiliary input. This should be called when the value of an auxiliary input changes.
[in] | auxiliaryInputID | The ID of the auxiliary input |
[in] | value1 | The first value of the auxiliary input. See Table J.5 of Part 6 of the standard for details. |
[in] | value2 | The second value of the auxiliary input. See Table J.5 of Part 6 of the standard for details. |
[in] | controlLocked | Whether the auxiliary input is locked |
Definition at line 233 of file isobus_virtual_terminal_client.cpp.
|
protected |
Send the auxiliary control type 2 status message for all inputs if applicable.
Definition at line 2060 of file isobus_virtual_terminal_client.cpp.
|
protected |
Send the auxiliary control type 2 status message for a specific input if applicable.
[in] | objectID | The object ID of the input |
Definition at line 2068 of file isobus_virtual_terminal_client.cpp.
|
protected |
The worker thread will execute this function when it runs, if applicable.
Definition at line 4562 of file isobus_virtual_terminal_client.cpp.
|
protected |
The active working set data mask object ID.
Definition at line 1602 of file isobus_virtual_terminal_client.hpp.
|
protected |
The active working set master address.
Definition at line 1604 of file isobus_virtual_terminal_client.hpp.
|
protected |
The active working set's softkey mask object ID.
Definition at line 1603 of file isobus_virtual_terminal_client.hpp.
|
protected |
A container to hold all auxiliary input devices known.
Definition at line 1635 of file isobus_virtual_terminal_client.hpp.
|
protected |
A list of all control audio signal termination callbacks.
Definition at line 1664 of file isobus_virtual_terminal_client.hpp.
|
staticconstexprprotected |
The delay between the auxiliary input status messages, in milliseconds.
Definition at line 1342 of file isobus_virtual_terminal_client.hpp.
|
staticconstexprprotected |
The delay between the auxiliary input status messages when the input is interacted with, in milliseconds.
Definition at line 1343 of file isobus_virtual_terminal_client.hpp.
|
staticconstexprprotected |
The delay between auxiliary maintenance messages.
Definition at line 1593 of file isobus_virtual_terminal_client.hpp.
|
protected |
A list of all auxiliary function callbacks.
Definition at line 1665 of file isobus_virtual_terminal_client.hpp.
|
protected |
The VT server's busy codes.
Definition at line 1605 of file isobus_virtual_terminal_client.hpp.
|
protected |
A list of all button event callbacks.
Definition at line 1655 of file isobus_virtual_terminal_client.hpp.
|
protected |
A list of all change active mask callbacks.
Definition at line 1660 of file isobus_virtual_terminal_client.hpp.
|
protected |
A list of all change numeric value callbacks.
Definition at line 1659 of file isobus_virtual_terminal_client.hpp.
|
protected |
A list of all change soft key mask callbacks.
Definition at line 1661 of file isobus_virtual_terminal_client.hpp.
|
protected |
A list of all change string value callbacks.
Definition at line 1662 of file isobus_virtual_terminal_client.hpp.
|
protected |
Determines if we are currently waiting for a response to a command.
Definition at line 1649 of file isobus_virtual_terminal_client.hpp.
|
protected |
A queue of commands to send to the VT server.
Definition at line 1648 of file isobus_virtual_terminal_client.hpp.
|
protected |
A mutex to protect the command queue.
Definition at line 1651 of file isobus_virtual_terminal_client.hpp.
|
protected |
The VT server's supported max version.
Definition at line 1608 of file isobus_virtual_terminal_client.hpp.
|
protected |
The VT server's current command function code.
Definition at line 1606 of file isobus_virtual_terminal_client.hpp.
|
protected |
The current upload state of the object pool being processed.
Definition at line 1629 of file isobus_virtual_terminal_client.hpp.
|
protected |
A list of all ESC event callbacks.
Definition at line 1658 of file isobus_virtual_terminal_client.hpp.
|
protected |
Stores if the current update cycle is the first time a state machine state has been processed.
Definition at line 1641 of file isobus_virtual_terminal_client.hpp.
|
protected |
The text font capabilities supported by the VT server.
Definition at line 1619 of file isobus_virtual_terminal_client.hpp.
|
protected |
The reported hardware features from the VT server.
Definition at line 1625 of file isobus_virtual_terminal_client.hpp.
|
protected |
Stores the client initialization state.
Definition at line 1642 of file isobus_virtual_terminal_client.hpp.
LanguageCommandInterface isobus::VirtualTerminalClient::languageCommandInterface |
Used to determine the language and unit systems in use by the VT server.
Definition at line 1261 of file isobus_virtual_terminal_client.hpp.
|
protected |
The large font sizes supported by the VT server.
Definition at line 1618 of file isobus_virtual_terminal_client.hpp.
|
protected |
The timestamp from the last time we sent the maintenance message.
Definition at line 1632 of file isobus_virtual_terminal_client.hpp.
|
protected |
The timestamp of the last command sent.
Definition at line 1650 of file isobus_virtual_terminal_client.hpp.
|
protected |
The last object pool index that was processed.
Definition at line 1669 of file isobus_virtual_terminal_client.hpp.
|
protected |
The timestamp of the last VT status message.
Definition at line 1601 of file isobus_virtual_terminal_client.hpp.
|
protected |
The timestamp from the last time we sent the maintenance message.
Definition at line 1631 of file isobus_virtual_terminal_client.hpp.
|
protected |
The internal control function the client uses to send from.
Definition at line 1596 of file isobus_virtual_terminal_client.hpp.
|
protected |
The number of physical softkeys supported by the VT server.
Definition at line 1614 of file isobus_virtual_terminal_client.hpp.
|
protected |
The number of virtual softkeys per softkey mask as reported by the VT server.
Definition at line 1613 of file isobus_virtual_terminal_client.hpp.
|
protected |
The callback to use to get pool data.
Definition at line 1668 of file isobus_virtual_terminal_client.hpp.
|
protected |
A container to hold all object pools that have been assigned to the interface.
Definition at line 1633 of file isobus_virtual_terminal_client.hpp.
|
protected |
The inputs on this auxiliary input device.
Definition at line 1637 of file isobus_virtual_terminal_client.hpp.
|
protected |
The model identification code of this input device.
Definition at line 1636 of file isobus_virtual_terminal_client.hpp.
|
protected |
The partner control function this client will send to.
Definition at line 1595 of file isobus_virtual_terminal_client.hpp.
|
protected |
A list of all pointing event callbacks.
Definition at line 1656 of file isobus_virtual_terminal_client.hpp.
|
protected |
A list of all select input object callbacks.
Definition at line 1657 of file isobus_virtual_terminal_client.hpp.
|
protected |
Used internally to enable and disable cyclic sending of the auxiliary maintenance message.
Definition at line 1644 of file isobus_virtual_terminal_client.hpp.
|
protected |
Used internally to enable and disable cyclic sending of the working set maintenance message.
Definition at line 1643 of file isobus_virtual_terminal_client.hpp.
|
protected |
Used to determine if the client should exit and join the worker thread.
Definition at line 1645 of file isobus_virtual_terminal_client.hpp.
|
protected |
The small font sizes supported by the VT server.
Definition at line 1617 of file isobus_virtual_terminal_client.hpp.
|
protected |
A list of all soft key event callbacks.
Definition at line 1654 of file isobus_virtual_terminal_client.hpp.
|
protected |
The size of a soft key X dimension as reported by the VT server.
Definition at line 1611 of file isobus_virtual_terminal_client.hpp.
|
protected |
The size of a soft key Y dimension as reported by the VT server.
Definition at line 1612 of file isobus_virtual_terminal_client.hpp.
|
protected |
The current client state machine state.
Definition at line 1628 of file isobus_virtual_terminal_client.hpp.
|
protected |
Timestamp from the last state machine update.
Definition at line 1630 of file isobus_virtual_terminal_client.hpp.
|
protected |
The graphics mode reported by the VT server.
Definition at line 1622 of file isobus_virtual_terminal_client.hpp.
|
protected |
A retry mechanism for internal Tx messages.
Definition at line 1598 of file isobus_virtual_terminal_client.hpp.
|
protected |
Holds the functions unsupported by the server.
Definition at line 1634 of file isobus_virtual_terminal_client.hpp.
|
protected |
A list of all user layout hide/show callbacks.
Definition at line 1663 of file isobus_virtual_terminal_client.hpp.
|
staticconstexprprotected |
The max allowable time between VT status messages before its considered offline.
Definition at line 1591 of file isobus_virtual_terminal_client.hpp.
|
protected |
The worker thread that updates this interface.
Definition at line 1639 of file isobus_virtual_terminal_client.hpp.
|
staticconstexprprotected |
The delay between working set maintenance messages.
Definition at line 1592 of file isobus_virtual_terminal_client.hpp.
|
protected |
The x pixel dimension as reported by the VT server.
Definition at line 1623 of file isobus_virtual_terminal_client.hpp.
|
protected |
The y pixel dimension as reported by the VT server.
Definition at line 1624 of file isobus_virtual_terminal_client.hpp.