Protocol Documentation

Table of Contents

hillab_beam_profiler.proto

Top

AppInfoResponse

Response containing the app information.

FieldTypeLabelDescription
version string

Version of the app.

BeamProfile

Represents the profile data of a beam at a specific index.

FieldTypeLabelDescription
index int32

The index of the beam profile.

latest_value double

The most recent value of the beam at this index.

average double

The average value of the beam profile.

standard_deviation double

The standard deviation of the beam profile values.

BeamProfileStream

Represents a stream of beam profiles over time.

FieldTypeLabelDescription
time google.protobuf.Timestamp

The timestamp when the beam profile data is recorded.

beam_profiles BeamProfile repeated

A list of beam profiles recorded at the given timestamp.

ConnectDeviceRequest

Request to connect to a specific device using its serial number.

FieldTypeLabelDescription
serial_number string

The serial number of the target device to connect.

DeviceInfo

Information about a device, including its alias and serial number.

FieldTypeLabelDescription
alias string

The user-defined alias for the device.

serial_number string

The unique serial number of the device.

DeviceInfoList

Response containing a list of available devices.

FieldTypeLabelDescription
devices DeviceInfo repeated

List of devices, each containing alias and serial number.

GetRequest

Request message for retrieving a value by key.

FieldTypeLabelDescription
key string

The key that identifies the value being retrieved.

GetResponse

Response message for getting the value of a specified key.

FieldTypeLabelDescription
key string

The key for which the value is returned.

value Value

The value corresponding to the key.

unit string optional

Optional unit for the value.

min_value Value optional

Optional minimum value that the key can hold.

max_value Value optional

Optional maximum value that the key can hold.

ImageStreamServerRequest

Request to configure or control the image stream server.

FieldTypeLabelDescription
running bool optional

Request to start or stop the stream. - true: Start the stream. - false: Stop the stream. If not provided, the `running` status will remain unchanged.

mtu int32 optional

Update the Maximum Transmission Unit (MTU) for RTP packets. Range: 512 to 1500 bytes. If not provided, the `mtu` status will remain unchanged.

downscale int32 optional

Update the downscaling factor for the streamed video resolution. The resolution is calculated as: `origin_size / pow(2, downscale)`. Range: 0 to 4. Example: - downscale=0 -> resolution = original_size. - downscale=1 -> resolution = original_size / 2. - downscale=2 -> resolution = original_size / 4. - downscale=3 -> resolution = original_size / 8. - downscale=4 -> resolution = original_size / 16. If not provided, the current `downscale` value will remain unchanged.

auto_running bool optional

Request to enable or disable automatic stream startup. - true: Enable automatic stream startup when camera streaming started. - false: Disable automatic stream startup. If not provided, the `auto_running` setting will remain unchanged.

ImageStreamServerResponse

Response containing information about the image stream server.

FieldTypeLabelDescription
ip string

The IPv4 IP address of the server. (e.g., "192.168.1.1")

port int32

The port number used for the stream.

mtu int32

Maximum Transmission Unit (MTU) for RTP packets. Range: 512 to 1500 bytes.

downscale int32

Downscaling factor for the streamed video resolution. The resolution is calculated as: `origin_size / pow(2, downscale)`. Range: 0 to 4. Example: - downscale=0 -> resolution = original_size. - downscale=1 -> resolution = original_size / 2. - downscale=2 -> resolution = original_size / 4. - downscale=3 -> resolution = original_size / 8. - downscale=4 -> resolution = original_size / 16. If not provided, the current `downscale` value will remain unchanged.

running bool

Indicates whether the stream is currently running.

auto_running bool

Indicates whether the stream is configured to start automatically when camera streaming started.

sdp string

The SDP (Session Description Protocol) string for the stream. Used for configuring media sessions.

SetRequest

Request message for setting a specific value by key.

FieldTypeLabelDescription
key string

The key that identifies the value being set.

value Value

The value to be set for the specified key.

SettingListResponse

Response containing the list of all registered settings.

FieldTypeLabelDescription
name_list string repeated

List of registered setting names.

SettingRequest

Request to load, save, add, or remove a specific setting by name.

FieldTypeLabelDescription
name string

The name of the setting. Must match a registered setting name for operations like "Load" or "Remove".

SettingResponse

Response containing the name of the current loaded setting.

FieldTypeLabelDescription
name string

The name of the currently loaded setting.

SystemLogStream

Represents a system log entry in the system log stream.

FieldTypeLabelDescription
time google.protobuf.Timestamp

The timestamp when the log message was generated.

type SystemLogType

The type of the log message (informational or error).

message string

The content of the log message.

Value

Represents a value that can hold different types.

FieldTypeLabelDescription
bool_value bool

int_value int32

float_value float

string_value string

SystemLogType

Enum representing the type of a system log message.

NameNumberDescription
SYSTEMLOGTYPE_INFO 0

Informational log messages, such as system events or status updates.

