@mentra/bluetooth-sdk 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (278) hide show
  1. package/README.md +278 -0
  2. package/android/build.gradle +167 -0
  3. package/android/lc3Lib/CMakeLists.txt +6 -0
  4. package/android/lc3Lib/build.gradle +109 -0
  5. package/android/lc3Lib/proguard-rules.pro +33 -0
  6. package/android/lc3Lib/src/main/AndroidManifest.xml +2 -0
  7. package/android/lc3Lib/src/main/cpp/CMakeLists.txt +8 -0
  8. package/android/lc3Lib/src/main/cpp/google_opus_stuff/CMakeLists.txt +30 -0
  9. package/android/lc3Lib/src/main/cpp/google_opus_stuff/jni/CMakeLists.txt +7 -0
  10. package/android/lc3Lib/src/main/cpp/google_opus_stuff/jni/ogg_opus_encoder.cc +96 -0
  11. package/android/lc3Lib/src/main/cpp/google_opus_stuff/jni/ogg_opus_encoder.h +53 -0
  12. package/android/lc3Lib/src/main/cpp/google_opus_stuff/libogg/Makefile.am +6 -0
  13. package/android/lc3Lib/src/main/cpp/google_opus_stuff/libogg/config_types.h +26 -0
  14. package/android/lc3Lib/src/main/cpp/google_opus_stuff/libogg/config_types.h.in +26 -0
  15. package/android/lc3Lib/src/main/cpp/google_opus_stuff/libogg/ogg.h +209 -0
  16. package/android/lc3Lib/src/main/cpp/google_opus_stuff/libogg/os_types.h +158 -0
  17. package/android/lc3Lib/src/main/cpp/google_opus_stuff/libopus/opus.h +981 -0
  18. package/android/lc3Lib/src/main/cpp/google_opus_stuff/libopus/opus_custom.h +342 -0
  19. package/android/lc3Lib/src/main/cpp/google_opus_stuff/libopus/opus_defines.h +799 -0
  20. package/android/lc3Lib/src/main/cpp/google_opus_stuff/libopus/opus_multistream.h +660 -0
  21. package/android/lc3Lib/src/main/cpp/google_opus_stuff/libopus/opus_projection.h +568 -0
  22. package/android/lc3Lib/src/main/cpp/google_opus_stuff/libopus/opus_types.h +166 -0
  23. package/android/lc3Lib/src/main/cpp/google_opus_stuff/ogg_opus_encoder.cc +268 -0
  24. package/android/lc3Lib/src/main/cpp/google_opus_stuff/ogg_opus_encoder.h +115 -0
  25. package/android/lc3Lib/src/main/cpp/google_opus_stuff/opus_tools/opus_header.h +59 -0
  26. package/android/lc3Lib/src/main/cpp/liblc3/CMakeLists.txt +38 -0
  27. package/android/lc3Lib/src/main/cpp/liblc3/include/lc3.h +309 -0
  28. package/android/lc3Lib/src/main/cpp/liblc3/include/lc3_private.h +162 -0
  29. package/android/lc3Lib/src/main/cpp/liblc3/include/rnnoise.h +114 -0
  30. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/CMakeLists.txt +19 -0
  31. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/attdet.c +92 -0
  32. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/attdet.h +44 -0
  33. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/bits.c +375 -0
  34. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/bits.h +315 -0
  35. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/bwdet.c +129 -0
  36. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/bwdet.h +69 -0
  37. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/common.h +148 -0
  38. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/energy.c +70 -0
  39. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/energy.h +43 -0
  40. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/fastmath.h +158 -0
  41. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/lc3.c +702 -0
  42. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/ltpf.c +893 -0
  43. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/ltpf.h +111 -0
  44. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/ltpf_arm.h +506 -0
  45. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/ltpf_neon.h +281 -0
  46. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/makefile.mk +35 -0
  47. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/mdct.c +452 -0
  48. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/mdct.h +57 -0
  49. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/mdct_neon.h +296 -0
  50. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/meson.build +46 -0
  51. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/plc.c +61 -0
  52. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/plc.h +57 -0
  53. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/sns.c +880 -0
  54. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/sns.h +103 -0
  55. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/spec.c +904 -0
  56. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/spec.h +119 -0
  57. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/tables.c +3457 -0
  58. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/tables.h +94 -0
  59. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/tns.c +457 -0
  60. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/tns.h +99 -0
  61. package/android/lc3Lib/src/main/cpp/liblc3/liblc3.cpp +159 -0
  62. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/_kiss_fft_guts.h +182 -0
  63. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/arch.h +261 -0
  64. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/celt_lpc.c +279 -0
  65. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/celt_lpc.h +59 -0
  66. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/common.h +48 -0
  67. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/compile.sh +3 -0
  68. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/denoise.c +646 -0
  69. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/kiss_fft.c +601 -0
  70. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/kiss_fft.h +203 -0
  71. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/opus_types.h +159 -0
  72. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/pitch.c +526 -0
  73. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/pitch.h +149 -0
  74. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/rnn.c +178 -0
  75. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/rnn.h +69 -0
  76. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/rnn_data.c +11051 -0
  77. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/rnn_data.h +34 -0
  78. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/rnn_reader.c +168 -0
  79. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/rnn_train.py +66 -0
  80. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/tansig_table.h +45 -0
  81. package/android/lc3Lib/src/main/java/com/mentra/lc3Lib/Lc3Cpp.java +38 -0
  82. package/android/lc3Lib/third_party/CMakeLists.txt +23 -0
  83. package/android/lc3Lib/third_party/CMakeLists_libogg.txt +18 -0
  84. package/android/lc3Lib/third_party/CMakeLists_libopus.txt +18 -0
  85. package/android/lc3Lib/third_party/CMakeLists_opus-tools.txt +23 -0
  86. package/android/lc3Lib/third_party/opus_tools/src/AUTHORS +5 -0
  87. package/android/lc3Lib/third_party/opus_tools/src/CMakeLists.txt +4 -0
  88. package/android/lc3Lib/third_party/opus_tools/src/COPYING +371 -0
  89. package/android/lc3Lib/third_party/opus_tools/src/ChangeLog +3 -0
  90. package/android/lc3Lib/third_party/opus_tools/src/Makefile.am +42 -0
  91. package/android/lc3Lib/third_party/opus_tools/src/Makefile.unix +23 -0
  92. package/android/lc3Lib/third_party/opus_tools/src/NEWS +0 -0
  93. package/android/lc3Lib/third_party/opus_tools/src/README +0 -0
  94. package/android/lc3Lib/third_party/opus_tools/src/autogen.sh +115 -0
  95. package/android/lc3Lib/third_party/opus_tools/src/configure.ac +293 -0
  96. package/android/lc3Lib/third_party/opus_tools/src/src/arch.h +239 -0
  97. package/android/lc3Lib/third_party/opus_tools/src/src/audio-in.c +1046 -0
  98. package/android/lc3Lib/third_party/opus_tools/src/src/diag_range.c +245 -0
  99. package/android/lc3Lib/third_party/opus_tools/src/src/diag_range.h +28 -0
  100. package/android/lc3Lib/third_party/opus_tools/src/src/info_opus.c +320 -0
  101. package/android/lc3Lib/third_party/opus_tools/src/src/info_opus.h +51 -0
  102. package/android/lc3Lib/third_party/opus_tools/src/src/lpc.c +157 -0
  103. package/android/lc3Lib/third_party/opus_tools/src/src/lpc.h +27 -0
  104. package/android/lc3Lib/third_party/opus_tools/src/src/opus_header.c +286 -0
  105. package/android/lc3Lib/third_party/opus_tools/src/src/opus_header.h +59 -0
  106. package/android/lc3Lib/third_party/opus_tools/src/src/opusdec.c +884 -0
  107. package/android/lc3Lib/third_party/opus_tools/src/src/opusenc.c +1021 -0
  108. package/android/lc3Lib/third_party/opus_tools/src/src/opusenc.h +101 -0
  109. package/android/lc3Lib/third_party/opus_tools/src/src/opusinfo.c +639 -0
  110. package/android/lc3Lib/third_party/opus_tools/src/src/opusinfo.h +51 -0
  111. package/android/lc3Lib/third_party/opus_tools/src/src/os_support.h +167 -0
  112. package/android/lc3Lib/third_party/opus_tools/src/src/resample.c +1137 -0
  113. package/android/lc3Lib/third_party/opus_tools/src/src/speex_resampler.h +344 -0
  114. package/android/lc3Lib/third_party/opus_tools/src/src/stack_alloc.h +115 -0
  115. package/android/lc3Lib/third_party/opus_tools/src/src/wav_io.c +125 -0
  116. package/android/lc3Lib/third_party/opus_tools/src/src/wav_io.h +62 -0
  117. package/android/lc3Lib/third_party/opus_tools/src/src/wave_out.c +223 -0
  118. package/android/lc3Lib/third_party/opus_tools/src/src/wave_out.h +60 -0
  119. package/android/settings.gradle +1 -0
  120. package/android/src/main/AndroidManifest.xml +40 -0
  121. package/android/src/main/java/com/mentra/bluetoothsdk/BluetoothSdkModule.kt +528 -0
  122. package/android/src/main/java/com/mentra/bluetoothsdk/Bridge.kt +610 -0
  123. package/android/src/main/java/com/mentra/bluetoothsdk/DeviceManager.kt +1616 -0
  124. package/android/src/main/java/com/mentra/bluetoothsdk/DeviceStore.kt +314 -0
  125. package/android/src/main/java/com/mentra/bluetoothsdk/MentraBluetoothModels.kt +1710 -0
  126. package/android/src/main/java/com/mentra/bluetoothsdk/MentraBluetoothSdk.kt +554 -0
  127. package/android/src/main/java/com/mentra/bluetoothsdk/ObservableStore.kt +68 -0
  128. package/android/src/main/java/com/mentra/bluetoothsdk/controllers/ControllerManager.kt +158 -0
  129. package/android/src/main/java/com/mentra/bluetoothsdk/controllers/R1.kt +934 -0
  130. package/android/src/main/java/com/mentra/bluetoothsdk/services/Foreground.kt +175 -0
  131. package/android/src/main/java/com/mentra/bluetoothsdk/services/PhoneMic.kt +1109 -0
  132. package/android/src/main/java/com/mentra/bluetoothsdk/sgcs/G1.java +3974 -0
  133. package/android/src/main/java/com/mentra/bluetoothsdk/sgcs/G2.kt +3551 -0
  134. package/android/src/main/java/com/mentra/bluetoothsdk/sgcs/Mach1.java +1327 -0
  135. package/android/src/main/java/com/mentra/bluetoothsdk/sgcs/MentraLive.java +6959 -0
  136. package/android/src/main/java/com/mentra/bluetoothsdk/sgcs/MentraNex.kt +1655 -0
  137. package/android/src/main/java/com/mentra/bluetoothsdk/sgcs/MentraosBle.java +53675 -0
  138. package/android/src/main/java/com/mentra/bluetoothsdk/sgcs/SGCManager.kt +202 -0
  139. package/android/src/main/java/com/mentra/bluetoothsdk/sgcs/Simulated.kt +224 -0
  140. package/android/src/main/java/com/mentra/bluetoothsdk/stt/STTTools.kt +340 -0
  141. package/android/src/main/java/com/mentra/bluetoothsdk/stt/SherpaOnnxTranscriber.kt +465 -0
  142. package/android/src/main/java/com/mentra/bluetoothsdk/stt/VadGateSpeechPolicy.kt +221 -0
  143. package/android/src/main/java/com/mentra/bluetoothsdk/utils/AES.java +106 -0
  144. package/android/src/main/java/com/mentra/bluetoothsdk/utils/AudioSessionMonitor.kt +189 -0
  145. package/android/src/main/java/com/mentra/bluetoothsdk/utils/BitmapJavaUtils.java +169 -0
  146. package/android/src/main/java/com/mentra/bluetoothsdk/utils/BlePhotoUploadService.java +179 -0
  147. package/android/src/main/java/com/mentra/bluetoothsdk/utils/Constants.kt +44 -0
  148. package/android/src/main/java/com/mentra/bluetoothsdk/utils/G1Text.kt +436 -0
  149. package/android/src/main/java/com/mentra/bluetoothsdk/utils/IncidentLogBleRelayNaming.java +29 -0
  150. package/android/src/main/java/com/mentra/bluetoothsdk/utils/IncidentLogBleUploadService.java +76 -0
  151. package/android/src/main/java/com/mentra/bluetoothsdk/utils/K900ProtocolUtils.java +791 -0
  152. package/android/src/main/java/com/mentra/bluetoothsdk/utils/MessageChunker.java +186 -0
  153. package/android/src/main/java/com/mentra/bluetoothsdk/utils/NexSGCUtils.kt +589 -0
  154. package/android/src/main/java/com/mentra/bluetoothsdk/utils/PhoneAudioMonitor.kt +303 -0
  155. package/android/src/main/java/com/mentra/bluetoothsdk/utils/SmartGlassesConnectionState.java +9 -0
  156. package/android/src/main/java/com/mentra/bluetoothsdk/utils/audio/ByteUtilAudioPlayer.java +655 -0
  157. package/android/src/main/java/com/mentra/bluetoothsdk/utils/audio/Lc3Player.java +441 -0
  158. package/android/src/main/java/com/mentra/bluetoothsdk/utils/audio/PCMAudioPlayer.java +431 -0
  159. package/android/src/main/res/values/strings.xml +4 -0
  160. package/app.plugin.js +1 -0
  161. package/build/BluetoothSdk.types.d.ts +498 -0
  162. package/build/BluetoothSdk.types.d.ts.map +1 -0
  163. package/build/BluetoothSdk.types.js +23 -0
  164. package/build/BluetoothSdk.types.js.map +1 -0
  165. package/build/BluetoothSdkModule.d.ts +71 -0
  166. package/build/BluetoothSdkModule.d.ts.map +1 -0
  167. package/build/BluetoothSdkModule.js +106 -0
  168. package/build/BluetoothSdkModule.js.map +1 -0
  169. package/build/index.d.ts +3 -0
  170. package/build/index.d.ts.map +1 -0
  171. package/build/index.js +5 -0
  172. package/build/index.js.map +1 -0
  173. package/expo-module.config.json +9 -0
  174. package/ios/BluetoothSdkModule.swift +665 -0
  175. package/ios/MentraBluetoothSDK.podspec +77 -0
  176. package/ios/Packages/CoreObjC/CoreObjC.xcodeproj/project.pbxproj +213 -0
  177. package/ios/Packages/CoreObjC/PcmConverter.h +22 -0
  178. package/ios/Packages/CoreObjC/PcmConverter.m +266 -0
  179. package/ios/Packages/CoreObjC/attdet.c +92 -0
  180. package/ios/Packages/CoreObjC/attdet.h +44 -0
  181. package/ios/Packages/CoreObjC/bits.c +375 -0
  182. package/ios/Packages/CoreObjC/bits.h +315 -0
  183. package/ios/Packages/CoreObjC/bwdet.c +129 -0
  184. package/ios/Packages/CoreObjC/bwdet.h +69 -0
  185. package/ios/Packages/CoreObjC/common.h +151 -0
  186. package/ios/Packages/CoreObjC/energy.c +70 -0
  187. package/ios/Packages/CoreObjC/energy.h +43 -0
  188. package/ios/Packages/CoreObjC/fastmath.h +158 -0
  189. package/ios/Packages/CoreObjC/lc3.c +704 -0
  190. package/ios/Packages/CoreObjC/lc3.h +313 -0
  191. package/ios/Packages/CoreObjC/lc3_cpp.h +283 -0
  192. package/ios/Packages/CoreObjC/lc3_private.h +163 -0
  193. package/ios/Packages/CoreObjC/ltpf.c +905 -0
  194. package/ios/Packages/CoreObjC/ltpf.h +111 -0
  195. package/ios/Packages/CoreObjC/ltpf_arm.h +506 -0
  196. package/ios/Packages/CoreObjC/ltpf_neon.h +281 -0
  197. package/ios/Packages/CoreObjC/makefile.mk +35 -0
  198. package/ios/Packages/CoreObjC/mdct.c +469 -0
  199. package/ios/Packages/CoreObjC/mdct.h +57 -0
  200. package/ios/Packages/CoreObjC/mdct_neon.h +296 -0
  201. package/ios/Packages/CoreObjC/meson.build +61 -0
  202. package/ios/Packages/CoreObjC/plc.c +61 -0
  203. package/ios/Packages/CoreObjC/plc.h +57 -0
  204. package/ios/Packages/CoreObjC/rnnoise.h +114 -0
  205. package/ios/Packages/CoreObjC/sns.c +880 -0
  206. package/ios/Packages/CoreObjC/sns.h +103 -0
  207. package/ios/Packages/CoreObjC/spec.c +907 -0
  208. package/ios/Packages/CoreObjC/spec.h +119 -0
  209. package/ios/Packages/CoreObjC/tables.c +3457 -0
  210. package/ios/Packages/CoreObjC/tables.h +94 -0
  211. package/ios/Packages/CoreObjC/tns.c +457 -0
  212. package/ios/Packages/CoreObjC/tns.h +99 -0
  213. package/ios/Packages/SherpaOnnx/Model/joiner.onnx +0 -0
  214. package/ios/Packages/SherpaOnnx/Model/tokens.txt +502 -0
  215. package/ios/Packages/SherpaOnnx/SherpaOnnx.swift +1659 -0
  216. package/ios/Packages/SherpaOnnx/sherpa-onnx.xcframework/Headers/cargs.h +162 -0
  217. package/ios/Packages/SherpaOnnx/sherpa-onnx.xcframework/Headers/sherpa-onnx/c-api/c-api.h +1852 -0
  218. package/ios/Packages/SherpaOnnx/sherpa-onnx.xcframework/Headers/sherpa-onnx/c-api/cxx-api.h +674 -0
  219. package/ios/Packages/SherpaOnnx/sherpa-onnx.xcframework/Info.plist +44 -0
  220. package/ios/Packages/SherpaOnnx/sherpa-onnx.xcframework/ios-arm64/libsherpa-onnx.a +0 -0
  221. package/ios/Packages/SherpaOnnx/sherpa-onnx.xcframework/ios-arm64/sherpa-onnx.a +0 -0
  222. package/ios/Packages/SherpaOnnx/sherpa-onnx.xcframework/ios-arm64_x86_64-simulator/libsherpa-onnx.a +0 -0
  223. package/ios/Packages/SherpaOnnx/sherpa-onnx.xcframework/ios-arm64_x86_64-simulator/sherpa-onnx.a +0 -0
  224. package/ios/Packages/VAD/Common/VAD/VADQuality.swift +41 -0
  225. package/ios/Packages/VAD/Common/VAD/VADState.swift +26 -0
  226. package/ios/Packages/VAD/Common/VAD/VADStrategy.swift +29 -0
  227. package/ios/Packages/VAD/Common/VAD/VADType.swift +14 -0
  228. package/ios/Packages/VAD/Data/Configuration.swift +68 -0
  229. package/ios/Packages/VAD/Data/FrameSize.swift +39 -0
  230. package/ios/Packages/VAD/Data/Record.swift +13 -0
  231. package/ios/Packages/VAD/Data/Result.swift +22 -0
  232. package/ios/Packages/VAD/Data/SampleRate.swift +48 -0
  233. package/ios/Packages/VAD/Silero/Model/silero_vad.onnx +0 -0
  234. package/ios/Packages/VAD/Silero/SileroVAD.swift +284 -0
  235. package/ios/Packages/VAD/Silero/SileroVADStrategy.swift +64 -0
  236. package/ios/Packages/libbz2/module.modulemap +5 -0
  237. package/ios/Packages/libbz2/shim.h +1 -0
  238. package/ios/Source/Bridge.swift +353 -0
  239. package/ios/Source/Bridging-Header.h +16 -0
  240. package/ios/Source/DeviceManager.swift +1478 -0
  241. package/ios/Source/DeviceStore.swift +295 -0
  242. package/ios/Source/MentraBluetoothSDK.swift +2439 -0
  243. package/ios/Source/ObservableStore.swift +88 -0
  244. package/ios/Source/PrivacyInfo.xcprivacy +23 -0
  245. package/ios/Source/controllers/ControllerManager.swift +187 -0
  246. package/ios/Source/controllers/R1.swift +827 -0
  247. package/ios/Source/services/PhoneMic.swift +662 -0
  248. package/ios/Source/sgcs/Frame.swift +651 -0
  249. package/ios/Source/sgcs/G1.swift +2505 -0
  250. package/ios/Source/sgcs/G2.swift +3730 -0
  251. package/ios/Source/sgcs/Mach1.swift +543 -0
  252. package/ios/Source/sgcs/MentraLive.swift +4708 -0
  253. package/ios/Source/sgcs/MentraNex.swift +2479 -0
  254. package/ios/Source/sgcs/SGCManager.swift +243 -0
  255. package/ios/Source/sgcs/Simulated.swift +270 -0
  256. package/ios/Source/sgcs/mentraos_ble.pb.swift +3811 -0
  257. package/ios/Source/stt/STTTools.swift +154 -0
  258. package/ios/Source/stt/SherpaOnnxTranscriber.swift +401 -0
  259. package/ios/Source/utils/AudioSessionMonitor.swift +283 -0
  260. package/ios/Source/utils/Constants.swift +74 -0
  261. package/ios/Source/utils/Enums.swift +95 -0
  262. package/ios/Source/utils/G1Text.swift +2067 -0
  263. package/ios/Source/utils/JSCExperiment.swift +241 -0
  264. package/ios/Source/utils/MemoryMonitor.swift +44 -0
  265. package/ios/Source/utils/MessageChunker.swift +164 -0
  266. package/ios/Source/utils/Models.swift +135 -0
  267. package/ios/Source/utils/PhoneAudioMonitor.swift +226 -0
  268. package/ios/Source/utils/TarBz2Extractor.swift +206 -0
  269. package/package.json +78 -0
  270. package/plugin/build/index.d.ts +6 -0
  271. package/plugin/build/index.js +12 -0
  272. package/plugin/build/withAndroid.d.ts +4 -0
  273. package/plugin/build/withAndroid.js +80 -0
  274. package/plugin/build/withIos.d.ts +4 -0
  275. package/plugin/build/withIos.js +64 -0
  276. package/src/BluetoothSdk.types.ts +581 -0
  277. package/src/BluetoothSdkModule.ts +259 -0
  278. package/src/index.ts +4 -0
