94 lines
2.6 KiB
Markdown
94 lines
2.6 KiB
Markdown
# Environment Setup
|
|
|
|
Working on this repository requires you to use cargo and npm. In the following document the installation process will be shown
|
|
|
|
## Ubuntu/Debian Installation
|
|
|
|
```bash
|
|
# Just press enter when prompted
|
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
|
apt install npm
|
|
apt install nodejs
|
|
# assuming you dont have git already, Git setup not included in here
|
|
apt install git
|
|
git clone git@github.com:qitechgmbh/control.git
|
|
cd control
|
|
cd electron
|
|
npm install
|
|
```
|
|
|
|
# Running Backend and Frontend Linux
|
|
|
|
## Backend
|
|
|
|
To Compile backend code and run it on Linux:
|
|
|
|
```bash
|
|
./cargo_run_linux.sh
|
|
```
|
|
|
|
The script sets capabilities on the compiled binary like raw socket access.
|
|
Here it is required that you are connected to atleast one machine that is communicated with over ethercat or usb/serial.
|
|
The Most minimal working setup would be to connect over ethernet to an ek1100 beckhoff terminal.
|
|
|
|
## Mock-Machine
|
|
|
|
The Mock-Machine can be used to test code that does not require an actual machine connection.
|
|
Like Frontend Code for example.
|
|
|
|
Mock machines can be used if the compile feature mock-machine is enabled.
|
|
|
|
```bash
|
|
# in root git folder
|
|
./cargo_run_linux.sh mock-machine
|
|
```
|
|
|
|
## Frontend
|
|
|
|
To run the Frontend Code:
|
|
|
|
```bash
|
|
# need to be in the electron folder and an additional terminal
|
|
cd electron
|
|
npm run start
|
|
```
|
|
|
|
# Contributing
|
|
|
|
Generally you contribute to the codebase by:
|
|
|
|
1. Opening or Choosing an existing issue (Bug,Feature,Task etc)
|
|
2. Work on it locally
|
|
3. Commit your changes locally
|
|
4. Before pushing changes, if there were changes on the master branch, rebase your branch like so:
|
|
|
|
```bash
|
|
git fetch
|
|
git rebase origin/master
|
|
```
|
|
|
|
5. Push changes
|
|
|
|
```bash
|
|
# IF you needed to rebase
|
|
git push --force-with-lease
|
|
# ELSE you just push
|
|
git push
|
|
```
|
|
|
|
6. Open a Pull Request on Github and link the issue by writing fix #issue_number, after the pull request is merged into master the branch is closed automatically
|
|
7. Request a Review and hope for the best :)
|
|
|
|
# Recommended Editor Setup
|
|
|
|
We recommend you to use an Editor with rust-analyzer support like VSCode to speed up development and detect errors before compiling.
|
|
|
|
# Minimal Hardware Examples
|
|
|
|
To get started with actual hardware, check out these step-by-step tutorials:
|
|
|
|
- **[LED Control with EL2004](./minimal-example-el2004.md)** - Digital output control, the simplest possible hardware setup
|
|
- **[Analog Input with EL3021](./minimal-example-el3021.md)** - Reading analog current measurements
|
|
|
|
These examples provide complete hardware wiring diagrams and software setup instructions.
|