@mentra/bluetooth-sdk 0.1.7 → 0.1.9

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 (83) hide show
  1. package/README.md +11 -9
  2. package/android/.project +28 -0
  3. package/android/build.gradle +3 -0
  4. package/android/lc3Lib/.project +28 -0
  5. package/android/src/main/java/com/mentra/bluetoothsdk/BluetoothSdkModule.kt +15 -3
  6. package/android/src/main/java/com/mentra/bluetoothsdk/Bridge.kt +26 -1
  7. package/android/src/main/java/com/mentra/bluetoothsdk/DeviceManager.kt +4 -2
  8. package/android/src/main/java/com/mentra/bluetoothsdk/MentraBluetoothSdk.kt +136 -4
  9. package/android/src/main/java/com/mentra/bluetoothsdk/camera/CameraModels.kt +40 -3
  10. package/android/src/main/java/com/mentra/bluetoothsdk/controllers/ControllerManager.kt +1 -0
  11. package/android/src/main/java/com/mentra/bluetoothsdk/controllers/R1.kt +1 -1
  12. package/android/src/main/java/com/mentra/bluetoothsdk/debug/BleTraceLogger.kt +149 -0
  13. package/android/src/main/java/com/mentra/bluetoothsdk/events/BluetoothEvents.kt +1 -0
  14. package/android/src/main/java/com/mentra/bluetoothsdk/photoreceiver/LocalPhotoUploadServer.kt +297 -0
  15. package/android/src/main/java/com/mentra/bluetoothsdk/photoreceiver/MentraPhotoReceiverModule.kt +120 -0
  16. package/android/src/main/java/com/mentra/bluetoothsdk/services/Foreground.kt +13 -0
  17. package/android/src/main/java/com/mentra/bluetoothsdk/sgcs/G1.java +1 -1
  18. package/android/src/main/java/com/mentra/bluetoothsdk/sgcs/G2.kt +1 -0
  19. package/android/src/main/java/com/mentra/bluetoothsdk/sgcs/Mach1.java +1 -1
  20. package/android/src/main/java/com/mentra/bluetoothsdk/sgcs/MentraLive.java +104 -21
  21. package/android/src/main/java/com/mentra/bluetoothsdk/sgcs/MentraNex.kt +1 -1
  22. package/android/src/main/java/com/mentra/bluetoothsdk/sgcs/SGCManager.kt +1 -0
  23. package/android/src/main/java/com/mentra/bluetoothsdk/sgcs/Simulated.kt +1 -0
  24. package/android/src/main/java/com/mentra/bluetoothsdk/streaming/StreamModels.kt +128 -3
  25. package/android/src/main/java/com/mentra/bluetoothsdk/utils/MessageChunkReassembler.java +105 -0
  26. package/build/BluetoothSdk.types.d.ts +66 -29
  27. package/build/BluetoothSdk.types.d.ts.map +1 -1
  28. package/build/BluetoothSdk.types.js +3 -0
  29. package/build/BluetoothSdk.types.js.map +1 -1
  30. package/build/_private/BluetoothSdkModule.d.ts +2 -1
  31. package/build/_private/BluetoothSdkModule.d.ts.map +1 -1
  32. package/build/_private/BluetoothSdkModule.js +24 -7
  33. package/build/_private/BluetoothSdkModule.js.map +1 -1
  34. package/build/index.d.ts +2 -2
  35. package/build/index.d.ts.map +1 -1
  36. package/build/index.js +2 -3
  37. package/build/index.js.map +1 -1
  38. package/build/photo-receiver/MentraPhotoReceiver.types.d.ts +18 -0
  39. package/build/photo-receiver/MentraPhotoReceiver.types.d.ts.map +1 -0
  40. package/build/photo-receiver/MentraPhotoReceiver.types.js +2 -0
  41. package/build/photo-receiver/MentraPhotoReceiver.types.js.map +1 -0
  42. package/build/photo-receiver/MentraPhotoReceiverModule.d.ts +10 -0
  43. package/build/photo-receiver/MentraPhotoReceiverModule.d.ts.map +1 -0
  44. package/build/photo-receiver/MentraPhotoReceiverModule.js +3 -0
  45. package/build/photo-receiver/MentraPhotoReceiverModule.js.map +1 -0
  46. package/build/photo-receiver/MentraPhotoReceiverModule.web.d.ts +10 -0
  47. package/build/photo-receiver/MentraPhotoReceiverModule.web.d.ts.map +1 -0
  48. package/build/photo-receiver/MentraPhotoReceiverModule.web.js +12 -0
  49. package/build/photo-receiver/MentraPhotoReceiverModule.web.js.map +1 -0
  50. package/build/photo-receiver/index.d.ts +3 -0
  51. package/build/photo-receiver/index.d.ts.map +1 -0
  52. package/build/photo-receiver/index.js +3 -0
  53. package/build/photo-receiver/index.js.map +1 -0
  54. package/expo-module.config.json +5 -2
  55. package/ios/BluetoothSdkModule.swift +19 -3
  56. package/ios/LocalPhotoUploadServer.swift +411 -0
  57. package/ios/MentraBluetoothSDK.podspec +8 -2
  58. package/ios/MentraPhotoReceiverModule.swift +147 -0
  59. package/ios/Source/Bridge.swift +20 -1
  60. package/ios/Source/Camera/CameraModels.swift +64 -11
  61. package/ios/Source/DeviceManager.swift +6 -4
  62. package/ios/Source/Events/BluetoothEvents.swift +3 -0
  63. package/ios/Source/MentraBluetoothSDK.swift +111 -5
  64. package/ios/Source/ObservableStore.swift +2 -2
  65. package/ios/Source/Streaming/StreamModels.swift +234 -40
  66. package/ios/Source/controllers/ControllerManager.swift +1 -1
  67. package/ios/Source/controllers/R1.swift +9 -3
  68. package/ios/Source/sgcs/G1.swift +5 -4
  69. package/ios/Source/sgcs/G2.swift +4 -4
  70. package/ios/Source/sgcs/Mach1.swift +1 -1
  71. package/ios/Source/sgcs/MentraLive.swift +76 -12
  72. package/ios/Source/sgcs/MentraNex.swift +1 -1
  73. package/ios/Source/sgcs/SGCManager.swift +1 -1
  74. package/ios/Source/sgcs/Simulated.swift +1 -1
  75. package/ios/Source/utils/MessageChunkReassembler.swift +89 -0
  76. package/package.json +6 -1
  77. package/src/BluetoothSdk.types.ts +90 -35
  78. package/src/_private/BluetoothSdkModule.ts +38 -8
  79. package/src/index.ts +9 -4
  80. package/src/photo-receiver/MentraPhotoReceiver.types.ts +20 -0
  81. package/src/photo-receiver/MentraPhotoReceiverModule.ts +14 -0
  82. package/src/photo-receiver/MentraPhotoReceiverModule.web.ts +20 -0
  83. package/src/photo-receiver/index.ts +2 -0
