Identifier for client. Used in subscribe and publish. Subscriptions will not
receive updates from publish calls with the same ClientId.
Field | Type | Label | Description |
id | string | Identifier as string |
Information about E2E configuration.
Field | Type | Label | Description |
profile | E2eProfile | Profile. |
|
dataId | uint32 | Data ID for CRC calculation. |
|
signalCrc | string | Name of signal for CRC field. |
|
signalCounter | string | Name of signal for counter field. |
Symbolic message representing no argument needed or provided.
Information about a frame and it's signals.
Field | Type | Label | Description |
signalInfo | SignalInfo | Information about the frame itself. |
|
childInfo | SignalInfo | repeated | Information about signals included in frame. |
Collection of information for several frames.
Field | Type | Label | Description |
frame | FrameInfo | repeated | List of information about frames. |
Group inside of frame.
Field | Type | Label | Description |
start | uint32 | Byte offset in frame for group. |
|
length | uint32 | Byte length of group. |
|
e2e | E2e | E2E property for group. |
Collection of all meta data for a signal.
RemotiveBroker support several databases. The following attributes are read
from the database running on the RemotiveBroker.
Field | Type | Label | Description |
description | string | Description for signal. |
|
max | float | Maximum allowed value. |
|
min | float | Minimum allowed value. |
|
unit | string | Unit of the signal value. |
|
size | int32 | Size of signal value when packed in frame. |
|
isRaw | bool | Is binary data? |
|
factor | double | Multiplication faction used for encoding and decoding value in frame. |
|
offset | double | Offset used for encoding and decoding value in frame. |
|
sender | string | repeated | List of named senders of signals. |
receiver | string | repeated | List of named receivers of signal. |
cycleTime | float | Cadence for sending signal in milliseconds. |
|
startValue | float | Initial value to use before publishing. |
|
multiplex | Multiplex | Frame multiplexing information. |
|
e2e | E2e | E2e information about frame. |
|
groups | Group | repeated | Groups inside frame. |
frameId | uint32 | Assosiated identification number for frame. |
Multiplexing information.
Some signal databases allow "multiplexing" or "unions" in their frame
information. IF a signal is in `select` mode, the value of the signal will
act as a filter for signals which are in `filter` mode.
Field | Type | Label | Description |
none | Empty |
|
|
select | Empty |
|
|
filter | int32 |
|
Identifier for a name space.
Field | Type | Label | Description |
name | string | Name of name space, which in turn is typically redirected in interfaces.json to an electrical interface. |
Information about network
Field | Type | Label | Description |
namespace | NameSpace | Corresponding name space. |
|
type | string | Type of network as text. Eg "can", "lin" etc. |
|
description | string | Description text about network. |
Identifier for a signal.
Field | Type | Label | Description |
name | string | Name of signal. |
|
namespace | NameSpace | Which name space signal belongs in. |
Information about a signal. Including name and all meta data fields.
Field | Type | Label | Description |
id | SignalId |
|
|
metaData | MetaData |
|
Supported E2E profiles.
Name | Number | Description |
PROFILE_AR_01A | 0 | Autosar 1A |
Field | Type | Label | Description |
frameId | uint32 |
|
|
count | uint64 |
|
Field | Type | Label | Description |
countsByFrameId | CountByFrameId | repeated |
|
Field | Type | Label | Description |
namespace | NameSpace | Name of the namespace from which we wish to subscribe to frames distributions. |
Parameters for publishing values.
Field | Type | Label | Description |
signals | Signals | Signals with values. |
|
clientId | ClientId | Identifier of publisher, typically your app identifier. Subscribers with same identifier will not trigger callback. |
|
frequency | int32 | Specify frequency of publication. Specify 0 to only publish once. |
Signal with value.
Field | Type | Label | Description |
id | SignalId | Identifier of signal to publish. |
|
integer | int64 | Value with integer type (int64). |
|
double | double | Floating point data type (double). |
|
arbitration | bool | Exclusive for LIN bus, present as true when a header is presented on the bus. |
|
empty | bool | No data supplied. |
|
raw | bytes | Binary data of value, relevant for Frames. |
|
timestamp | int64 | time stamp in micro seconds, set when first seen. |
List of signal identifiers
Field | Type | Label | Description |
signalId | SignalId | repeated | List of signal identifiers. |
Signals with values
Field | Type | Label | Description |
signal | Signal | repeated | List of signals with values. |
Parameters for subscription.
Field | Type | Label | Description |
clientId | ClientId | Identifier of subscriber, typically your app identifier. Published signals with same identifier will not trigger callback. |
|
signals | SignalIds | List of signals in subscription. |
|
onChange | bool | Only trigger callback when value changes when set to true. |
Field | Type | Label | Description |
clientId | ClientId | Identifier of subscriber, typically your app identifier. Published signals with same identifier will not trigger callback. |
|
script | bytes | Custom Lua mapping code |
|
onChange | bool | Only trigger callback when value changes when set to true. |
Signal publish, subscribe and read.
Method Name | Request Type | Response Type | Description |
SubscribeToSignals | SubscriberConfig | Signals stream | Subscribe to signals. |
SubscribeToSignalWithScript | SubscriberWithScriptConfig | Signals stream | Subscribe to signals with transform provided as a LUA script. |
SubscribeToFramesDistribution | FramesDistributionConfig | FramesDistribution stream | A stream which emits frames distributions of a provided namespace. Useful for diagnostic purposes. Counts are reset every 500 ms. |
PublishSignals | PublisherConfig | Empty | Publish signals with values. |
ReadSignals | SignalIds | Signals | Read signals from cache. |
Field | Type | Label | Description |
fileDescriptions | FileDescription | repeated |
|
timeout | uint32 | Server-side timeout (in milliseconds) for downloading a chunk. The timeout is for each chunk, not the entire file. If the timeout is exceeded, the server will cancel the download and return an error. |
Field | Type | Label | Description |
lastChunk | bool | Amount of chunks. |
|
chunkId | uint32 | Index of this chunk. Start with 0. |
|
chunk | bytes | Chunk data. |
|
estimatedTotalSize | uint32 | Estimated total size in bytes. |
Configuration of server.
Field | Type | Label | Description |
networkInfo | NetworkInfo | repeated | Network information. |
interfacesJson | bytes | Server configuration file `interfaces.json`. |
|
publicAddress | string | IP address of server. |
|
serverVersion | string | Version of RemotiveBroker. |
|
interfacesInfo | string | Contains configuration file deprecation warnings, validation errors and similar |
File information.
Field | Type | Label | Description |
sha256 | string | File checksum. |
|
path | string | File (path and filename) on server. |
Field | Type | Label | Description |
fileDescriptions | FileDescription | repeated |
|
Response from file download request.
Field | Type | Label | Description |
chunk | bytes | File content. |
|
errorMessage | string | Error with reason. |
Request for file chunk upload.
Divide file in chunks of n bytes, where recommend n is 500000 bytes.
SHA256 which is part of FileDescription only needs to be submitted in the
last chunk.
Field | Type | Label | Description |
fileDescription | FileDescription | What file this chunk is for. |
|
chunks | uint32 | Amount of chunks. |
|
chunkId | uint32 | Index of this chunk. Start with 0. |
|
chunk | bytes | Chunk data. |
|
cancelUpload | bool | Cancel upload request. |
|
uploadTimeout | uint32 | Server side timeout (ms) for uploading all chunks which represents full file. |
Parameters for a file upload.
SHA256 which is part of FileDescription only needs to be submitted in the
last chunk.
Field | Type | Label | Description |
fileDescription | FileDescription | Information about file to upload. |
|
chunk | bytes | Amount of chunks that will be sent for this file. |
Response from file or file chunk upload.
Field | Type | Label | Description |
finished | bool | Upload completed. |
|
cancelled | bool | Upload canceled. |
|
errorMessage | string | Error with reason. |
License data.
Field | Type | Label | Description |
data | bytes | Content of license. |
|
termsAgreement | bool | Check if user accepted user agreement. |
Server license information.
Field | Type | Label | Description |
status | LicenseStatus | Status of license. |
|
json | bytes | Verbatim json from the license data if BASE64-decodable. |
|
expires | string | Extracted from json for convenience. |
|
requestId | string | Info to use when requesting a new license. |
|
requestMachineId | bytes | Identifier for machine running server. |
Field | Type | Label | Description |
name | string | Example name: "secoc_key", "secoc_fv" |
|
scope | string | repeated | Example input: [<namespace>, <keyId>] or [<namespace>, <profile>] |
raw | bytes |
|
|
integer | int64 |
|
|
double | double |
|
Response from reload request.
Field | Type | Label | Description |
configuration | Configuration | New configuration from successfully reload operation. |
|
errorMessage | string | Response from failed reload operation. |
Type for license status.
Name | Number | Description |
UNSET | 0 | No license. |
VALID | 1 | Valid license. |
EXPIRED | 2 | Expired. |
BADDATE | 3 | Error, incorrect date. |
WRONGMACHINE | 4 | Error, license not for this machine. |
INCOMPLETEJSON | 5 | Error, Incomplete license file. |
INVALIDJSON | 6 | Error, Incomplete license json file. |
BADSIGNATURE | 7 | Error, Bad signature on license file. |
MALFORMED | 8 | Error, reading license file. |
SERVERERROR | 9 | Error, server side. |
NOTERMSAGREEMENT | 10 | Error, user has not accepted terms. |
Handle configuration of the RemotiveBroker server.
Method Name | Request Type | Response Type | Description |
GetConfiguration | Empty | Configuration | Get current configuration of server. |
ListSignals | NameSpace | Frames | Get list of all available frames and signals on server. |
UploadFileChunk | FileUploadChunkRequest | FileUploadResponse | Upload file using chunks (without streams), specifically useful for gRPC-web which does not support Client-side streaming. |
UploadFile | FileUploadRequest stream | FileUploadResponse | Upload file using streams, preferred option for client with Client-side streaming. |
BatchDeleteFiles | FileDescriptions | Empty | Delete a single or multiple files from server. |
BatchDownloadFiles | FileDescriptions | FileDownloadResponse stream | Download a single or multiple files from server. |
BatchDownloadFileChunks | BatchDownloadFileChunksRequest | BatchDownloadFileChunksResponse | |
ReloadConfiguration | Empty | ReloadMessage | Will not return until new configuration is tested an active, make sure to set timeout to a large value. (fibex on pi > 50s). |
GetLicenseInfo | Empty | LicenseInfo | Get information about server license. |
SetLicense | License | LicenseInfo | Set server license. |
SetProperty | PropertyValue | Empty | Sets a custom property, such as SecOc parameters |
Information about name space and file associated with playback or recording.
Playback will play signals on namespace. Recordings will record all signals
on name space.
Field | Type | Label | Description |
fileDescription | FileDescription | File information. |
|
namespace | NameSpace | Name space associated. |
Information about a playback or a recording.
Field | Type | Label | Description |
playbackConfig | PlaybackConfig | File and name space information. |
|
playbackMode | PlaybackMode | Current mode. |
Information about all playbacks and recordings.
Field | Type | Label | Description |
playbackInfo | PlaybackInfo | repeated | List of all information. |
Status of playback.
Field | Type | Label | Description |
errorMessage | string | Error reason. |
|
EOF | string | End of file; playback finished |
|
mode | Mode | Active with mode. |
|
offsetTime | uint64 | Current offset in micro seconds. |
|
startTime | uint64 | Start time in monotonic micro seconds. |
|
endTime | uint64 | End time in monotonic micro seconds. |
|
timeDeviation | int64 | Time deviation in micro seconds, measured by server. |
|
offsetWallClockVsSample | int64 | Signal and wall clock offset. Signals might have a seperate timestamp. |
|
noPlaybackToApplication | bool | Allows disabling of data flow from recording to application layers. Default is set to false. |
|
playbackToBus | bool | Let data to be replayed to the bus specified in intefaces.json. Defalt set to false. |
Modes of playback and recording.
Name | Number | Description |
PLAY | 0 | Playing a file. |
PAUSE | 1 | Playback is paused. |
STOP | 2 | Playback in stopped. |
RECORD | 3 | Recording a playback. |
SEEK | 4 | Seek to offset in a playback |
Handle playback and recordings.
Method Name | Request Type | Response Type | Description |
PlayTraffic | PlaybackInfos | PlaybackInfos | Play a playback or start recording. |
PlayTrafficStatus | Empty | PlaybackInfos stream | Get continuous status of playback states. |
.proto Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby |
double | double | double | float | float64 | double | float | Float | |
float | float | float | float | float32 | float | float | Float | |
int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long | int64 | long | integer/string | Bignum |
uint32 | Uses variable-length encoding. | uint32 | int | int/long | uint32 | uint | integer | Bignum or Fixnum (as required) |
uint64 | Uses variable-length encoding. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum or Fixnum (as required) |
sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long | int64 | long | integer/string | Bignum |
fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int | uint32 | uint | integer | Bignum or Fixnum (as required) |
fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum |
sfixed32 | Always four bytes. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
sfixed64 | Always eight bytes. | int64 | long | int/long | int64 | long | integer/string | Bignum |
bool | bool | boolean | boolean | bool | bool | boolean | TrueClass/FalseClass | |
string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode | string | string | string | String (UTF-8) |
bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str | []byte | ByteString | string | String (ASCII-8BIT) |