Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/carletonurocketry/hysim
A simulation of the hybrid control system which can be run on POSIX platforms.
https://github.com/carletonurocketry/hysim
Last synced: about 1 month ago
JSON representation
A simulation of the hybrid control system which can be run on POSIX platforms.
- Host: GitHub
- URL: https://github.com/carletonurocketry/hysim
- Owner: CarletonURocketry
- Created: 2024-09-11T22:33:52.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-11-08T02:30:08.000Z (about 1 month ago)
- Last Synced: 2024-11-08T03:28:42.723Z (about 1 month ago)
- Language: C
- Size: 144 KB
- Stars: 2
- Watchers: 7
- Forks: 1
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# hysim
This is a collection of simulations that are meant to emulate the hybrid control system on a desktop computer over any
network.This will allow acceptance testing of the system by propulsion members without first deploying the system. This also
permits testing during development of application level logic that is built on top of the POSIX layer, such as TCP
socket connections and messages, FSM logic for arming states and actuators and telemetry display and logging.## Simulations
- [Telemetry Client](./telem_client/README.md)
- [Control Client](./control_client/README.md)
- [Pad Server](./pad_server/README.md)## Building
To build the simulations, run `make all` in the project directory.
## Usage
To figure out how to use each of the simulations, run the compiled binary to the simulation with the help flag: `-h`.
This will print the help text.You must always run the Pad Server simulation and one of the client simulations in order to emulate a system or part of
a system.In console window #1:
```console
$ pad/pad
```In console window #2:
```console
$ control_client/control
```## Running with Docker
If you have Docker installed, you can run simulations within a Docker container.
To build the image run `docker build . -t hysim`.
In order to be able to receive data over TCP/UDP sockets, we have to manually expose the port when creating the
container. To create a container with the exposed port for telemetry data, run `docker run -it -p 50002:50002 hysim`