83 lines
2.4 KiB
Markdown
83 lines
2.4 KiB
Markdown
# Dev Startup Scripts
|
|
|
|
This directory lives inside the `OmniSocketGo` repo and acts as the main launch entry for the whole local setup.
|
|
|
|
Default layout:
|
|
|
|
```text
|
|
~/Documents/
|
|
OmniSocketGo/
|
|
scripts/dev/
|
|
robot-command-center/
|
|
```
|
|
|
|
The scripts assume:
|
|
|
|
- `OmniSocketGo` is the current repo
|
|
- `robot-command-center` is a sibling directory next to it
|
|
|
|
If your `robot-command-center` is elsewhere, set `ROBOT_COMMAND_CENTER_ROOT` in `robot-remote.env.local`.
|
|
`start-backend.sh` and `start-frontend.sh` need that repo; `start-ros-receiver.sh` and `start-b-side-omnid.sh` do not.
|
|
|
|
## Files
|
|
|
|
- `robot-remote.env`: shared defaults for backend, frontend, ROS, and `b_side_omnid`
|
|
- `robot-remote.env.local`: optional local override file loaded after `robot-remote.env`
|
|
- `load-env.sh`: loads the shared environment into the current shell
|
|
- `start-backend.sh`: starts Django ASGI with `uvicorn`
|
|
- `start-frontend.sh`: starts the Vite dev server
|
|
- `start-ros-receiver.sh`: starts the ROS2 `udp_teleop_bridge` receiver
|
|
- `start-b-side-omnid.sh`: starts `./bin/b_side_omnid` and uses `sudo -E` by default
|
|
- `start-dev-tmux.sh`: optional one-command `tmux` launcher for all four processes
|
|
|
|
## Usage
|
|
|
|
Run these from the `OmniSocketGo` repo root:
|
|
|
|
```bash
|
|
bash scripts/dev/start-backend.sh
|
|
bash scripts/dev/start-frontend.sh
|
|
bash scripts/dev/start-ros-receiver.sh
|
|
bash scripts/dev/start-b-side-omnid.sh
|
|
```
|
|
|
|
If you prefer one command and use `tmux`:
|
|
|
|
```bash
|
|
bash scripts/dev/start-dev-tmux.sh
|
|
```
|
|
|
|
If you only want the shared environment for manual commands:
|
|
|
|
```bash
|
|
source scripts/dev/load-env.sh
|
|
```
|
|
|
|
## Customizing
|
|
|
|
Edit `scripts/dev/robot-remote.env` for shared changes such as:
|
|
|
|
- `ROBOT_COMMAND_CENTER_ROOT`
|
|
- `CONTROL_SIDE_OMNISOCKET_SERVER_ADDR`
|
|
- `CONTROL_SIDE_OMNISOCKET_RELAY_VIA`
|
|
- `ROBOT_SIDE_OMNISOCKET_SERVER_ADDR`
|
|
- `ROBOT_SIDE_OMNISOCKET_RELAY_VIA`
|
|
- `VITE_API_BASE_URL`
|
|
- `OMNI_CAMERA_DEVICE`
|
|
- `OMNI_VIDEO_PEER_ID`
|
|
- `OMNI_CONTROL_PEER_ID`
|
|
|
|
Role mapping:
|
|
|
|
- `start-backend.sh` uses the `CONTROL_SIDE_*` address pair
|
|
- `start-b-side-omnid.sh` uses the `ROBOT_SIDE_*` address pair
|
|
- `start-ros-receiver.sh` defaults to the robot-side address pair, but with `transport=unix_dgram` it usually does not need the server address
|
|
|
|
Put machine-specific overrides into `scripts/dev/robot-remote.env.local`. Example:
|
|
|
|
```bash
|
|
ROBOT_COMMAND_CENTER_ROOT="$HOME/Documents/robot-command-center"
|
|
OMNI_CAMERA_DEVICE="/dev/video30"
|
|
B_SIDE_OMNID_USE_SUDO="0"
|
|
```
|