@@ -0,0 +1,3811 @@
1
+ // DO NOT EDIT.
2
+ // swift-format-ignore-file
3
+ // swiftlint:disable all
4
+ //
5
+ // Generated by the Swift generator plugin for the protocol buffer compiler.
6
+ // Source: mcu_client/mentraos_ble.proto
7
+ //
8
+ // For information on using the generated types, please see the documentation:
9
+ // https://github.com/apple/swift-protobuf/
10
+
11
+ import SwiftProtobuf
12
+
13
+ /// If the compiler emits an error on this type, it is because this file
14
+ /// was generated by a version of the `protoc` Swift plug-in that is
15
+ /// incompatible with the version of SwiftProtobuf to which you are linking.
16
+ /// Please ensure that you are building against the same version of the API
17
+ /// that was used to generate this file.
18
+ private struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAPIVersionCheck {
19
+ struct _2: SwiftProtobuf.ProtobufAPIVersion_2 {}
20
+ typealias Version = _2
21
+ }
22
+
23
+ /// All messages from phone to glasses
24
+ struct Mentraos_Ble_PhoneToGlasses {
25
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
26
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
27
+ // methods supported on all messages.
28
+
29
+ /// Optional message ID for request/response correlation
30
+ var msgID: String = .init()
31
+
32
+ var payload: Mentraos_Ble_PhoneToGlasses.OneOf_Payload?
33
+
34
+ /// Connection Management
35
+ var disconnect: Mentraos_Ble_DisconnectRequest {
36
+ get {
37
+ if case let .disconnect(v)? = payload { return v }
38
+ return Mentraos_Ble_DisconnectRequest()
39
+ }
40
+ set { payload = .disconnect(newValue) }
41
+ }
42
+
43
+ var batteryState: Mentraos_Ble_BatteryStateRequest {
44
+ get {
45
+ if case let .batteryState(v)? = payload { return v }
46
+ return Mentraos_Ble_BatteryStateRequest()
47
+ }
48
+ set { payload = .batteryState(newValue) }
49
+ }
50
+
51
+ var glassesInfo: Mentraos_Ble_GlassesInfoRequest {
52
+ get {
53
+ if case let .glassesInfo(v)? = payload { return v }
54
+ return Mentraos_Ble_GlassesInfoRequest()
55
+ }
56
+ set { payload = .glassesInfo(newValue) }
57
+ }
58
+
59
+ var pairingMode: Mentraos_Ble_PairingModeRequest {
60
+ get {
61
+ if case let .pairingMode(v)? = payload { return v }
62
+ return Mentraos_Ble_PairingModeRequest()
63
+ }
64
+ set { payload = .pairingMode(newValue) }
65
+ }
66
+
67
+ var headPosition: Mentraos_Ble_HeadPositionRequest {
68
+ get {
69
+ if case let .headPosition(v)? = payload { return v }
70
+ return Mentraos_Ble_HeadPositionRequest()
71
+ }
72
+ set { payload = .headPosition(newValue) }
73
+ }
74
+
75
+ var headUpAngle: Mentraos_Ble_HeadUpAngleConfig {
76
+ get {
77
+ if case let .headUpAngle(v)? = payload { return v }
78
+ return Mentraos_Ble_HeadUpAngleConfig()
79
+ }
80
+ set { payload = .headUpAngle(newValue) }
81
+ }
82
+
83
+ var pong: Mentraos_Ble_PongResponse {
84
+ get {
85
+ if case let .pong(v)? = payload { return v }
86
+ return Mentraos_Ble_PongResponse()
87
+ }
88
+ set { payload = .pong(newValue) }
89
+ }
90
+
91
+ /// Audio System
92
+ var micState: Mentraos_Ble_MicStateConfig {
93
+ get {
94
+ if case let .micState(v)? = payload { return v }
95
+ return Mentraos_Ble_MicStateConfig()
96
+ }
97
+ set { payload = .micState(newValue) }
98
+ }
99
+
100
+ var vadEnabled: Mentraos_Ble_VadEnabledConfig {
101
+ get {
102
+ if case let .vadEnabled(v)? = payload { return v }
103
+ return Mentraos_Ble_VadEnabledConfig()
104
+ }
105
+ set { payload = .vadEnabled(newValue) }
106
+ }
107
+
108
+ var vadConfig: Mentraos_Ble_VadConfig {
109
+ get {
110
+ if case let .vadConfig(v)? = payload { return v }
111
+ return Mentraos_Ble_VadConfig()
112
+ }
113
+ set { payload = .vadConfig(newValue) }
114
+ }
115
+
116
+ /// Display System
117
+ var displayText: Mentraos_Ble_DisplayText {
118
+ get {
119
+ if case let .displayText(v)? = payload { return v }
120
+ return Mentraos_Ble_DisplayText()
121
+ }
122
+ set { payload = .displayText(newValue) }
123
+ }
124
+
125
+ var displayImage: Mentraos_Ble_DisplayImage {
126
+ get {
127
+ if case let .displayImage(v)? = payload { return v }
128
+ return Mentraos_Ble_DisplayImage()
129
+ }
130
+ set { payload = .displayImage(newValue) }
131
+ }
132
+
133
+ var preloadImage: Mentraos_Ble_PreloadImage {
134
+ get {
135
+ if case let .preloadImage(v)? = payload { return v }
136
+ return Mentraos_Ble_PreloadImage()
137
+ }
138
+ set { payload = .preloadImage(newValue) }
139
+ }
140
+
141
+ var displayCachedImage: Mentraos_Ble_DisplayCachedImage {
142
+ get {
143
+ if case let .displayCachedImage(v)? = payload { return v }
144
+ return Mentraos_Ble_DisplayCachedImage()
145
+ }
146
+ set { payload = .displayCachedImage(newValue) }
147
+ }
148
+
149
+ var clearCachedImage_p: Mentraos_Ble_ClearCachedImage {
150
+ get {
151
+ if case let .clearCachedImage_p(v)? = payload { return v }
152
+ return Mentraos_Ble_ClearCachedImage()
153
+ }
154
+ set { payload = .clearCachedImage_p(newValue) }
155
+ }
156
+
157
+ var displayScrollingText: Mentraos_Ble_DisplayScrollingText {
158
+ get {
159
+ if case let .displayScrollingText(v)? = payload { return v }
160
+ return Mentraos_Ble_DisplayScrollingText()
161
+ }
162
+ set { payload = .displayScrollingText(newValue) }
163
+ }
164
+
165
+ var displayPower: Mentraos_Ble_DisplayPowerConfig {
166
+ get {
167
+ if case let .displayPower(v)? = payload { return v }
168
+ return Mentraos_Ble_DisplayPowerConfig()
169
+ }
170
+ set { payload = .displayPower(newValue) }
171
+ }
172
+
173
+ var brightness: Mentraos_Ble_BrightnessConfig {
174
+ get {
175
+ if case let .brightness(v)? = payload { return v }
176
+ return Mentraos_Ble_BrightnessConfig()
177
+ }
178
+ set { payload = .brightness(newValue) }
179
+ }
180
+
181
+ var autoBrightness: Mentraos_Ble_AutoBrightnessConfig {
182
+ get {
183
+ if case let .autoBrightness(v)? = payload { return v }
184
+ return Mentraos_Ble_AutoBrightnessConfig()
185
+ }
186
+ set { payload = .autoBrightness(newValue) }
187
+ }
188
+
189
+ var autoBrightnessMult: Mentraos_Ble_AutoBrightnessMultiplier {
190
+ get {
191
+ if case let .autoBrightnessMult(v)? = payload { return v }
192
+ return Mentraos_Ble_AutoBrightnessMultiplier()
193
+ }
194
+ set { payload = .autoBrightnessMult(newValue) }
195
+ }
196
+
197
+ var drawLine: Mentraos_Ble_DrawLine {
198
+ get {
199
+ if case let .drawLine(v)? = payload { return v }
200
+ return Mentraos_Ble_DrawLine()
201
+ }
202
+ set { payload = .drawLine(newValue) }
203
+ }
204
+
205
+ var drawRect: Mentraos_Ble_DrawRect {
206
+ get {
207
+ if case let .drawRect(v)? = payload { return v }
208
+ return Mentraos_Ble_DrawRect()
209
+ }
210
+ set { payload = .drawRect(newValue) }
211
+ }
212
+
213
+ var drawCircle: Mentraos_Ble_DrawCircle {
214
+ get {
215
+ if case let .drawCircle(v)? = payload { return v }
216
+ return Mentraos_Ble_DrawCircle()
217
+ }
218
+ set { payload = .drawCircle(newValue) }
219
+ }
220
+
221
+ var commit: Mentraos_Ble_CommitDisplay {
222
+ get {
223
+ if case let .commit(v)? = payload { return v }
224
+ return Mentraos_Ble_CommitDisplay()
225
+ }
226
+ set { payload = .commit(newValue) }
227
+ }
228
+
229
+ var displayDistance: Mentraos_Ble_DisplayDistanceConfig {
230
+ get {
231
+ if case let .displayDistance(v)? = payload { return v }
232
+ return Mentraos_Ble_DisplayDistanceConfig()
233
+ }
234
+ set { payload = .displayDistance(newValue) }
235
+ }
236
+
237
+ var displayHeight: Mentraos_Ble_DisplayHeightConfig {
238
+ get {
239
+ if case let .displayHeight(v)? = payload { return v }
240
+ return Mentraos_Ble_DisplayHeightConfig()
241
+ }
242
+ set { payload = .displayHeight(newValue) }
243
+ }
244
+
245
+ var clearDisplay_p: Mentraos_Ble_ClearDisplay {
246
+ get {
247
+ if case let .clearDisplay_p(v)? = payload { return v }
248
+ return Mentraos_Ble_ClearDisplay()
249
+ }
250
+ set { payload = .clearDisplay_p(newValue) }
251
+ }
252
+
253
+ /// User Input
254
+ var imuEnabled: Mentraos_Ble_ImuEnabledConfig {
255
+ get {
256
+ if case let .imuEnabled(v)? = payload { return v }
257
+ return Mentraos_Ble_ImuEnabledConfig()
258
+ }
259
+ set { payload = .imuEnabled(newValue) }
260
+ }
261
+
262
+ var imuSingle: Mentraos_Ble_ImuSingleRequest {
263
+ get {
264
+ if case let .imuSingle(v)? = payload { return v }
265
+ return Mentraos_Ble_ImuSingleRequest()
266
+ }
267
+ set { payload = .imuSingle(newValue) }
268
+ }
269
+
270
+ var imuStream: Mentraos_Ble_ImuStreamConfig {
271
+ get {
272
+ if case let .imuStream(v)? = payload { return v }
273
+ return Mentraos_Ble_ImuStreamConfig()
274
+ }
275
+ set { payload = .imuStream(newValue) }
276
+ }
277
+
278
+ var headGesture: Mentraos_Ble_HeadGestureConfig {
279
+ get {
280
+ if case let .headGesture(v)? = payload { return v }
281
+ return Mentraos_Ble_HeadGestureConfig()
282
+ }
283
+ set { payload = .headGesture(newValue) }
284
+ }
285
+
286
+ /// System Control
287
+ var restart: Mentraos_Ble_RestartRequest {
288
+ get {
289
+ if case let .restart(v)? = payload { return v }
290
+ return Mentraos_Ble_RestartRequest()
291
+ }
292
+ set { payload = .restart(newValue) }
293
+ }
294
+
295
+ var factoryReset: Mentraos_Ble_FactoryResetRequest {
296
+ get {
297
+ if case let .factoryReset(v)? = payload { return v }
298
+ return Mentraos_Ble_FactoryResetRequest()
299
+ }
300
+ set { payload = .factoryReset(newValue) }
301
+ }
302
+
303
+ var unknownFields = SwiftProtobuf.UnknownStorage()
304
+
305
+ enum OneOf_Payload: Equatable {
306
+ /// Connection Management
307
+ case disconnect(Mentraos_Ble_DisconnectRequest)
308
+ case batteryState(Mentraos_Ble_BatteryStateRequest)
309
+ case glassesInfo(Mentraos_Ble_GlassesInfoRequest)
310
+ case pairingMode(Mentraos_Ble_PairingModeRequest)
311
+ case headPosition(Mentraos_Ble_HeadPositionRequest)
312
+ case headUpAngle(Mentraos_Ble_HeadUpAngleConfig)
313
+ case pong(Mentraos_Ble_PongResponse)
314
+ /// Audio System
315
+ case micState(Mentraos_Ble_MicStateConfig)
316
+ case vadEnabled(Mentraos_Ble_VadEnabledConfig)
317
+ case vadConfig(Mentraos_Ble_VadConfig)
318
+ /// Display System
319
+ case displayText(Mentraos_Ble_DisplayText)
320
+ case displayImage(Mentraos_Ble_DisplayImage)
321
+ case preloadImage(Mentraos_Ble_PreloadImage)
322
+ case displayCachedImage(Mentraos_Ble_DisplayCachedImage)
323
+ case clearCachedImage_p(Mentraos_Ble_ClearCachedImage)
324
+ case displayScrollingText(Mentraos_Ble_DisplayScrollingText)
325
+ case displayPower(Mentraos_Ble_DisplayPowerConfig)
326
+ case brightness(Mentraos_Ble_BrightnessConfig)
327
+ case autoBrightness(Mentraos_Ble_AutoBrightnessConfig)
328
+ case autoBrightnessMult(Mentraos_Ble_AutoBrightnessMultiplier)
329
+ case drawLine(Mentraos_Ble_DrawLine)
330
+ case drawRect(Mentraos_Ble_DrawRect)
331
+ case drawCircle(Mentraos_Ble_DrawCircle)
332
+ case commit(Mentraos_Ble_CommitDisplay)
333
+ case displayDistance(Mentraos_Ble_DisplayDistanceConfig)
334
+ case displayHeight(Mentraos_Ble_DisplayHeightConfig)
335
+ case clearDisplay_p(Mentraos_Ble_ClearDisplay)
336
+ /// User Input
337
+ case imuEnabled(Mentraos_Ble_ImuEnabledConfig)
338
+ case imuSingle(Mentraos_Ble_ImuSingleRequest)
339
+ case imuStream(Mentraos_Ble_ImuStreamConfig)
340
+ case headGesture(Mentraos_Ble_HeadGestureConfig)
341
+ /// System Control
342
+ case restart(Mentraos_Ble_RestartRequest)
343
+ case factoryReset(Mentraos_Ble_FactoryResetRequest)
344
+ }
345
+
346
+ init() {}
347
+ }
348
+
349
+ /// All messages from glasses to phone
350
+ struct Mentraos_Ble_GlassesToPhone {
351
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
352
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
353
+ // methods supported on all messages.
354
+
355
+ var payload: Mentraos_Ble_GlassesToPhone.OneOf_Payload?
356
+
357
+ /// Connection Management
358
+ var batteryStatus: Mentraos_Ble_BatteryStatus {
359
+ get {
360
+ if case let .batteryStatus(v)? = payload { return v }
361
+ return Mentraos_Ble_BatteryStatus()
362
+ }
363
+ set { payload = .batteryStatus(newValue) }
364
+ }
365
+
366
+ var chargingState: Mentraos_Ble_ChargingState {
367
+ get {
368
+ if case let .chargingState(v)? = payload { return v }
369
+ return Mentraos_Ble_ChargingState()
370
+ }
371
+ set { payload = .chargingState(newValue) }
372
+ }
373
+
374
+ var deviceInfo: Mentraos_Ble_DeviceInfo {
375
+ get {
376
+ if case let .deviceInfo(v)? = payload { return v }
377
+ return Mentraos_Ble_DeviceInfo()
378
+ }
379
+ set { payload = .deviceInfo(newValue) }
380
+ }
381
+
382
+ var headPosition: Mentraos_Ble_HeadPosition {
383
+ get {
384
+ if case let .headPosition(v)? = payload { return v }
385
+ return Mentraos_Ble_HeadPosition()
386
+ }
387
+ set { payload = .headPosition(newValue) }
388
+ }
389
+
390
+ var headUpAngleSet: Mentraos_Ble_HeadUpAngleResponse {
391
+ get {
392
+ if case let .headUpAngleSet(v)? = payload { return v }
393
+ return Mentraos_Ble_HeadUpAngleResponse()
394
+ }
395
+ set { payload = .headUpAngleSet(newValue) }
396
+ }
397
+
398
+ var ping: Mentraos_Ble_PingRequest {
399
+ get {
400
+ if case let .ping(v)? = payload { return v }
401
+ return Mentraos_Ble_PingRequest()
402
+ }
403
+ set { payload = .ping(newValue) }
404
+ }
405
+
406
+ /// Audio System
407
+ var vadEvent: Mentraos_Ble_VadEvent {
408
+ get {
409
+ if case let .vadEvent(v)? = payload { return v }
410
+ return Mentraos_Ble_VadEvent()
411
+ }
412
+ set { payload = .vadEvent(newValue) }
413
+ }
414
+
415
+ /// Display System
416
+ var imageTransferComplete: Mentraos_Ble_ImageTransferComplete {
417
+ get {
418
+ if case let .imageTransferComplete(v)? = payload { return v }
419
+ return Mentraos_Ble_ImageTransferComplete()
420
+ }
421
+ set { payload = .imageTransferComplete(newValue) }
422
+ }
423
+
424
+ /// User Input
425
+ var imuData: Mentraos_Ble_ImuData {
426
+ get {
427
+ if case let .imuData(v)? = payload { return v }
428
+ return Mentraos_Ble_ImuData()
429
+ }
430
+ set { payload = .imuData(newValue) }
431
+ }
432
+
433
+ var buttonEvent: Mentraos_Ble_ButtonEvent {
434
+ get {
435
+ if case let .buttonEvent(v)? = payload { return v }
436
+ return Mentraos_Ble_ButtonEvent()
437
+ }
438
+ set { payload = .buttonEvent(newValue) }
439
+ }
440
+
441
+ var headGesture: Mentraos_Ble_HeadGesture {
442
+ get {
443
+ if case let .headGesture(v)? = payload { return v }
444
+ return Mentraos_Ble_HeadGesture()
445
+ }
446
+ set { payload = .headGesture(newValue) }
447
+ }
448
+
449
+ var unknownFields = SwiftProtobuf.UnknownStorage()
450
+
451
+ enum OneOf_Payload: Equatable {
452
+ /// Connection Management
453
+ case batteryStatus(Mentraos_Ble_BatteryStatus)
454
+ case chargingState(Mentraos_Ble_ChargingState)
455
+ case deviceInfo(Mentraos_Ble_DeviceInfo)
456
+ case headPosition(Mentraos_Ble_HeadPosition)
457
+ case headUpAngleSet(Mentraos_Ble_HeadUpAngleResponse)
458
+ case ping(Mentraos_Ble_PingRequest)
459
+ /// Audio System
460
+ case vadEvent(Mentraos_Ble_VadEvent)
461
+ /// Display System
462
+ case imageTransferComplete(Mentraos_Ble_ImageTransferComplete)
463
+ /// User Input
464
+ case imuData(Mentraos_Ble_ImuData)
465
+ case buttonEvent(Mentraos_Ble_ButtonEvent)
466
+ case headGesture(Mentraos_Ble_HeadGesture)
467
+ }
468
+
469
+ init() {}
470
+ }
471
+
472
+ struct Mentraos_Ble_DisconnectRequest {
473
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
474
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
475
+ // methods supported on all messages.
476
+
477
+ var unknownFields = SwiftProtobuf.UnknownStorage()
478
+
479
+ init() {}
480
+ }
481
+
482
+ struct Mentraos_Ble_BatteryStateRequest {
483
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
484
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
485
+ // methods supported on all messages.
486
+
487
+ var unknownFields = SwiftProtobuf.UnknownStorage()
488
+
489
+ init() {}
490
+ }
491
+
492
+ struct Mentraos_Ble_BatteryStatus {
493
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
494
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
495
+ // methods supported on all messages.
496
+
497
+ /// 0-100 percentage
498
+ var level: UInt32 = 0
499
+
500
+ var charging: Bool = false
501
+
502
+ var unknownFields = SwiftProtobuf.UnknownStorage()
503
+ }
504
+
505
+ struct Mentraos_Ble_ChargingState {
506
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
507
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
508
+ // methods supported on all messages.
509
+
510
+ var state: Mentraos_Ble_ChargingState.State = .notCharging
511
+
512
+ var unknownFields = SwiftProtobuf.UnknownStorage()
513
+
514
+ enum State: SwiftProtobuf.Enum, Swift.CaseIterable {
515
+ typealias RawValue = Int
516
+ case notCharging // = 0
517
+ case charging // = 1
518
+ case UNRECOGNIZED(Int)
519
+
520
+ init() {
521
+ self = .notCharging
522
+ }
523
+
524
+ init?(rawValue: Int) {
525
+ switch rawValue {
526
+ case 0: self = .notCharging
527
+ case 1: self = .charging
528
+ default: self = .UNRECOGNIZED(rawValue)
529
+ }
530
+ }
531
+
532
+ var rawValue: Int {
533
+ switch self {
534
+ case .notCharging: return 0
535
+ case .charging: return 1
536
+ case let .UNRECOGNIZED(i): return i
537
+ }
538
+ }
539
+
540
+ /// The compiler won't synthesize support with the UNRECOGNIZED case.
541
+ static let allCases: [Mentraos_Ble_ChargingState.State] = [
542
+ .notCharging,
543
+ .charging,
544
+ ]
545
+ }
546
+ }
547
+
548
+ struct Mentraos_Ble_GlassesInfoRequest {
549
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
550
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
551
+ // methods supported on all messages.
552
+
553
+ var unknownFields = SwiftProtobuf.UnknownStorage()
554
+
555
+ init() {}
556
+ }
557
+
558
+ struct Mentraos_Ble_DeviceInfo {
559
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
560
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
561
+ // methods supported on all messages.
562
+
563
+ var fwVersion: String = .init()
564
+
565
+ var hwModel: String = .init()
566
+
567
+ var features: Mentraos_Ble_DeviceFeatures {
568
+ get { return _features ?? Mentraos_Ble_DeviceFeatures() }
569
+ set { _features = newValue }
570
+ }
571
+
572
+ /// Returns true if `features` has been explicitly set.
573
+ var hasFeatures: Bool {
574
+ return _features != nil
575
+ }
576
+
577
+ /// Clears the value of `features`. Subsequent reads from it will return its default value.
578
+ mutating func clearFeatures() {
579
+ _features = nil
580
+ }
581
+
582
+ var unknownFields = SwiftProtobuf.UnknownStorage()
583
+
584
+ init() {}
585
+
586
+ fileprivate var _features: Mentraos_Ble_DeviceFeatures?
587
+ }
588
+
589
+ struct Mentraos_Ble_DeviceFeatures {
590
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
591
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
592
+ // methods supported on all messages.
593
+
594
+ var camera: Bool = false
595
+
596
+ var display: Bool = false
597
+
598
+ var audioTx: Bool = false
599
+
600
+ var audioRx: Bool = false
601
+
602
+ var imu: Bool = false
603
+
604
+ var vad: Bool = false
605
+
606
+ var micSwitching: Bool = false
607
+
608
+ /// Max chunks that can be buffered
609
+ var imageChunkBuffer: UInt32 = 0
610
+
611
+ var unknownFields = SwiftProtobuf.UnknownStorage()
612
+ }
613
+
614
+ struct Mentraos_Ble_PairingModeRequest {
615
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
616
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
617
+ // methods supported on all messages.
618
+
619
+ var unknownFields = SwiftProtobuf.UnknownStorage()
620
+
621
+ init() {}
622
+ }
623
+
624
+ struct Mentraos_Ble_HeadPositionRequest {
625
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
626
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
627
+ // methods supported on all messages.
628
+
629
+ var unknownFields = SwiftProtobuf.UnknownStorage()
630
+
631
+ init() {}
632
+ }
633
+
634
+ struct Mentraos_Ble_HeadPosition {
635
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
636
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
637
+ // methods supported on all messages.
638
+
639
+ /// degrees
640
+ var angle: Int32 = 0
641
+
642
+ var unknownFields = SwiftProtobuf.UnknownStorage()
643
+ }
644
+
645
+ struct Mentraos_Ble_HeadUpAngleConfig {
646
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
647
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
648
+ // methods supported on all messages.
649
+
650
+ /// degrees
651
+ var angle: UInt32 = 0
652
+
653
+ var unknownFields = SwiftProtobuf.UnknownStorage()
654
+ }
655
+
656
+ struct Mentraos_Ble_HeadUpAngleResponse {
657
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
658
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
659
+ // methods supported on all messages.
660
+
661
+ var success: Bool = false
662
+
663
+ var unknownFields = SwiftProtobuf.UnknownStorage()
664
+ }
665
+
666
+ struct Mentraos_Ble_PingRequest {
667
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
668
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
669
+ // methods supported on all messages.
670
+
671
+ var unknownFields = SwiftProtobuf.UnknownStorage()
672
+
673
+ init() {}
674
+ }
675
+
676
+ struct Mentraos_Ble_PongResponse {
677
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
678
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
679
+ // methods supported on all messages.
680
+
681
+ var unknownFields = SwiftProtobuf.UnknownStorage()
682
+
683
+ init() {}
684
+ }
685
+
686
+ struct Mentraos_Ble_MicStateConfig {
687
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
688
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
689
+ // methods supported on all messages.
690
+
691
+ var enabled: Bool = false
692
+
693
+ var unknownFields = SwiftProtobuf.UnknownStorage()
694
+ }
695
+
696
+ struct Mentraos_Ble_VadEnabledConfig {
697
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
698
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
699
+ // methods supported on all messages.
700
+
701
+ var enabled: Bool = false
702
+
703
+ var unknownFields = SwiftProtobuf.UnknownStorage()
704
+ }
705
+
706
+ struct Mentraos_Ble_VadConfig {
707
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
708
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
709
+ // methods supported on all messages.
710
+
711
+ /// 0-100
712
+ var sensitivity: UInt32 = 0
713
+
714
+ var unknownFields = SwiftProtobuf.UnknownStorage()
715
+ }
716
+
717
+ struct Mentraos_Ble_VadEvent {
718
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
719
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
720
+ // methods supported on all messages.
721
+
722
+ var state: Mentraos_Ble_VadEvent.State = .inactive
723
+
724
+ var unknownFields = SwiftProtobuf.UnknownStorage()
725
+
726
+ enum State: SwiftProtobuf.Enum, Swift.CaseIterable {
727
+ typealias RawValue = Int
728
+ case inactive // = 0
729
+ case active // = 1
730
+ case UNRECOGNIZED(Int)
731
+
732
+ init() {
733
+ self = .inactive
734
+ }
735
+
736
+ init?(rawValue: Int) {
737
+ switch rawValue {
738
+ case 0: self = .inactive
739
+ case 1: self = .active
740
+ default: self = .UNRECOGNIZED(rawValue)
741
+ }
742
+ }
743
+
744
+ var rawValue: Int {
745
+ switch self {
746
+ case .inactive: return 0
747
+ case .active: return 1
748
+ case let .UNRECOGNIZED(i): return i
749
+ }
750
+ }
751
+
752
+ /// The compiler won't synthesize support with the UNRECOGNIZED case.
753
+ static let allCases: [Mentraos_Ble_VadEvent.State] = [
754
+ .inactive,
755
+ .active,
756
+ ]
757
+ }
758
+ }
759
+
760
+ struct Mentraos_Ble_DisplayText {
761
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
762
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
763
+ // methods supported on all messages.
764
+
765
+ var text: String = .init()
766
+
767
+ /// RGB565 format (e.g., 0xF800 for red)
768
+ var color: UInt32 = 0
769
+
770
+ /// Font identifier
771
+ var fontCode: UInt32 = 0
772
+
773
+ var x: UInt32 = 0
774
+
775
+ var y: UInt32 = 0
776
+
777
+ /// Font size multiplier
778
+ var size: UInt32 = 0
779
+
780
+ var unknownFields = SwiftProtobuf.UnknownStorage()
781
+ }
782
+
783
+ /// Initiates bitmap transfer - actual data comes via binary protocol
784
+ struct Mentraos_Ble_DisplayImage {
785
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
786
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
787
+ // methods supported on all messages.
788
+
789
+ /// 2-byte hex string like "002A"
790
+ var streamID: String = .init()
791
+
792
+ var x: UInt32 = 0
793
+
794
+ var y: UInt32 = 0
795
+
796
+ var width: UInt32 = 0
797
+
798
+ var height: UInt32 = 0
799
+
800
+ /// "rle", "webp", etc.
801
+ var encoding: String = .init()
802
+
803
+ var totalChunks: UInt32 = 0
804
+
805
+ var unknownFields = SwiftProtobuf.UnknownStorage()
806
+ }
807
+
808
+ struct Mentraos_Ble_PreloadImage {
809
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
810
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
811
+ // methods supported on all messages.
812
+
813
+ var streamID: String = .init()
814
+
815
+ /// ID for later reference
816
+ var imageID: UInt32 = 0
817
+
818
+ var width: UInt32 = 0
819
+
820
+ var height: UInt32 = 0
821
+
822
+ var encoding: String = .init()
823
+
824
+ var totalChunks: UInt32 = 0
825
+
826
+ var unknownFields = SwiftProtobuf.UnknownStorage()
827
+ }
828
+
829
+ struct Mentraos_Ble_DisplayCachedImage {
830
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
831
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
832
+ // methods supported on all messages.
833
+
834
+ var imageID: UInt32 = 0
835
+
836
+ var x: UInt32 = 0
837
+
838
+ var y: UInt32 = 0
839
+
840
+ var width: UInt32 = 0
841
+
842
+ var height: UInt32 = 0
843
+
844
+ var unknownFields = SwiftProtobuf.UnknownStorage()
845
+ }
846
+
847
+ struct Mentraos_Ble_ClearCachedImage {
848
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
849
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
850
+ // methods supported on all messages.
851
+
852
+ var imageID: UInt32 = 0
853
+
854
+ var unknownFields = SwiftProtobuf.UnknownStorage()
855
+ }
856
+
857
+ struct Mentraos_Ble_DisplayScrollingText {
858
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
859
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
860
+ // methods supported on all messages.
861
+
862
+ var text: String = .init()
863
+
864
+ var color: UInt32 = 0
865
+
866
+ var fontCode: UInt32 = 0
867
+
868
+ var x: UInt32 = 0
869
+
870
+ var y: UInt32 = 0
871
+
872
+ var width: UInt32 = 0
873
+
874
+ var height: UInt32 = 0
875
+
876
+ var align: Mentraos_Ble_DisplayScrollingText.Alignment = .left
877
+
878
+ /// pixels between lines
879
+ var lineSpacing: UInt32 = 0
880
+
881
+ /// pixels/sec scrolling up
882
+ var speed: UInt32 = 0
883
+
884
+ /// font size multiplier
885
+ var size: UInt32 = 0
886
+
887
+ /// wrap to top when finished
888
+ var loop: Bool = false
889
+
890
+ /// delay before restart (if looping)
891
+ var pauseMs: UInt32 = 0
892
+
893
+ var unknownFields = SwiftProtobuf.UnknownStorage()
894
+
895
+ enum Alignment: SwiftProtobuf.Enum, Swift.CaseIterable {
896
+ typealias RawValue = Int
897
+ case left // = 0
898
+ case center // = 1
899
+ case right // = 2
900
+ case UNRECOGNIZED(Int)
901
+
902
+ init() {
903
+ self = .left
904
+ }
905
+
906
+ init?(rawValue: Int) {
907
+ switch rawValue {
908
+ case 0: self = .left
909
+ case 1: self = .center
910
+ case 2: self = .right
911
+ default: self = .UNRECOGNIZED(rawValue)
912
+ }
913
+ }
914
+
915
+ var rawValue: Int {
916
+ switch self {
917
+ case .left: return 0
918
+ case .center: return 1
919
+ case .right: return 2
920
+ case let .UNRECOGNIZED(i): return i
921
+ }
922
+ }
923
+
924
+ /// The compiler won't synthesize support with the UNRECOGNIZED case.
925
+ static let allCases: [Mentraos_Ble_DisplayScrollingText.Alignment] = [
926
+ .left,
927
+ .center,
928
+ .right,
929
+ ]
930
+ }
931
+ }
932
+
933
+ struct Mentraos_Ble_DisplayPowerConfig {
934
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
935
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
936
+ // methods supported on all messages.
937
+
938
+ /// true = turn on, false = turn off
939
+ var on: Bool = false
940
+
941
+ var unknownFields = SwiftProtobuf.UnknownStorage()
942
+ }
943
+
944
+ struct Mentraos_Ble_BrightnessConfig {
945
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
946
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
947
+ // methods supported on all messages.
948
+
949
+ /// 0-100
950
+ var value: UInt32 = 0
951
+
952
+ var unknownFields = SwiftProtobuf.UnknownStorage()
953
+ }
954
+
955
+ struct Mentraos_Ble_AutoBrightnessConfig {
956
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
957
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
958
+ // methods supported on all messages.
959
+
960
+ var enabled: Bool = false
961
+
962
+ var unknownFields = SwiftProtobuf.UnknownStorage()
963
+ }
964
+
965
+ struct Mentraos_Ble_AutoBrightnessMultiplier {
966
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
967
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
968
+ // methods supported on all messages.
969
+
970
+ /// e.g., 0.8 = 80%
971
+ var multiplier: Float = 0
972
+
973
+ var unknownFields = SwiftProtobuf.UnknownStorage()
974
+ }
975
+
976
+ struct Mentraos_Ble_DrawLine {
977
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
978
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
979
+ // methods supported on all messages.
980
+
981
+ var color: UInt32 = 0
982
+
983
+ var stroke: UInt32 = 0
984
+
985
+ var x1: UInt32 = 0
986
+
987
+ var y1: UInt32 = 0
988
+
989
+ var x2: UInt32 = 0
990
+
991
+ var y2: UInt32 = 0
992
+
993
+ var unknownFields = SwiftProtobuf.UnknownStorage()
994
+ }
995
+
996
+ struct Mentraos_Ble_DrawRect {
997
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
998
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
999
+ // methods supported on all messages.
1000
+
1001
+ var color: UInt32 = 0
1002
+
1003
+ var stroke: UInt32 = 0
1004
+
1005
+ var x: UInt32 = 0
1006
+
1007
+ var y: UInt32 = 0
1008
+
1009
+ var width: UInt32 = 0
1010
+
1011
+ var height: UInt32 = 0
1012
+
1013
+ var unknownFields = SwiftProtobuf.UnknownStorage()
1014
+ }
1015
+
1016
+ struct Mentraos_Ble_DrawCircle {
1017
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
1018
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
1019
+ // methods supported on all messages.
1020
+
1021
+ var color: UInt32 = 0
1022
+
1023
+ var stroke: UInt32 = 0
1024
+
1025
+ var x: UInt32 = 0
1026
+
1027
+ var y: UInt32 = 0
1028
+
1029
+ var radius: UInt32 = 0
1030
+
1031
+ var unknownFields = SwiftProtobuf.UnknownStorage()
1032
+ }
1033
+
1034
+ struct Mentraos_Ble_CommitDisplay {
1035
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
1036
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
1037
+ // methods supported on all messages.
1038
+
1039
+ var unknownFields = SwiftProtobuf.UnknownStorage()
1040
+
1041
+ init() {}
1042
+ }
1043
+
1044
+ struct Mentraos_Ble_ClearDisplay {
1045
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
1046
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
1047
+ // methods supported on all messages.
1048
+
1049
+ var unknownFields = SwiftProtobuf.UnknownStorage()
1050
+
1051
+ init() {}
1052
+ }
1053
+
1054
+ struct Mentraos_Ble_DisplayDistanceConfig {
1055
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
1056
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
1057
+ // methods supported on all messages.
1058
+
1059
+ var distanceCm: UInt32 = 0
1060
+
1061
+ var unknownFields = SwiftProtobuf.UnknownStorage()
1062
+ }
1063
+
1064
+ struct Mentraos_Ble_DisplayHeightConfig {
1065
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
1066
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
1067
+ // methods supported on all messages.
1068
+
1069
+ var height: UInt32 = 0
1070
+
1071
+ var unknownFields = SwiftProtobuf.UnknownStorage()
1072
+ }
1073
+
1074
+ struct Mentraos_Ble_ImageTransferComplete {
1075
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
1076
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
1077
+ // methods supported on all messages.
1078
+
1079
+ var streamID: String = .init()
1080
+
1081
+ var status: Mentraos_Ble_ImageTransferComplete.Status = .ok
1082
+
1083
+ /// List of missing chunk indices
1084
+ var missingChunks: [UInt32] = []
1085
+
1086
+ var unknownFields = SwiftProtobuf.UnknownStorage()
1087
+
1088
+ enum Status: SwiftProtobuf.Enum, Swift.CaseIterable {
1089
+ typealias RawValue = Int
1090
+ case ok // = 0
1091
+ case incomplete // = 1
1092
+ case UNRECOGNIZED(Int)
1093
+
1094
+ init() {
1095
+ self = .ok
1096
+ }
1097
+
1098
+ init?(rawValue: Int) {
1099
+ switch rawValue {
1100
+ case 0: self = .ok
1101
+ case 1: self = .incomplete
1102
+ default: self = .UNRECOGNIZED(rawValue)
1103
+ }
1104
+ }
1105
+
1106
+ var rawValue: Int {
1107
+ switch self {
1108
+ case .ok: return 0
1109
+ case .incomplete: return 1
1110
+ case let .UNRECOGNIZED(i): return i
1111
+ }
1112
+ }
1113
+
1114
+ /// The compiler won't synthesize support with the UNRECOGNIZED case.
1115
+ static let allCases: [Mentraos_Ble_ImageTransferComplete.Status] = [
1116
+ .ok,
1117
+ .incomplete,
1118
+ ]
1119
+ }
1120
+ }
1121
+
1122
+ struct Mentraos_Ble_ImuEnabledConfig {
1123
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
1124
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
1125
+ // methods supported on all messages.
1126
+
1127
+ var enabled: Bool = false
1128
+
1129
+ var unknownFields = SwiftProtobuf.UnknownStorage()
1130
+ }
1131
+
1132
+ struct Mentraos_Ble_ImuSingleRequest {
1133
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
1134
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
1135
+ // methods supported on all messages.
1136
+
1137
+ var unknownFields = SwiftProtobuf.UnknownStorage()
1138
+
1139
+ init() {}
1140
+ }
1141
+
1142
+ struct Mentraos_Ble_ImuStreamConfig {
1143
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
1144
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
1145
+ // methods supported on all messages.
1146
+
1147
+ var enabled: Bool = false
1148
+
1149
+ var unknownFields = SwiftProtobuf.UnknownStorage()
1150
+ }
1151
+
1152
+ struct Mentraos_Ble_ImuData {
1153
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
1154
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
1155
+ // methods supported on all messages.
1156
+
1157
+ var accel: Mentraos_Ble_Vector3 {
1158
+ get { return _accel ?? Mentraos_Ble_Vector3() }
1159
+ set { _accel = newValue }
1160
+ }
1161
+
1162
+ /// Returns true if `accel` has been explicitly set.
1163
+ var hasAccel: Bool {
1164
+ return _accel != nil
1165
+ }
1166
+
1167
+ /// Clears the value of `accel`. Subsequent reads from it will return its default value.
1168
+ mutating func clearAccel() {
1169
+ _accel = nil
1170
+ }
1171
+
1172
+ var gyro: Mentraos_Ble_Vector3 {
1173
+ get { return _gyro ?? Mentraos_Ble_Vector3() }
1174
+ set { _gyro = newValue }
1175
+ }
1176
+
1177
+ /// Returns true if `gyro` has been explicitly set.
1178
+ var hasGyro: Bool {
1179
+ return _gyro != nil
1180
+ }
1181
+
1182
+ /// Clears the value of `gyro`. Subsequent reads from it will return its default value.
1183
+ mutating func clearGyro() {
1184
+ _gyro = nil
1185
+ }
1186
+
1187
+ var mag: Mentraos_Ble_Vector3 {
1188
+ get { return _mag ?? Mentraos_Ble_Vector3() }
1189
+ set { _mag = newValue }
1190
+ }
1191
+
1192
+ /// Returns true if `mag` has been explicitly set.
1193
+ var hasMag: Bool {
1194
+ return _mag != nil
1195
+ }
1196
+
1197
+ /// Clears the value of `mag`. Subsequent reads from it will return its default value.
1198
+ mutating func clearMag() {
1199
+ _mag = nil
1200
+ }
1201
+
1202
+ var unknownFields = SwiftProtobuf.UnknownStorage()
1203
+
1204
+ init() {}
1205
+
1206
+ fileprivate var _accel: Mentraos_Ble_Vector3?
1207
+ fileprivate var _gyro: Mentraos_Ble_Vector3?
1208
+ fileprivate var _mag: Mentraos_Ble_Vector3?
1209
+ }
1210
+
1211
+ struct Mentraos_Ble_Vector3 {
1212
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
1213
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
1214
+ // methods supported on all messages.
1215
+
1216
+ var x: Float = 0
1217
+
1218
+ var y: Float = 0
1219
+
1220
+ var z: Float = 0
1221
+
1222
+ var unknownFields = SwiftProtobuf.UnknownStorage()
1223
+ }
1224
+
1225
+ struct Mentraos_Ble_ButtonEvent {
1226
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
1227
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
1228
+ // methods supported on all messages.
1229
+
1230
+ var button: Mentraos_Ble_ButtonEvent.Button = .center
1231
+
1232
+ var state: Mentraos_Ble_ButtonEvent.State = .up
1233
+
1234
+ var unknownFields = SwiftProtobuf.UnknownStorage()
1235
+
1236
+ enum Button: SwiftProtobuf.Enum, Swift.CaseIterable {
1237
+ typealias RawValue = Int
1238
+ case center // = 0
1239
+ case left // = 1
1240
+ case right // = 2
1241
+ case UNRECOGNIZED(Int)
1242
+
1243
+ init() {
1244
+ self = .center
1245
+ }
1246
+
1247
+ init?(rawValue: Int) {
1248
+ switch rawValue {
1249
+ case 0: self = .center
1250
+ case 1: self = .left
1251
+ case 2: self = .right
1252
+ default: self = .UNRECOGNIZED(rawValue)
1253
+ }
1254
+ }
1255
+
1256
+ var rawValue: Int {
1257
+ switch self {
1258
+ case .center: return 0
1259
+ case .left: return 1
1260
+ case .right: return 2
1261
+ case let .UNRECOGNIZED(i): return i
1262
+ }
1263
+ }
1264
+
1265
+ /// The compiler won't synthesize support with the UNRECOGNIZED case.
1266
+ static let allCases: [Mentraos_Ble_ButtonEvent.Button] = [
1267
+ .center,
1268
+ .left,
1269
+ .right,
1270
+ ]
1271
+ }
1272
+
1273
+ enum State: SwiftProtobuf.Enum, Swift.CaseIterable {
1274
+ typealias RawValue = Int
1275
+ case up // = 0
1276
+ case down // = 1
1277
+ case UNRECOGNIZED(Int)
1278
+
1279
+ init() {
1280
+ self = .up
1281
+ }
1282
+
1283
+ init?(rawValue: Int) {
1284
+ switch rawValue {
1285
+ case 0: self = .up
1286
+ case 1: self = .down
1287
+ default: self = .UNRECOGNIZED(rawValue)
1288
+ }
1289
+ }
1290
+
1291
+ var rawValue: Int {
1292
+ switch self {
1293
+ case .up: return 0
1294
+ case .down: return 1
1295
+ case let .UNRECOGNIZED(i): return i
1296
+ }
1297
+ }
1298
+
1299
+ /// The compiler won't synthesize support with the UNRECOGNIZED case.
1300
+ static let allCases: [Mentraos_Ble_ButtonEvent.State] = [
1301
+ .up,
1302
+ .down,
1303
+ ]
1304
+ }
1305
+ }
1306
+
1307
+ struct Mentraos_Ble_HeadGesture {
1308
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
1309
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
1310
+ // methods supported on all messages.
1311
+
1312
+ var gesture: Mentraos_Ble_HeadGesture.Gesture = .nod
1313
+
1314
+ var unknownFields = SwiftProtobuf.UnknownStorage()
1315
+
1316
+ enum Gesture: SwiftProtobuf.Enum, Swift.CaseIterable {
1317
+ typealias RawValue = Int
1318
+ case nod // = 0
1319
+ case shake // = 1
1320
+ case headUp // = 2
1321
+ case UNRECOGNIZED(Int)
1322
+
1323
+ init() {
1324
+ self = .nod
1325
+ }
1326
+
1327
+ init?(rawValue: Int) {
1328
+ switch rawValue {
1329
+ case 0: self = .nod
1330
+ case 1: self = .shake
1331
+ case 2: self = .headUp
1332
+ default: self = .UNRECOGNIZED(rawValue)
1333
+ }
1334
+ }
1335
+
1336
+ var rawValue: Int {
1337
+ switch self {
1338
+ case .nod: return 0
1339
+ case .shake: return 1
1340
+ case .headUp: return 2
1341
+ case let .UNRECOGNIZED(i): return i
1342
+ }
1343
+ }
1344
+
1345
+ /// The compiler won't synthesize support with the UNRECOGNIZED case.
1346
+ static let allCases: [Mentraos_Ble_HeadGesture.Gesture] = [
1347
+ .nod,
1348
+ .shake,
1349
+ .headUp,
1350
+ ]
1351
+ }
1352
+ }
1353
+
1354
+ struct Mentraos_Ble_HeadGestureConfig {
1355
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
1356
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
1357
+ // methods supported on all messages.
1358
+
1359
+ var gesture: Mentraos_Ble_HeadGesture.Gesture = .nod
1360
+
1361
+ var enabled: Bool = false
1362
+
1363
+ var unknownFields = SwiftProtobuf.UnknownStorage()
1364
+ }
1365
+
1366
+ struct Mentraos_Ble_RestartRequest {
1367
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
1368
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
1369
+ // methods supported on all messages.
1370
+
1371
+ var unknownFields = SwiftProtobuf.UnknownStorage()
1372
+
1373
+ init() {}
1374
+ }
1375
+
1376
+ struct Mentraos_Ble_FactoryResetRequest {
1377
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
1378
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
1379
+ // methods supported on all messages.
1380
+
1381
+ var unknownFields = SwiftProtobuf.UnknownStorage()
1382
+
1383
+ init() {}
1384
+ }
1385
+
1386
+ // MARK: - Code below here is support for the SwiftProtobuf runtime.
1387
+
1388
+ private let _protobuf_package = "mentraos.ble"
1389
+
1390
+ extension Mentraos_Ble_PhoneToGlasses: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
1391
+ static let protoMessageName: String = _protobuf_package + ".PhoneToGlasses"
1392
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}msg_id\0\u{2}\u{9}disconnect\0\u{3}battery_state\0\u{3}glasses_info\0\u{3}pairing_mode\0\u{3}head_position\0\u{3}head_up_angle\0\u{1}pong\0\u{4}\u{4}mic_state\0\u{3}vad_enabled\0\u{3}vad_config\0\u{4}\u{8}display_text\0\u{3}display_image\0\u{3}preload_image\0\u{3}display_cached_image\0\u{3}clear_cached_image\0\u{3}display_scrolling_text\0\u{3}display_power\0\u{1}brightness\0\u{3}auto_brightness\0\u{3}auto_brightness_mult\0\u{3}draw_line\0\u{3}draw_rect\0\u{3}draw_circle\0\u{1}commit\0\u{3}display_distance\0\u{3}display_height\0\u{3}clear_display\0\u{4}\u{4}imu_enabled\0\u{3}imu_single\0\u{3}imu_stream\0\u{3}head_gesture\0\u{2}\u{7}restart\0\u{3}factory_reset\0")
1393
+
1394
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
1395
+ while let fieldNumber = try decoder.nextFieldNumber() {
1396
+ // The use of inline closures is to circumvent an issue where the compiler
1397
+ // allocates stack space for every case branch when no optimizations are
1398
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
1399
+ switch fieldNumber {
1400
+ case 1: try decoder.decodeSingularStringField(value: &msgID)
1401
+ case 10: try {
1402
+ var v: Mentraos_Ble_DisconnectRequest?
1403
+ var hadOneofValue = false
1404
+ if let current = self.payload {
1405
+ hadOneofValue = true
1406
+ if case let .disconnect(m) = current { v = m }
1407
+ }
1408
+ try decoder.decodeSingularMessageField(value: &v)
1409
+ if let v = v {
1410
+ if hadOneofValue { try decoder.handleConflictingOneOf() }
1411
+ self.payload = .disconnect(v)
1412
+ }
1413
+ }()
1414
+ case 11: try {
1415
+ var v: Mentraos_Ble_BatteryStateRequest?
1416
+ var hadOneofValue = false
1417
+ if let current = self.payload {
1418
+ hadOneofValue = true
1419
+ if case let .batteryState(m) = current { v = m }
1420
+ }
1421
+ try decoder.decodeSingularMessageField(value: &v)
1422
+ if let v = v {
1423
+ if hadOneofValue { try decoder.handleConflictingOneOf() }
1424
+ self.payload = .batteryState(v)
1425
+ }
1426
+ }()
1427
+ case 12: try {
1428
+ var v: Mentraos_Ble_GlassesInfoRequest?
1429
+ var hadOneofValue = false
1430
+ if let current = self.payload {
1431
+ hadOneofValue = true
1432
+ if case let .glassesInfo(m) = current { v = m }
1433
+ }
1434
+ try decoder.decodeSingularMessageField(value: &v)
1435
+ if let v = v {
1436
+ if hadOneofValue { try decoder.handleConflictingOneOf() }
1437
+ self.payload = .glassesInfo(v)
1438
+ }
1439
+ }()
1440
+ case 13: try {
1441
+ var v: Mentraos_Ble_PairingModeRequest?
1442
+ var hadOneofValue = false
1443
+ if let current = self.payload {
1444
+ hadOneofValue = true
1445
+ if case let .pairingMode(m) = current { v = m }
1446
+ }
1447
+ try decoder.decodeSingularMessageField(value: &v)
1448
+ if let v = v {
1449
+ if hadOneofValue { try decoder.handleConflictingOneOf() }
1450
+ self.payload = .pairingMode(v)
1451
+ }
1452
+ }()
1453
+ case 14: try {
1454
+ var v: Mentraos_Ble_HeadPositionRequest?
1455
+ var hadOneofValue = false
1456
+ if let current = self.payload {
1457
+ hadOneofValue = true
1458
+ if case let .headPosition(m) = current { v = m }
1459
+ }
1460
+ try decoder.decodeSingularMessageField(value: &v)
1461
+ if let v = v {
1462
+ if hadOneofValue { try decoder.handleConflictingOneOf() }
1463
+ self.payload = .headPosition(v)
1464
+ }
1465
+ }()
1466
+ case 15: try {
1467
+ var v: Mentraos_Ble_HeadUpAngleConfig?
1468
+ var hadOneofValue = false
1469
+ if let current = self.payload {
1470
+ hadOneofValue = true
1471
+ if case let .headUpAngle(m) = current { v = m }
1472
+ }
1473
+ try decoder.decodeSingularMessageField(value: &v)
1474
+ if let v = v {
1475
+ if hadOneofValue { try decoder.handleConflictingOneOf() }
1476
+ self.payload = .headUpAngle(v)
1477
+ }
1478
+ }()
1479
+ case 16: try {
1480
+ var v: Mentraos_Ble_PongResponse?
1481
+ var hadOneofValue = false
1482
+ if let current = self.payload {
1483
+ hadOneofValue = true
1484
+ if case let .pong(m) = current { v = m }
1485
+ }
1486
+ try decoder.decodeSingularMessageField(value: &v)
1487
+ if let v = v {
1488
+ if hadOneofValue { try decoder.handleConflictingOneOf() }
1489
+ self.payload = .pong(v)
1490
+ }
1491
+ }()
1492
+ case 20: try {
1493
+ var v: Mentraos_Ble_MicStateConfig?
1494
+ var hadOneofValue = false
1495
+ if let current = self.payload {
1496
+ hadOneofValue = true
1497
+ if case let .micState(m) = current { v = m }
1498
+ }
1499
+ try decoder.decodeSingularMessageField(value: &v)
1500
+ if let v = v {
1501
+ if hadOneofValue { try decoder.handleConflictingOneOf() }
1502
+ self.payload = .micState(v)
1503
+ }
1504
+ }()
1505
+ case 21: try {
1506
+ var v: Mentraos_Ble_VadEnabledConfig?
1507
+ var hadOneofValue = false
1508
+ if let current = self.payload {
1509
+ hadOneofValue = true
1510
+ if case let .vadEnabled(m) = current { v = m }
1511
+ }
1512
+ try decoder.decodeSingularMessageField(value: &v)
1513
+ if let v = v {
1514
+ if hadOneofValue { try decoder.handleConflictingOneOf() }
1515
+ self.payload = .vadEnabled(v)
1516
+ }
1517
+ }()
1518
+ case 22: try {
1519
+ var v: Mentraos_Ble_VadConfig?
1520
+ var hadOneofValue = false
1521
+ if let current = self.payload {
1522
+ hadOneofValue = true
1523
+ if case let .vadConfig(m) = current { v = m }
1524
+ }
1525
+ try decoder.decodeSingularMessageField(value: &v)
1526
+ if let v = v {
1527
+ if hadOneofValue { try decoder.handleConflictingOneOf() }
1528
+ self.payload = .vadConfig(v)
1529
+ }
1530
+ }()
1531
+ case 30: try {
1532
+ var v: Mentraos_Ble_DisplayText?
1533
+ var hadOneofValue = false
1534
+ if let current = self.payload {
1535
+ hadOneofValue = true
1536
+ if case let .displayText(m) = current { v = m }
1537
+ }
1538
+ try decoder.decodeSingularMessageField(value: &v)
1539
+ if let v = v {
1540
+ if hadOneofValue { try decoder.handleConflictingOneOf() }
1541
+ self.payload = .displayText(v)
1542
+ }
1543
+ }()
1544
+ case 31: try {
1545
+ var v: Mentraos_Ble_DisplayImage?
1546
+ var hadOneofValue = false
1547
+ if let current = self.payload {
1548
+ hadOneofValue = true
1549
+ if case let .displayImage(m) = current { v = m }
1550
+ }
1551
+ try decoder.decodeSingularMessageField(value: &v)
1552
+ if let v = v {
1553
+ if hadOneofValue { try decoder.handleConflictingOneOf() }
1554
+ self.payload = .displayImage(v)
1555
+ }
1556
+ }()
1557
+ case 32: try {
1558
+ var v: Mentraos_Ble_PreloadImage?
1559
+ var hadOneofValue = false
1560
+ if let current = self.payload {
1561
+ hadOneofValue = true
1562
+ if case let .preloadImage(m) = current { v = m }
1563
+ }
1564
+ try decoder.decodeSingularMessageField(value: &v)
1565
+ if let v = v {
1566
+ if hadOneofValue { try decoder.handleConflictingOneOf() }
1567
+ self.payload = .preloadImage(v)
1568
+ }
1569
+ }()
1570
+ case 33: try {
1571
+ var v: Mentraos_Ble_DisplayCachedImage?
1572
+ var hadOneofValue = false
1573
+ if let current = self.payload {
1574
+ hadOneofValue = true
1575
+ if case let .displayCachedImage(m) = current { v = m }
1576
+ }
1577
+ try decoder.decodeSingularMessageField(value: &v)
1578
+ if let v = v {
1579
+ if hadOneofValue { try decoder.handleConflictingOneOf() }
1580
+ self.payload = .displayCachedImage(v)
1581
+ }
1582
+ }()
1583
+ case 34: try {
1584
+ var v: Mentraos_Ble_ClearCachedImage?
1585
+ var hadOneofValue = false
1586
+ if let current = self.payload {
1587
+ hadOneofValue = true
1588
+ if case let .clearCachedImage_p(m) = current { v = m }
1589
+ }
1590
+ try decoder.decodeSingularMessageField(value: &v)
1591
+ if let v = v {
1592
+ if hadOneofValue { try decoder.handleConflictingOneOf() }
1593
+ self.payload = .clearCachedImage_p(v)
1594
+ }
1595
+ }()
1596
+ case 35: try {
1597
+ var v: Mentraos_Ble_DisplayScrollingText?
1598
+ var hadOneofValue = false
1599
+ if let current = self.payload {
1600
+ hadOneofValue = true
1601
+ if case let .displayScrollingText(m) = current { v = m }
1602
+ }
1603
+ try decoder.decodeSingularMessageField(value: &v)
1604
+ if let v = v {
1605
+ if hadOneofValue { try decoder.handleConflictingOneOf() }
1606
+ self.payload = .displayScrollingText(v)
1607
+ }
1608
+ }()
1609
+ case 36: try {
1610
+ var v: Mentraos_Ble_DisplayPowerConfig?
1611
+ var hadOneofValue = false
1612
+ if let current = self.payload {
1613
+ hadOneofValue = true
1614
+ if case let .displayPower(m) = current { v = m }
1615
+ }
1616
+ try decoder.decodeSingularMessageField(value: &v)
1617
+ if let v = v {
1618
+ if hadOneofValue { try decoder.handleConflictingOneOf() }
1619
+ self.payload = .displayPower(v)
1620
+ }
1621
+ }()
1622
+ case 37: try {
1623
+ var v: Mentraos_Ble_BrightnessConfig?
1624
+ var hadOneofValue = false
1625
+ if let current = self.payload {
1626
+ hadOneofValue = true
1627
+ if case let .brightness(m) = current { v = m }
1628
+ }
1629
+ try decoder.decodeSingularMessageField(value: &v)
1630
+ if let v = v {
1631
+ if hadOneofValue { try decoder.handleConflictingOneOf() }
1632
+ self.payload = .brightness(v)
1633
+ }
1634
+ }()
1635
+ case 38: try {
1636
+ var v: Mentraos_Ble_AutoBrightnessConfig?
1637
+ var hadOneofValue = false
1638
+ if let current = self.payload {
1639
+ hadOneofValue = true
1640
+ if case let .autoBrightness(m) = current { v = m }
1641
+ }
1642
+ try decoder.decodeSingularMessageField(value: &v)
1643
+ if let v = v {
1644
+ if hadOneofValue { try decoder.handleConflictingOneOf() }
1645
+ self.payload = .autoBrightness(v)
1646
+ }
1647
+ }()
1648
+ case 39: try {
1649
+ var v: Mentraos_Ble_AutoBrightnessMultiplier?
1650
+ var hadOneofValue = false
1651
+ if let current = self.payload {
1652
+ hadOneofValue = true
1653
+ if case let .autoBrightnessMult(m) = current { v = m }
1654
+ }
1655
+ try decoder.decodeSingularMessageField(value: &v)
1656
+ if let v = v {
1657
+ if hadOneofValue { try decoder.handleConflictingOneOf() }
1658
+ self.payload = .autoBrightnessMult(v)
1659
+ }
1660
+ }()
1661
+ case 40: try {
1662
+ var v: Mentraos_Ble_DrawLine?
1663
+ var hadOneofValue = false
1664
+ if let current = self.payload {
1665
+ hadOneofValue = true
1666
+ if case let .drawLine(m) = current { v = m }
1667
+ }
1668
+ try decoder.decodeSingularMessageField(value: &v)
1669
+ if let v = v {
1670
+ if hadOneofValue { try decoder.handleConflictingOneOf() }
1671
+ self.payload = .drawLine(v)
1672
+ }
1673
+ }()
1674
+ case 41: try {
1675
+ var v: Mentraos_Ble_DrawRect?
1676
+ var hadOneofValue = false
1677
+ if let current = self.payload {
1678
+ hadOneofValue = true
1679
+ if case let .drawRect(m) = current { v = m }
1680
+ }
1681
+ try decoder.decodeSingularMessageField(value: &v)
1682
+ if let v = v {
1683
+ if hadOneofValue { try decoder.handleConflictingOneOf() }
1684
+ self.payload = .drawRect(v)
1685
+ }
1686
+ }()
1687
+ case 42: try {
1688
+ var v: Mentraos_Ble_DrawCircle?
1689
+ var hadOneofValue = false
1690
+ if let current = self.payload {
1691
+ hadOneofValue = true
1692
+ if case let .drawCircle(m) = current { v = m }
1693
+ }
1694
+ try decoder.decodeSingularMessageField(value: &v)
1695
+ if let v = v {
1696
+ if hadOneofValue { try decoder.handleConflictingOneOf() }
1697
+ self.payload = .drawCircle(v)
1698
+ }
1699
+ }()
1700
+ case 43: try {
1701
+ var v: Mentraos_Ble_CommitDisplay?
1702
+ var hadOneofValue = false
1703
+ if let current = self.payload {
1704
+ hadOneofValue = true
1705
+ if case let .commit(m) = current { v = m }
1706
+ }
1707
+ try decoder.decodeSingularMessageField(value: &v)
1708
+ if let v = v {
1709
+ if hadOneofValue { try decoder.handleConflictingOneOf() }
1710
+ self.payload = .commit(v)
1711
+ }
1712
+ }()
1713
+ case 44: try {
1714
+ var v: Mentraos_Ble_DisplayDistanceConfig?
1715
+ var hadOneofValue = false
1716
+ if let current = self.payload {
1717
+ hadOneofValue = true
1718
+ if case let .displayDistance(m) = current { v = m }
1719
+ }
1720
+ try decoder.decodeSingularMessageField(value: &v)
1721
+ if let v = v {
1722
+ if hadOneofValue { try decoder.handleConflictingOneOf() }
1723
+ self.payload = .displayDistance(v)
1724
+ }
1725
+ }()
1726
+ case 45: try {
1727
+ var v: Mentraos_Ble_DisplayHeightConfig?
1728
+ var hadOneofValue = false
1729
+ if let current = self.payload {
1730
+ hadOneofValue = true
1731
+ if case let .displayHeight(m) = current { v = m }
1732
+ }
1733
+ try decoder.decodeSingularMessageField(value: &v)
1734
+ if let v = v {
1735
+ if hadOneofValue { try decoder.handleConflictingOneOf() }
1736
+ self.payload = .displayHeight(v)
1737
+ }
1738
+ }()
1739
+ case 46: try {
1740
+ var v: Mentraos_Ble_ClearDisplay?
1741
+ var hadOneofValue = false
1742
+ if let current = self.payload {
1743
+ hadOneofValue = true
1744
+ if case let .clearDisplay_p(m) = current { v = m }
1745
+ }
1746
+ try decoder.decodeSingularMessageField(value: &v)
1747
+ if let v = v {
1748
+ if hadOneofValue { try decoder.handleConflictingOneOf() }
1749
+ self.payload = .clearDisplay_p(v)
1750
+ }
1751
+ }()
1752
+ case 50: try {
1753
+ var v: Mentraos_Ble_ImuEnabledConfig?
1754
+ var hadOneofValue = false
1755
+ if let current = self.payload {
1756
+ hadOneofValue = true
1757
+ if case let .imuEnabled(m) = current { v = m }
1758
+ }
1759
+ try decoder.decodeSingularMessageField(value: &v)
1760
+ if let v = v {
1761
+ if hadOneofValue { try decoder.handleConflictingOneOf() }
1762
+ self.payload = .imuEnabled(v)
1763
+ }
1764
+ }()
1765
+ case 51: try {
1766
+ var v: Mentraos_Ble_ImuSingleRequest?
1767
+ var hadOneofValue = false
1768
+ if let current = self.payload {
1769
+ hadOneofValue = true
1770
+ if case let .imuSingle(m) = current { v = m }
1771
+ }
1772
+ try decoder.decodeSingularMessageField(value: &v)
1773
+ if let v = v {
1774
+ if hadOneofValue { try decoder.handleConflictingOneOf() }
1775
+ self.payload = .imuSingle(v)
1776
+ }
1777
+ }()
1778
+ case 52: try {
1779
+ var v: Mentraos_Ble_ImuStreamConfig?
1780
+ var hadOneofValue = false
1781
+ if let current = self.payload {
1782
+ hadOneofValue = true
1783
+ if case let .imuStream(m) = current { v = m }
1784
+ }
1785
+ try decoder.decodeSingularMessageField(value: &v)
1786
+ if let v = v {
1787
+ if hadOneofValue { try decoder.handleConflictingOneOf() }
1788
+ self.payload = .imuStream(v)
1789
+ }
1790
+ }()
1791
+ case 53: try {
1792
+ var v: Mentraos_Ble_HeadGestureConfig?
1793
+ var hadOneofValue = false
1794
+ if let current = self.payload {
1795
+ hadOneofValue = true
1796
+ if case let .headGesture(m) = current { v = m }
1797
+ }
1798
+ try decoder.decodeSingularMessageField(value: &v)
1799
+ if let v = v {
1800
+ if hadOneofValue { try decoder.handleConflictingOneOf() }
1801
+ self.payload = .headGesture(v)
1802
+ }
1803
+ }()
1804
+ case 60: try {
1805
+ var v: Mentraos_Ble_RestartRequest?
1806
+ var hadOneofValue = false
1807
+ if let current = self.payload {
1808
+ hadOneofValue = true
1809
+ if case let .restart(m) = current { v = m }
1810
+ }
1811
+ try decoder.decodeSingularMessageField(value: &v)
1812
+ if let v = v {
1813
+ if hadOneofValue { try decoder.handleConflictingOneOf() }
1814
+ self.payload = .restart(v)
1815
+ }
1816
+ }()
1817
+ case 61: try {
1818
+ var v: Mentraos_Ble_FactoryResetRequest?
1819
+ var hadOneofValue = false
1820
+ if let current = self.payload {
1821
+ hadOneofValue = true
1822
+ if case let .factoryReset(m) = current { v = m }
1823
+ }
1824
+ try decoder.decodeSingularMessageField(value: &v)
1825
+ if let v = v {
1826
+ if hadOneofValue { try decoder.handleConflictingOneOf() }
1827
+ self.payload = .factoryReset(v)
1828
+ }
1829
+ }()
1830
+ default: break
1831
+ }
1832
+ }
1833
+ }
1834
+
1835
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
1836
+ // The use of inline closures is to circumvent an issue where the compiler
1837
+ // allocates stack space for every if/case branch local when no optimizations
1838
+ // are enabled. https://github.com/apple/swift-protobuf/issues/1034 and
1839
+ // https://github.com/apple/swift-protobuf/issues/1182
1840
+ if !msgID.isEmpty {
1841
+ try visitor.visitSingularStringField(value: msgID, fieldNumber: 1)
1842
+ }
1843
+ switch payload {
1844
+ case .disconnect?: try {
1845
+ guard case let .disconnect(v)? = self.payload else { preconditionFailure() }
1846
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 10)
1847
+ }()
1848
+ case .batteryState?: try {
1849
+ guard case let .batteryState(v)? = self.payload else { preconditionFailure() }
1850
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 11)
1851
+ }()
1852
+ case .glassesInfo?: try {
1853
+ guard case let .glassesInfo(v)? = self.payload else { preconditionFailure() }
1854
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 12)
1855
+ }()
1856
+ case .pairingMode?: try {
1857
+ guard case let .pairingMode(v)? = self.payload else { preconditionFailure() }
1858
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 13)
1859
+ }()
1860
+ case .headPosition?: try {
1861
+ guard case let .headPosition(v)? = self.payload else { preconditionFailure() }
1862
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 14)
1863
+ }()
1864
+ case .headUpAngle?: try {
1865
+ guard case let .headUpAngle(v)? = self.payload else { preconditionFailure() }
1866
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 15)
1867
+ }()
1868
+ case .pong?: try {
1869
+ guard case let .pong(v)? = self.payload else { preconditionFailure() }
1870
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 16)
1871
+ }()
1872
+ case .micState?: try {
1873
+ guard case let .micState(v)? = self.payload else { preconditionFailure() }
1874
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 20)
1875
+ }()
1876
+ case .vadEnabled?: try {
1877
+ guard case let .vadEnabled(v)? = self.payload else { preconditionFailure() }
1878
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 21)
1879
+ }()
1880
+ case .vadConfig?: try {
1881
+ guard case let .vadConfig(v)? = self.payload else { preconditionFailure() }
1882
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 22)
1883
+ }()
1884
+ case .displayText?: try {
1885
+ guard case let .displayText(v)? = self.payload else { preconditionFailure() }
1886
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 30)
1887
+ }()
1888
+ case .displayImage?: try {
1889
+ guard case let .displayImage(v)? = self.payload else { preconditionFailure() }
1890
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 31)
1891
+ }()
1892
+ case .preloadImage?: try {
1893
+ guard case let .preloadImage(v)? = self.payload else { preconditionFailure() }
1894
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 32)
1895
+ }()
1896
+ case .displayCachedImage?: try {
1897
+ guard case let .displayCachedImage(v)? = self.payload else { preconditionFailure() }
1898
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 33)
1899
+ }()
1900
+ case .clearCachedImage_p?: try {
1901
+ guard case let .clearCachedImage_p(v)? = self.payload else { preconditionFailure() }
1902
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 34)
1903
+ }()
1904
+ case .displayScrollingText?: try {
1905
+ guard case let .displayScrollingText(v)? = self.payload else { preconditionFailure() }
1906
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 35)
1907
+ }()
1908
+ case .displayPower?: try {
1909
+ guard case let .displayPower(v)? = self.payload else { preconditionFailure() }
1910
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 36)
1911
+ }()
1912
+ case .brightness?: try {
1913
+ guard case let .brightness(v)? = self.payload else { preconditionFailure() }
1914
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 37)
1915
+ }()
1916
+ case .autoBrightness?: try {
1917
+ guard case let .autoBrightness(v)? = self.payload else { preconditionFailure() }
1918
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 38)
1919
+ }()
1920
+ case .autoBrightnessMult?: try {
1921
+ guard case let .autoBrightnessMult(v)? = self.payload else { preconditionFailure() }
1922
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 39)
1923
+ }()
1924
+ case .drawLine?: try {
1925
+ guard case let .drawLine(v)? = self.payload else { preconditionFailure() }
1926
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 40)
1927
+ }()
1928
+ case .drawRect?: try {
1929
+ guard case let .drawRect(v)? = self.payload else { preconditionFailure() }
1930
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 41)
1931
+ }()
1932
+ case .drawCircle?: try {
1933
+ guard case let .drawCircle(v)? = self.payload else { preconditionFailure() }
1934
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 42)
1935
+ }()
1936
+ case .commit?: try {
1937
+ guard case let .commit(v)? = self.payload else { preconditionFailure() }
1938
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 43)
1939
+ }()
1940
+ case .displayDistance?: try {
1941
+ guard case let .displayDistance(v)? = self.payload else { preconditionFailure() }
1942
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 44)
1943
+ }()
1944
+ case .displayHeight?: try {
1945
+ guard case let .displayHeight(v)? = self.payload else { preconditionFailure() }
1946
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 45)
1947
+ }()
1948
+ case .clearDisplay_p?: try {
1949
+ guard case let .clearDisplay_p(v)? = self.payload else { preconditionFailure() }
1950
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 46)
1951
+ }()
1952
+ case .imuEnabled?: try {
1953
+ guard case let .imuEnabled(v)? = self.payload else { preconditionFailure() }
1954
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 50)
1955
+ }()
1956
+ case .imuSingle?: try {
1957
+ guard case let .imuSingle(v)? = self.payload else { preconditionFailure() }
1958
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 51)
1959
+ }()
1960
+ case .imuStream?: try {
1961
+ guard case let .imuStream(v)? = self.payload else { preconditionFailure() }
1962
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 52)
1963
+ }()
1964
+ case .headGesture?: try {
1965
+ guard case let .headGesture(v)? = self.payload else { preconditionFailure() }
1966
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 53)
1967
+ }()
1968
+ case .restart?: try {
1969
+ guard case let .restart(v)? = self.payload else { preconditionFailure() }
1970
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 60)
1971
+ }()
1972
+ case .factoryReset?: try {
1973
+ guard case let .factoryReset(v)? = self.payload else { preconditionFailure() }
1974
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 61)
1975
+ }()
1976
+ case nil: break
1977
+ }
1978
+ try unknownFields.traverse(visitor: &visitor)
1979
+ }
1980
+
1981
+ static func == (lhs: Mentraos_Ble_PhoneToGlasses, rhs: Mentraos_Ble_PhoneToGlasses) -> Bool {
1982
+ if lhs.msgID != rhs.msgID { return false }
1983
+ if lhs.payload != rhs.payload { return false }
1984
+ if lhs.unknownFields != rhs.unknownFields { return false }
1985
+ return true
1986
+ }
1987
+ }
1988
+
1989
+ extension Mentraos_Ble_GlassesToPhone: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
1990
+ static let protoMessageName: String = _protobuf_package + ".GlassesToPhone"
1991
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{4}\u{a}battery_status\0\u{3}charging_state\0\u{3}device_info\0\u{3}head_position\0\u{3}head_up_angle_set\0\u{1}ping\0\u{4}\u{5}vad_event\0\u{4}\u{a}image_transfer_complete\0\u{4}\u{a}imu_data\0\u{3}button_event\0\u{3}head_gesture\0")
1992
+
1993
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
1994
+ while let fieldNumber = try decoder.nextFieldNumber() {
1995
+ // The use of inline closures is to circumvent an issue where the compiler
1996
+ // allocates stack space for every case branch when no optimizations are
1997
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
1998
+ switch fieldNumber {
1999
+ case 10: try {
2000
+ var v: Mentraos_Ble_BatteryStatus?
2001
+ var hadOneofValue = false
2002
+ if let current = self.payload {
2003
+ hadOneofValue = true
2004
+ if case let .batteryStatus(m) = current { v = m }
2005
+ }
2006
+ try decoder.decodeSingularMessageField(value: &v)
2007
+ if let v = v {
2008
+ if hadOneofValue { try decoder.handleConflictingOneOf() }
2009
+ self.payload = .batteryStatus(v)
2010
+ }
2011
+ }()
2012
+ case 11: try {
2013
+ var v: Mentraos_Ble_ChargingState?
2014
+ var hadOneofValue = false
2015
+ if let current = self.payload {
2016
+ hadOneofValue = true
2017
+ if case let .chargingState(m) = current { v = m }
2018
+ }
2019
+ try decoder.decodeSingularMessageField(value: &v)
2020
+ if let v = v {
2021
+ if hadOneofValue { try decoder.handleConflictingOneOf() }
2022
+ self.payload = .chargingState(v)
2023
+ }
2024
+ }()
2025
+ case 12: try {
2026
+ var v: Mentraos_Ble_DeviceInfo?
2027
+ var hadOneofValue = false
2028
+ if let current = self.payload {
2029
+ hadOneofValue = true
2030
+ if case let .deviceInfo(m) = current { v = m }
2031
+ }
2032
+ try decoder.decodeSingularMessageField(value: &v)
2033
+ if let v = v {
2034
+ if hadOneofValue { try decoder.handleConflictingOneOf() }
2035
+ self.payload = .deviceInfo(v)
2036
+ }
2037
+ }()
2038
+ case 13: try {
2039
+ var v: Mentraos_Ble_HeadPosition?
2040
+ var hadOneofValue = false
2041
+ if let current = self.payload {
2042
+ hadOneofValue = true
2043
+ if case let .headPosition(m) = current { v = m }
2044
+ }
2045
+ try decoder.decodeSingularMessageField(value: &v)
2046
+ if let v = v {
2047
+ if hadOneofValue { try decoder.handleConflictingOneOf() }
2048
+ self.payload = .headPosition(v)
2049
+ }
2050
+ }()
2051
+ case 14: try {
2052
+ var v: Mentraos_Ble_HeadUpAngleResponse?
2053
+ var hadOneofValue = false
2054
+ if let current = self.payload {
2055
+ hadOneofValue = true
2056
+ if case let .headUpAngleSet(m) = current { v = m }
2057
+ }
2058
+ try decoder.decodeSingularMessageField(value: &v)
2059
+ if let v = v {
2060
+ if hadOneofValue { try decoder.handleConflictingOneOf() }
2061
+ self.payload = .headUpAngleSet(v)
2062
+ }
2063
+ }()
2064
+ case 15: try {
2065
+ var v: Mentraos_Ble_PingRequest?
2066
+ var hadOneofValue = false
2067
+ if let current = self.payload {
2068
+ hadOneofValue = true
2069
+ if case let .ping(m) = current { v = m }
2070
+ }
2071
+ try decoder.decodeSingularMessageField(value: &v)
2072
+ if let v = v {
2073
+ if hadOneofValue { try decoder.handleConflictingOneOf() }
2074
+ self.payload = .ping(v)
2075
+ }
2076
+ }()
2077
+ case 20: try {
2078
+ var v: Mentraos_Ble_VadEvent?
2079
+ var hadOneofValue = false
2080
+ if let current = self.payload {
2081
+ hadOneofValue = true
2082
+ if case let .vadEvent(m) = current { v = m }
2083
+ }
2084
+ try decoder.decodeSingularMessageField(value: &v)
2085
+ if let v = v {
2086
+ if hadOneofValue { try decoder.handleConflictingOneOf() }
2087
+ self.payload = .vadEvent(v)
2088
+ }
2089
+ }()
2090
+ case 30: try {
2091
+ var v: Mentraos_Ble_ImageTransferComplete?
2092
+ var hadOneofValue = false
2093
+ if let current = self.payload {
2094
+ hadOneofValue = true
2095
+ if case let .imageTransferComplete(m) = current { v = m }
2096
+ }
2097
+ try decoder.decodeSingularMessageField(value: &v)
2098
+ if let v = v {
2099
+ if hadOneofValue { try decoder.handleConflictingOneOf() }
2100
+ self.payload = .imageTransferComplete(v)
2101
+ }
2102
+ }()
2103
+ case 40: try {
2104
+ var v: Mentraos_Ble_ImuData?
2105
+ var hadOneofValue = false
2106
+ if let current = self.payload {
2107
+ hadOneofValue = true
2108
+ if case let .imuData(m) = current { v = m }
2109
+ }
2110
+ try decoder.decodeSingularMessageField(value: &v)
2111
+ if let v = v {
2112
+ if hadOneofValue { try decoder.handleConflictingOneOf() }
2113
+ self.payload = .imuData(v)
2114
+ }
2115
+ }()
2116
+ case 41: try {
2117
+ var v: Mentraos_Ble_ButtonEvent?
2118
+ var hadOneofValue = false
2119
+ if let current = self.payload {
2120
+ hadOneofValue = true
2121
+ if case let .buttonEvent(m) = current { v = m }
2122
+ }
2123
+ try decoder.decodeSingularMessageField(value: &v)
2124
+ if let v = v {
2125
+ if hadOneofValue { try decoder.handleConflictingOneOf() }
2126
+ self.payload = .buttonEvent(v)
2127
+ }
2128
+ }()
2129
+ case 42: try {
2130
+ var v: Mentraos_Ble_HeadGesture?
2131
+ var hadOneofValue = false
2132
+ if let current = self.payload {
2133
+ hadOneofValue = true
2134
+ if case let .headGesture(m) = current { v = m }
2135
+ }
2136
+ try decoder.decodeSingularMessageField(value: &v)
2137
+ if let v = v {
2138
+ if hadOneofValue { try decoder.handleConflictingOneOf() }
2139
+ self.payload = .headGesture(v)
2140
+ }
2141
+ }()
2142
+ default: break
2143
+ }
2144
+ }
2145
+ }
2146
+
2147
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
2148
+ // The use of inline closures is to circumvent an issue where the compiler
2149
+ // allocates stack space for every if/case branch local when no optimizations
2150
+ // are enabled. https://github.com/apple/swift-protobuf/issues/1034 and
2151
+ // https://github.com/apple/swift-protobuf/issues/1182
2152
+ switch payload {
2153
+ case .batteryStatus?: try {
2154
+ guard case let .batteryStatus(v)? = self.payload else { preconditionFailure() }
2155
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 10)
2156
+ }()
2157
+ case .chargingState?: try {
2158
+ guard case let .chargingState(v)? = self.payload else { preconditionFailure() }
2159
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 11)
2160
+ }()
2161
+ case .deviceInfo?: try {
2162
+ guard case let .deviceInfo(v)? = self.payload else { preconditionFailure() }
2163
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 12)
2164
+ }()
2165
+ case .headPosition?: try {
2166
+ guard case let .headPosition(v)? = self.payload else { preconditionFailure() }
2167
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 13)
2168
+ }()
2169
+ case .headUpAngleSet?: try {
2170
+ guard case let .headUpAngleSet(v)? = self.payload else { preconditionFailure() }
2171
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 14)
2172
+ }()
2173
+ case .ping?: try {
2174
+ guard case let .ping(v)? = self.payload else { preconditionFailure() }
2175
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 15)
2176
+ }()
2177
+ case .vadEvent?: try {
2178
+ guard case let .vadEvent(v)? = self.payload else { preconditionFailure() }
2179
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 20)
2180
+ }()
2181
+ case .imageTransferComplete?: try {
2182
+ guard case let .imageTransferComplete(v)? = self.payload else { preconditionFailure() }
2183
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 30)
2184
+ }()
2185
+ case .imuData?: try {
2186
+ guard case let .imuData(v)? = self.payload else { preconditionFailure() }
2187
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 40)
2188
+ }()
2189
+ case .buttonEvent?: try {
2190
+ guard case let .buttonEvent(v)? = self.payload else { preconditionFailure() }
2191
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 41)
2192
+ }()
2193
+ case .headGesture?: try {
2194
+ guard case let .headGesture(v)? = self.payload else { preconditionFailure() }
2195
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 42)
2196
+ }()
2197
+ case nil: break
2198
+ }
2199
+ try unknownFields.traverse(visitor: &visitor)
2200
+ }
2201
+
2202
+ static func == (lhs: Mentraos_Ble_GlassesToPhone, rhs: Mentraos_Ble_GlassesToPhone) -> Bool {
2203
+ if lhs.payload != rhs.payload { return false }
2204
+ if lhs.unknownFields != rhs.unknownFields { return false }
2205
+ return true
2206
+ }
2207
+ }
2208
+
2209
+ extension Mentraos_Ble_DisconnectRequest: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
2210
+ static let protoMessageName: String = _protobuf_package + ".DisconnectRequest"
2211
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap()
2212
+
2213
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
2214
+ // Load everything into unknown fields
2215
+ while try decoder.nextFieldNumber() != nil {}
2216
+ }
2217
+
2218
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
2219
+ try unknownFields.traverse(visitor: &visitor)
2220
+ }
2221
+
2222
+ static func == (lhs: Mentraos_Ble_DisconnectRequest, rhs: Mentraos_Ble_DisconnectRequest) -> Bool {
2223
+ if lhs.unknownFields != rhs.unknownFields { return false }
2224
+ return true
2225
+ }
2226
+ }
2227
+
2228
+ extension Mentraos_Ble_BatteryStateRequest: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
2229
+ static let protoMessageName: String = _protobuf_package + ".BatteryStateRequest"
2230
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap()
2231
+
2232
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
2233
+ // Load everything into unknown fields
2234
+ while try decoder.nextFieldNumber() != nil {}
2235
+ }
2236
+
2237
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
2238
+ try unknownFields.traverse(visitor: &visitor)
2239
+ }
2240
+
2241
+ static func == (lhs: Mentraos_Ble_BatteryStateRequest, rhs: Mentraos_Ble_BatteryStateRequest) -> Bool {
2242
+ if lhs.unknownFields != rhs.unknownFields { return false }
2243
+ return true
2244
+ }
2245
+ }
2246
+
2247
+ extension Mentraos_Ble_BatteryStatus: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
2248
+ static let protoMessageName: String = _protobuf_package + ".BatteryStatus"
2249
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}level\0\u{1}charging\0")
2250
+
2251
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
2252
+ while let fieldNumber = try decoder.nextFieldNumber() {
2253
+ // The use of inline closures is to circumvent an issue where the compiler
2254
+ // allocates stack space for every case branch when no optimizations are
2255
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
2256
+ switch fieldNumber {
2257
+ case 1: try decoder.decodeSingularUInt32Field(value: &level)
2258
+ case 2: try decoder.decodeSingularBoolField(value: &charging)
2259
+ default: break
2260
+ }
2261
+ }
2262
+ }
2263
+
2264
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
2265
+ if level != 0 {
2266
+ try visitor.visitSingularUInt32Field(value: level, fieldNumber: 1)
2267
+ }
2268
+ if charging != false {
2269
+ try visitor.visitSingularBoolField(value: charging, fieldNumber: 2)
2270
+ }
2271
+ try unknownFields.traverse(visitor: &visitor)
2272
+ }
2273
+
2274
+ static func == (lhs: Mentraos_Ble_BatteryStatus, rhs: Mentraos_Ble_BatteryStatus) -> Bool {
2275
+ if lhs.level != rhs.level { return false }
2276
+ if lhs.charging != rhs.charging { return false }
2277
+ if lhs.unknownFields != rhs.unknownFields { return false }
2278
+ return true
2279
+ }
2280
+ }
2281
+
2282
+ extension Mentraos_Ble_ChargingState: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
2283
+ static let protoMessageName: String = _protobuf_package + ".ChargingState"
2284
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}state\0")
2285
+
2286
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
2287
+ while let fieldNumber = try decoder.nextFieldNumber() {
2288
+ // The use of inline closures is to circumvent an issue where the compiler
2289
+ // allocates stack space for every case branch when no optimizations are
2290
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
2291
+ switch fieldNumber {
2292
+ case 1: try decoder.decodeSingularEnumField(value: &state)
2293
+ default: break
2294
+ }
2295
+ }
2296
+ }
2297
+
2298
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
2299
+ if state != .notCharging {
2300
+ try visitor.visitSingularEnumField(value: state, fieldNumber: 1)
2301
+ }
2302
+ try unknownFields.traverse(visitor: &visitor)
2303
+ }
2304
+
2305
+ static func == (lhs: Mentraos_Ble_ChargingState, rhs: Mentraos_Ble_ChargingState) -> Bool {
2306
+ if lhs.state != rhs.state { return false }
2307
+ if lhs.unknownFields != rhs.unknownFields { return false }
2308
+ return true
2309
+ }
2310
+ }
2311
+
2312
+ extension Mentraos_Ble_ChargingState.State: SwiftProtobuf._ProtoNameProviding {
2313
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{2}\0NOT_CHARGING\0\u{1}CHARGING\0")
2314
+ }
2315
+
2316
+ extension Mentraos_Ble_GlassesInfoRequest: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
2317
+ static let protoMessageName: String = _protobuf_package + ".GlassesInfoRequest"
2318
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap()
2319
+
2320
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
2321
+ // Load everything into unknown fields
2322
+ while try decoder.nextFieldNumber() != nil {}
2323
+ }
2324
+
2325
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
2326
+ try unknownFields.traverse(visitor: &visitor)
2327
+ }
2328
+
2329
+ static func == (lhs: Mentraos_Ble_GlassesInfoRequest, rhs: Mentraos_Ble_GlassesInfoRequest) -> Bool {
2330
+ if lhs.unknownFields != rhs.unknownFields { return false }
2331
+ return true
2332
+ }
2333
+ }
2334
+
2335
+ extension Mentraos_Ble_DeviceInfo: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
2336
+ static let protoMessageName: String = _protobuf_package + ".DeviceInfo"
2337
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}fw_version\0\u{3}hw_model\0\u{1}features\0")
2338
+
2339
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
2340
+ while let fieldNumber = try decoder.nextFieldNumber() {
2341
+ // The use of inline closures is to circumvent an issue where the compiler
2342
+ // allocates stack space for every case branch when no optimizations are
2343
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
2344
+ switch fieldNumber {
2345
+ case 1: try decoder.decodeSingularStringField(value: &fwVersion)
2346
+ case 2: try decoder.decodeSingularStringField(value: &hwModel)
2347
+ case 3: try decoder.decodeSingularMessageField(value: &_features)
2348
+ default: break
2349
+ }
2350
+ }
2351
+ }
2352
+
2353
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
2354
+ // The use of inline closures is to circumvent an issue where the compiler
2355
+ // allocates stack space for every if/case branch local when no optimizations
2356
+ // are enabled. https://github.com/apple/swift-protobuf/issues/1034 and
2357
+ // https://github.com/apple/swift-protobuf/issues/1182
2358
+ if !fwVersion.isEmpty {
2359
+ try visitor.visitSingularStringField(value: fwVersion, fieldNumber: 1)
2360
+ }
2361
+ if !hwModel.isEmpty {
2362
+ try visitor.visitSingularStringField(value: hwModel, fieldNumber: 2)
2363
+ }
2364
+ try { if let v = self._features {
2365
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 3)
2366
+ } }()
2367
+ try unknownFields.traverse(visitor: &visitor)
2368
+ }
2369
+
2370
+ static func == (lhs: Mentraos_Ble_DeviceInfo, rhs: Mentraos_Ble_DeviceInfo) -> Bool {
2371
+ if lhs.fwVersion != rhs.fwVersion { return false }
2372
+ if lhs.hwModel != rhs.hwModel { return false }
2373
+ if lhs._features != rhs._features { return false }
2374
+ if lhs.unknownFields != rhs.unknownFields { return false }
2375
+ return true
2376
+ }
2377
+ }
2378
+
2379
+ extension Mentraos_Ble_DeviceFeatures: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
2380
+ static let protoMessageName: String = _protobuf_package + ".DeviceFeatures"
2381
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}camera\0\u{1}display\0\u{3}audio_tx\0\u{3}audio_rx\0\u{1}imu\0\u{1}vad\0\u{3}mic_switching\0\u{3}image_chunk_buffer\0")
2382
+
2383
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
2384
+ while let fieldNumber = try decoder.nextFieldNumber() {
2385
+ // The use of inline closures is to circumvent an issue where the compiler
2386
+ // allocates stack space for every case branch when no optimizations are
2387
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
2388
+ switch fieldNumber {
2389
+ case 1: try decoder.decodeSingularBoolField(value: &camera)
2390
+ case 2: try decoder.decodeSingularBoolField(value: &display)
2391
+ case 3: try decoder.decodeSingularBoolField(value: &audioTx)
2392
+ case 4: try decoder.decodeSingularBoolField(value: &audioRx)
2393
+ case 5: try decoder.decodeSingularBoolField(value: &imu)
2394
+ case 6: try decoder.decodeSingularBoolField(value: &vad)
2395
+ case 7: try decoder.decodeSingularBoolField(value: &micSwitching)
2396
+ case 8: try decoder.decodeSingularUInt32Field(value: &imageChunkBuffer)
2397
+ default: break
2398
+ }
2399
+ }
2400
+ }
2401
+
2402
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
2403
+ if camera != false {
2404
+ try visitor.visitSingularBoolField(value: camera, fieldNumber: 1)
2405
+ }
2406
+ if display != false {
2407
+ try visitor.visitSingularBoolField(value: display, fieldNumber: 2)
2408
+ }
2409
+ if audioTx != false {
2410
+ try visitor.visitSingularBoolField(value: audioTx, fieldNumber: 3)
2411
+ }
2412
+ if audioRx != false {
2413
+ try visitor.visitSingularBoolField(value: audioRx, fieldNumber: 4)
2414
+ }
2415
+ if imu != false {
2416
+ try visitor.visitSingularBoolField(value: imu, fieldNumber: 5)
2417
+ }
2418
+ if vad != false {
2419
+ try visitor.visitSingularBoolField(value: vad, fieldNumber: 6)
2420
+ }
2421
+ if micSwitching != false {
2422
+ try visitor.visitSingularBoolField(value: micSwitching, fieldNumber: 7)
2423
+ }
2424
+ if imageChunkBuffer != 0 {
2425
+ try visitor.visitSingularUInt32Field(value: imageChunkBuffer, fieldNumber: 8)
2426
+ }
2427
+ try unknownFields.traverse(visitor: &visitor)
2428
+ }
2429
+
2430
+ static func == (lhs: Mentraos_Ble_DeviceFeatures, rhs: Mentraos_Ble_DeviceFeatures) -> Bool {
2431
+ if lhs.camera != rhs.camera { return false }
2432
+ if lhs.display != rhs.display { return false }
2433
+ if lhs.audioTx != rhs.audioTx { return false }
2434
+ if lhs.audioRx != rhs.audioRx { return false }
2435
+ if lhs.imu != rhs.imu { return false }
2436
+ if lhs.vad != rhs.vad { return false }
2437
+ if lhs.micSwitching != rhs.micSwitching { return false }
2438
+ if lhs.imageChunkBuffer != rhs.imageChunkBuffer { return false }
2439
+ if lhs.unknownFields != rhs.unknownFields { return false }
2440
+ return true
2441
+ }
2442
+ }
2443
+
2444
+ extension Mentraos_Ble_PairingModeRequest: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
2445
+ static let protoMessageName: String = _protobuf_package + ".PairingModeRequest"
2446
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap()
2447
+
2448
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
2449
+ // Load everything into unknown fields
2450
+ while try decoder.nextFieldNumber() != nil {}
2451
+ }
2452
+
2453
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
2454
+ try unknownFields.traverse(visitor: &visitor)
2455
+ }
2456
+
2457
+ static func == (lhs: Mentraos_Ble_PairingModeRequest, rhs: Mentraos_Ble_PairingModeRequest) -> Bool {
2458
+ if lhs.unknownFields != rhs.unknownFields { return false }
2459
+ return true
2460
+ }
2461
+ }
2462
+
2463
+ extension Mentraos_Ble_HeadPositionRequest: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
2464
+ static let protoMessageName: String = _protobuf_package + ".HeadPositionRequest"
2465
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap()
2466
+
2467
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
2468
+ // Load everything into unknown fields
2469
+ while try decoder.nextFieldNumber() != nil {}
2470
+ }
2471
+
2472
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
2473
+ try unknownFields.traverse(visitor: &visitor)
2474
+ }
2475
+
2476
+ static func == (lhs: Mentraos_Ble_HeadPositionRequest, rhs: Mentraos_Ble_HeadPositionRequest) -> Bool {
2477
+ if lhs.unknownFields != rhs.unknownFields { return false }
2478
+ return true
2479
+ }
2480
+ }
2481
+
2482
+ extension Mentraos_Ble_HeadPosition: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
2483
+ static let protoMessageName: String = _protobuf_package + ".HeadPosition"
2484
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}angle\0")
2485
+
2486
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
2487
+ while let fieldNumber = try decoder.nextFieldNumber() {
2488
+ // The use of inline closures is to circumvent an issue where the compiler
2489
+ // allocates stack space for every case branch when no optimizations are
2490
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
2491
+ switch fieldNumber {
2492
+ case 1: try decoder.decodeSingularInt32Field(value: &angle)
2493
+ default: break
2494
+ }
2495
+ }
2496
+ }
2497
+
2498
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
2499
+ if angle != 0 {
2500
+ try visitor.visitSingularInt32Field(value: angle, fieldNumber: 1)
2501
+ }
2502
+ try unknownFields.traverse(visitor: &visitor)
2503
+ }
2504
+
2505
+ static func == (lhs: Mentraos_Ble_HeadPosition, rhs: Mentraos_Ble_HeadPosition) -> Bool {
2506
+ if lhs.angle != rhs.angle { return false }
2507
+ if lhs.unknownFields != rhs.unknownFields { return false }
2508
+ return true
2509
+ }
2510
+ }
2511
+
2512
+ extension Mentraos_Ble_HeadUpAngleConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
2513
+ static let protoMessageName: String = _protobuf_package + ".HeadUpAngleConfig"
2514
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}angle\0")
2515
+
2516
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
2517
+ while let fieldNumber = try decoder.nextFieldNumber() {
2518
+ // The use of inline closures is to circumvent an issue where the compiler
2519
+ // allocates stack space for every case branch when no optimizations are
2520
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
2521
+ switch fieldNumber {
2522
+ case 1: try decoder.decodeSingularUInt32Field(value: &angle)
2523
+ default: break
2524
+ }
2525
+ }
2526
+ }
2527
+
2528
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
2529
+ if angle != 0 {
2530
+ try visitor.visitSingularUInt32Field(value: angle, fieldNumber: 1)
2531
+ }
2532
+ try unknownFields.traverse(visitor: &visitor)
2533
+ }
2534
+
2535
+ static func == (lhs: Mentraos_Ble_HeadUpAngleConfig, rhs: Mentraos_Ble_HeadUpAngleConfig) -> Bool {
2536
+ if lhs.angle != rhs.angle { return false }
2537
+ if lhs.unknownFields != rhs.unknownFields { return false }
2538
+ return true
2539
+ }
2540
+ }
2541
+
2542
+ extension Mentraos_Ble_HeadUpAngleResponse: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
2543
+ static let protoMessageName: String = _protobuf_package + ".HeadUpAngleResponse"
2544
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}success\0")
2545
+
2546
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
2547
+ while let fieldNumber = try decoder.nextFieldNumber() {
2548
+ // The use of inline closures is to circumvent an issue where the compiler
2549
+ // allocates stack space for every case branch when no optimizations are
2550
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
2551
+ switch fieldNumber {
2552
+ case 1: try decoder.decodeSingularBoolField(value: &success)
2553
+ default: break
2554
+ }
2555
+ }
2556
+ }
2557
+
2558
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
2559
+ if success != false {
2560
+ try visitor.visitSingularBoolField(value: success, fieldNumber: 1)
2561
+ }
2562
+ try unknownFields.traverse(visitor: &visitor)
2563
+ }
2564
+
2565
+ static func == (lhs: Mentraos_Ble_HeadUpAngleResponse, rhs: Mentraos_Ble_HeadUpAngleResponse) -> Bool {
2566
+ if lhs.success != rhs.success { return false }
2567
+ if lhs.unknownFields != rhs.unknownFields { return false }
2568
+ return true
2569
+ }
2570
+ }
2571
+
2572
+ extension Mentraos_Ble_PingRequest: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
2573
+ static let protoMessageName: String = _protobuf_package + ".PingRequest"
2574
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap()
2575
+
2576
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
2577
+ // Load everything into unknown fields
2578
+ while try decoder.nextFieldNumber() != nil {}
2579
+ }
2580
+
2581
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
2582
+ try unknownFields.traverse(visitor: &visitor)
2583
+ }
2584
+
2585
+ static func == (lhs: Mentraos_Ble_PingRequest, rhs: Mentraos_Ble_PingRequest) -> Bool {
2586
+ if lhs.unknownFields != rhs.unknownFields { return false }
2587
+ return true
2588
+ }
2589
+ }
2590
+
2591
+ extension Mentraos_Ble_PongResponse: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
2592
+ static let protoMessageName: String = _protobuf_package + ".PongResponse"
2593
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap()
2594
+
2595
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
2596
+ // Load everything into unknown fields
2597
+ while try decoder.nextFieldNumber() != nil {}
2598
+ }
2599
+
2600
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
2601
+ try unknownFields.traverse(visitor: &visitor)
2602
+ }
2603
+
2604
+ static func == (lhs: Mentraos_Ble_PongResponse, rhs: Mentraos_Ble_PongResponse) -> Bool {
2605
+ if lhs.unknownFields != rhs.unknownFields { return false }
2606
+ return true
2607
+ }
2608
+ }
2609
+
2610
+ extension Mentraos_Ble_MicStateConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
2611
+ static let protoMessageName: String = _protobuf_package + ".MicStateConfig"
2612
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}enabled\0")
2613
+
2614
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
2615
+ while let fieldNumber = try decoder.nextFieldNumber() {
2616
+ // The use of inline closures is to circumvent an issue where the compiler
2617
+ // allocates stack space for every case branch when no optimizations are
2618
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
2619
+ switch fieldNumber {
2620
+ case 1: try decoder.decodeSingularBoolField(value: &enabled)
2621
+ default: break
2622
+ }
2623
+ }
2624
+ }
2625
+
2626
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
2627
+ if enabled != false {
2628
+ try visitor.visitSingularBoolField(value: enabled, fieldNumber: 1)
2629
+ }
2630
+ try unknownFields.traverse(visitor: &visitor)
2631
+ }
2632
+
2633
+ static func == (lhs: Mentraos_Ble_MicStateConfig, rhs: Mentraos_Ble_MicStateConfig) -> Bool {
2634
+ if lhs.enabled != rhs.enabled { return false }
2635
+ if lhs.unknownFields != rhs.unknownFields { return false }
2636
+ return true
2637
+ }
2638
+ }
2639
+
2640
+ extension Mentraos_Ble_VadEnabledConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
2641
+ static let protoMessageName: String = _protobuf_package + ".VadEnabledConfig"
2642
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}enabled\0")
2643
+
2644
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
2645
+ while let fieldNumber = try decoder.nextFieldNumber() {
2646
+ // The use of inline closures is to circumvent an issue where the compiler
2647
+ // allocates stack space for every case branch when no optimizations are
2648
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
2649
+ switch fieldNumber {
2650
+ case 1: try decoder.decodeSingularBoolField(value: &enabled)
2651
+ default: break
2652
+ }
2653
+ }
2654
+ }
2655
+
2656
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
2657
+ if enabled != false {
2658
+ try visitor.visitSingularBoolField(value: enabled, fieldNumber: 1)
2659
+ }
2660
+ try unknownFields.traverse(visitor: &visitor)
2661
+ }
2662
+
2663
+ static func == (lhs: Mentraos_Ble_VadEnabledConfig, rhs: Mentraos_Ble_VadEnabledConfig) -> Bool {
2664
+ if lhs.enabled != rhs.enabled { return false }
2665
+ if lhs.unknownFields != rhs.unknownFields { return false }
2666
+ return true
2667
+ }
2668
+ }
2669
+
2670
+ extension Mentraos_Ble_VadConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
2671
+ static let protoMessageName: String = _protobuf_package + ".VadConfig"
2672
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}sensitivity\0")
2673
+
2674
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
2675
+ while let fieldNumber = try decoder.nextFieldNumber() {
2676
+ // The use of inline closures is to circumvent an issue where the compiler
2677
+ // allocates stack space for every case branch when no optimizations are
2678
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
2679
+ switch fieldNumber {
2680
+ case 1: try decoder.decodeSingularUInt32Field(value: &sensitivity)
2681
+ default: break
2682
+ }
2683
+ }
2684
+ }
2685
+
2686
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
2687
+ if sensitivity != 0 {
2688
+ try visitor.visitSingularUInt32Field(value: sensitivity, fieldNumber: 1)
2689
+ }
2690
+ try unknownFields.traverse(visitor: &visitor)
2691
+ }
2692
+
2693
+ static func == (lhs: Mentraos_Ble_VadConfig, rhs: Mentraos_Ble_VadConfig) -> Bool {
2694
+ if lhs.sensitivity != rhs.sensitivity { return false }
2695
+ if lhs.unknownFields != rhs.unknownFields { return false }
2696
+ return true
2697
+ }
2698
+ }
2699
+
2700
+ extension Mentraos_Ble_VadEvent: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
2701
+ static let protoMessageName: String = _protobuf_package + ".VadEvent"
2702
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}state\0")
2703
+
2704
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
2705
+ while let fieldNumber = try decoder.nextFieldNumber() {
2706
+ // The use of inline closures is to circumvent an issue where the compiler
2707
+ // allocates stack space for every case branch when no optimizations are
2708
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
2709
+ switch fieldNumber {
2710
+ case 1: try decoder.decodeSingularEnumField(value: &state)
2711
+ default: break
2712
+ }
2713
+ }
2714
+ }
2715
+
2716
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
2717
+ if state != .inactive {
2718
+ try visitor.visitSingularEnumField(value: state, fieldNumber: 1)
2719
+ }
2720
+ try unknownFields.traverse(visitor: &visitor)
2721
+ }
2722
+
2723
+ static func == (lhs: Mentraos_Ble_VadEvent, rhs: Mentraos_Ble_VadEvent) -> Bool {
2724
+ if lhs.state != rhs.state { return false }
2725
+ if lhs.unknownFields != rhs.unknownFields { return false }
2726
+ return true
2727
+ }
2728
+ }
2729
+
2730
+ extension Mentraos_Ble_VadEvent.State: SwiftProtobuf._ProtoNameProviding {
2731
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{2}\0INACTIVE\0\u{1}ACTIVE\0")
2732
+ }
2733
+
2734
+ extension Mentraos_Ble_DisplayText: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
2735
+ static let protoMessageName: String = _protobuf_package + ".DisplayText"
2736
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}text\0\u{1}color\0\u{3}font_code\0\u{1}x\0\u{1}y\0\u{1}size\0")
2737
+
2738
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
2739
+ while let fieldNumber = try decoder.nextFieldNumber() {
2740
+ // The use of inline closures is to circumvent an issue where the compiler
2741
+ // allocates stack space for every case branch when no optimizations are
2742
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
2743
+ switch fieldNumber {
2744
+ case 1: try decoder.decodeSingularStringField(value: &text)
2745
+ case 2: try decoder.decodeSingularUInt32Field(value: &color)
2746
+ case 3: try decoder.decodeSingularUInt32Field(value: &fontCode)
2747
+ case 4: try decoder.decodeSingularUInt32Field(value: &x)
2748
+ case 5: try decoder.decodeSingularUInt32Field(value: &y)
2749
+ case 6: try decoder.decodeSingularUInt32Field(value: &size)
2750
+ default: break
2751
+ }
2752
+ }
2753
+ }
2754
+
2755
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
2756
+ if !text.isEmpty {
2757
+ try visitor.visitSingularStringField(value: text, fieldNumber: 1)
2758
+ }
2759
+ if color != 0 {
2760
+ try visitor.visitSingularUInt32Field(value: color, fieldNumber: 2)
2761
+ }
2762
+ if fontCode != 0 {
2763
+ try visitor.visitSingularUInt32Field(value: fontCode, fieldNumber: 3)
2764
+ }
2765
+ if x != 0 {
2766
+ try visitor.visitSingularUInt32Field(value: x, fieldNumber: 4)
2767
+ }
2768
+ if y != 0 {
2769
+ try visitor.visitSingularUInt32Field(value: y, fieldNumber: 5)
2770
+ }
2771
+ if size != 0 {
2772
+ try visitor.visitSingularUInt32Field(value: size, fieldNumber: 6)
2773
+ }
2774
+ try unknownFields.traverse(visitor: &visitor)
2775
+ }
2776
+
2777
+ static func == (lhs: Mentraos_Ble_DisplayText, rhs: Mentraos_Ble_DisplayText) -> Bool {
2778
+ if lhs.text != rhs.text { return false }
2779
+ if lhs.color != rhs.color { return false }
2780
+ if lhs.fontCode != rhs.fontCode { return false }
2781
+ if lhs.x != rhs.x { return false }
2782
+ if lhs.y != rhs.y { return false }
2783
+ if lhs.size != rhs.size { return false }
2784
+ if lhs.unknownFields != rhs.unknownFields { return false }
2785
+ return true
2786
+ }
2787
+ }
2788
+
2789
+ extension Mentraos_Ble_DisplayImage: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
2790
+ static let protoMessageName: String = _protobuf_package + ".DisplayImage"
2791
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}stream_id\0\u{1}x\0\u{1}y\0\u{1}width\0\u{1}height\0\u{1}encoding\0\u{3}total_chunks\0")
2792
+
2793
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
2794
+ while let fieldNumber = try decoder.nextFieldNumber() {
2795
+ // The use of inline closures is to circumvent an issue where the compiler
2796
+ // allocates stack space for every case branch when no optimizations are
2797
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
2798
+ switch fieldNumber {
2799
+ case 1: try decoder.decodeSingularStringField(value: &streamID)
2800
+ case 2: try decoder.decodeSingularUInt32Field(value: &x)
2801
+ case 3: try decoder.decodeSingularUInt32Field(value: &y)
2802
+ case 4: try decoder.decodeSingularUInt32Field(value: &width)
2803
+ case 5: try decoder.decodeSingularUInt32Field(value: &height)
2804
+ case 6: try decoder.decodeSingularStringField(value: &encoding)
2805
+ case 7: try decoder.decodeSingularUInt32Field(value: &totalChunks)
2806
+ default: break
2807
+ }
2808
+ }
2809
+ }
2810
+
2811
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
2812
+ if !streamID.isEmpty {
2813
+ try visitor.visitSingularStringField(value: streamID, fieldNumber: 1)
2814
+ }
2815
+ if x != 0 {
2816
+ try visitor.visitSingularUInt32Field(value: x, fieldNumber: 2)
2817
+ }
2818
+ if y != 0 {
2819
+ try visitor.visitSingularUInt32Field(value: y, fieldNumber: 3)
2820
+ }
2821
+ if width != 0 {
2822
+ try visitor.visitSingularUInt32Field(value: width, fieldNumber: 4)
2823
+ }
2824
+ if height != 0 {
2825
+ try visitor.visitSingularUInt32Field(value: height, fieldNumber: 5)
2826
+ }
2827
+ if !encoding.isEmpty {
2828
+ try visitor.visitSingularStringField(value: encoding, fieldNumber: 6)
2829
+ }
2830
+ if totalChunks != 0 {
2831
+ try visitor.visitSingularUInt32Field(value: totalChunks, fieldNumber: 7)
2832
+ }
2833
+ try unknownFields.traverse(visitor: &visitor)
2834
+ }
2835
+
2836
+ static func == (lhs: Mentraos_Ble_DisplayImage, rhs: Mentraos_Ble_DisplayImage) -> Bool {
2837
+ if lhs.streamID != rhs.streamID { return false }
2838
+ if lhs.x != rhs.x { return false }
2839
+ if lhs.y != rhs.y { return false }
2840
+ if lhs.width != rhs.width { return false }
2841
+ if lhs.height != rhs.height { return false }
2842
+ if lhs.encoding != rhs.encoding { return false }
2843
+ if lhs.totalChunks != rhs.totalChunks { return false }
2844
+ if lhs.unknownFields != rhs.unknownFields { return false }
2845
+ return true
2846
+ }
2847
+ }
2848
+
2849
+ extension Mentraos_Ble_PreloadImage: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
2850
+ static let protoMessageName: String = _protobuf_package + ".PreloadImage"
2851
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}stream_id\0\u{3}image_id\0\u{1}width\0\u{1}height\0\u{1}encoding\0\u{3}total_chunks\0")
2852
+
2853
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
2854
+ while let fieldNumber = try decoder.nextFieldNumber() {
2855
+ // The use of inline closures is to circumvent an issue where the compiler
2856
+ // allocates stack space for every case branch when no optimizations are
2857
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
2858
+ switch fieldNumber {
2859
+ case 1: try decoder.decodeSingularStringField(value: &streamID)
2860
+ case 2: try decoder.decodeSingularUInt32Field(value: &imageID)
2861
+ case 3: try decoder.decodeSingularUInt32Field(value: &width)
2862
+ case 4: try decoder.decodeSingularUInt32Field(value: &height)
2863
+ case 5: try decoder.decodeSingularStringField(value: &encoding)
2864
+ case 6: try decoder.decodeSingularUInt32Field(value: &totalChunks)
2865
+ default: break
2866
+ }
2867
+ }
2868
+ }
2869
+
2870
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
2871
+ if !streamID.isEmpty {
2872
+ try visitor.visitSingularStringField(value: streamID, fieldNumber: 1)
2873
+ }
2874
+ if imageID != 0 {
2875
+ try visitor.visitSingularUInt32Field(value: imageID, fieldNumber: 2)
2876
+ }
2877
+ if width != 0 {
2878
+ try visitor.visitSingularUInt32Field(value: width, fieldNumber: 3)
2879
+ }
2880
+ if height != 0 {
2881
+ try visitor.visitSingularUInt32Field(value: height, fieldNumber: 4)
2882
+ }
2883
+ if !encoding.isEmpty {
2884
+ try visitor.visitSingularStringField(value: encoding, fieldNumber: 5)
2885
+ }
2886
+ if totalChunks != 0 {
2887
+ try visitor.visitSingularUInt32Field(value: totalChunks, fieldNumber: 6)
2888
+ }
2889
+ try unknownFields.traverse(visitor: &visitor)
2890
+ }
2891
+
2892
+ static func == (lhs: Mentraos_Ble_PreloadImage, rhs: Mentraos_Ble_PreloadImage) -> Bool {
2893
+ if lhs.streamID != rhs.streamID { return false }
2894
+ if lhs.imageID != rhs.imageID { return false }
2895
+ if lhs.width != rhs.width { return false }
2896
+ if lhs.height != rhs.height { return false }
2897
+ if lhs.encoding != rhs.encoding { return false }
2898
+ if lhs.totalChunks != rhs.totalChunks { return false }
2899
+ if lhs.unknownFields != rhs.unknownFields { return false }
2900
+ return true
2901
+ }
2902
+ }
2903
+
2904
+ extension Mentraos_Ble_DisplayCachedImage: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
2905
+ static let protoMessageName: String = _protobuf_package + ".DisplayCachedImage"
2906
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}image_id\0\u{1}x\0\u{1}y\0\u{1}width\0\u{1}height\0")
2907
+
2908
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
2909
+ while let fieldNumber = try decoder.nextFieldNumber() {
2910
+ // The use of inline closures is to circumvent an issue where the compiler
2911
+ // allocates stack space for every case branch when no optimizations are
2912
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
2913
+ switch fieldNumber {
2914
+ case 1: try decoder.decodeSingularUInt32Field(value: &imageID)
2915
+ case 2: try decoder.decodeSingularUInt32Field(value: &x)
2916
+ case 3: try decoder.decodeSingularUInt32Field(value: &y)
2917
+ case 4: try decoder.decodeSingularUInt32Field(value: &width)
2918
+ case 5: try decoder.decodeSingularUInt32Field(value: &height)
2919
+ default: break
2920
+ }
2921
+ }
2922
+ }
2923
+
2924
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
2925
+ if imageID != 0 {
2926
+ try visitor.visitSingularUInt32Field(value: imageID, fieldNumber: 1)
2927
+ }
2928
+ if x != 0 {
2929
+ try visitor.visitSingularUInt32Field(value: x, fieldNumber: 2)
2930
+ }
2931
+ if y != 0 {
2932
+ try visitor.visitSingularUInt32Field(value: y, fieldNumber: 3)
2933
+ }
2934
+ if width != 0 {
2935
+ try visitor.visitSingularUInt32Field(value: width, fieldNumber: 4)
2936
+ }
2937
+ if height != 0 {
2938
+ try visitor.visitSingularUInt32Field(value: height, fieldNumber: 5)
2939
+ }
2940
+ try unknownFields.traverse(visitor: &visitor)
2941
+ }
2942
+
2943
+ static func == (lhs: Mentraos_Ble_DisplayCachedImage, rhs: Mentraos_Ble_DisplayCachedImage) -> Bool {
2944
+ if lhs.imageID != rhs.imageID { return false }
2945
+ if lhs.x != rhs.x { return false }
2946
+ if lhs.y != rhs.y { return false }
2947
+ if lhs.width != rhs.width { return false }
2948
+ if lhs.height != rhs.height { return false }
2949
+ if lhs.unknownFields != rhs.unknownFields { return false }
2950
+ return true
2951
+ }
2952
+ }
2953
+
2954
+ extension Mentraos_Ble_ClearCachedImage: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
2955
+ static let protoMessageName: String = _protobuf_package + ".ClearCachedImage"
2956
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}image_id\0")
2957
+
2958
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
2959
+ while let fieldNumber = try decoder.nextFieldNumber() {
2960
+ // The use of inline closures is to circumvent an issue where the compiler
2961
+ // allocates stack space for every case branch when no optimizations are
2962
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
2963
+ switch fieldNumber {
2964
+ case 1: try decoder.decodeSingularUInt32Field(value: &imageID)
2965
+ default: break
2966
+ }
2967
+ }
2968
+ }
2969
+
2970
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
2971
+ if imageID != 0 {
2972
+ try visitor.visitSingularUInt32Field(value: imageID, fieldNumber: 1)
2973
+ }
2974
+ try unknownFields.traverse(visitor: &visitor)
2975
+ }
2976
+
2977
+ static func == (lhs: Mentraos_Ble_ClearCachedImage, rhs: Mentraos_Ble_ClearCachedImage) -> Bool {
2978
+ if lhs.imageID != rhs.imageID { return false }
2979
+ if lhs.unknownFields != rhs.unknownFields { return false }
2980
+ return true
2981
+ }
2982
+ }
2983
+
2984
+ extension Mentraos_Ble_DisplayScrollingText: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
2985
+ static let protoMessageName: String = _protobuf_package + ".DisplayScrollingText"
2986
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}text\0\u{1}color\0\u{3}font_code\0\u{1}x\0\u{1}y\0\u{1}width\0\u{1}height\0\u{1}align\0\u{3}line_spacing\0\u{1}speed\0\u{1}size\0\u{1}loop\0\u{3}pause_ms\0")
2987
+
2988
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
2989
+ while let fieldNumber = try decoder.nextFieldNumber() {
2990
+ // The use of inline closures is to circumvent an issue where the compiler
2991
+ // allocates stack space for every case branch when no optimizations are
2992
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
2993
+ switch fieldNumber {
2994
+ case 1: try decoder.decodeSingularStringField(value: &text)
2995
+ case 2: try decoder.decodeSingularUInt32Field(value: &color)
2996
+ case 3: try decoder.decodeSingularUInt32Field(value: &fontCode)
2997
+ case 4: try decoder.decodeSingularUInt32Field(value: &x)
2998
+ case 5: try decoder.decodeSingularUInt32Field(value: &y)
2999
+ case 6: try decoder.decodeSingularUInt32Field(value: &width)
3000
+ case 7: try decoder.decodeSingularUInt32Field(value: &height)
3001
+ case 8: try decoder.decodeSingularEnumField(value: &align)
3002
+ case 9: try decoder.decodeSingularUInt32Field(value: &lineSpacing)
3003
+ case 10: try decoder.decodeSingularUInt32Field(value: &speed)
3004
+ case 11: try decoder.decodeSingularUInt32Field(value: &size)
3005
+ case 12: try decoder.decodeSingularBoolField(value: &loop)
3006
+ case 13: try decoder.decodeSingularUInt32Field(value: &pauseMs)
3007
+ default: break
3008
+ }
3009
+ }
3010
+ }
3011
+
3012
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
3013
+ if !text.isEmpty {
3014
+ try visitor.visitSingularStringField(value: text, fieldNumber: 1)
3015
+ }
3016
+ if color != 0 {
3017
+ try visitor.visitSingularUInt32Field(value: color, fieldNumber: 2)
3018
+ }
3019
+ if fontCode != 0 {
3020
+ try visitor.visitSingularUInt32Field(value: fontCode, fieldNumber: 3)
3021
+ }
3022
+ if x != 0 {
3023
+ try visitor.visitSingularUInt32Field(value: x, fieldNumber: 4)
3024
+ }
3025
+ if y != 0 {
3026
+ try visitor.visitSingularUInt32Field(value: y, fieldNumber: 5)
3027
+ }
3028
+ if width != 0 {
3029
+ try visitor.visitSingularUInt32Field(value: width, fieldNumber: 6)
3030
+ }
3031
+ if height != 0 {
3032
+ try visitor.visitSingularUInt32Field(value: height, fieldNumber: 7)
3033
+ }
3034
+ if align != .left {
3035
+ try visitor.visitSingularEnumField(value: align, fieldNumber: 8)
3036
+ }
3037
+ if lineSpacing != 0 {
3038
+ try visitor.visitSingularUInt32Field(value: lineSpacing, fieldNumber: 9)
3039
+ }
3040
+ if speed != 0 {
3041
+ try visitor.visitSingularUInt32Field(value: speed, fieldNumber: 10)
3042
+ }
3043
+ if size != 0 {
3044
+ try visitor.visitSingularUInt32Field(value: size, fieldNumber: 11)
3045
+ }
3046
+ if loop != false {
3047
+ try visitor.visitSingularBoolField(value: loop, fieldNumber: 12)
3048
+ }
3049
+ if pauseMs != 0 {
3050
+ try visitor.visitSingularUInt32Field(value: pauseMs, fieldNumber: 13)
3051
+ }
3052
+ try unknownFields.traverse(visitor: &visitor)
3053
+ }
3054
+
3055
+ static func == (lhs: Mentraos_Ble_DisplayScrollingText, rhs: Mentraos_Ble_DisplayScrollingText) -> Bool {
3056
+ if lhs.text != rhs.text { return false }
3057
+ if lhs.color != rhs.color { return false }
3058
+ if lhs.fontCode != rhs.fontCode { return false }
3059
+ if lhs.x != rhs.x { return false }
3060
+ if lhs.y != rhs.y { return false }
3061
+ if lhs.width != rhs.width { return false }
3062
+ if lhs.height != rhs.height { return false }
3063
+ if lhs.align != rhs.align { return false }
3064
+ if lhs.lineSpacing != rhs.lineSpacing { return false }
3065
+ if lhs.speed != rhs.speed { return false }
3066
+ if lhs.size != rhs.size { return false }
3067
+ if lhs.loop != rhs.loop { return false }
3068
+ if lhs.pauseMs != rhs.pauseMs { return false }
3069
+ if lhs.unknownFields != rhs.unknownFields { return false }
3070
+ return true
3071
+ }
3072
+ }
3073
+
3074
+ extension Mentraos_Ble_DisplayScrollingText.Alignment: SwiftProtobuf._ProtoNameProviding {
3075
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{2}\0LEFT\0\u{1}CENTER\0\u{1}RIGHT\0")
3076
+ }
3077
+
3078
+ extension Mentraos_Ble_DisplayPowerConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
3079
+ static let protoMessageName: String = _protobuf_package + ".DisplayPowerConfig"
3080
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}on\0")
3081
+
3082
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
3083
+ while let fieldNumber = try decoder.nextFieldNumber() {
3084
+ // The use of inline closures is to circumvent an issue where the compiler
3085
+ // allocates stack space for every case branch when no optimizations are
3086
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
3087
+ switch fieldNumber {
3088
+ case 1: try decoder.decodeSingularBoolField(value: &on)
3089
+ default: break
3090
+ }
3091
+ }
3092
+ }
3093
+
3094
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
3095
+ if on != false {
3096
+ try visitor.visitSingularBoolField(value: on, fieldNumber: 1)
3097
+ }
3098
+ try unknownFields.traverse(visitor: &visitor)
3099
+ }
3100
+
3101
+ static func == (lhs: Mentraos_Ble_DisplayPowerConfig, rhs: Mentraos_Ble_DisplayPowerConfig) -> Bool {
3102
+ if lhs.on != rhs.on { return false }
3103
+ if lhs.unknownFields != rhs.unknownFields { return false }
3104
+ return true
3105
+ }
3106
+ }
3107
+
3108
+ extension Mentraos_Ble_BrightnessConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
3109
+ static let protoMessageName: String = _protobuf_package + ".BrightnessConfig"
3110
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}value\0")
3111
+
3112
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
3113
+ while let fieldNumber = try decoder.nextFieldNumber() {
3114
+ // The use of inline closures is to circumvent an issue where the compiler
3115
+ // allocates stack space for every case branch when no optimizations are
3116
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
3117
+ switch fieldNumber {
3118
+ case 1: try decoder.decodeSingularUInt32Field(value: &value)
3119
+ default: break
3120
+ }
3121
+ }
3122
+ }
3123
+
3124
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
3125
+ if value != 0 {
3126
+ try visitor.visitSingularUInt32Field(value: value, fieldNumber: 1)
3127
+ }
3128
+ try unknownFields.traverse(visitor: &visitor)
3129
+ }
3130
+
3131
+ static func == (lhs: Mentraos_Ble_BrightnessConfig, rhs: Mentraos_Ble_BrightnessConfig) -> Bool {
3132
+ if lhs.value != rhs.value { return false }
3133
+ if lhs.unknownFields != rhs.unknownFields { return false }
3134
+ return true
3135
+ }
3136
+ }
3137
+
3138
+ extension Mentraos_Ble_AutoBrightnessConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
3139
+ static let protoMessageName: String = _protobuf_package + ".AutoBrightnessConfig"
3140
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}enabled\0")
3141
+
3142
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
3143
+ while let fieldNumber = try decoder.nextFieldNumber() {
3144
+ // The use of inline closures is to circumvent an issue where the compiler
3145
+ // allocates stack space for every case branch when no optimizations are
3146
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
3147
+ switch fieldNumber {
3148
+ case 1: try decoder.decodeSingularBoolField(value: &enabled)
3149
+ default: break
3150
+ }
3151
+ }
3152
+ }
3153
+
3154
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
3155
+ if enabled != false {
3156
+ try visitor.visitSingularBoolField(value: enabled, fieldNumber: 1)
3157
+ }
3158
+ try unknownFields.traverse(visitor: &visitor)
3159
+ }
3160
+
3161
+ static func == (lhs: Mentraos_Ble_AutoBrightnessConfig, rhs: Mentraos_Ble_AutoBrightnessConfig) -> Bool {
3162
+ if lhs.enabled != rhs.enabled { return false }
3163
+ if lhs.unknownFields != rhs.unknownFields { return false }
3164
+ return true
3165
+ }
3166
+ }
3167
+
3168
+ extension Mentraos_Ble_AutoBrightnessMultiplier: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
3169
+ static let protoMessageName: String = _protobuf_package + ".AutoBrightnessMultiplier"
3170
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}multiplier\0")
3171
+
3172
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
3173
+ while let fieldNumber = try decoder.nextFieldNumber() {
3174
+ // The use of inline closures is to circumvent an issue where the compiler
3175
+ // allocates stack space for every case branch when no optimizations are
3176
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
3177
+ switch fieldNumber {
3178
+ case 1: try decoder.decodeSingularFloatField(value: &multiplier)
3179
+ default: break
3180
+ }
3181
+ }
3182
+ }
3183
+
3184
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
3185
+ if multiplier.bitPattern != 0 {
3186
+ try visitor.visitSingularFloatField(value: multiplier, fieldNumber: 1)
3187
+ }
3188
+ try unknownFields.traverse(visitor: &visitor)
3189
+ }
3190
+
3191
+ static func == (lhs: Mentraos_Ble_AutoBrightnessMultiplier, rhs: Mentraos_Ble_AutoBrightnessMultiplier) -> Bool {
3192
+ if lhs.multiplier != rhs.multiplier { return false }
3193
+ if lhs.unknownFields != rhs.unknownFields { return false }
3194
+ return true
3195
+ }
3196
+ }
3197
+
3198
+ extension Mentraos_Ble_DrawLine: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
3199
+ static let protoMessageName: String = _protobuf_package + ".DrawLine"
3200
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}color\0\u{1}stroke\0\u{1}x1\0\u{1}y1\0\u{1}x2\0\u{1}y2\0")
3201
+
3202
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
3203
+ while let fieldNumber = try decoder.nextFieldNumber() {
3204
+ // The use of inline closures is to circumvent an issue where the compiler
3205
+ // allocates stack space for every case branch when no optimizations are
3206
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
3207
+ switch fieldNumber {
3208
+ case 1: try decoder.decodeSingularUInt32Field(value: &color)
3209
+ case 2: try decoder.decodeSingularUInt32Field(value: &stroke)
3210
+ case 3: try decoder.decodeSingularUInt32Field(value: &x1)
3211
+ case 4: try decoder.decodeSingularUInt32Field(value: &y1)
3212
+ case 5: try decoder.decodeSingularUInt32Field(value: &x2)
3213
+ case 6: try decoder.decodeSingularUInt32Field(value: &y2)
3214
+ default: break
3215
+ }
3216
+ }
3217
+ }
3218
+
3219
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
3220
+ if color != 0 {
3221
+ try visitor.visitSingularUInt32Field(value: color, fieldNumber: 1)
3222
+ }
3223
+ if stroke != 0 {
3224
+ try visitor.visitSingularUInt32Field(value: stroke, fieldNumber: 2)
3225
+ }
3226
+ if x1 != 0 {
3227
+ try visitor.visitSingularUInt32Field(value: x1, fieldNumber: 3)
3228
+ }
3229
+ if y1 != 0 {
3230
+ try visitor.visitSingularUInt32Field(value: y1, fieldNumber: 4)
3231
+ }
3232
+ if x2 != 0 {
3233
+ try visitor.visitSingularUInt32Field(value: x2, fieldNumber: 5)
3234
+ }
3235
+ if y2 != 0 {
3236
+ try visitor.visitSingularUInt32Field(value: y2, fieldNumber: 6)
3237
+ }
3238
+ try unknownFields.traverse(visitor: &visitor)
3239
+ }
3240
+
3241
+ static func == (lhs: Mentraos_Ble_DrawLine, rhs: Mentraos_Ble_DrawLine) -> Bool {
3242
+ if lhs.color != rhs.color { return false }
3243
+ if lhs.stroke != rhs.stroke { return false }
3244
+ if lhs.x1 != rhs.x1 { return false }
3245
+ if lhs.y1 != rhs.y1 { return false }
3246
+ if lhs.x2 != rhs.x2 { return false }
3247
+ if lhs.y2 != rhs.y2 { return false }
3248
+ if lhs.unknownFields != rhs.unknownFields { return false }
3249
+ return true
3250
+ }
3251
+ }
3252
+
3253
+ extension Mentraos_Ble_DrawRect: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
3254
+ static let protoMessageName: String = _protobuf_package + ".DrawRect"
3255
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}color\0\u{1}stroke\0\u{1}x\0\u{1}y\0\u{1}width\0\u{1}height\0")
3256
+
3257
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
3258
+ while let fieldNumber = try decoder.nextFieldNumber() {
3259
+ // The use of inline closures is to circumvent an issue where the compiler
3260
+ // allocates stack space for every case branch when no optimizations are
3261
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
3262
+ switch fieldNumber {
3263
+ case 1: try decoder.decodeSingularUInt32Field(value: &color)
3264
+ case 2: try decoder.decodeSingularUInt32Field(value: &stroke)
3265
+ case 3: try decoder.decodeSingularUInt32Field(value: &x)
3266
+ case 4: try decoder.decodeSingularUInt32Field(value: &y)
3267
+ case 5: try decoder.decodeSingularUInt32Field(value: &width)
3268
+ case 6: try decoder.decodeSingularUInt32Field(value: &height)
3269
+ default: break
3270
+ }
3271
+ }
3272
+ }
3273
+
3274
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
3275
+ if color != 0 {
3276
+ try visitor.visitSingularUInt32Field(value: color, fieldNumber: 1)
3277
+ }
3278
+ if stroke != 0 {
3279
+ try visitor.visitSingularUInt32Field(value: stroke, fieldNumber: 2)
3280
+ }
3281
+ if x != 0 {
3282
+ try visitor.visitSingularUInt32Field(value: x, fieldNumber: 3)
3283
+ }
3284
+ if y != 0 {
3285
+ try visitor.visitSingularUInt32Field(value: y, fieldNumber: 4)
3286
+ }
3287
+ if width != 0 {
3288
+ try visitor.visitSingularUInt32Field(value: width, fieldNumber: 5)
3289
+ }
3290
+ if height != 0 {
3291
+ try visitor.visitSingularUInt32Field(value: height, fieldNumber: 6)
3292
+ }
3293
+ try unknownFields.traverse(visitor: &visitor)
3294
+ }
3295
+
3296
+ static func == (lhs: Mentraos_Ble_DrawRect, rhs: Mentraos_Ble_DrawRect) -> Bool {
3297
+ if lhs.color != rhs.color { return false }
3298
+ if lhs.stroke != rhs.stroke { return false }
3299
+ if lhs.x != rhs.x { return false }
3300
+ if lhs.y != rhs.y { return false }
3301
+ if lhs.width != rhs.width { return false }
3302
+ if lhs.height != rhs.height { return false }
3303
+ if lhs.unknownFields != rhs.unknownFields { return false }
3304
+ return true
3305
+ }
3306
+ }
3307
+
3308
+ extension Mentraos_Ble_DrawCircle: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
3309
+ static let protoMessageName: String = _protobuf_package + ".DrawCircle"
3310
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}color\0\u{1}stroke\0\u{1}x\0\u{1}y\0\u{1}radius\0")
3311
+
3312
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
3313
+ while let fieldNumber = try decoder.nextFieldNumber() {
3314
+ // The use of inline closures is to circumvent an issue where the compiler
3315
+ // allocates stack space for every case branch when no optimizations are
3316
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
3317
+ switch fieldNumber {
3318
+ case 1: try decoder.decodeSingularUInt32Field(value: &color)
3319
+ case 2: try decoder.decodeSingularUInt32Field(value: &stroke)
3320
+ case 3: try decoder.decodeSingularUInt32Field(value: &x)
3321
+ case 4: try decoder.decodeSingularUInt32Field(value: &y)
3322
+ case 5: try decoder.decodeSingularUInt32Field(value: &radius)
3323
+ default: break
3324
+ }
3325
+ }
3326
+ }
3327
+
3328
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
3329
+ if color != 0 {
3330
+ try visitor.visitSingularUInt32Field(value: color, fieldNumber: 1)
3331
+ }
3332
+ if stroke != 0 {
3333
+ try visitor.visitSingularUInt32Field(value: stroke, fieldNumber: 2)
3334
+ }
3335
+ if x != 0 {
3336
+ try visitor.visitSingularUInt32Field(value: x, fieldNumber: 3)
3337
+ }
3338
+ if y != 0 {
3339
+ try visitor.visitSingularUInt32Field(value: y, fieldNumber: 4)
3340
+ }
3341
+ if radius != 0 {
3342
+ try visitor.visitSingularUInt32Field(value: radius, fieldNumber: 5)
3343
+ }
3344
+ try unknownFields.traverse(visitor: &visitor)
3345
+ }
3346
+
3347
+ static func == (lhs: Mentraos_Ble_DrawCircle, rhs: Mentraos_Ble_DrawCircle) -> Bool {
3348
+ if lhs.color != rhs.color { return false }
3349
+ if lhs.stroke != rhs.stroke { return false }
3350
+ if lhs.x != rhs.x { return false }
3351
+ if lhs.y != rhs.y { return false }
3352
+ if lhs.radius != rhs.radius { return false }
3353
+ if lhs.unknownFields != rhs.unknownFields { return false }
3354
+ return true
3355
+ }
3356
+ }
3357
+
3358
+ extension Mentraos_Ble_CommitDisplay: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
3359
+ static let protoMessageName: String = _protobuf_package + ".CommitDisplay"
3360
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap()
3361
+
3362
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
3363
+ // Load everything into unknown fields
3364
+ while try decoder.nextFieldNumber() != nil {}
3365
+ }
3366
+
3367
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
3368
+ try unknownFields.traverse(visitor: &visitor)
3369
+ }
3370
+
3371
+ static func == (lhs: Mentraos_Ble_CommitDisplay, rhs: Mentraos_Ble_CommitDisplay) -> Bool {
3372
+ if lhs.unknownFields != rhs.unknownFields { return false }
3373
+ return true
3374
+ }
3375
+ }
3376
+
3377
+ extension Mentraos_Ble_ClearDisplay: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
3378
+ static let protoMessageName: String = _protobuf_package + ".ClearDisplay"
3379
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap()
3380
+
3381
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
3382
+ // Load everything into unknown fields
3383
+ while try decoder.nextFieldNumber() != nil {}
3384
+ }
3385
+
3386
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
3387
+ try unknownFields.traverse(visitor: &visitor)
3388
+ }
3389
+
3390
+ static func == (lhs: Mentraos_Ble_ClearDisplay, rhs: Mentraos_Ble_ClearDisplay) -> Bool {
3391
+ if lhs.unknownFields != rhs.unknownFields { return false }
3392
+ return true
3393
+ }
3394
+ }
3395
+
3396
+ extension Mentraos_Ble_DisplayDistanceConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
3397
+ static let protoMessageName: String = _protobuf_package + ".DisplayDistanceConfig"
3398
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}distance_cm\0")
3399
+
3400
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
3401
+ while let fieldNumber = try decoder.nextFieldNumber() {
3402
+ // The use of inline closures is to circumvent an issue where the compiler
3403
+ // allocates stack space for every case branch when no optimizations are
3404
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
3405
+ switch fieldNumber {
3406
+ case 1: try decoder.decodeSingularUInt32Field(value: &distanceCm)
3407
+ default: break
3408
+ }
3409
+ }
3410
+ }
3411
+
3412
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
3413
+ if distanceCm != 0 {
3414
+ try visitor.visitSingularUInt32Field(value: distanceCm, fieldNumber: 1)
3415
+ }
3416
+ try unknownFields.traverse(visitor: &visitor)
3417
+ }
3418
+
3419
+ static func == (lhs: Mentraos_Ble_DisplayDistanceConfig, rhs: Mentraos_Ble_DisplayDistanceConfig) -> Bool {
3420
+ if lhs.distanceCm != rhs.distanceCm { return false }
3421
+ if lhs.unknownFields != rhs.unknownFields { return false }
3422
+ return true
3423
+ }
3424
+ }
3425
+
3426
+ extension Mentraos_Ble_DisplayHeightConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
3427
+ static let protoMessageName: String = _protobuf_package + ".DisplayHeightConfig"
3428
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}height\0")
3429
+
3430
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
3431
+ while let fieldNumber = try decoder.nextFieldNumber() {
3432
+ // The use of inline closures is to circumvent an issue where the compiler
3433
+ // allocates stack space for every case branch when no optimizations are
3434
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
3435
+ switch fieldNumber {
3436
+ case 1: try decoder.decodeSingularUInt32Field(value: &height)
3437
+ default: break
3438
+ }
3439
+ }
3440
+ }
3441
+
3442
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
3443
+ if height != 0 {
3444
+ try visitor.visitSingularUInt32Field(value: height, fieldNumber: 1)
3445
+ }
3446
+ try unknownFields.traverse(visitor: &visitor)
3447
+ }
3448
+
3449
+ static func == (lhs: Mentraos_Ble_DisplayHeightConfig, rhs: Mentraos_Ble_DisplayHeightConfig) -> Bool {
3450
+ if lhs.height != rhs.height { return false }
3451
+ if lhs.unknownFields != rhs.unknownFields { return false }
3452
+ return true
3453
+ }
3454
+ }
3455
+
3456
+ extension Mentraos_Ble_ImageTransferComplete: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
3457
+ static let protoMessageName: String = _protobuf_package + ".ImageTransferComplete"
3458
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}stream_id\0\u{1}status\0\u{3}missing_chunks\0")
3459
+
3460
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
3461
+ while let fieldNumber = try decoder.nextFieldNumber() {
3462
+ // The use of inline closures is to circumvent an issue where the compiler
3463
+ // allocates stack space for every case branch when no optimizations are
3464
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
3465
+ switch fieldNumber {
3466
+ case 1: try decoder.decodeSingularStringField(value: &streamID)
3467
+ case 2: try decoder.decodeSingularEnumField(value: &status)
3468
+ case 3: try decoder.decodeRepeatedUInt32Field(value: &missingChunks)
3469
+ default: break
3470
+ }
3471
+ }
3472
+ }
3473
+
3474
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
3475
+ if !streamID.isEmpty {
3476
+ try visitor.visitSingularStringField(value: streamID, fieldNumber: 1)
3477
+ }
3478
+ if status != .ok {
3479
+ try visitor.visitSingularEnumField(value: status, fieldNumber: 2)
3480
+ }
3481
+ if !missingChunks.isEmpty {
3482
+ try visitor.visitPackedUInt32Field(value: missingChunks, fieldNumber: 3)
3483
+ }
3484
+ try unknownFields.traverse(visitor: &visitor)
3485
+ }
3486
+
3487
+ static func == (lhs: Mentraos_Ble_ImageTransferComplete, rhs: Mentraos_Ble_ImageTransferComplete) -> Bool {
3488
+ if lhs.streamID != rhs.streamID { return false }
3489
+ if lhs.status != rhs.status { return false }
3490
+ if lhs.missingChunks != rhs.missingChunks { return false }
3491
+ if lhs.unknownFields != rhs.unknownFields { return false }
3492
+ return true
3493
+ }
3494
+ }
3495
+
3496
+ extension Mentraos_Ble_ImageTransferComplete.Status: SwiftProtobuf._ProtoNameProviding {
3497
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{2}\0OK\0\u{1}INCOMPLETE\0")
3498
+ }
3499
+
3500
+ extension Mentraos_Ble_ImuEnabledConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
3501
+ static let protoMessageName: String = _protobuf_package + ".ImuEnabledConfig"
3502
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}enabled\0")
3503
+
3504
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
3505
+ while let fieldNumber = try decoder.nextFieldNumber() {
3506
+ // The use of inline closures is to circumvent an issue where the compiler
3507
+ // allocates stack space for every case branch when no optimizations are
3508
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
3509
+ switch fieldNumber {
3510
+ case 1: try decoder.decodeSingularBoolField(value: &enabled)
3511
+ default: break
3512
+ }
3513
+ }
3514
+ }
3515
+
3516
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
3517
+ if enabled != false {
3518
+ try visitor.visitSingularBoolField(value: enabled, fieldNumber: 1)
3519
+ }
3520
+ try unknownFields.traverse(visitor: &visitor)
3521
+ }
3522
+
3523
+ static func == (lhs: Mentraos_Ble_ImuEnabledConfig, rhs: Mentraos_Ble_ImuEnabledConfig) -> Bool {
3524
+ if lhs.enabled != rhs.enabled { return false }
3525
+ if lhs.unknownFields != rhs.unknownFields { return false }
3526
+ return true
3527
+ }
3528
+ }
3529
+
3530
+ extension Mentraos_Ble_ImuSingleRequest: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
3531
+ static let protoMessageName: String = _protobuf_package + ".ImuSingleRequest"
3532
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap()
3533
+
3534
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
3535
+ // Load everything into unknown fields
3536
+ while try decoder.nextFieldNumber() != nil {}
3537
+ }
3538
+
3539
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
3540
+ try unknownFields.traverse(visitor: &visitor)
3541
+ }
3542
+
3543
+ static func == (lhs: Mentraos_Ble_ImuSingleRequest, rhs: Mentraos_Ble_ImuSingleRequest) -> Bool {
3544
+ if lhs.unknownFields != rhs.unknownFields { return false }
3545
+ return true
3546
+ }
3547
+ }
3548
+
3549
+ extension Mentraos_Ble_ImuStreamConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
3550
+ static let protoMessageName: String = _protobuf_package + ".ImuStreamConfig"
3551
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}enabled\0")
3552
+
3553
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
3554
+ while let fieldNumber = try decoder.nextFieldNumber() {
3555
+ // The use of inline closures is to circumvent an issue where the compiler
3556
+ // allocates stack space for every case branch when no optimizations are
3557
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
3558
+ switch fieldNumber {
3559
+ case 1: try decoder.decodeSingularBoolField(value: &enabled)
3560
+ default: break
3561
+ }
3562
+ }
3563
+ }
3564
+
3565
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
3566
+ if enabled != false {
3567
+ try visitor.visitSingularBoolField(value: enabled, fieldNumber: 1)
3568
+ }
3569
+ try unknownFields.traverse(visitor: &visitor)
3570
+ }
3571
+
3572
+ static func == (lhs: Mentraos_Ble_ImuStreamConfig, rhs: Mentraos_Ble_ImuStreamConfig) -> Bool {
3573
+ if lhs.enabled != rhs.enabled { return false }
3574
+ if lhs.unknownFields != rhs.unknownFields { return false }
3575
+ return true
3576
+ }
3577
+ }
3578
+
3579
+ extension Mentraos_Ble_ImuData: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
3580
+ static let protoMessageName: String = _protobuf_package + ".ImuData"
3581
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}accel\0\u{1}gyro\0\u{1}mag\0")
3582
+
3583
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
3584
+ while let fieldNumber = try decoder.nextFieldNumber() {
3585
+ // The use of inline closures is to circumvent an issue where the compiler
3586
+ // allocates stack space for every case branch when no optimizations are
3587
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
3588
+ switch fieldNumber {
3589
+ case 1: try decoder.decodeSingularMessageField(value: &_accel)
3590
+ case 2: try decoder.decodeSingularMessageField(value: &_gyro)
3591
+ case 3: try decoder.decodeSingularMessageField(value: &_mag)
3592
+ default: break
3593
+ }
3594
+ }
3595
+ }
3596
+
3597
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
3598
+ // The use of inline closures is to circumvent an issue where the compiler
3599
+ // allocates stack space for every if/case branch local when no optimizations
3600
+ // are enabled. https://github.com/apple/swift-protobuf/issues/1034 and
3601
+ // https://github.com/apple/swift-protobuf/issues/1182
3602
+ try { if let v = self._accel {
3603
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 1)
3604
+ } }()
3605
+ try { if let v = self._gyro {
3606
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 2)
3607
+ } }()
3608
+ try { if let v = self._mag {
3609
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 3)
3610
+ } }()
3611
+ try unknownFields.traverse(visitor: &visitor)
3612
+ }
3613
+
3614
+ static func == (lhs: Mentraos_Ble_ImuData, rhs: Mentraos_Ble_ImuData) -> Bool {
3615
+ if lhs._accel != rhs._accel { return false }
3616
+ if lhs._gyro != rhs._gyro { return false }
3617
+ if lhs._mag != rhs._mag { return false }
3618
+ if lhs.unknownFields != rhs.unknownFields { return false }
3619
+ return true
3620
+ }
3621
+ }
3622
+
3623
+ extension Mentraos_Ble_Vector3: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
3624
+ static let protoMessageName: String = _protobuf_package + ".Vector3"
3625
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}x\0\u{1}y\0\u{1}z\0")
3626
+
3627
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
3628
+ while let fieldNumber = try decoder.nextFieldNumber() {
3629
+ // The use of inline closures is to circumvent an issue where the compiler
3630
+ // allocates stack space for every case branch when no optimizations are
3631
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
3632
+ switch fieldNumber {
3633
+ case 1: try decoder.decodeSingularFloatField(value: &x)
3634
+ case 2: try decoder.decodeSingularFloatField(value: &y)
3635
+ case 3: try decoder.decodeSingularFloatField(value: &z)
3636
+ default: break
3637
+ }
3638
+ }
3639
+ }
3640
+
3641
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
3642
+ if x.bitPattern != 0 {
3643
+ try visitor.visitSingularFloatField(value: x, fieldNumber: 1)
3644
+ }
3645
+ if y.bitPattern != 0 {
3646
+ try visitor.visitSingularFloatField(value: y, fieldNumber: 2)
3647
+ }
3648
+ if z.bitPattern != 0 {
3649
+ try visitor.visitSingularFloatField(value: z, fieldNumber: 3)
3650
+ }
3651
+ try unknownFields.traverse(visitor: &visitor)
3652
+ }
3653
+
3654
+ static func == (lhs: Mentraos_Ble_Vector3, rhs: Mentraos_Ble_Vector3) -> Bool {
3655
+ if lhs.x != rhs.x { return false }
3656
+ if lhs.y != rhs.y { return false }
3657
+ if lhs.z != rhs.z { return false }
3658
+ if lhs.unknownFields != rhs.unknownFields { return false }
3659
+ return true
3660
+ }
3661
+ }
3662
+
3663
+ extension Mentraos_Ble_ButtonEvent: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
3664
+ static let protoMessageName: String = _protobuf_package + ".ButtonEvent"
3665
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}button\0\u{1}state\0")
3666
+
3667
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
3668
+ while let fieldNumber = try decoder.nextFieldNumber() {
3669
+ // The use of inline closures is to circumvent an issue where the compiler
3670
+ // allocates stack space for every case branch when no optimizations are
3671
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
3672
+ switch fieldNumber {
3673
+ case 1: try decoder.decodeSingularEnumField(value: &button)
3674
+ case 2: try decoder.decodeSingularEnumField(value: &state)
3675
+ default: break
3676
+ }
3677
+ }
3678
+ }
3679
+
3680
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
3681
+ if button != .center {
3682
+ try visitor.visitSingularEnumField(value: button, fieldNumber: 1)
3683
+ }
3684
+ if state != .up {
3685
+ try visitor.visitSingularEnumField(value: state, fieldNumber: 2)
3686
+ }
3687
+ try unknownFields.traverse(visitor: &visitor)
3688
+ }
3689
+
3690
+ static func == (lhs: Mentraos_Ble_ButtonEvent, rhs: Mentraos_Ble_ButtonEvent) -> Bool {
3691
+ if lhs.button != rhs.button { return false }
3692
+ if lhs.state != rhs.state { return false }
3693
+ if lhs.unknownFields != rhs.unknownFields { return false }
3694
+ return true
3695
+ }
3696
+ }
3697
+
3698
+ extension Mentraos_Ble_ButtonEvent.Button: SwiftProtobuf._ProtoNameProviding {
3699
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{2}\0CENTER\0\u{1}LEFT\0\u{1}RIGHT\0")
3700
+ }
3701
+
3702
+ extension Mentraos_Ble_ButtonEvent.State: SwiftProtobuf._ProtoNameProviding {
3703
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{2}\0UP\0\u{1}DOWN\0")
3704
+ }
3705
+
3706
+ extension Mentraos_Ble_HeadGesture: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
3707
+ static let protoMessageName: String = _protobuf_package + ".HeadGesture"
3708
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}gesture\0")
3709
+
3710
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
3711
+ while let fieldNumber = try decoder.nextFieldNumber() {
3712
+ // The use of inline closures is to circumvent an issue where the compiler
3713
+ // allocates stack space for every case branch when no optimizations are
3714
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
3715
+ switch fieldNumber {
3716
+ case 1: try decoder.decodeSingularEnumField(value: &gesture)
3717
+ default: break
3718
+ }
3719
+ }
3720
+ }
3721
+
3722
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
3723
+ if gesture != .nod {
3724
+ try visitor.visitSingularEnumField(value: gesture, fieldNumber: 1)
3725
+ }
3726
+ try unknownFields.traverse(visitor: &visitor)
3727
+ }
3728
+
3729
+ static func == (lhs: Mentraos_Ble_HeadGesture, rhs: Mentraos_Ble_HeadGesture) -> Bool {
3730
+ if lhs.gesture != rhs.gesture { return false }
3731
+ if lhs.unknownFields != rhs.unknownFields { return false }
3732
+ return true
3733
+ }
3734
+ }
3735
+
3736
+ extension Mentraos_Ble_HeadGesture.Gesture: SwiftProtobuf._ProtoNameProviding {
3737
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{2}\0NOD\0\u{1}SHAKE\0\u{1}HEAD_UP\0")
3738
+ }
3739
+
3740
+ extension Mentraos_Ble_HeadGestureConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
3741
+ static let protoMessageName: String = _protobuf_package + ".HeadGestureConfig"
3742
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}gesture\0\u{1}enabled\0")
3743
+
3744
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
3745
+ while let fieldNumber = try decoder.nextFieldNumber() {
3746
+ // The use of inline closures is to circumvent an issue where the compiler
3747
+ // allocates stack space for every case branch when no optimizations are
3748
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
3749
+ switch fieldNumber {
3750
+ case 1: try decoder.decodeSingularEnumField(value: &gesture)
3751
+ case 2: try decoder.decodeSingularBoolField(value: &enabled)
3752
+ default: break
3753
+ }
3754
+ }
3755
+ }
3756
+
3757
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
3758
+ if gesture != .nod {
3759
+ try visitor.visitSingularEnumField(value: gesture, fieldNumber: 1)
3760
+ }
3761
+ if enabled != false {
3762
+ try visitor.visitSingularBoolField(value: enabled, fieldNumber: 2)
3763
+ }
3764
+ try unknownFields.traverse(visitor: &visitor)
3765
+ }
3766
+
3767
+ static func == (lhs: Mentraos_Ble_HeadGestureConfig, rhs: Mentraos_Ble_HeadGestureConfig) -> Bool {
3768
+ if lhs.gesture != rhs.gesture { return false }
3769
+ if lhs.enabled != rhs.enabled { return false }
3770
+ if lhs.unknownFields != rhs.unknownFields { return false }
3771
+ return true
3772
+ }
3773
+ }
3774
+
3775
+ extension Mentraos_Ble_RestartRequest: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
3776
+ static let protoMessageName: String = _protobuf_package + ".RestartRequest"
3777
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap()
3778
+
3779
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
3780
+ // Load everything into unknown fields
3781
+ while try decoder.nextFieldNumber() != nil {}
3782
+ }
3783
+
3784
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
3785
+ try unknownFields.traverse(visitor: &visitor)
3786
+ }
3787
+
3788
+ static func == (lhs: Mentraos_Ble_RestartRequest, rhs: Mentraos_Ble_RestartRequest) -> Bool {
3789
+ if lhs.unknownFields != rhs.unknownFields { return false }
3790
+ return true
3791
+ }
3792
+ }
3793
+
3794
+ extension Mentraos_Ble_FactoryResetRequest: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
3795
+ static let protoMessageName: String = _protobuf_package + ".FactoryResetRequest"
3796
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap()
3797
+
3798
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
3799
+ // Load everything into unknown fields
3800
+ while try decoder.nextFieldNumber() != nil {}
3801
+ }
3802
+
3803
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
3804
+ try unknownFields.traverse(visitor: &visitor)
3805
+ }
3806
+
3807
+ static func == (lhs: Mentraos_Ble_FactoryResetRequest, rhs: Mentraos_Ble_FactoryResetRequest) -> Bool {
3808
+ if lhs.unknownFields != rhs.unknownFields { return false }
3809
+ return true
3810
+ }
3811
+ }