Record the verified install results and the /tmp hardware.ini trap
This commit is contained in:
parent
9b232c3f60
commit
649d0979cf
|
|
@ -215,6 +215,19 @@ Check the result, especially the serial path:
|
|||
ssh ggs@<tower-ip> 'cat /etc/fire_gimbal_control/hardware.ini'
|
||||
```
|
||||
|
||||
Then prove the program finds it **with nothing in the environment** - no
|
||||
`FGC_HARDWARE`, no `--hardware` - because that is how the tower starts itself:
|
||||
|
||||
```
|
||||
[INFO ] hardware: /etc/fire_gimbal_control/hardware.ini board lattepanda-iota axes yaw
|
||||
```
|
||||
|
||||
> **Do not leave it anywhere under `/tmp`.** That is tempting during bring-up
|
||||
> because it needs no root, and it works right up until the first reboot, which
|
||||
> clears `/tmp` and leaves the program with `Config error: Camera.rgb.id is
|
||||
> required` - a message that points at the camera rather than at the file that
|
||||
> disappeared. Verified on tower 121 by rebooting it.
|
||||
|
||||
> `[Serial] device` must be a `/dev/serial/by-id/` path, never `/dev/ttyACM0`.
|
||||
> Tower 121 has a 5G modem that claims three `ttyUSB` nodes, and enumeration
|
||||
> order is not stable across reboots.
|
||||
|
|
@ -492,6 +505,12 @@ Anything `hardware.ini` now owns - `[Serial] device`, `[IMU]`, `[Env]`, the
|
|||
camera ids - should be **deleted** from `config.ini` rather than left to rot:
|
||||
the program warns at startup about every key set in both.
|
||||
|
||||
> **`[Camera.<name>] id` is required even when the camera is disabled.** Config
|
||||
> validation runs before any of the feature flags are consulted, so a tower with
|
||||
> no camera fitted yet cannot start without one - and the obvious dummy,
|
||||
> `DEV_0000000000`, is what `deploy.sh`'s placeholder guard refuses. On a tower
|
||||
> that has its camera, the id lives in `hardware.ini` and this never comes up.
|
||||
|
||||
`[Features] enable_imu` and `enable_env` matter more than they look. Declaring
|
||||
`imu = none` in `hardware.ini` does **not** yet switch them off - deriving them
|
||||
is section 12 of the config plan and is not implemented. On tower 121 the first
|
||||
|
|
@ -656,13 +675,18 @@ gimbal pitch setup # needs an IMU; skip on a rig without one
|
|||
|
||||
## 11. Verification checklist
|
||||
|
||||
| Check | How |
|
||||
|---|---|
|
||||
| Key-only ssh | `ssh ggs@<tower> hostname`, no prompt |
|
||||
| Preconditions survive a reboot | reboot, then `install.sh --probe`: `usbfs_memory_mb 1000`, `lpm_permit 0` |
|
||||
| Camera enumerates | `/opt/VimbaX/bin/ListCameras` reports the `DEV_` id in `hardware.ini` |
|
||||
| Declared hardware matches | startup logs no presence warnings |
|
||||
| Firmware identity | `gimbal dump` reports the `GIT_REV` you flashed |
|
||||
| Homing repeatable | `gimbal home` several times, endstop counts within `home_spread_max_counts` |
|
||||
| Images land | `.jxl` files appear under the configured output dir |
|
||||
| Survives a disconnect | `scripts/fgc start`, close ssh, reconnect, `scripts/fgc status` |
|
||||
| Check | How | Tower 121 |
|
||||
|---|---|---|
|
||||
| Key-only ssh | `ssh ggs@<tower> hostname`, no prompt | ✅ |
|
||||
| Preconditions survive a reboot | reboot, then `install.sh --probe`: `usbfs_memory_mb 1000`, `lpm_permit 0` | ✅ confirmed across a real reboot |
|
||||
| `hardware.ini` found unaided | run with no `FGC_HARDWARE`: startup names `/etc/fire_gimbal_control/hardware.ini` | ✅ |
|
||||
| Camera enumerates | `ListCameras_VmbC` reports the `DEV_` id in `hardware.ini` | ✅ `DEV_1AB22C0B7D4E` |
|
||||
| Camera profile applies | startup logs `profile 'standard' applied ... (N settings)` | ✅ 17206 settings |
|
||||
| Firmware identity | `gimbal dump` reports the `GIT_REV` you flashed | ✅ `build=aab1925-dirty` |
|
||||
| Driver answers over SPI | boot banner shows `IOIN Y=0x… version=0x30` | ✅ |
|
||||
| Remote re-flash | `BOOTSEL`, then `./deploy.sh` - no hands on the board | ✅ |
|
||||
| Declared hardware matches | startup logs no presence warnings | ✅ no shadowed-key warnings |
|
||||
| Homing repeatable | `gimbal home` several times, endstop counts within `home_spread_max_counts` | ❌ **not attempted** - unknown drivetrain |
|
||||
| Images land | `.jxl` files appear under the configured output dir | ❌ needs a capture run |
|
||||
| Survives a disconnect | `scripts/fgc start`, close ssh, reconnect, `scripts/fgc status` | ❌ not attempted |
|
||||
| Reports to a broker | topics arrive at the configured broker | ❌ no broker on this tower yet |
|
||||
|
|
|
|||
Loading…
Reference in New Issue