Skip to content

Commit 2e1fa6f

Browse files
author
QL
committed
6.5.1
1 parent 7a6f117 commit 2e1fa6f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

93 files changed

+11493
-29403
lines changed

GPLv3.txt

Lines changed: 0 additions & 674 deletions
This file was deleted.

QP-Arduino_GPL_Exception.txt

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,42 @@
11
QP-nano FRAMEWORK EXCEPTION FOR ARDUINO
22

3-
Version 1.1, 22 June 2016
3+
Version 2.0, July 16, 2019
44

5-
Copyright (c) 2016 Quantum Leaps, LLC. <https://www.state-machine.com/>
5+
Copyright (c) 2005-2019 Quantum Leaps, LLC. <https://www.state-machine.com/>
66

77
Everyone is permitted to copy and distribute verbatim copies of this
88
license document, but changing it is not allowed.
99

10-
This QP-nano Framework Exception for Arduino ("Exception") is an
11-
additional permission under section 7 of the GNU General Public
12-
License, version 3 ("GPLv3"). It applies to the QP-nano source code
13-
(the "QP-nano Framework") that is distributed as part of the
10+
This QP/C++ and QP-nano Framework Exception for Arduino ("Exception")
11+
is an additional permission under section 7 of the GNU General Public
12+
License, version 3 ("GPLv3"). It applies to the QP/C++ and QP-nano
13+
source code (the "QP Frameworks") that is distributed as part of the
1414
QP-Arduino Support Package.
1515

16-
When you use QP-nano Framework inside your program, the QP-nano
17-
framework code is combined with your code of the program. The purpose
18-
of this Exception is to allow non-GPL (including proprietary)
19-
programs to use, in this way, the QP-nano Framework code covered
20-
by this Exception.
16+
When you use QP Frameworks inside your program, the QP Frameworks' code
17+
is combined with your code of the program. The purpose of this Exception
18+
is to allow non-GPL (including proprietary) programs to use, in this way,
19+
the QP Frameworks' code covered by this Exception.
2120

2221
0. Definitions.
23-
"QP-nano Framework for Arduino" is a lightweight real-time framework,
22+
"QP Frameworks" are lightweight real-time embedded frameworks (RTEFs)
2423
as well as all supporting ports and examples, as distributed from:
2524
<https://sourceforge.net/projects/qpc/files> and
2625
<https://github.com/QuantumLeaps>
2726

