Skip to content

janelia-arduino/qp-arduino

 
 

Repository files navigation

qp-arduino README

Documentation

https://janelia-arduino.github.io/qp-arduino

Repository Information

Description

The Quantum Leaps’ QP™ real-time embedded frameworks (RTEFs) and the QM™ modeling tool complement the Arduino platform and provide everything you need to program Arduino graphically with event-driven active objects and modern hierarchical state machines.

Development

PlatformIO

PlatformIO can be used as an alternative to the Arduino IDE for compiling and uploading Arduino code to embedded boards using a command line interface.

Install PlatformIO Core

https://docs.platformio.org/en/latest/core/installation/index.html

python3 -m venv .venv
source .venv/bin/activate
pip install platformio
pio --version

99-platformio-udev.rules

Linux users have to install udev rules for PlatformIO supported boards/devices.

Download udev rules file to /etc/udev/rules.d

curl -fsSL https://raw.githubusercontent.com/platformio/platformio-core/develop/platformio/assets/system/99-platformio-udev.rules | sudo tee /etc/udev/rules.d/99-platformio-udev.rules

Restart udev management tool

sudo service udev restart

Add user to groups

sudo usermod -a -G dialout $USER && sudo usermod -a -G plugdev $USER

Remove modemmanager

sudo apt-get purge --auto-remove modemmanager

After setting up rules and groups

You will need to log out and log back in again (or reboot) for the user group changes to take effect.

After this file is installed, physically unplug and reconnect your board.

Compile the firmware

Gnu/Linux

make teensy-firmware

Other

pio run -e teensy41

Upload the firmware

Gnu/Linux

make teensy-upload

Other

pio run -e teensy41 -t upload

Serial Terminal Monitor

Gnu/Linux

make monitor

Other

pio device monitor

QP

QM Graphical Modeling and Code Generation Tool

Download and Install

cd ~ && rm -rf qp && mkdir qp && cd qp
curl -OL https://github.com/QuantumLeaps/qm/releases/download/v5.1.3/qm_5.1.3-linux64.zip
unzip qm_5.1.3-linux64.zip && rm qm_5.1.3-linux64.zip && mv qm qm-5.1.3
chmod u+x qm-5.1.3/bin/qm && chmod u+x qm-5.1.3/bin/qm.sh
alias qm='~/qp/qm-5.1.3/bin/qm.sh'

Qtools

Download and Install

cd ~/qp
curl -OL https://github.com/QuantumLeaps/qtools/releases/download/v6.9.3/qtools-posix_6.9.3.zip
unzip qtools-posix_6.9.3.zip && rm qtools-posix_6.9.3.zip && mv qtools qtools-6.9.3
cd qtools-6.9.3/qspy/posix
make
alias qspy='~/qp/qtools-6.9.3/bin/qspy'

About

QP real-time embedded frameworks/RTOS for Arduino (AVR and SAM)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 97.0%
  • C 2.8%
  • Makefile 0.2%