- 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
5.6 KiB
5.6 KiB
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 |