An open API service indexing awesome lists of open source software.

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

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