- Documentation Zone Standard HMI Modules SHIPHarbour SHIPHarbour: DataTypes
- Getting to Know Smart Touch Surfaces (STS)
- Streamlined HMI Modules
-
Standard HMI Modules
- HMI Display Module Series SIMx21 TouchGFX
-
HMI Display Module Series SIMx52 SHIP
- Hardware
-
Firmware/Software
- SHIP
-
Getting started with SHIP
- AN1001 – Animation in SHIP
- AN1003 – Upgrading your SIM’s SHIPEngine Firmware
- AN1004 – Uploading your SIM’s SHIP GUI Load
- AN1005 – Customizing and Loading Splash Screens (GUI)
- AN1006 – Resetting SHIPTide to the Default Layout
- AN1007 – Creating Functions in SHIP
- AN1008 – Get Started Using SHIPCrane
- AN1009 – Scope and Name Searching
- Communications App Notes
- Protocols
- SHIP Project Properties
- GUI Reference Manual
- High performance HMI Modules
- Documentation
In this article
Not finding what you were looking for?
Contact usSHIPHarbour: DataTypes
Description
The SHIPHarbour API re-defines all the primitive data types from the protobuf format into messages in order to be able to test if the member was initialized or not. This is because there is no way to tell if a member was set to the default value intentionally or was never set, unless the member is a message. Additionally, all enums are declared in this file because it is not possible to have two different enum types to use the same name.
Primitives
SInt64Value
Variable-length encoded signed 64-bit integer value.
UInt64Value
Variable-length encoded unsigned 64-bit integer value.
Fixed64Value
Fixed-length encoded unsigned 64-bit integer value.
DoubleValue
Fixed-length encoded 64-bit floating point value.
Int32Value
Variable-length encoded signed 32-bit integer value.
UInt32Value
Variable-length encoded unsigned 32-bit integer value.
FloatValue
Fixed-length 32-bit floating point value.
BoolValue
Fixed-length binary value.
StringValue
Arbitrary-length UTF-8 and/or 7-bit ASCII text values.
BytesValue
Arbitrary-length byte values.
Enums
VersionCode
Appears in all SHIPHarbour requests, used to track compatibility-breaking changes to the SHIPHarbour message structures.
ErrorCode
Appears in all SHIPHarbour requests, used for validating if a requested operation worked and diagnosing failures.
ProgramType
Used as part of the Program type to describe a kind of a program that can execute on a Serious module.
ProgramState
Used as part of the Program type to describe the state of a program that can execute on a Serious module.
FirmwareType
Used by ModuleInfo requests to report the type of the currently executing program of a Serious module. Also used by Firmware requests.
UpdateMethod
Used by Update requests to specify how the module is allowed to apply the update.
UpdateStage
Used in responses to Update requests to notify the step of the update process being performed.
FSType
Used by Files requests to specify a target file system on a Serious module.
Core Types
Program
Used by SetState requests to describe the desired program and state transition as well as current program and state.
FirmwareVersion
Used as part of the Firmware type to describe the version of a firmware.
Firmware
Used as part of the ModuleDetails type to inform the client what program the Serious module is currently running.
Endpoint
Used to uniquely identify a communications channel between a Serious module and SHIPHarbour Master.
Module
Used as part of the ModuleDetails type to uniquely identify the Serious module and associate Endpoints.
ModuleDetails
Used in spontaneous ModuleInfo updates to inform the client about module connections and disconnections in SHIPHarbour Master.
PluginDetails
Used in spontaneous PluginInfo updates to inform the client about communications plugins available in SHIPHarbour Master.
RoutineInfo
Appears in all Routine requests, used to create and route a request to perform an operation on a specific Endpoint inside of SHIPHarbour Master.