https://github.com/ctlst-tech/ctlst-hw-demo-rig
CatPilot Settings and pyQt visitation script for Catalyst's hardware public demo rig
https://github.com/ctlst-tech/ctlst-hw-demo-rig
Last synced: 11 months ago
JSON representation
CatPilot Settings and pyQt visitation script for Catalyst's hardware public demo rig
- Host: GitHub
- URL: https://github.com/ctlst-tech/ctlst-hw-demo-rig
- Owner: ctlst-tech
- License: bsd-3-clause
- Created: 2023-05-04T21:05:37.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-05-12T17:18:52.000Z (about 3 years ago)
- Last Synced: 2025-04-09T04:13:59.467Z (about 1 year ago)
- Language: Python
- Size: 130 KB
- Stars: 0
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ctlst-hw-demo-rig
CatPilot Settings and pyQt visitation script for Catalyst's hardware public demo rig
---
## Build, Upload, Run
### Clone repo
```bash
git clone git@github.com:ctlst-tech/ctlst-hw-demo-rig.git
git submodule --init --recursive
```
### Build
```bash
make atomics
make ctlst
```
### Upload
```bash
make upload ip=192.168.1.20
```
### Run
On Autopilot
```bash
catpilot
```
On GCU:
```bash
./gui.py --ip 192.168.1.20
```
---
## Architecture
file `config/swsys.xml` is divided into 5 parts:
- Buses declaration
- Boards
- Nav processing
- Bridges
- Connection
There are 4 internal buses (gen_bus, nav_bus, imu_bus, io_bus) and 1 bus (gcu_bus) for transmittion to the GCU.
Also there are 3 main flows for following subsystems: imu, adc, io. You can change priorities and timings if needed.
---
## Primary validation
### 1. Check connection with GCU
- open `configs/swsys.xml`
- check ip and ports
```xml
```
- correct if necessary
- upload firmware
- start the GUI app
**you may face with problems when strating the GUI app (not all topics were registered). Just try to restart it*
### 2. Check LEDs and relay
- by default it uses a meander with 1 sec period to control all LEDs
- file `configs/flow_io_gpio.xml` contains the control logic
```xml
inputs/out1
2
inputs/out2
3
inputs/relay
4
inputs/phase
5
inputs/overheat
6
inputs/status
7
```
### 3. Check servo and motor
- by default it uses a standard pwm for a servo and random parameters for an engine
- file `configs/flow_io_gpio.xml` contains the control logic
```xml
inputs/servo
0
20000
500
2500
true
inputs/engine
1
2000
250
750
false
```
### 4. Check thermosensors, potentiometer
- open ADC tab in the GCU app and check the values when heating
### 5. Check buttons
- open IO tab in the GCU app and check the values when pressing
### 5. Check OUT1/OUT2 and IN1
- connect OUT1/OUT2 with IN1 and check IO tab in the GCU