package/src/index.ts CHANGED
@@ -21,6 +21,7 @@ const PUBLIC_EVENT_NAMES = new Set<BluetoothSdkEventName>([
21
21
  "hotspot_status_change",
22
22
  "hotspot_error",
23
23
  "photo_response",
24
+ "photo_status",
24
25
  "gallery_status",
25
26
  "compatible_glasses_search_stop",
26
27
  "swipe_volume_status",
@@ -33,7 +34,6 @@ const PUBLIC_EVENT_NAMES = new Set<BluetoothSdkEventName>([
33
34
  "mic_pcm",
34
35
  "mic_lc3",
35
36
  "stream_status",
36
- "keep_alive_ack",
37
37
  ])
38
38
 
39
39
  const addListener: BluetoothSdkPublicModule["addListener"] = (eventName, listener) => {
@@ -84,7 +84,6 @@ export const BluetoothSdk: BluetoothSdkPublicModule = Object.freeze({
84
84
  stopVideoRecording: PrivateBluetoothSdkModule.stopVideoRecording.bind(PrivateBluetoothSdkModule),
85
85
  startStream: PrivateBluetoothSdkModule.startStream.bind(PrivateBluetoothSdkModule),
86
86
  stopStream: PrivateBluetoothSdkModule.stopStream.bind(PrivateBluetoothSdkModule),
87
- keepStreamAlive: PrivateBluetoothSdkModule.keepStreamAlive.bind(PrivateBluetoothSdkModule),
88
87
  setMicState: PrivateBluetoothSdkModule.setMicState.bind(PrivateBluetoothSdkModule),
89
88
  setPreferredMic: PrivateBluetoothSdkModule.setPreferredMic.bind(PrivateBluetoothSdkModule),
90
89
  setOwnAppAudioPlaying: PrivateBluetoothSdkModule.setOwnAppAudioPlaying.bind(PrivateBluetoothSdkModule),
@@ -97,6 +96,9 @@ export const BluetoothSdk: BluetoothSdkPublicModule = Object.freeze({
97
96
  export default BluetoothSdk
98
97
 
99
98
  export {
99
+ CAMERA_FOV_DEFAULT,
100
+ CAMERA_FOV_MAX,
101
+ CAMERA_FOV_MIN,
100
102
  DeviceModels,
101
103
  isBusyGlassesConnectionStatus,
102
104
  isConnectedGlassesConnectionStatus,
@@ -119,6 +121,7 @@ export type {
119
121
  ButtonPhotoSize,
120
122
  ButtonPressEvent,
121
123
  CameraFov,
124
+ CameraRoiPosition,
122
125
  CompatibleGlassesSearchStopEvent,
123
126
  ConnectOptions,
124
127
  ConnectedGlassesConnectionStatus,
@@ -135,7 +138,6 @@ export type {
135
138
  HotspotErrorEvent,
136
139
  HotspotStatus,
137
140
  HotspotStatusChangeEvent,
138
- KeepAliveAckEvent,
139
141
  LocalTranscriptionEvent,
140
142
  LogEvent,
141
143
  MicLc3Event,
@@ -143,9 +145,12 @@ export type {
143
145
  MicPcmEvent,
144
146
  MicPreference,
145
147
  PairFailureEvent,
148
+ PhotoResolvedConfig,
146
149
  PhotoCompression,
147
150
  PhotoResponseEvent,
148
151
  PhotoSize,
152
+ PhotoStatusEvent,
153
+ PhotoStatusState,
149
154
  RgbLedAction,
150
155
  RgbLedColor,
151
156
  RgbLedControlResponseEvent,
@@ -154,7 +159,7 @@ export type {
154
159
  ScanResultsCallback,
155
160
  SpeakingStatusEvent,
156
161
  StreamAudioConfig,
157
- StreamKeepAliveRequest,
162
+ StreamResolvedConfig,
158
163
  StreamStartRequest,
159
164
  StreamStatusEvent,
160
165
  StreamStatusLifecycleState,
@@ -0,0 +1,20 @@
1
+ export type PhotoReceiverUploadEvent = {
2
+ byteCount: number
3
+ fileUri: string
4
+ requestId?: string | null
5
+ }
6
+
7
+ export type PhotoReceiverStatusEvent = {
8
+ message: string
9
+ }
10
+
11
+ export type PhotoReceiverResult = {
12
+ host: string
13
+ port: number
14
+ uploadUrl: string
15
+ }
16
+
17
+ export type MentraPhotoReceiverModuleEvents = {
18
+ photoUpload: (event: PhotoReceiverUploadEvent) => void
19
+ receiverStatus: (event: PhotoReceiverStatusEvent) => void
20
+ }
@@ -0,0 +1,14 @@
1
+ import {NativeModule, requireNativeModule} from "expo"
2
+
3
+ import type {
4
+ MentraPhotoReceiverModuleEvents,
5
+ PhotoReceiverResult,
6
+ } from "./MentraPhotoReceiver.types"
7
+
8
+ declare class MentraPhotoReceiverModule extends NativeModule<MentraPhotoReceiverModuleEvents> {
9
+ isSupported(): Promise<boolean>
10
+ startPhotoReceiver(): Promise<PhotoReceiverResult>
11
+ stopPhotoReceiver(): Promise<void>
12
+ }
13
+
14
+ export default requireNativeModule<MentraPhotoReceiverModule>("MentraPhotoReceiver")
@@ -0,0 +1,20 @@
1
+ import {NativeModule, registerWebModule} from "expo"
2
+
3
+ import type {
4
+ MentraPhotoReceiverModuleEvents,
5
+ PhotoReceiverResult,
6
+ } from "./MentraPhotoReceiver.types"
7
+
8
+ class MentraPhotoReceiverModule extends NativeModule<MentraPhotoReceiverModuleEvents> {
9
+ async isSupported(): Promise<boolean> {
10
+ return false
11
+ }
12
+
13
+ async startPhotoReceiver(): Promise<PhotoReceiverResult> {
14
+ throw new Error("The photo receiver is only available in native apps.")
15
+ }
16
+
17
+ async stopPhotoReceiver(): Promise<void> {}
18
+ }
19
+
20
+ export default registerWebModule(MentraPhotoReceiverModule, "MentraPhotoReceiver")
@@ -0,0 +1,2 @@
1
+ export { default } from "./MentraPhotoReceiverModule"
2
+ export * from "./MentraPhotoReceiver.types"