Skip to content

Commit

Permalink
8.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
quantum-leaps committed Oct 17, 2024
1 parent d3f94c7 commit 309f482
Show file tree
Hide file tree
Showing 233 changed files with 6,603 additions and 37,175 deletions.
16 changes: 10 additions & 6 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -37,17 +37,21 @@
version-*
JLink*.*

cert/
include/qs.h
include/qs_pkg.h
src/qs/qs.c
src/qs/qs_64bit.c
src/qs/qs_fp.c
src/qs/qs_rx.c
src/qs/qutest.c

priv/
html/
latex/
doxygen/gen/
test_priv/
dbg/
rel/
spy/
build/
build_rel/
build_spy/
build*/
settings/
.settings/
targetConfigs/
Expand Down
4 changes: 2 additions & 2 deletions LICENSES/License.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ Quantum Leaps Dual-Licensing:
The QP/C Real-Time Embedded Framework is dually-licensed under
the following two alternatives:

1. Open source GNU General Public License (GPL)
version 3, or alternatively,
1. Open source GNU General Public License (GPL) version 3,
or alternatively,

2. One of the closed source Quantum Leaps commercial licenses.

Expand Down
28 changes: 13 additions & 15 deletions LICENSES/LicenseRef-QL-dual.qlc
Original file line number Diff line number Diff line change
@@ -1,30 +1,28 @@
Any user of the QP/C real-time embedded framework
public
qpc
2025-12-31

Copyright (C) 2005 Quantum Leaps, LLC <state-machine.com>.
Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.

Q u a n t u m L e a P s
------------------------
Modern Embedded Software

SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial

This software is dual-licensed under the terms of the open source GNU
General Public License version 3 (or any later version), or alternatively,
under the terms of one of the closed source Quantum Leaps commercial
licenses.

The terms of the open source GNU General Public License version 3
can be found at: <www.gnu.org/licenses/gpl-3.0>

The terms of the closed source Quantum Leaps commercial licenses
can be found at: <www.state-machine.com/licensing>
The QP/C software is dual-licensed under the terms of the open-source GNU
General Public License (GPL) or under the terms of one of the closed-
source Quantum Leaps commercial licenses.

Redistributions in source code must retain this top-level comment block.
Plagiarizing this software to sidestep the license obligations is illegal.

Contact information:
NOTE:
The GPL does NOT permit the incorporation of this code into proprietary
programs. Please contact Quantum Leaps for commercial licensing options,
which expressly supersede the GPL and are designed explicitly for
closed-source distribution.

Quantum Leaps contact information:
<www.state-machine.com/licensing>
<[email protected]>
#BC89496843DE5343CECA990E1370BDD6F9ACDC56
#2BACD81DCE8ED122C193E4F48A14170D660DFF1E
18 changes: 14 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,15 +34,15 @@ provides instructions on how to download, install, and get started with QP.
- [AppNote: "Getting Started with QP Real-Time Embedded Frameworks"][AN]
contains also a tutorial, in which you build a simple "Blinky" application.

