- Architecture overview, BLE and WebSocket protocols - All 19 modules with command IDs validated against smali source - BLE packet format with CRC-16/MODBUS pseudocode - Complete WsCmd index (~300 commands) - Connection flow with pseudocode examples - Methodology section explaining APK decompilation process
186 lines
5.6 KiB
Markdown
186 lines
5.6 KiB
Markdown
# Astro Commands (AstroProto)
|
|
|
|
Module **ASTRO** (ID=3), base command ID = 11000.
|
|
|
|
## Goto (Pointing)
|
|
|
|
### ReqGotoDSO
|
|
|
|
| Field | # | Type | Description |
|
|
|-------|---|------|-------------|
|
|
| `ra` | 1 | double | Right ascension (degrees) |
|
|
| `dec` | 2 | double | Declination (degrees) |
|
|
| `targetName` | 3 | string | Target name |
|
|
| `gotoOnly` | 4 | bool | Goto only (no tracking) |
|
|
|
|
### ReqGotoSolarSystem
|
|
|
|
| Field | # | Type | Description |
|
|
|-------|---|------|-------------|
|
|
| `index` | 1 | int32 | Planet index |
|
|
| `lon` | 2 | double | Longitude |
|
|
| `lat` | 3 | double | Latitude |
|
|
| `targetName` | 4 | string | Target name |
|
|
| `forceStart` | 5 | bool | Force start |
|
|
|
|
### ReqOneClickGotoDSO
|
|
|
|
| Field | # | Type | Description |
|
|
|-------|---|------|-------------|
|
|
| `ra` | 1 | double | Right ascension |
|
|
| `dec` | 2 | double | Declination |
|
|
| `targetName` | 3 | string | Target name |
|
|
| `lon` | 4 | double | Longitude |
|
|
| `lat` | 5 | double | Latitude |
|
|
| `shootingMode` | 6 | int32 | Shooting mode |
|
|
| `gotoOnly` | 7 | bool | Goto only |
|
|
|
|
### ReqOneClickGotoSolarSystem
|
|
|
|
| Field | # | Type | Description |
|
|
|-------|---|------|-------------|
|
|
| `index` | 1 | int32 | Planet index |
|
|
| `lon` | 2 | double | Longitude |
|
|
| `lat` | 3 | double | Latitude |
|
|
| `targetName` | 4 | string | Target name |
|
|
| `forceStart` | 5 | bool | Force start |
|
|
| `shootingMode` | 6 | int32 | Shooting mode |
|
|
|
|
## Live Stacking
|
|
|
|
### ReqCaptureRawLiveStacking
|
|
|
|
| Field | # | Type | Description |
|
|
|-------|---|------|-------------|
|
|
| `irIndex` | 1 | int32 | IR index |
|
|
| `forceStart` | 2 | bool | Force start |
|
|
|
|
### ReqCaptureWideRawLiveStacking
|
|
|
|
| Field | # | Type | Description |
|
|
|-------|---|------|-------------|
|
|
| `forceStart` | 1 | bool | Force start |
|
|
|
|
### No-field commands: ReqFastStopCaptureRawLiveStacking, ReqStopCaptureRawLiveStacking, ReqFastStopCaptureWideRawLiveStacking, ReqStopCaptureWideRawLiveStacking
|
|
|
|
## Dark Frames & Calibration
|
|
|
|
### ReqCaptureDarkFrame
|
|
|
|
| Field | # | Type | Description |
|
|
|-------|---|------|-------------|
|
|
| `reshoot` | 1 | int32 | Reshoot flag |
|
|
|
|
### ReqCaptureDarkFrameWithParam
|
|
|
|
| Field | # | Type | Description |
|
|
|-------|---|------|-------------|
|
|
| `expIndex` | 1 | int32 | Exposure index |
|
|
| `gainIndex` | 2 | int32 | Gain index |
|
|
| `binIndex` | 3 | int32 | Binning index |
|
|
| `capSize` | 4 | int32 | Capture size |
|
|
|
|
### ReqDelDarkFrame
|
|
|
|
| Field | # | Type | Description |
|
|
|-------|---|------|-------------|
|
|
| `expIndex` | 1 | int32 | Exposure index |
|
|
| `gainIndex` | 2 | int32 | Gain index |
|
|
| `binIndex` | 3 | int32 | Binning index |
|
|
| `tempValue` | 4 | int32 | Temperature value |
|
|
|
|
### ReqCaptureCaliFrame
|
|
|
|
| Field | # | Type | Description |
|
|
|-------|---|------|-------------|
|
|
| `expIndex` | 1 | int32 | Exposure index |
|
|
| `gain` | 2 | int32 | Gain |
|
|
| `resolution` | 3 | int32 | Resolution |
|
|
| `capSize` | 4 | int32 | Capture size |
|
|
| `cameraType` | 5 | int32 | Camera type |
|
|
| `caliFrameType` | 6 | int32 | Calibration frame type |
|
|
| `filterType` | 7 | int32 | Filter type |
|
|
| `sceneType` | 8 | int32 | Scene type |
|
|
|
|
## EQ Solving & Other
|
|
|
|
### ReqStartEqSolving, ReqStopEqSolving, ReqStartSkyTargetFinder, ReqStopSkyTargetFinder — No fields
|
|
|
|
### ReqStartAiEnhance, ReqStartCalibration, ReqStartRepostprocess
|
|
|
|
| Field | # | Type | Description |
|
|
|-------|---|------|-------------|
|
|
| `resultDir` | 1 | string | Result directory |
|
|
|
|
### ReqIsImageStackable
|
|
|
|
| Field | # | Type | Description |
|
|
|-------|---|------|-------------|
|
|
| `srcDirs` | 1 | repeated string | Source directories |
|
|
|
|
### ReqGetAstroShootingTime
|
|
|
|
| Field | # | Type | Description |
|
|
|-------|---|------|-------------|
|
|
| `expIndex` | 1 | int32 | Exposure index |
|
|
| `horizontalScale` | 2 | int32 | Horizontal scale |
|
|
| `verticalScale` | 3 | int32 | Vertical scale |
|
|
| `rotation` | 4 | int32 | Rotation |
|
|
| `camId` | 5 | int32 | Camera ID |
|
|
| `shootingMode` | 6 | int32 | Shooting mode |
|
|
|
|
### No-field commands: ReqStartMosaic, ReqGoLive, ReqOneClickShooting
|
|
|
|
## Command IDs (Module ASTRO, base 11000)
|
|
|
|
| ID | Command |
|
|
|----|---------|
|
|
| 11000 | START_CALIBRATION |
|
|
| 11001 | STOP_CALIBRATION |
|
|
| 11002 | START_GOTO_DSO |
|
|
| 11003 | START_GOTO_SOLAR_SYSTEM |
|
|
| 11004 | STOP_GOTO |
|
|
| 11005 | START_CAPTURE_RAW_LIVE_STACKING |
|
|
| 11006 | STOP_CAPTURE_RAW_LIVE_STACKING |
|
|
| 11007 | START_CAPTURE_RAW_DARK |
|
|
| 11008 | STOP_CAPTURE_RAW_DARK |
|
|
| 11009 | CHECK_GOT_DARK |
|
|
| 11010 | GO_LIVE |
|
|
| 11011 | START_TRACK_SPECIAL_TARGET |
|
|
| 11012 | STOP_TRACK_SPECIAL_TARGET |
|
|
| 11013 | START_ONE_CLICK_GOTO_DSO |
|
|
| 11014 | START_ONE_CLICK_GOTO_SOLAR_SYSTEM |
|
|
| 11015 | STOP_ONE_CLICK_GOTO |
|
|
| 11016 | START_WIDE_CAPTURE_LIVE_STACKING |
|
|
| 11017 | STOP_WIDE_CAPTURE_LIVE_STACKING |
|
|
| 11018 | START_EQ_SOLVING |
|
|
| 11019 | STOP_EQ_SOLVING |
|
|
| 11020 | WIDE_GO_LIVE |
|
|
| 11021 | START_CAPTURE_RAW_DARK_WITH_PARAM |
|
|
| 11022 | STOP_CAPTURE_RAW_DARK_WITH_PARAM |
|
|
| 11023 | GET_DARK_FRAME_LIST |
|
|
| 11024 | DEL_DARK_FRAME_LIST |
|
|
| 11025 | START_CAPTURE_WIDE_RAW_DARK_WITH_PARAM |
|
|
| 11026 | STOP_CAPTURE_WIDE_RAW_DARK_WITH_PARAM |
|
|
| 11027 | GET_WIDE_DARK_FRAME_LIST |
|
|
| 11028 | DEL_WIDE_DARK_FRAME_LIST |
|
|
| 11029 | START_AI_ENHANCE |
|
|
| 11030 | STOP_AI_ENHANCE |
|
|
| 11031 | START_TELE_MOSAIC |
|
|
| 11032 | CHECK_IF_RESTACKABLE |
|
|
| 11033 | START_MAKE_FITS_THUMB |
|
|
| 11034 | STOP_MAKE_FITS_THUMB |
|
|
| 11035 | START_RESTACKED |
|
|
| 11036 | STOP_RESTACKED |
|
|
| 11037 | FAST_STOP_CAPTURE_RAW_LIVE_STACKING |
|
|
| 11038 | FAST_STOP_WIDE_CAPTURE_LIVE_STACKING |
|
|
| 11039 | GET_ASTRO_SHOOTING_TIME |
|
|
| 11040 | GET_QUICK_SET_LIST |
|
|
| 11041 | SET_QUICK_SET |
|
|
| 11042 | START_ONE_CLICK_SHOOTING |
|
|
| 11043 | GET_CALI_FRAME_LIST |
|
|
| 11044 | DEL_CALI_FRAME_LIST |
|
|
| 11045 | START_CAPTURE_CALI_FRAME |
|
|
| 11046 | STOP_CAPTURE_CALI_FRAME |
|
|
| 11047 | START_SKY_TARGET_FINDER |
|
|
| 11048 | STOP_SKY_TARGET_FINDER | |