summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLi Zhineng <[email protected]>2025-07-18 10:52:16 +0800
committerLi Zhineng <[email protected]>2025-07-18 10:52:16 +0800
commit32ba94c1f0fbe453f720a06a3363075b700968c9 (patch)
tree0c7bbbf17854f5454a5faaf360e751665629beab
parent9d8eebb54c7eddd8fd5ca7009339d994bcf0ed2c (diff)
downloadairmx-32ba94c1f0fbe453f720a06a3363075b700968c9.tar.gz
airmx-32ba94c1f0fbe453f720a06a3363075b700968c9.zip
centralize messages
-rw-r--r--packages/airmx/src/airmx.ts3
-rw-r--r--packages/airmx/src/eagle.ts14
-rw-r--r--packages/airmx/src/message.ts15
3 files changed, 18 insertions, 14 deletions
diff --git a/packages/airmx/src/airmx.ts b/packages/airmx/src/airmx.ts
index 66379e0..cd7aeaf 100644
--- a/packages/airmx/src/airmx.ts
+++ b/packages/airmx/src/airmx.ts
@@ -1,6 +1,7 @@
import crypto from 'crypto'
import { MqttClient } from 'mqtt'
-import { EagleControlMesasge, EagleStatus } from './eagle.js'
+import { EagleStatus } from './eagle.js'
+import { EagleControlMesasge } from './message.js'
import { SnowStatus } from './snow.js'
import type { Config, SnowListener, EagleListener, EagleControlData } from './types.js'
import { Command } from './types.js'
diff --git a/packages/airmx/src/eagle.ts b/packages/airmx/src/eagle.ts
index 7a1e313..d50096c 100644
--- a/packages/airmx/src/eagle.ts
+++ b/packages/airmx/src/eagle.ts
@@ -1,6 +1,5 @@
-import { CommandMessage } from './message.js'
-import type { Message, EagleStatusData, EagleControlData } from './types.js'
-import { EagleMode, MessageSource } from './types.js'
+import type { Message, EagleStatusData } from './types.js'
+import { EagleMode } from './types.js'
export class EagleStatus {
constructor(
@@ -104,12 +103,3 @@ export class EagleStatus {
return this.message.data.version
}
}
-
-export class EagleControlMesasge extends CommandMessage<EagleControlData> {
- static make(data: EagleControlData) {
- const timestamp = Math.floor(new Date().getTime() / 1000)
- return new EagleControlMesasge(
- 100, 'control', data, timestamp, MessageSource.App_Android
- )
- }
-}
diff --git a/packages/airmx/src/message.ts b/packages/airmx/src/message.ts
index d21dc44..6bac4f5 100644
--- a/packages/airmx/src/message.ts
+++ b/packages/airmx/src/message.ts
@@ -1,4 +1,4 @@
-import type { InstantPushData } from './types.js'
+import type { EagleControlData, InstantPushData } from './types.js'
import { MessageSource } from './types.js'
export class CommandMessage<T> {
@@ -44,3 +44,16 @@ export class InstantPushMessage extends CommandMessage<InstantPushData> {
)
}
}
+
+export class EagleControlMesasge extends CommandMessage<EagleControlData> {
+ static commandId() {
+ return 100
+ }
+
+ static make(data: EagleControlData) {
+ const timestamp = Math.floor(new Date().getTime() / 1000)
+ return new EagleControlMesasge(
+ this.commandId(), 'control', data, timestamp, MessageSource.App_Android
+ )
+ }
+}