## Licensing
The QP frameworks (QP/C and QP/C++) are licensed under the
# Licensing
The QP/C real-time embedded framework is licensed under the
[dual licensing model](https://www.state-machine.com/licensing), with
the following licensing options:

1. [Open-source licensing](https://www.state-machine.com/licensing#Open) under the
[GNU General Public License (GPLv3)](https://www.gnu.org/licenses/gpl-3.0.en.html).

> NOTE: GPL requires that all modifications to the original code
> NOTE: The GPL requires that all modifications to the original code
as well as your application code (Derivative Works as defined in the
Copyright Law) must also be released under the terms of the GPL
open source license.
Expand All @@ -56,6 +56,13 @@ proprietary status of their code.
all QP frameworks can be licensed commercially, in which case you don't use
any open source license and you do not violate your policy.

## Licensing the QS/C Software Tracing Component
The target-resident [QS/C software trading component][QS/C] is provided only
under one of the [closed-source commerial QP licenses][Lic] and therefore is
[NOT provided](src/qs) in the open-source GPL distribution. Please
[contact Quantum Leaps](#how-to-get-help) to request **evaluation** of
the QS software tracing.


# About QP/C
QP/C (Quantum Platform in C) is a lightweight, open source
Expand Down Expand Up @@ -138,12 +145,15 @@ in your web browser.
# How to Help this Project?
If you like this project, please give it a star (in the upper-right corner of your browser window):

![GitHub star](https://www.state-machine.com/img/github-star.jpg)
<p align="center">
<img src="https://www.state-machine.com/img/github-star.jpg"/><br>
</p>

[RTEF]: <https://www.state-machine.com/rtef>
[QP]: <https://www.state-machine.com/products/qp>
[QP/C]: <https://github.com/QuantumLeaps/qpc>
[QP/C++]: <https://github.com/QuantumLeaps/qpcpp>
[QS/C]: <https://www.state-machine.com/qpc/srs-qp_qs.html>
[QM]: <https://github.com/QuantumLeaps/qm>
[QTools]: <https://github.com/QuantumLeaps/qtools>
[QP-Rel]: <https://github.com/QuantumLeaps/qpc/releases>
Expand Down
2 changes: 1 addition & 1 deletion examples
Submodule examples updated 699 files
32 changes: 32 additions & 0 deletions include/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Missing QS Software Tracing Files
The following files for the target-resident
[QS software tracing component](https://www.state-machine.com/qpc/srs-qp_qs.html)
are not available in the GPL distribution of the QP/C real-time embedded framework:

```
+---qpc
| +---include
| | qs.h <--- removed from the GPL distribution
| | qs_pkg.h <--- removed from the GPL distribution
| |
| +---src
| | +---qs
| | | qs.c <--- removed from the GPL distribution
| | | qs_64bit.c <--- removed from the GPL distribution
| | | qs_fp.c <--- removed from the GPL distribution
| | | qs_rx.c <--- removed from the GPL distribution
| | | qutest.c <--- removed from the GPL distribution
```

> NOTE: These files are available under a
[commercial Quantum Leaps license](https://www.state-machine.com/licensing).

# QS Software Tracing Evaluation
To request QS software tracing **evaluation**, please contact Quantum Leaps at:

- https://www.state-machine.com/contact
- mailto:[email protected]

# Quantum Leaps Licensing:
To learn more about the open source and commercial licensing options:
- https://www.state-machine.com/licensing
68 changes: 40 additions & 28 deletions include/qequeue.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,39 +3,31 @@
// Model: qpc.qm
// File: ${include::qequeue.h}
//
// This code has been generated by QM 6.2.0 <www.state-machine.com/qm>.
// This code has been generated by QM 7.0.0 <www.state-machine.com/qm>.
// DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.
//
// This code is covered by the following QP license:
// License # : LicenseRef-QL-dual
// Issued to : Any user of the QP/C real-time embedded framework
// Framework(s) : qpc
// Support ends : 2025-12-31
// License scope:
//
// Copyright (C) 2005 Quantum Leaps, LLC <state-machine.com>.
// Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
//
// Q u a n t u m L e a P s
// ------------------------
// Modern Embedded Software
//
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
//
// This software is dual-licensed under the terms of the open source GNU
// General Public License version 3 (or any later version), or alternatively,
// under the terms of one of the closed source Quantum Leaps commercial
// licenses.
//
// The terms of the open source GNU General Public License version 3
// can be found at: <www.gnu.org/licenses/gpl-3.0>
//
// The terms of the closed source Quantum Leaps commercial licenses
// can be found at: <www.state-machine.com/licensing>
// The QP/C software is dual-licensed under the terms of the open-source GNU
// General Public License (GPL) or under the terms of one of the closed-
// source Quantum Leaps commercial licenses.
//
// Redistributions in source code must retain this top-level comment block.
// Plagiarizing this software to sidestep the license obligations is illegal.
//
// Contact information:
// NOTE:
// The GPL does NOT permit the incorporation of this code into proprietary
// programs. Please contact Quantum Leaps for commercial licensing options,
// which expressly supersede the GPL and are designed explicitly for
// closed-source distribution.
//
// Quantum Leaps contact information:
// <www.state-machine.com/licensing>
// <[email protected]>
//
Expand All @@ -51,13 +43,11 @@
typedef uint8_t QEQueueCtr;
#elif (QF_EQUEUE_CTR_SIZE == 2U)
typedef uint16_t QEQueueCtr;
#elif (QF_EQUEUE_CTR_SIZE == 4U)
typedef uint32_t QEQueueCtr;
#else
#error "QF_EQUEUE_CTR_SIZE defined incorrectly, expected 1U, 2U, or 4U"
#error "QF_EQUEUE_CTR_SIZE defined incorrectly, expected 1U or 2U"
#endif

struct QEvt; // forward declaration
struct QEvt; // forward declartion

//$declare${QF::QEQueue} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv

Expand All @@ -70,7 +60,7 @@ typedef struct QEQueue {
struct QEvt const * volatile frontEvt;

//! @private @memberof QEQueue
struct QEvt const ** ring;
struct QEvt const * * ring;

//! @private @memberof QEQueue
QEQueueCtr end;
Expand All @@ -84,18 +74,40 @@ typedef struct QEQueue {
//! @private @memberof QEQueue
QEQueueCtr volatile nFree;

#ifndef Q_UNSAFE
//! @private @memberof QEQueue
uintptr_t frontEvt_dis;
#endif // ndef Q_UNSAFE

#ifndef Q_UNSAFE
//! @private @memberof QEQueue
QEQueueCtr head_dis;
#endif // ndef Q_UNSAFE

#ifndef Q_UNSAFE
//! @private @memberof QEQueue
QEQueueCtr tail_dis;
#endif // ndef Q_UNSAFE

#ifndef Q_UNSAFE
//! @private @memberof QEQueue
QEQueueCtr nFree_dis;
#endif // ndef Q_UNSAFE

//! @private @memberof QEQueue
QEQueueCtr nMin;

// public:
// type:
} QEQueue;
extern QEQueue QEQueue_dummy;

// dummy static member to force generating 'struct QEQueue {...}'
extern QEQueue * QEQueue_dummy;

// public:

//! @public @memberof QEQueue
void QEQueue_init(QEQueue * const me,
struct QEvt const ** const qSto,
struct QEvt const * * const qSto,
uint_fast16_t const qLen);

//! @public @memberof QEQueue
Expand Down
35 changes: 13 additions & 22 deletions include/qk.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,39 +3,31 @@
// Model: qpc.qm
// File: ${include::qk.h}
//
// This code has been generated by QM 6.2.0 <www.state-machine.com/qm>.
// This code has been generated by QM 7.0.0 <www.state-machine.com/qm>.
// DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.
//
// This code is covered by the following QP license:
// License # : LicenseRef-QL-dual
// Issued to : Any user of the QP/C real-time embedded framework
// Framework(s) : qpc
// Support ends : 2025-12-31
// License scope:
//
// Copyright (C) 2005 Quantum Leaps, LLC <state-machine.com>.
// Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
//
// Q u a n t u m L e a P s
// ------------------------
// Modern Embedded Software
//
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
//
// This software is dual-licensed under the terms of the open source GNU
// General Public License version 3 (or any later version), or alternatively,
// under the terms of one of the closed source Quantum Leaps commercial
// licenses.
//
// The terms of the open source GNU General Public License version 3
// can be found at: <www.gnu.org/licenses/gpl-3.0>
//
// The terms of the closed source Quantum Leaps commercial licenses
// can be found at: <www.state-machine.com/licensing>
// The QP/C software is dual-licensed under the terms of the open-source GNU
// General Public License (GPL) or under the terms of one of the closed-
// source Quantum Leaps commercial licenses.
//
// Redistributions in source code must retain this top-level comment block.
// Plagiarizing this software to sidestep the license obligations is illegal.
//
// Contact information:
// NOTE:
// The GPL does NOT permit the incorporation of this code into proprietary
// programs. Please contact Quantum Leaps for commercial licensing options,
// which expressly supersede the GPL and are designed explicitly for
// closed-source distribution.
//
// Quantum Leaps contact information:
// <www.state-machine.com/licensing>
// <[email protected]>
//
Expand Down Expand Up @@ -162,8 +154,7 @@ void QK_activate_(void);
} while (false)

//${QK-impl::QACTIVE_EQUEUE_WAIT_} ...........................................
#define QACTIVE_EQUEUE_WAIT_(me_) \
Q_ASSERT_INCRIT(320, (me_)->eQueue.frontEvt != (QEvt *)0)
#define QACTIVE_EQUEUE_WAIT_(me_) ((void)0)

//${QK-impl::QACTIVE_EQUEUE_SIGNAL_} .........................................
#ifndef Q_UNSAFE
Expand Down
Loading

0 comments on commit 309f482

Please sign in to comment.