1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308
|
/*
* Copyright 1999-2023 Logitech, Inc.
* All Rights Reserved
*
* SPDX-License-Identifier: LGPL-2.1-or-later
*/
syntax = "proto3";
package logi.device.proto;
option java_package = "com.logitech.vc.proto";
/**
* For reboot schedule request defined here
* https://docs.google.com/document/d/10pG89Cw_siDvnmsKxdLQqutIqegH6ouSnMon_G28Nyc/edit#bookmark=id.k0bz8vzzaj9
*/
message RebootSchedule
{
/**
* The time to reboot.
* If this is empty and ts is non-zero, it means to clear the reboot schedule
*/
string when = 1;
/**
* repeat mode defined here
* https://docs.google.com/document/d/1yQp8Ju82bDuVfHmprP_5ToUJbitK7kOjmj_71Cqc-do/edit#heading=h.k8yyuyddqj1v
*/
uint32 repeat = 2;
/**
* timestamp the schedule request was made
*/
uint64 ts = 3;
}
/**
* Request to reboot device
* This is to be included in UsbMsg
*
* After the device receives this, the device should send a response,
* followed by an mqtt event that conforms to device reboot or
* schedule reboot defined here
* https://docs.google.com/document/d/10pG89Cw_siDvnmsKxdLQqutIqegH6ouSnMon_G28Nyc/edit#bookmark=id.zcy4ldnyuij
* and
* https://docs.google.com/document/d/10pG89Cw_siDvnmsKxdLQqutIqegH6ouSnMon_G28Nyc/edit#bookmark=id.k0bz8vzzaj9
*
* EXPECTED RESPONSE
* RebootDeviceResponse
*/
message RebootDeviceRequest
{
/**
* Unused. Reserved for future use.
*/
bool reserved = 1;
/**
* A timestamp indicating when the reboot request
* was initiated.
* The device should include this entry as part of the event information
* it sends back to PC during a reboot request.
*/
uint64 iat = 2;
/**
* Below are newly defined attributes that includes rebootSchedule,
* and also tries to keep the request in-line with cloud request
* Note:
* older versions of Sync app would not know about below
*/
/**
* (REQUIRED)Reboot strategy defined in
* https://docs.google.com/document/d/10pG89Cw_siDvnmsKxdLQqutIqegH6ouSnMon_G28Nyc/edit#
*/
uint32 strategy = 3;
/**
* (REQUIRED) Same behavior as in Raiden Backend API
*/
bool rebootNow = 4;
/**
* (OPTIONAL) Same behavior as in Raiden Backend API
*/
RebootSchedule schedule = 5;
/**
* (REQUIRED) For device to distinguish between older request and new one that
* support schedule reboot.
* This defaults to 0 for older Sync app. Sync app that supports
* schedule reboot will pass with value 1.
*/
uint32 version = 6;
/**
* (OPTIONAL)
* serial number of the intended recipient of the command.
* If empty, the receiver should handle the command as the intended recipient. This also
* handles backward compatibility with older Sync app where serial number is not defined.
* Behavior for host and peripheral device: if command is for host device, host will
* handle command and forward the command to peripheral device as well. If for peripheral
* device, host will just forward command to peripheral device.
*/
string serial_number = 7;
}
/**
* Reboot device response
*/
message RebootDeviceResponse
{
/**
* bool value to indicate reboot was requested. If there are errors
* while requesting a device to reboot, should set the value to false
*/
bool success = 1;
}
/**
* This message requests that the speaker boost audio setting be changed.
* The device should send a device info event after this setting request are handled.
*
* EXPECTED RESPONSE
* SetSpeakerBoostResponse
*
*/
message SetSpeakerBoostRequest
{
/**
* (REQUIRED) The speaker boost setting to be set
*
* If value is 0, the request is to disable. If 1,
* the request is to enable.
*/
int32 speaker_boost = 1;
}
message SetSpeakerBoostResponse
{
/**
* (REQUIRED) set to true if the audio setting request was successfully sent, false
* otherwise
*/
bool success = 1;
}
/**
* This message requests that the noise reduction audio setting be changed.
* The device should send a device info event after this setting request are handled.
*
* EXPECTED RESPONSE
* SetNoiseReductionResponse
*
*/
message SetNoiseReductionRequest
{
/**
* (REQUIRED) The noise reduction setting to be set
*
* If value is 0, the request is to disable. If 1,
* the request is to enable.
*/
int32 noise_reduction = 1;
}
message SetNoiseReductionResponse
{
/**
* (REQUIRED) set to true if the audio setting request was successfully sent, false
* otherwise
*/
bool success = 1;
}
/**
* This message requests that the reverb mode audio setting be changed.
* The device should send a device info event after this setting request are handled.
*
* EXPECTED RESPONSE
* SetReverbModeResponse
*
*/
message SetReverbModeRequest
{
/**
* Reverb mode enumeration
*/
enum ReverbMode {
DISABLED = 0;
MILD = 1;
NORMAL = 2;
AGGRESSIVE = 3;
}
/**
* (REQUIRED) The reverb mode setting to be set
*
* see Reverb mode enumeration
*/
ReverbMode reverb_mode = 1;
}
message SetReverbModeResponse
{
/**
* (REQUIRED) set to true if the setting request was successfully sent, false otherwise
*/
bool success = 1;
}
/**
* This message requests that the microphone eq mode audio setting be changed.
* The device should send a device info event after this setting request are handled.
*
* EXPECTED RESPONSE
* SetMicEQModeResponse
*
*/
message SetMicEQModeRequest
{
/**
* MicEQ mode enumeration
*/
enum MicEQMode {
BASSBOOST = 0;
NORMAL = 1;
VOICEBOOST = 2;
}
/**
* (REQUIRED) The microphone eq setting to be set
*
* see MicEQ mode enumeration
*/
MicEQMode mic_eq_mode = 1;
}
message SetMicEQModeResponse
{
/**
* (REQUIRED) set to true if the setting request was successfully sent, false otherwise
*/
bool success = 1;
}
/**
* This message requests that the speaker eq mode audio setting be changed.
* The device should send a device info event after this setting request are handled.
*
* EXPECTED RESPONSE
* SetSpeakerEQModeResponse
*
*/
message SetSpeakerEQModeRequest
{
/**
* SpeakerEQ mode enumeration
*/
enum SpeakerEQMode {
BASSBOOST = 0;
NORMAL = 1;
VOICEBOOST = 2;
}
/**
* (REQUIRED) The speaker eq setting to be set
*
* see SpeakerEQ mode enumeration
*/
SpeakerEQMode speaker_eq_mode = 1;
}
message SetSpeakerEQModeResponse
{
/**
* (REQUIRED) set to true if the setting request was successfully sent, false otherwise
*/
bool success = 1;
}
/**
* This message requests that the device forgets a peripheral.
* After forgetting the peripheral, the device should send ForgetDeviceResponse
* and indicate success or false.
* The device should also send a device info event after sending the response
* to indicate the new peripheral state.
* Note: micpod uid comes from device in this format "uid": "33",
* but Sync stores this as hex string , like uuid: "0x0021".
* Sync app will send the uuid in hex string format.
* EXPECTED RESPONSE
* ForgetDeviceResponse
*
*/
message ForgetDeviceRequest
{
/**
* (REQUIRED) The uuid of peripheral to forget
*
*/
string uuid = 1;
}
message ForgetDeviceResponse
{
/**
* (REQUIRED) set to true if forget request was successfully handled
*/
bool success = 1;
}
|