File: reach.pb.h¶
This file an annotated copy of reach.pb.h which is generated from reach.proto. reach.pb.h defines the protobuf structures in C. This version is hand edited to provide Doxygen comments. See reach.pb.h for the latest.
- Date
2024-06-14
- Copyright
(c) Copyright 2023-2024 i3 Product Development. All Rights Reserved. The Cygngus Reach firmware stack is shared under an MIT license.
Typedefs
-
typedef enum _cr_ReachProto_MAJOR_Version cr_ReachProto_MAJOR_Version¶
The major version generally changes to signal a break in compatibility
-
typedef enum _cr_ReachProto_MINOR_Version cr_ReachProto_MINOR_Version¶
The minor version changes at a release which is not completely compatible
-
typedef enum _cr_ReachProto_PATCH_Version cr_ReachProto_PATCH_Version¶
The patch version changes every time a hex file goes out the door.
-
typedef enum _cr_ReachMessageTypes cr_ReachMessageTypes¶
These values identify the type of the Reach message.
-
typedef enum _cr_ServiceIds cr_ServiceIds¶
binary bit masks or’ed together into the DeviceInfoResponse.services
-
typedef enum _cr_EndpointIds cr_EndpointIds¶
binary bit masks or’ed together into the DeviceInfoResponse.endpoints
-
typedef enum _cr_ParameterDataType cr_ParameterDataType¶
These are the types of data that can be stored as parameters.
-
typedef enum _cr_AccessLevel cr_AccessLevel¶
permissions
-
typedef enum _cr_StorageLocation cr_StorageLocation¶
The types of memory in which parameters are stored. RAM and NVM (Non Volatile Memory) are most common.
-
typedef enum _cr_WiFiSecurity cr_WiFiSecurity¶
WiFi security type
-
typedef enum _cr_WiFiBand cr_WiFiBand¶
WiFi Band
-
typedef enum _cr_ErrorCodes cr_ErrorCodes¶
Reach uses these error codes.
-
typedef enum _cr_FileTransferState cr_FileTransferState¶
Describes file transfer state machine
-
typedef enum _cr_SizesOffsets cr_SizesOffsets¶
This describes the offset of each member of the BufferSizes message when packed for transmission
-
typedef struct _cr_ReachMessageHeader cr_ReachMessageHeader¶
This is the “classic” Reach service routing message header.
/ It is now deprecated in favor of the AhsokaMessageHeader.
-
typedef struct _cr_ReachMessage cr_ReachMessage¶
A reach packet includes a header and a payload.
-
typedef struct _cr_AhsokaMessageHeader cr_AhsokaMessageHeader¶
This Service Routing Message Header is used in the OpenPV system. / Reach can speak it. / This object represents the Layer 2 Message Format for OpenPV Service Messages. / The ordinals are presereved but the names are changed to match
-
typedef struct _cr_ErrorReport cr_ErrorReport¶
ERROR_REPORT: Could be sent asynchronously to indicate an error.
-
typedef struct _cr_PingRequest cr_PingRequest¶
Request Object used to Echo Data for testing the Device Communication
-
typedef struct _cr_PingResponse cr_PingResponse¶
Response Object used to Echo Data for testing the Device Communication
-
typedef struct _cr_DeviceInfoRequest cr_DeviceInfoRequest¶
Required Device Information Service Reach sessions are opened with the device info request and response.
-
typedef struct _cr_DeviceInfoResponse cr_DeviceInfoResponse¶
This message is returned in answer to the first “who are you” query from the client.
-
typedef struct _cr_ParameterInfoRequest cr_ParameterInfoRequest¶
Parameter Service Parameters provide a simple key:value database. The key is an ID number.
The value can be of various common types up to (typically) 32 bytes.
Parameters support a robust description which can be const, stored in flash.
Parameters can be configured to support notifying the client. The ParameterInfoRequest is used by the client to request detailed information about a set of parameters.
-
typedef struct _cr_Uint32ParameterInfo cr_Uint32ParameterInfo¶
A member of a union (oneof) that describes a uint32
-
typedef struct _cr_Int32ParameterInfo cr_Int32ParameterInfo¶
A member of a union (oneof) that describes an sint32
-
typedef struct _cr_Float32ParameterInfo cr_Float32ParameterInfo¶
A member of a union (oneof) that describes a float32
-
typedef struct _cr_Uint64ParameterInfo cr_Uint64ParameterInfo¶
A member of a union (oneof) that describes a uint64
-
typedef struct _cr_Int64ParameterInfo cr_Int64ParameterInfo¶
A member of a union (oneof) that describes an sint64
-
typedef struct _cr_Float64ParameterInfo cr_Float64ParameterInfo¶
A member of a union (oneof) that describes a float64
-
typedef struct _cr_BoolParameterInfo cr_BoolParameterInfo¶
A member of a union (oneof) that describes a boolean
-
typedef struct _cr_StringParameterInfo cr_StringParameterInfo¶
A member of a union (oneof) that describes a string
-
typedef struct _cr_EnumParameterInfo cr_EnumParameterInfo¶
A member of a union (oneof) that describes an enumerated value
-
typedef struct _cr_BitfieldParameterInfo cr_BitfieldParameterInfo¶
A member of a union (oneof) that describes a bitfield
-
typedef struct _cr_ByteArrayParameterInfo cr_ByteArrayParameterInfo¶
A member of a union (oneof) that describes a byte array
-
typedef struct _cr_ParameterInfo cr_ParameterInfo¶
A ParameterInfo structure describes a parameter so that it can be easily viewed an edited / by humans using a generic parameter editor.
-
typedef struct _cr_ParameterInfoResponse cr_ParameterInfoResponse¶
The response to ParameterInfoRequest
-
typedef struct _cr_ParamExKey cr_ParamExKey¶
The ParamExKey is used to give names to enums, bitfields, and booleans. / It is typically supplied in an array. / More than one parameter can point to the same ParamExKey.
-
typedef struct _cr_ParamExInfoResponse cr_ParamExInfoResponse¶
Describes enum, bitfield, and boolean labels
-
typedef struct _cr_ParameterRead cr_ParameterRead¶
A structure used to read one or more parameters
-
typedef struct _cr_ParameterWriteResponse cr_ParameterWriteResponse¶
The response to a parameter write
-
typedef struct _cr_ParameterNotifyConfig cr_ParameterNotifyConfig¶
Parameter Notification configuration / Notification can be enabled with conditions for each parameter.
-
typedef struct _cr_ParameterEnableNotifications cr_ParameterEnableNotifications¶
A message used to enable notifications
-
typedef struct _cr_ParameterDisableNotifications cr_ParameterDisableNotifications¶
A message used to disable notifications
-
typedef struct _cr_ParameterNotifyConfigResponse cr_ParameterNotifyConfigResponse¶
The response to enable and disable notifications
-
typedef struct _cr_DiscoverParameterNotifications cr_DiscoverParameterNotifications¶
The client can discover how notifications are setup.
-
typedef struct _cr_DiscoverParameterNotificationsResponse cr_DiscoverParameterNotificationsResponse¶
Reports which notifications are enabled.
-
typedef struct _cr_ParameterValue cr_ParameterValue¶
A message used to send or receive a single parameter value.
-
typedef struct _cr_ParameterReadResponse cr_ParameterReadResponse¶
A structure used to return the values read from one or more parameters
-
typedef struct _cr_ParameterWrite cr_ParameterWrite¶
A structure used to write one or more Parameters
-
typedef struct _cr_ParameterNotification cr_ParameterNotification¶
A message of this type is sent by the server when parameters change.
-
typedef struct _cr_DiscoverFiles cr_DiscoverFiles¶
The optional file service provides a method of efficiently transfering large blocks of data.
-
typedef struct _cr_FileInfo cr_FileInfo¶
A structure describing a file
-
typedef struct _cr_DiscoverFilesResponse cr_DiscoverFilesResponse¶
The response to discover files
-
typedef struct _cr_FileTransferRequest cr_FileTransferRequest¶
Begins a File Transfer (Upload / Download)
-
typedef struct _cr_FileTransferResponse cr_FileTransferResponse¶
The response to a file transfer request
-
typedef struct _cr_FileTransferData cr_FileTransferData¶
A bidirectional message describing a packet of file data
-
typedef struct _cr_FileTransferDataNotification cr_FileTransferDataNotification¶
The response to a file transfer
-
typedef struct _cr_FileEraseRequest cr_FileEraseRequest¶
A request to erase (set size to zero) a file.
-
typedef struct _cr_FileEraseResponse cr_FileEraseResponse¶
The response to a file erase request
-
typedef struct _cr_DiscoverStreams cr_DiscoverStreams¶
A request to list the streams supported by the device
-
typedef struct _cr_StreamInfo cr_StreamInfo¶
A structure describing a stream
-
typedef struct _cr_DiscoverStreamsResponse cr_DiscoverStreamsResponse¶
The response to DiscoverStreams
-
typedef struct _cr_StreamOpen cr_StreamOpen¶
A structure requesting to open a stream
-
typedef struct _cr_StreamResponse cr_StreamResponse¶
The response to StreamOpen and StreamClose requests
-
typedef struct _cr_StreamClose cr_StreamClose¶
A structure requesting to close a stream
-
typedef struct _cr_StreamData cr_StreamData¶
Bi-Directional message used to asynchronously send stream data to the other side.
-
typedef struct _cr_DiscoverCommands cr_DiscoverCommands¶
The (optional) Command Service allows actions to be triggered from the Reach UI.
-
typedef struct _cr_CommandInfo cr_CommandInfo¶
The description of a command.
-
typedef struct _cr_DiscoverCommandsResponse cr_DiscoverCommandsResponse¶
Response to a DiscoverCommands request.
-
typedef struct _cr_SendCommand cr_SendCommand¶
Prompts the device to execute this command.
-
typedef struct _cr_SendCommandResponse cr_SendCommandResponse¶
A response acknowledging the completion of a command.
-
typedef struct _cr_CLIData cr_CLIData¶
The optional Command Line Interface (CLI) service allows command line messages to be transfered / between the client and the server. Messages can travel in both directions. Messages are asynchronous. / The client can send a command line and the server can respond. / The server can also asynchrously send strings representing the output of the device. / The CLIData message is used in both directions.
-
typedef struct _cr_TimeSetRequest cr_TimeSetRequest¶
The optional Time Service is designed to allow the client to / set and adjust the real time clock in a server device. / The time is best specified as UTC plus timezone offset. / Although the timezone is optional, it’s best to use it. / TimeSetRequest requests setting the server device time to this value.
-
typedef struct _cr_TimeSetResponse cr_TimeSetResponse¶
The response to the TimeSetRequest
-
typedef struct _cr_TimeGetRequest cr_TimeGetRequest¶
A request to read the time from the server.
-
typedef struct _cr_TimeGetResponse cr_TimeGetResponse¶
The response to a TimeGetRequest
-
typedef struct _cr_ConnectionDescription cr_ConnectionDescription¶
A structure describing a WiFi connection or access point / The optional WiFi service is intended to simplify the / repetitive task of communicating WiFi credentials to the device.
-
typedef struct _cr_ScanWiFi cr_ScanWiFi¶
Commands the server to initiate a scan for WiFi access points. / As this may take some time, issue it and check the response later.
-
typedef struct _cr_DiscoverWiFi cr_DiscoverWiFi¶
A request to provide a list access points
-
typedef struct _cr_DiscoverWiFiResponse cr_DiscoverWiFiResponse¶
response to DiscoverWiFi
-
typedef struct _cr_WiFiConnectionRequest cr_WiFiConnectionRequest¶
A structure describing a WiFi connection request
-
typedef struct _cr_WiFiConnectionResponse cr_WiFiConnectionResponse¶
Describes the response to a WiFi connection request
-
typedef struct _cr_BufferSizes cr_BufferSizes¶
This data describing the sizes of the structures used in C code is communicated in a packed format in the device info structure. Here it’s defined in an unpacked (all 32 bit) format. Use the offsets defined below (SizesOffsets) to unpack into this structure. The file “reach_ble_proto_sizes.h” and the function populate_device_info_sizes() are good places to look for further info.
Enums
-
enum _cr_ReachProto_MAJOR_Version¶
The major version generally changes to signal a break in compatibility
Values:
-
enumerator cr_ReachProto_MAJOR_Version_MAJOR_VERSION¶
-
enumerator cr_ReachProto_MAJOR_Version_MAJOR_VERSION¶
-
enum _cr_ReachProto_MINOR_Version¶
The minor version changes at a release which is not completely compatible
Values:
-
enumerator cr_ReachProto_MINOR_Version_MINOR_V0¶
Must have a zero
-
enumerator cr_ReachProto_MINOR_Version_MINOR_VERSION¶
Update at a release or a big change
-
enumerator cr_ReachProto_MINOR_Version_MINOR_V0¶
-
enum _cr_ReachProto_PATCH_Version¶
The patch version changes every time a hex file goes out the door.
Values:
-
enumerator cr_ReachProto_PATCH_Version_PATCH_V0¶
Must have a zero
-
enumerator cr_ReachProto_PATCH_Version_PATCH_VERSION¶
Update when something changes
-
enumerator cr_ReachProto_PATCH_Version_PATCH_V0¶
-
enum _cr_ReachMessageTypes¶
These values identify the type of the Reach message.
Values:
-
enumerator cr_ReachMessageTypes_INVALID¶
No Valid Message
-
enumerator cr_ReachMessageTypes_ERROR_REPORT¶
Inform client of an error condition
-
enumerator cr_ReachMessageTypes_PING¶
Test the link to the server
-
enumerator cr_ReachMessageTypes_GET_DEVICE_INFO¶
Open the communication with a server
-
enumerator cr_ReachMessageTypes_DISCOVER_PARAMETERS¶
Parameters Get a list of all of the parameters in the repository
-
enumerator cr_ReachMessageTypes_DISCOVER_PARAM_EX¶
An extension to discover used by verbose parameters
-
enumerator cr_ReachMessageTypes_READ_PARAMETERS¶
Get the values of a set of parameters
-
enumerator cr_ReachMessageTypes_WRITE_PARAMETERS¶
Change the values of a set of parameters
-
enumerator cr_ReachMessageTypes_PARAMETER_NOTIFICATION¶
Sent from the server to the client when a parameter has changed
-
enumerator cr_ReachMessageTypes_DISCOVER_NOTIFICATIONS¶
Find out how notifications are setup
-
enumerator cr_ReachMessageTypes_PARAM_ENABLE_NOTIFY¶
setup parameter notifications
-
enumerator cr_ReachMessageTypes_PARAM_DISABLE_NOTIFY¶
disable parameter notifications
-
enumerator cr_ReachMessageTypes_DISCOVER_FILES¶
File Transfers Get a list of supported files
-
enumerator cr_ReachMessageTypes_TRANSFER_INIT¶
Begin a file transfer
-
enumerator cr_ReachMessageTypes_TRANSFER_DATA¶
(bi-directional) sends the requested data
-
enumerator cr_ReachMessageTypes_TRANSFER_DATA_NOTIFICATION¶
(bi-directional) Clears Sender to Send More Data
-
enumerator cr_ReachMessageTypes_ERASE_FILE¶
Set file size to zero.
-
enumerator cr_ReachMessageTypes_DISCOVER_COMMANDS¶
Commands Get a list of supported commands
-
enumerator cr_ReachMessageTypes_SEND_COMMAND¶
Reqeuest excecution of a command
-
enumerator cr_ReachMessageTypes_CLI_NOTIFICATION¶
Inform the other side (bi-directional) of a command line.
-
enumerator cr_ReachMessageTypes_DISCOVER_STREAMS¶
Get a list of supported streams
-
enumerator cr_ReachMessageTypes_OPEN_STREAM¶
Open a stream
-
enumerator cr_ReachMessageTypes_CLOSE_STREAM¶
Close a stream
-
enumerator cr_ReachMessageTypes_STREAM_DATA_NOTIFICATION¶
Inform the other side (bi-directional) of data on a stream.
-
enumerator cr_ReachMessageTypes_SET_TIME¶
Set the real time clock
-
enumerator cr_ReachMessageTypes_GET_TIME¶
Read the real time clock
-
enumerator cr_ReachMessageTypes_DISCOVER_WIFI¶
Get a list of WiFi acces points
-
enumerator cr_ReachMessageTypes_WIFI_CONNECT¶
Connect or disconnect to an access point
-
enumerator cr_ReachMessageTypes_INVALID¶
-
enum _cr_ServiceIds¶
binary bit masks or’ed together into the DeviceInfoResponse.services
Values:
-
enumerator cr_ServiceIds_NO_SVC_ID¶
No services. Device info service is required.
-
enumerator cr_ServiceIds_PARAMETER_REPO¶
Set this bit when the device supports the parameter service
-
enumerator cr_ServiceIds_FILES¶
Set this bit when the device supports the file service
-
enumerator cr_ServiceIds_STREAMS¶
Set this bit when the device supports the stream service
-
enumerator cr_ServiceIds_COMMANDS¶
Set this bit when the device supports the command service
-
enumerator cr_ServiceIds_CLI¶
Set this bit when the device supports the command line interface
-
enumerator cr_ServiceIds_TIME¶
Set this bit when the device supports the time service
-
enumerator cr_ServiceIds_WIFI¶
Set this bit when the device supports the WiFi service
-
enumerator cr_ServiceIds_NO_SVC_ID¶
-
enum _cr_EndpointIds¶
binary bit masks or’ed together into the DeviceInfoResponse.endpoints
Values:
-
enumerator cr_EndpointIds_NO_ENDPOINTS¶
No other endpoints
-
enumerator cr_EndpointIds_ONE¶
This is the first of multiple endpoints.
-
enumerator cr_EndpointIds_TWO¶
This is the second of multiple endpoints.
-
enumerator cr_EndpointIds_THREE¶
This is the third of multiple endpoints.
-
enumerator cr_EndpointIds_FOUR¶
This is the fourth of multiple endpoints.
-
enumerator cr_EndpointIds_NO_ENDPOINTS¶
-
enum _cr_ParameterDataType¶
These are the types of data that can be stored as parameters.
Values:
-
enumerator cr_ParameterDataType_UINT32¶
Unsigned 32 bit integer.
-
enumerator cr_ParameterDataType_INT32¶
Signed 32 bit integer.
-
enumerator cr_ParameterDataType_FLOAT32¶
32 bit floating point.
-
enumerator cr_ParameterDataType_UINT64¶
Unsigned 64 bit integer.
-
enumerator cr_ParameterDataType_INT64¶
Signed 64 bit integer.
-
enumerator cr_ParameterDataType_FLOAT64¶
64 bit floating point.
-
enumerator cr_ParameterDataType_BOOL¶
boolean (0 or 1)
-
enumerator cr_ParameterDataType_STRING¶
ASCII or UTF-8. Null Terminated.
-
enumerator cr_ParameterDataType_ENUMERATION¶
An extended description gives names to 32 bit integer values.
-
enumerator cr_ParameterDataType_BIT_FIELD¶
An extended description gives names to up to 64 bit positions.
-
enumerator cr_ParameterDataType_BYTE_ARRAY¶
An array of bytes.
-
enumerator cr_ParameterDataType_UINT32¶
-
enum _cr_AccessLevel¶
permissions
Values:
-
enumerator cr_AccessLevel_NO_ACCESS¶
No permission
-
enumerator cr_AccessLevel_READ¶
Read permission
-
enumerator cr_AccessLevel_WRITE¶
Write permission
-
enumerator cr_AccessLevel_READ_WRITE¶
Read and write permission
-
enumerator cr_AccessLevel_NO_ACCESS¶
-
enum _cr_StorageLocation¶
The types of memory in which parameters are stored. RAM and NVM (Non Volatile Memory) are most common.
Values:
-
enumerator cr_StorageLocation_STORAGE_LOCATION_INVALID¶
unknown, not used
-
enumerator cr_StorageLocation_RAM¶
RAM, volatile, not saved on reboot.
-
enumerator cr_StorageLocation_NONVOLATILE¶
Flash or some other method saved over reboot
-
enumerator cr_StorageLocation_RAM_EXTENDED¶
In case a device has two RAM locations
-
enumerator cr_StorageLocation_NONVOLATILE_EXTENDED¶
In case a device has two non volatile locations
-
enumerator cr_StorageLocation_STORAGE_LOCATION_INVALID¶
-
enum _cr_WiFiSecurity¶
WiFi security type
Values:
-
enumerator cr_WiFiSecurity_OPEN¶
No security
-
enumerator cr_WiFiSecurity_WEP¶
WEP
-
enumerator cr_WiFiSecurity_WPA¶
WPA
-
enumerator cr_WiFiSecurity_WPA2¶
WPA2
-
enumerator cr_WiFiSecurity_WPA3¶
WPA3
-
enumerator cr_WiFiSecurity_OPEN¶
-
enum _cr_WiFiBand¶
WiFi Band
Values:
-
enumerator cr_WiFiBand_NO_BAND¶
Not specified
-
enumerator cr_WiFiBand_BAND_2¶
2.4GHz
-
enumerator cr_WiFiBand_BAND_5¶
5GHz
-
enumerator cr_WiFiBand_NO_BAND¶
-
enum _cr_ErrorCodes¶
Reach uses these error codes.
Values:
-
enumerator cr_ErrorCodes_NO_ERROR¶
Normal conclusion, no problem.
-
enumerator cr_ErrorCodes_NO_DATA¶
No data was produced
-
enumerator cr_ErrorCodes_READ_FAILED¶
The read failed.
-
enumerator cr_ErrorCodes_WRITE_FAILED¶
The write failed.
-
enumerator cr_ErrorCodes_NOT_IMPLEMENTED¶
returned by weak implementations
-
enumerator cr_ErrorCodes_RESERVED_1¶
not yet used
-
enumerator cr_ErrorCodes_RESERVED_2¶
not yet used
-
enumerator cr_ErrorCodes_PERMISSION_DENIED¶
access not allowed
-
enumerator cr_ErrorCodes_BUFFER_TOO_SMALL¶
Requested a size larger than the buffer.
-
enumerator cr_ErrorCodes_INVALID_PARAMETER¶
Some function parameter is out of range
-
enumerator cr_ErrorCodes_CHECKSUM_MISMATCH¶
Received data does not match checksum
-
enumerator cr_ErrorCodes_DECODING_FAILED¶
Protobuf decoding failed
-
enumerator cr_ErrorCodes_ENCODING_FAILED¶
Protobuf encoding failed
-
enumerator cr_ErrorCodes_INVALID_STATE¶
The current state machine does not handle this case.
-
enumerator cr_ErrorCodes_NO_RESPONSE¶
handler signals no response is necessary
-
enumerator cr_ErrorCodes_BAD_FILE¶
bad file ID
-
enumerator cr_ErrorCodes_PACKET_COUNT_ERR¶
A received packet has an unexpected serial number
-
enumerator cr_ErrorCodes_CHALLENGE_FAILED¶
Access denied due to challenge key
-
enumerator cr_ErrorCodes_RESERVED_3¶
not yet used
-
enumerator cr_ErrorCodes_NO_RESOURCE¶
Some required resource is not available.
-
enumerator cr_ErrorCodes_INVALID_ID¶
The ID provided is not valid
-
enumerator cr_ErrorCodes_INCOMPLETE¶
The requested operation is incomplete and must be retried.
-
enumerator cr_ErrorCodes_ABORT¶
Operation cancellation
-
enumerator cr_ErrorCodes_NO_ERROR¶
-
enum _cr_FileTransferState¶
Describes file transfer state machine
Values:
-
enumerator cr_FileTransferState_FILE_TRANSFER_INVALID¶
FILE_TRANSFER_INVALID
-
enumerator cr_FileTransferState_IDLE¶
IDLE
-
enumerator cr_FileTransferState_INIT¶
INIT
-
enumerator cr_FileTransferState_DATA¶
DATA
-
enumerator cr_FileTransferState_COMPLETE¶
COMPLETE
-
enumerator cr_FileTransferState_FILE_TRANSFER_INVALID¶
-
enum _cr_SizesOffsets¶
This describes the offset of each member of the BufferSizes message when packed for transmission
Values:
-
enumerator cr_SizesOffsets_MAX_MESSAGE_SIZE_OFFSET¶
uint16_t, little endian
-
enumerator cr_SizesOffsets_BIG_DATA_BUFFER_SIZE_OFFSET¶
uint16_t, little endian
-
enumerator cr_SizesOffsets_PARAMETER_BUFFER_COUNT_OFFSET¶
uint8_t
-
enumerator cr_SizesOffsets_NUM_PARAMS_IN_RESPONSE_OFFSET¶
uint8_t
-
enumerator cr_SizesOffsets_DESCRIPTION_LEN_OFFSET¶
uint8_t
-
enumerator cr_SizesOffsets_MAX_PARAM_BYTES_OFFSET¶
uint8_t
-
enumerator cr_SizesOffsets_PARAM_INFO_DESCRIPTION_LEN_OFFSET¶
uint8_t
-
enumerator cr_SizesOffsets_MEDIUM_STRING_LEN_OFFSET¶
uint8_t
-
enumerator cr_SizesOffsets_SHORT_STRING_LEN_OFFSET¶
uint8_t
-
enumerator cr_SizesOffsets_PARAM_NOTIFY_CONFIG_COUNT_OFFSET¶
uint8_t
-
enumerator cr_SizesOffsets_NUM_DESCRIPTORS_IN_RESPONSE_OFFSET¶
uint8_t
-
enumerator cr_SizesOffsets_NUM_PARAM_NOTIFICATIONS_OFFSET¶
uint8_t
-
enumerator cr_SizesOffsets_NUM_COMMANDS_IN_RESPONSE_OFFSET¶
uint8_t
-
enumerator cr_SizesOffsets_COUNT_PARAM_DESC_IN_RESPONSE_OFFSET¶
uint8_t
-
enumerator cr_SizesOffsets_STRUCTURE_SIZE¶
just the size
-
enumerator cr_SizesOffsets_MAX_MESSAGE_SIZE_OFFSET¶
-
struct _cr_ReachMessageHeader¶
- #include <reach.h>
This is the “classic” Reach service routing message header.
/ It is now deprecated in favor of the AhsokaMessageHeader.
Public Members
-
uint32_t message_type¶
This ID defines the Type of Message being carried in the Envelope / Header
-
uint32_t endpoint_id¶
Routing for endpoints other than zero.
-
uint32_t client_id¶
To support multiple clients
-
uint32_t remaining_objects¶
Zero when transaction is complete
-
uint32_t transaction_id¶
An ID for a series of messages
-
uint32_t message_type¶
-
struct _cr_ReachMessage¶
- #include <reach.h>
A reach packet includes a header and a payload.
Public Members
-
bool has_header¶
Controls corresponding optional member.
-
cr_ReachMessageHeader header¶
A routing header
-
cr_ReachMessage_payload_t payload¶
The encoded payload
-
bool has_header¶
-
struct _cr_AhsokaMessageHeader¶
- #include <reach.h>
This Service Routing Message Header is used in the OpenPV system. / Reach can speak it. / This object represents the Layer 2 Message Format for OpenPV Service Messages. / The ordinals are presereved but the names are changed to match
Public Members
-
int32_t message_type¶
This ID defines the Type of Message being carried in the Envelope / Header Called transport_id in OpenPV terminology. Called message_type in Reach terms.
-
int32_t transaction_id¶
This ID defines a unique Message / Response used when out of order messages are needed Called transaction_id in the OpenPV system. Called transaction_id in Reach terms.
-
cr_AhsokaMessageHeader_client_id_t client_id¶
Unique ID for a Client used in Services that support Multiple Clients OpenPV would use a GUID but Reach uses a 4 byte integer
-
int32_t remaining_objects¶
Called message_size in the OpenPV system. Called remaining_objects in Reach terms In Reach it defines the number of objects that remain to be transmitted in a continuued transaction. / The size of the message payload (in packets) that follows this header
-
uint32_t endpoint_id¶
Routing for Non-Endpoint Style Transports. Note: Endpoint 0 is Reserved for Service Discovery for Non-Endpoint Transports
-
bool is_message_compressed¶
Not used or supported in Reach.
In OpenPV, indicates that the message has used deflate compression in addition to pbuff encoding
-
int32_t message_type¶
-
struct _cr_ErrorReport¶
- #include <reach.h>
ERROR_REPORT: Could be sent asynchronously to indicate an error.
-
struct _cr_PingRequest¶
- #include <reach.h>
Request Object used to Echo Data for testing the Device Communication
Public Members
-
cr_PingRequest_echo_data_t echo_data¶
Data which should be echoed in the response
-
cr_PingRequest_echo_data_t echo_data¶
-
struct _cr_PingResponse¶
- #include <reach.h>
Response Object used to Echo Data for testing the Device Communication
-
struct _cr_DeviceInfoRequest¶
- #include <reach.h>
Required Device Information Service Reach sessions are opened with the device info request and response.
-
struct _cr_DeviceInfoResponse¶
- #include <reach.h>
This message is returned in answer to the first “who are you” query from the client.
Public Members
-
char device_name[24]¶
Human readable name of the device
-
char manufacturer[24]¶
Human readable name of the manufacturer
-
char device_description[48]¶
A longer human readable description.
-
char firmware_version[16]¶
Each endpoint advertises a “main” FW version. If there are other FW versions, put them in the parameter repo. MAJOR.MINOR.PATCH-NOTE. Parse MAJOR.MINOR.PATCH for compatibility. Note is not parsed.
-
char protocol_version_string[16]¶
The protocol version as a string against which this device is built. Parse MAJOR.MINOR.PATCH for compatibility.
-
uint32_t services¶
A bit mask, allowing support for up to 32 services
-
uint32_t parameter_metadata_hash¶
Used to avoid reloading the parameter descriptions
-
bool has_application_identifier¶
Controls corresponding optional member.
-
cr_DeviceInfoResponse_application_identifier_t application_identifier¶
A UUID to find a custom user interface
-
uint32_t endpoints¶
A bit mask, non-zero if the device supports more than one endpoint.
-
cr_DeviceInfoResponse_sizes_struct_t sizes_struct¶
A packed structure informing the client of the size limitations of the server. See SizesOffsets for descriptions.
-
char device_name[24]¶
-
struct _cr_ParameterInfoRequest¶
- #include <reach.h>
Parameter Service Parameters provide a simple key:value database. The key is an ID number.
The value can be of various common types up to (typically) 32 bytes.
Parameters support a robust description which can be const, stored in flash.
Parameters can be configured to support notifying the client. The ParameterInfoRequest is used by the client to request detailed information about a set of parameters.
-
struct _cr_Uint32ParameterInfo¶
- #include <reach.h>
A member of a union (oneof) that describes a uint32
Public Members
-
bool has_range_min¶
Controls corresponding optional member.
-
uint32_t range_min¶
The (optional) minimum value for this parameter.
-
bool has_range_max¶
Controls corresponding optional member.
-
uint32_t range_max¶
The (optional) minimum value for this parameter.
-
bool has_default_value¶
Controls corresponding optional member.
-
uint32_t default_value¶
The (optional) default value for this parameter.
-
bool has_units¶
Controls corresponding optional member.
-
char units[16]¶
A string (UTF-8) to be displayed as the units of the parameter.
-
bool has_range_min¶
-
struct _cr_Int32ParameterInfo¶
- #include <reach.h>
A member of a union (oneof) that describes an sint32
Public Members
-
bool has_range_min¶
Controls corresponding optional member.
-
int32_t range_min¶
The (optional) minimum value for this parameter.
-
bool has_range_max¶
Controls corresponding optional member.
-
int32_t range_max¶
The (optional) minimum value for this parameter.
-
bool has_default_value¶
Controls corresponding optional member.
-
int32_t default_value¶
The (optional) default value for this parameter.
-
bool has_units¶
Controls corresponding optional member.
-
char units[16]¶
A string (UTF-8) to be displayed as the units of the parameter.
-
bool has_range_min¶
-
struct _cr_Float32ParameterInfo¶
- #include <reach.h>
A member of a union (oneof) that describes a float32
Public Members
-
bool has_range_min¶
Controls corresponding optional member.
-
float range_min¶
The (optional) minimum value for this parameter.
-
bool has_range_max¶
Controls corresponding optional member.
-
float range_max¶
The (optional) minimum value for this parameter.
-
bool has_default_value¶
Controls corresponding optional member.
-
float default_value¶
The (optional) default value for this parameter.
-
bool has_precision¶
Controls corresponding optional member.
-
uint32_t precision¶
How many digits to be displayed to the right of the decimal point.
-
bool has_units¶
Controls corresponding optional member.
-
char units[16]¶
A string (UTF-8) to be displayed as the units of the parameter.
-
bool has_range_min¶
-
struct _cr_Uint64ParameterInfo¶
- #include <reach.h>
A member of a union (oneof) that describes a uint64
Public Members
-
bool has_range_min¶
Controls corresponding optional member.
-
uint64_t range_min¶
The (optional) minimum value for this parameter.
-
bool has_range_max¶
Controls corresponding optional member.
-
uint64_t range_max¶
The (optional) minimum value for this parameter.
-
bool has_default_value¶
Controls corresponding optional member.
-
uint64_t default_value¶
The (optional) default value for this parameter.
-
bool has_units¶
Controls corresponding optional member.
-
char units[16]¶
A string (UTF-8) to be displayed as the units of the parameter.
-
bool has_range_min¶
-
struct _cr_Int64ParameterInfo¶
- #include <reach.h>
A member of a union (oneof) that describes an sint64
Public Members
-
bool has_range_min¶
Controls corresponding optional member.
-
int64_t range_min¶
The (optional) minimum value for this parameter.
-
bool has_range_max¶
Controls corresponding optional member.
-
int64_t range_max¶
The (optional) minimum value for this parameter.
-
bool has_default_value¶
Controls corresponding optional member.
-
int64_t default_value¶
The (optional) default value for this parameter.
-
bool has_units¶
Controls corresponding optional member.
-
char units[16]¶
A string (UTF-8) to be displayed as the units of the parameter.
-
bool has_range_min¶
-
struct _cr_Float64ParameterInfo¶
- #include <reach.h>
A member of a union (oneof) that describes a float64
Public Members
-
bool has_range_min¶
Controls corresponding optional member.
-
double range_min¶
The (optional) minimum value for this parameter.
-
bool has_range_max¶
Controls corresponding optional member.
-
double range_max¶
The (optional) minimum value for this parameter.
-
bool has_default_value¶
Controls corresponding optional member.
-
double default_value¶
The (optional) default value for this parameter.
-
bool has_precision¶
Controls corresponding optional member.
-
uint32_t precision¶
How many digits to be displayed to the right of the decimal point.
-
bool has_units¶
Controls corresponding optional member.
-
char units[16]¶
A string (UTF-8) to be displayed as the units of the parameter.
-
bool has_range_min¶
-
struct _cr_BoolParameterInfo¶
- #include <reach.h>
A member of a union (oneof) that describes a boolean
-
struct _cr_StringParameterInfo¶
- #include <reach.h>
A member of a union (oneof) that describes a string
-
struct _cr_EnumParameterInfo¶
- #include <reach.h>
A member of a union (oneof) that describes an enumerated value
Public Members
-
bool has_range_min¶
Controls corresponding optional member.
-
uint32_t range_min¶
The (optional) minimum value for this parameter.
-
bool has_range_max¶
Controls corresponding optional member.
-
uint32_t range_max¶
The (optional) minimum value for this parameter.
-
bool has_default_value¶
Controls corresponding optional member.
-
uint32_t default_value¶
The (optional) default value for this parameter.
-
bool has_pei_id¶
Controls corresponding optional member.
-
uint32_t pei_id¶
The (optional) ID of the extended description that names the values.
-
bool has_units¶
Controls corresponding optional member.
-
char units[16]¶
A string (UTF-8) to be displayed as the units of the parameter.
-
bool has_range_min¶
-
struct _cr_BitfieldParameterInfo¶
- #include <reach.h>
A member of a union (oneof) that describes a bitfield
Public Members
-
bool has_default_value¶
Controls corresponding optional member.
-
uint64_t default_value¶
The (optional) default value for this parameter.
-
uint32_t bits_available¶
How many bits of this bifield are valid
-
bool has_pei_id¶
Controls corresponding optional member.
-
uint32_t pei_id¶
The (optional) ID of the extended description that names the bits.
-
bool has_default_value¶
-
struct _cr_ByteArrayParameterInfo¶
- #include <reach.h>
A member of a union (oneof) that describes a byte array
-
struct _cr_ParameterInfo¶
- #include <reach.h>
A ParameterInfo structure describes a parameter so that it can be easily viewed an edited / by humans using a generic parameter editor.
Public Members
-
uint32_t id¶
The integer ID used to reference this parameter.
-
char name[24]¶
A human readable name for this parameter.
-
bool has_description¶
Controls corresponding optional member.
-
char description[32]¶
A longer human readable description of this parameter.
-
cr_AccessLevel access¶
Read or write access. Can be used for access control.
-
cr_StorageLocation storage_location¶
RAM or NVM or ?
-
pb_size_t which_desc¶
Specifies which description in the union.
-
cr_Uint32ParameterInfo uint32_desc¶
If uint32
-
cr_Int32ParameterInfo int32_desc¶
If sint32
-
cr_Float32ParameterInfo float32_desc¶
If float32
-
cr_Uint64ParameterInfo uint64_desc¶
If uint64
-
cr_Int64ParameterInfo int64_desc¶
If sint64
-
cr_Float64ParameterInfo float64_desc¶
If float64
-
cr_BoolParameterInfo bool_desc¶
If a boolean
-
cr_StringParameterInfo string_desc¶
If a string
-
cr_EnumParameterInfo enum_desc¶
If an enumeated type
-
cr_BitfieldParameterInfo bitfield_desc¶
If a bitfield
-
cr_ByteArrayParameterInfo bytearray_desc¶
If a byte array
-
union _cr_ParameterInfo::[anonymous] desc¶
A union to efficiently store the details of each parameter description
-
uint32_t id¶
-
struct _cr_ParameterInfoResponse¶
- #include <reach.h>
The response to ParameterInfoRequest
Public Members
-
pb_size_t parameter_infos_count¶
Controls corresponding repeated member.
-
cr_ParameterInfo parameter_infos[2]¶
An array of Param Info structures
-
pb_size_t parameter_infos_count¶
-
struct _cr_ParamExKey¶
- #include <reach.h>
The ParamExKey is used to give names to enums, bitfields, and booleans. / It is typically supplied in an array. / More than one parameter can point to the same ParamExKey.
-
struct _cr_ParamExInfoResponse¶
- #include <reach.h>
Describes enum, bitfield, and boolean labels
Public Members
-
cr_ParameterDataType data_type¶
The type of data being described.
-
pb_size_t keys_count¶
Controls corresponding repeated member.
-
cr_ParamExKey keys[8]¶
Each key associates a string with a number
-
uint32_t pei_id¶
An ID by which this Parameter Extended Information is retrieved.
-
cr_ParameterDataType data_type¶
-
struct _cr_ParameterRead¶
- #include <reach.h>
A structure used to read one or more parameters
-
struct _cr_ParameterWriteResponse¶
- #include <reach.h>
The response to a parameter write
-
struct _cr_ParameterNotifyConfig¶
- #include <reach.h>
Parameter Notification configuration / Notification can be enabled with conditions for each parameter.
-
struct _cr_ParameterEnableNotifications¶
- #include <reach.h>
A message used to enable notifications
Public Members
-
pb_size_t configs_count¶
Controls corresponding repeated member.
-
cr_ParameterNotifyConfig configs[8]¶
An array of descriptions of notifications
-
bool disable_all_first¶
If true, all notifications are disabled before applying the new request.
-
pb_size_t configs_count¶
-
struct _cr_ParameterDisableNotifications¶
- #include <reach.h>
A message used to disable notifications
-
struct _cr_ParameterNotifyConfigResponse¶
- #include <reach.h>
The response to enable and disable notifications
-
struct _cr_DiscoverParameterNotifications¶
- #include <reach.h>
The client can discover how notifications are setup.
-
struct _cr_DiscoverParameterNotificationsResponse¶
- #include <reach.h>
Reports which notifications are enabled.
Public Members
-
pb_size_t configs_count¶
Controls corresponding repeated member.
-
cr_ParameterNotifyConfig configs[8]¶
An array of parameter notification configurations containing information only on parameters that have notifications enabled.
-
pb_size_t configs_count¶
-
struct _cr_ParameterValue¶
- #include <reach.h>
A message used to send or receive a single parameter value.
Public Members
-
uint32_t parameter_id¶
The integer ID of this parameter.
-
uint32_t timestamp¶
The time at which this was last read or written. Used for notifications.
-
pb_size_t which_value¶
Specifies which value in the union.
-
uint32_t uint32_value¶
Unsigned 32 bit integer.
-
int32_t int32_value¶
Signed 32 bit integer.
-
float float32_value¶
32 bit floating point.
-
uint64_t uint64_value¶
Unsigned 64 bit integer.
-
int64_t int64_value¶
Signed 64 bit integer.
-
double float64_value¶
64 bit floating point.
-
bool bool_value¶
boolean (0 or 1)
-
char string_value[32]¶
ASCII or UTF-8. Null Terminated.
-
uint32_t enum_value¶
An extended description gives names to 32 bit integer values.
-
uint64_t bitfield_value¶
An extended description gives names to up to 64 bit positions.
-
cr_ParameterValue_bytes_value_t bytes_value¶
An array of bytes.
-
union _cr_ParameterValue::[anonymous] value¶
-
uint32_t parameter_id¶
-
struct _cr_ParameterReadResponse¶
- #include <reach.h>
A structure used to return the values read from one or more parameters
Public Members
-
pb_size_t values_count¶
Controls corresponding repeated member.
-
cr_ParameterValue values[4]¶
An array of Result Values
-
pb_size_t values_count¶
-
struct _cr_ParameterWrite¶
- #include <reach.h>
A structure used to write one or more Parameters
Public Members
-
pb_size_t values_count¶
Controls corresponding repeated member.
-
cr_ParameterValue values[4]¶
An array of Write Values
-
pb_size_t values_count¶
-
struct _cr_ParameterNotification¶
- #include <reach.h>
A message of this type is sent by the server when parameters change.
Public Members
-
pb_size_t values_count¶
Controls corresponding repeated member.
-
cr_ParameterValue values[4]¶
An array of parameter values containing those that changed.
-
pb_size_t values_count¶
-
struct _cr_DiscoverFiles¶
- #include <reach.h>
The optional file service provides a method of efficiently transfering large blocks of data.
Public Members
-
char dummy_field¶
-
char dummy_field¶
-
struct _cr_FileInfo¶
- #include <reach.h>
A structure describing a file
Public Members
-
uint32_t file_id¶
ID by which this file is referenced
-
char file_name[24]¶
Human readable file name
-
cr_AccessLevel access¶
Access Level (Read / Write)
-
int32_t current_size_bytes¶
size in bytes
-
cr_StorageLocation storage_location¶
NVM or RAM
-
bool require_checksum¶
set true to request checksum generation and validation.
-
bool has_maximum_size_bytes¶
Controls corresponding optional member.
-
uint32_t maximum_size_bytes¶
Determined by storage space
-
uint32_t file_id¶
-
struct _cr_DiscoverFilesResponse¶
- #include <reach.h>
The response to discover files
Public Members
-
pb_size_t file_infos_count¶
Controls corresponding repeated member.
-
cr_FileInfo file_infos[4]¶
An array of File Info structures
-
pb_size_t file_infos_count¶
-
struct _cr_FileTransferRequest¶
- #include <reach.h>
Begins a File Transfer (Upload / Download)
Public Members
-
uint32_t file_id¶
ID by which this file is referenced
-
uint32_t read_write¶
0 for read, 1 for write.
-
uint32_t request_offset¶
where to access in the file, in bytes
-
uint32_t transfer_length¶
number of bytes to read or write
-
uint32_t transfer_id¶
Copied from the header, the same for the continuued transfer.
-
uint32_t timeout_in_ms¶
ms before abandonment
-
bool has_requested_ack_rate¶
Controls corresponding optional member.
-
uint32_t requested_ack_rate¶
number of messages before ACK.
-
bool require_checksum¶
set true to enable checksum generation and validation.
-
uint32_t file_id¶
-
struct _cr_FileTransferResponse¶
- #include <reach.h>
The response to a file transfer request
Public Members
-
int32_t result¶
0 if OK
-
uint32_t transfer_id¶
Echos the request.
-
uint32_t ack_rate¶
confirms or overrides request
-
bool has_result_message¶
Controls corresponding optional member.
-
char result_message[194]¶
In case of error, a human readable explanation.
-
uint32_t transfer_length¶
If the file is smaller than the requested offset + length, this will reflect how much data can be transferred
-
int32_t result¶
-
struct _cr_FileTransferData¶
- #include <reach.h>
A bidirectional message describing a packet of file data
Public Members
-
int32_t result¶
non-zero for error
-
uint32_t transfer_id¶
Unchanged during the continuued transfer.
-
uint32_t message_number¶
counts up from 1 in the first transfer
-
cr_FileTransferData_message_data_t message_data¶
Data
-
bool has_checksum¶
Controls corresponding optional member.
-
int32_t checksum¶
Optional RFC 1071 checksum for integrity checking
-
int32_t result¶
-
struct _cr_FileTransferDataNotification¶
- #include <reach.h>
The response to a file transfer
Public Members
-
int32_t result¶
0 for success
-
bool has_result_message¶
Controls corresponding optional member.
-
char result_message[194]¶
Provides more information if an error occurs.
-
bool is_complete¶
Set to true when all data has been trasnferred.
-
uint32_t transfer_id¶
Unchanged during the continuued transfer.
-
uint32_t retry_offset¶
If there is an error, this gives the offset at which a new transfer should start with good data.
-
int32_t result¶
-
struct _cr_FileEraseRequest¶
- #include <reach.h>
A request to erase (set size to zero) a file.
Public Members
-
uint32_t file_id¶
File ID to be erased
-
uint32_t file_id¶
-
struct _cr_FileEraseResponse¶
- #include <reach.h>
The response to a file erase request
-
struct _cr_DiscoverStreams¶
- #include <reach.h>
A request to list the streams supported by the device
Public Members
-
char dummy_field¶
-
char dummy_field¶
-
struct _cr_StreamInfo¶
- #include <reach.h>
A structure describing a stream
Public Members
-
uint32_t stream_id¶
The ID by which this stream is addressed.
-
cr_AccessLevel access¶
Read: The stream flows from the device. Write: The stream flows to the device.
-
char name[24]¶
A human readable name for this stream.
-
char description[48]¶
A longer human readable description of this stream.
-
uint32_t stream_id¶
-
struct _cr_DiscoverStreamsResponse¶
- #include <reach.h>
The response to DiscoverStreams
Public Members
-
pb_size_t streams_count¶
Controls corresponding repeated member.
-
cr_StreamInfo streams[2]¶
An array containing descriptions of the supported streams
-
pb_size_t streams_count¶
-
struct _cr_StreamOpen¶
- #include <reach.h>
A structure requesting to open a stream
Public Members
-
uint32_t stream_id¶
The ID by which this stream is addressed.
-
uint32_t stream_id¶
-
struct _cr_StreamResponse¶
- #include <reach.h>
The response to StreamOpen and StreamClose requests
-
struct _cr_StreamClose¶
- #include <reach.h>
A structure requesting to close a stream
Public Members
-
uint32_t stream_id¶
The ID by which this stream is addressed.
-
uint32_t stream_id¶
-
struct _cr_StreamData¶
- #include <reach.h>
Bi-Directional message used to asynchronously send stream data to the other side.
Public Members
-
uint32_t stream_id¶
The ID by which this stream is addressed.
-
uint32_t roll_count¶
Message Number. Increases with each send. As stream transmission may be less relaible, allows for continuity checking.
-
cr_StreamData_message_data_t message_data¶
An array of bytes representing the streami data.
-
bool has_checksum¶
Controls corresponding optional member.
-
int32_t checksum¶
Optional RFC 1071 checksum for integrity checking
-
uint32_t stream_id¶
-
struct _cr_DiscoverCommands¶
- #include <reach.h>
The (optional) Command Service allows actions to be triggered from the Reach UI.
Public Members
-
char dummy_field¶
-
char dummy_field¶
-
struct _cr_CommandInfo¶
- #include <reach.h>
The description of a command.
Public Members
-
uint32_t id¶
The id by which the command is dispatched
-
char name[24]¶
Human readable descriptive name
-
bool has_description¶
Controls corresponding optional member.
-
char description[48]¶
Optional longer description of the command
-
bool has_timeout¶
Controls corresponding optional member.
-
uint32_t timeout¶
Optional command timeout, in milliseconds, to account for slow commands.
-
uint32_t id¶
-
struct _cr_DiscoverCommandsResponse¶
- #include <reach.h>
Response to a DiscoverCommands request.
Public Members
-
pb_size_t available_commands_count¶
Controls corresponding repeated member.
-
cr_CommandInfo available_commands[2]¶
An array of command descriptions.
-
pb_size_t available_commands_count¶
-
struct _cr_SendCommand¶
- #include <reach.h>
Prompts the device to execute this command.
Public Members
-
uint32_t command_id¶
The ID of the command to execute.
-
uint32_t command_id¶
-
struct _cr_SendCommandResponse¶
- #include <reach.h>
A response acknowledging the completion of a command.
-
struct _cr_CLIData¶
- #include <reach.h>
The optional Command Line Interface (CLI) service allows command line messages to be transfered / between the client and the server. Messages can travel in both directions. Messages are asynchronous. / The client can send a command line and the server can respond. / The server can also asynchrously send strings representing the output of the device. / The CLIData message is used in both directions.
Public Members
-
char message_data[194]¶
The command line as a null terminated string.
-
char message_data[194]¶
-
struct _cr_TimeSetRequest¶
- #include <reach.h>
The optional Time Service is designed to allow the client to / set and adjust the real time clock in a server device. / The time is best specified as UTC plus timezone offset. / Although the timezone is optional, it’s best to use it. / TimeSetRequest requests setting the server device time to this value.
-
struct _cr_TimeSetResponse¶
- #include <reach.h>
The response to the TimeSetRequest
-
struct _cr_TimeGetRequest¶
- #include <reach.h>
A request to read the time from the server.
Public Members
-
char dummy_field¶
-
char dummy_field¶
-
struct _cr_TimeGetResponse¶
- #include <reach.h>
The response to a TimeGetRequest
Public Members
-
int32_t result¶
A result of zero indicates OK
-
bool has_result_message¶
Controls corresponding optional member.
-
char result_message[194]¶
Allows to provide a human readable explanation in case of an error.
-
int64_t seconds_utc¶
linux epoch, since 1970
-
bool has_timezone¶
Controls corresponding optional member.
-
int32_t timezone¶
An adjustmeent in seconds to UTC time respresenting the local timezone.
-
int32_t result¶
-
struct _cr_ConnectionDescription¶
- #include <reach.h>
A structure describing a WiFi connection or access point / The optional WiFi service is intended to simplify the / repetitive task of communicating WiFi credentials to the device.
Public Members
-
char ssid[32]¶
The SSID of this connection
-
bool is_connected¶
true if connected
-
bool has_signal_strength¶
Controls corresponding optional member.
-
int32_t signal_strength¶
The strength of this connection in dB (RSSI)
-
bool has_sec¶
Controls corresponding optional member.
-
cr_WiFiSecurity sec¶
The type of security used by this connection
-
bool has_band¶
Controls corresponding optional member.
-
cr_WiFiBand band¶
The RF band used by this connection
-
char ssid[32]¶
-
struct _cr_ScanWiFi¶
- #include <reach.h>
Commands the server to initiate a scan for WiFi access points. / As this may take some time, issue it and check the response later.
Public Members
-
char dummy_field¶
-
char dummy_field¶
-
struct _cr_DiscoverWiFi¶
- #include <reach.h>
A request to provide a list access points
Public Members
-
char dummy_field¶
-
char dummy_field¶
-
struct _cr_DiscoverWiFiResponse¶
- #include <reach.h>
response to DiscoverWiFi
Public Members
-
int32_t result¶
A result of zero indicates completed OK. The “INCOMPLETE” result means the operation must be retried.
-
pb_size_t cd_count¶
-
cr_ConnectionDescription cd[4]¶
An array of available access points
-
int32_t result¶
-
struct _cr_WiFiConnectionRequest¶
- #include <reach.h>
A structure describing a WiFi connection request
Public Members
-
char ssid[32]¶
The SSID to be addressed
-
bool connect¶
connect and disconnect false to get info on this SSID
-
bool disconnect¶
connect and disconnect false to get info on this SSID
-
bool has_password¶
Controls corresponding optional member.
-
char password[32]¶
required to connect
-
bool has_autoconnect¶
Controls corresponding optional member.
-
bool autoconnect¶
true to remember and autoconnect to this AP.
-
char ssid[32]¶
-
struct _cr_WiFiConnectionResponse¶
- #include <reach.h>
Describes the response to a WiFi connection request
Public Members
-
int32_t result¶
A result of zero indicates completed OK. The “INCOMPLETE” result means the operation must be retried.
-
bool connected¶
true if the requested connection is valid.
-
bool has_result_message¶
Controls corresponding optional member.
-
char result_message[194]¶
Allows to provide a human readable explanation in case of an error.
-
bool has_signal_strength¶
Controls corresponding optional member.
-
int32_t signal_strength¶
RSSI
-
int32_t result¶
-
struct _cr_BufferSizes¶
- #include <reach.h>
This data describing the sizes of the structures used in C code is communicated in a packed format in the device info structure. Here it’s defined in an unpacked (all 32 bit) format. Use the offsets defined below (SizesOffsets) to unpack into this structure. The file “reach_ble_proto_sizes.h” and the function populate_device_info_sizes() are good places to look for further info.
Public Members
-
uint32_t max_message_size¶
The largest message that can be communicated (16 bits)
-
uint32_t big_data_buffer_size¶
The size of the buffer used for the longest strings. (16 bits) Examples include the command line and the error string.
-
uint32_t parameter_buffer_count¶
The number of parameter buffers kept by the device. This determines the number of parameters that can be handled in a single message. (8 bits)
-
uint32_t num_params_in_response¶
The number of parameter values that fit in one message. (8 bits)
-
uint32_t num_descriptors_in_response¶
number of descriptors (stream, file) that fit in one message. (8 bits)
-
uint32_t description_len¶
The length of the description fields in various structures Previously known as long_string_len. (8 bits)
-
uint32_t max_param_bytes¶
The number of bytes in the largest parameter data. (8 bits)
-
uint32_t medium_string_len¶
The length of most (medium) strings. (8 bits) Used for device name, file names, command names.
-
uint32_t short_string_len¶
The number of bytes in short strings like the units label. (8 bits) Also the names of enumerations and the version string.
-
uint32_t param_info_description_len¶
The number of bytes in the param info description string (8 bits)
-
uint32_t num_param_notifications¶
Number of parameter notifications supported (8 bits)
-
uint32_t num_commands_in_response¶
not currently used (8 bits)
-
uint32_t count_param_desc_in_response¶
number of param descriptions that can be in one info packet. (8 bits)
-
uint32_t param_notify_config_count¶
The max number of parameter notification configurations that can be in one packet. (8 bits)
-
uint32_t max_message_size¶