2827
"Arduino-Certified Board" means any board with an Arduino-supported
29-
CPU that bears an official Arduino logo and/or is officially
30-
certified under the Arduino Certified Program
28+
CPU that bears an official Arduino logo and/or is officially certified
29+
under the Arduino Certified Program
3130
(see <http://arduino.cc/en/ArduinoCertified>).
3231

3332
"Target Code" refers to output from any compiler and linker in
3433
executable form suitable for execution by an embedded microcontroller.
3534

3635

3736
1. Grant of Additional Permission
38-
As a special Exception, the copyright holder of QP-nano gives you
37+
As a special Exception, the copyright holder of QP Frameworks gives you
3938
permission to propagate a work of Target Code formed by combining
40-
the QP-nano Framework with your own source code without the requirement
39+
the QP Frameworks with your own source code without the requirement
4140
to expose your propriatory source code, provided that all Target Code
4241
will execute on Arduino-Certified Board(s).
4342

README.md

Lines changed: 37 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -1,99 +1,60 @@
1-
This README provides a quick overview of QP-nano for Arduino.
1+
This README provides a quick overview of QP for Arduino.
22
Please refer to the companion webiste to this project at:
33

44
https://www.state-machine.com/arduino
55

66

77
Software Installation on Windows
88
================================
9-
The QP-nano adaptation for Arduino is distributed in a single ZIP
10-
archive qpn-<ver>_arduino-1.8.x.zip, where <ver> stands for version of
11-
the QP-nano framework.
9+
The QP adaptation for Arduino is distributed in a single ZIP
10+
archive qp-<ver>_arduino-1.8.x.zip, where <ver> stands for version of
11+
the QP frameworks.
1212

13-
You need to unzip the qpn-<ver>_arduino-1.8.x.zip archive into your
13+
You need to unzip the qp-<ver>_arduino-1.8.x.zip archive into your
1414
Arduino-Sketchbook folder. To find out where your Sketchbook folder is,
1515
or to configure a different location for your Sketchbook folder, you
1616
need to open the Arduino IDE and select File | Preferences menu. The
1717
sketchbook location will be shown at the top of the Preferences dialog
1818
box. Once you identify the Sketchbook folder, you simply unzip the whole
1919
archive to your Sketchbook.
20-
21-
22-
Software Installation on MacOS
23-
==============================
24-
The Mac funtionality has been tested, but other users will likely find
25-
issues. Please submit issues at https://sourceforge.net/p/qpc/bugs/ and
26-
submit questions and suggestions at
27-
https://sourceforge.net/p/qpc/discussion/668726/
28-
29-
Install Dependencies
30-
--------------------
31-
1. Install the AVR-GCC tooltrain for Mac OS X. Following are the commands
32-
to install using Homebrew (must have Homebrew installed):
33-
34-
> ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
35-
> brew tap osx-cross/avr
36-
> brew install avr-libc
37-
> brew install avrdude --with-usb
38-
39-
2. Install Arduino for Mac OS X by placing the Arduino application in the
40-
Applications folder. Open the application at least one time to overcome
41-
security warnings.
42-
43-
3. Install Install QP-nano for Arduino into your Documents/Arduino folder
44-
(documentation refers to this as the Arduino Sketchbook folder).
45-
46-
4. Install QM.
47-
48-
Instructions for Configuring External Tools for a Model
49-
50-
1. Ensure the model is not open in QM.
51-
52-
2. Copy the Blinky model's settings
53-
(libraries/qpn_avr/examples/blinky/.blinky.macos) from your Arduino
54-
Sketchbook folder to the model's folder.
55-
56-
3. Rename the settings file to your model's name (i.e., .mymodel).
57-
58-
4. Open QM and edit the settings from External Tools.
59-
60-
Once you have a working .model file, copy it to other models and use it as
61-
a starting point.
62-
63-
Known Issues
64-
------------
65-
1. The serialterm External Tool is working by opening a Terminal window.
66-
An additional Terminal window also appears and can be safely closed. When
67-
the Terminal window displaying the Arduino's output is closed, the port is
68-
busy and can no longer be accessed. Work-around is to unplug and
69-
re-connect the Arduino from the Mac's USB port.
70-
71-
72-
Building the Examples in the QM Modeling Tool
73-
=============================================
74-
20+
21+
22+
Provided Libraries
23+
==================
24+
The archive qp-<ver>_arduino-1.8.x.zip contains two external libraries
25+
for Arduino:
26+
27+
qpcpp_sam -- QP/C++ framework for SAM-based Arduinos (ARM Cortex-M)
28+
qpn_avr -- QP-nano framework for AVR based Arduinos
29+
30+
31+
Working with the Examples
32+
=========================
33+
Each QP library contains the examples sub-directory, which contans the
34+
QM model file and the generated code. The intended way of working with
35+
the examples is to use the QM modeling tool to modify the state diagrams
36+
and the code, and to use the Arduino IDE only to build and upload
37+
the code to the Arduino board(s).
38+
7539
****
76-
NOTE: To start working with the freeware QM modeling tool, you need to
77-
download the tool from https://sourceforge.net/projects/qpc/files/QM.
40+
NOTE: The preferences in the Arduino IDE should be set up to
41+
"Use external editor" so that the IDE will update the code each time
42+
it is re-generated by the QM modeling tool.
7843
****
79-
80-
Each QP-nano example for Arduino (in the examples_avr folder) contains
81-
a QM model, which is a file with the extension .qm., such as
82-
<Sketchbook>\examples_avr\blinky\blinky.qm. These models and the QM
83-
modeling tool take Arduino programming to the next level. Instead of
84-
coding the state machines by hand, you draw them with the free QM
85-
modeling tool, attach simple action code to states and transitions, and
86-
you generate the complete Arduino sketch automatically-—literally by a
87-
press of a button.
44+
45+
When you unzip the archive into your Sketchbook directory, the examples
46+
provided in each QP library shows up in the Arduino IDE under the menu:
47+
48+
File|Examples|Examples from Custom Libraries
8849

8950

9051
Licensing
9152
=========
92-
The QP-nano framework for Arduino is licensed under the modified GPLv3
93-
license (see file GPLv3.txt) with the QP-Arduino Exception (see file
94-
QP-Arduino_GPL_Exception.txt). Specifically, the Exception removes the
95-
requirement to expose your propriatory source code as long as you deploy
96-
it on an Arduino-Certified board.
53+
The QP real-time embedded frameworks for Arduino are licensed under the
54+
modified GPLv3 license with the QP-Arduino Exception (see file
55+
QP-Arduino_GPL_Exception.txt in the root of the archive). Specifically,
56+
the Exception removes the requirement to expose your propriatory source
57+
code as long as you deploy it on an Arduino-Certified board.
9758

9859
The QM graphical modeling tool is freeware. The QM tool is provided
9960
under the terms of a simple End-User License Agreement (EULA).
@@ -105,11 +66,6 @@ Please refer to the companion webiste to this project at:
10566

10667
https://www.state-machine.com/arduino
10768

108-
Specifically, the Application Note: "Event-Driven Arduino Programming
109-
with QP and QM" is available from:
110-
111-
https://www.state-machine.com/doc/AN_Event-Driven_Arduino_QP-nano.pdf
112-
11369

11470
Support Questions
11571
=================

README.url

Lines changed: 0 additions & 3 deletions
This file was deleted.

0 commit comments

Comments
 (0)