SYSTEMLOGTYPE_ERROR 1

Error log messages, such as system failures or critical issues.

BeamProfiler

BeamProfiler service that allows retrieving and setting beam profile data.

Method NameRequest TypeResponse TypeDescription
Get GetRequest GetResponse

Retrieves the value named given key. Returns: - Status "OK" for successful. - Status "FAILED_PRECONDITION" for failure since various reasons. See message for more detail. - Status "NOT_FOUND" for failure since given key is undefined. - Status "INTERNAL" for failure since system error.

Set SetRequest .google.protobuf.Empty

Modifies the value named given key. Returns: - Status "OK" for successful. - Status "FAILED_PRECONDITION" for failure since various reasons. See message for more detail. - Status "INVALID_ARGUMENT" for failure since various reasons. See message for more detail. - Status "NOT_FOUND" for failure since given key is undefined. - Status "INTERNAL" for failure since system error.

ResetData .google.protobuf.Empty .google.protobuf.Empty

Initializes the accumulated profiled data of all fields. Returns: - Status "OK" for successful.

MonitorBeamProfile .google.protobuf.Empty BeamProfileStream stream

Retrieves the stream object for obtaining the beam profile. Returns: - Status "OK" for successful.

System

Method NameRequest TypeResponse TypeDescription
GetAppInfo .google.protobuf.Empty AppInfoResponse

GetSettingList .google.protobuf.Empty SettingListResponse

Retrieves registered setting list. Returns: - Status "OK" and response indicating the setting name list.

GetCurrentSetting .google.protobuf.Empty SettingResponse

Retrieves the loaded setting. Returns: - Status "OK" and response indicating the loaded setting name.

LoadSetting SettingRequest .google.protobuf.Empty

Loads setting. All system properties are applied as loaded settings, but information of gRPC host and Image Stream hosts is not loaded. Returns: - Status "OK" for successful. - Status "FAILED_PRECONDITION" for failure since the setting name is not exist in registered setting list.

SaveSetting .google.protobuf.Empty .google.protobuf.Empty

Saves setting. All system properties are saved in the current setting, including information of gRPC hosts and Image Stream hosts. Returns: - Status "OK" for successful saving the setting.

AddSetting SettingRequest .google.protobuf.Empty

Adds available setting. All system properties will be saved with new setting. This works like "Save as". If the setting already exist, the existing setting will be overwritten. Returns: - Status "OK" for successful.

RemoveSetting SettingRequest .google.protobuf.Empty

Removes setting from the registered setting list. Returns: - Status "OK" for successful. - Status "FAILED_PRECONDITION" for failure since target setting is loaded or not exist in registered setting list.

GetDeviceList .google.protobuf.Empty DeviceInfoList

Retrieves the available device list. Returns: - Status "OK" and response indicating the available device list.

ConnectLastDevice .google.protobuf.Empty .google.protobuf.Empty

Connects last connected device. Returns: - Status "OK" for successful. - Status "FAILED_PRECONDITION" for failure.

ConnectDevice ConnectDeviceRequest .google.protobuf.Empty

Connects device which of serial number is given. Returns: - Status "OK" for successful. - Status "FAILED_PRECONDITION" for failure.

DisconnectDevice .google.protobuf.Empty .google.protobuf.Empty

Disconnects the device. Returns: - Status "OK" for successful.

GetRawImageStreamServerInfo .google.protobuf.Empty ImageStreamServerResponse

Retrieves image stream server information for raw image. Returns: - Status "OK" and response indicating the image stream information.

GetProfiledImageStreamServerInfo .google.protobuf.Empty ImageStreamServerResponse

Retrieves image stream server information for profiled image. Returns: - Status "OK" and response indicating the image stream information.

SetRawImageStreamServer ImageStreamServerRequest .google.protobuf.Empty

Starts/stops image stream server for raw image and/or modifies options. The server's URL (IP and Port) cannot be changed with gRPC. Note that the camera must be streaming to start the stream server. Returns: - Status "OK" for successful. - Status "INVALID ARGUMENT" for failure since some values are out of range. - Status "FAILED_PRECONDITION" for indicating that the stream cannot be started, or failure for changing some value since the server is running.

SetProfiledImageStreamServer ImageStreamServerRequest .google.protobuf.Empty

Starts/stops image stream server for raw image and/or modifies options. The server's URL (IP and Port) cannot be changed with gRPC. Note that the camera must be streaming to start the stream server. Returns: - Status "OK" for successful. - Status "INVALID ARGUMENT" for failure since some values are out of range. - Status "FAILED_PRECONDITION" for indicating that the stream cannot be started, or failure for changing some value since the server is running.

MonitorSystemLog .google.protobuf.Empty SystemLogStream stream

Retrieves the stream object for obtaining the system log message. Returns: - Status "OK" for successful.

Scalar Value Types

.proto TypeNotesC++JavaPythonGoC#PHPRuby
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)