Files
dwarf_protocol/07_astro_commands.md
Jacquin Antoine be87e8a4ca Add complete DWARFLAB protocol documentation
- 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
2026-06-13 00:21:19 +02:00

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 |