QP/C++  7.4.0-rc.1
Real-Time Embedded Framework
Loading...
Searching...
No Matches
qs_port.hpp
Go to the documentation of this file.
1//============================================================================
2// QP/C++ Real-Time Embedded Framework (RTEF)
3//
4// Q u a n t u m L e a P s
5// ------------------------
6// Modern Embedded Software
7//
8// Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
9//
10// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
11//
12// This software is dual-licensed under the terms of the open source GNU
13// General Public License version 3 (or any later version), or alternatively,
14// under the terms of one of the closed source Quantum Leaps commercial
15// licenses.
16//
17// The terms of the open source GNU General Public License version 3
18// can be found at: <www.gnu.org/licenses/gpl-3.0>
19//
20// The terms of the closed source Quantum Leaps commercial licenses
21// can be found at: <www.state-machine.com/licensing>
22//
23// Redistributions in source code must retain this top-level comment block.
24// Plagiarizing this software to sidestep the license obligations is illegal.
25//
26// Contact information:
27// <www.state-machine.com>
28// <info@state-machine.com>
29//============================================================================
30//! @date Last updated on: 2023-08-16
31//! @version Last updated for: @ref qpcpp_7_3_0
32//!
33//! @file
34//! @brief QS/C++ port to a 32-bit CPU, generic C++ compiler
35
36#ifndef QS_PORT_HPP_
37#define QS_PORT_HPP_
38
39// QS time-stamp size in bytes
40#define QS_TIME_SIZE 4U
41
42// object pointer size in bytes
43#define QS_OBJ_PTR_SIZE 4U
44
45// function pointer size in bytes
46#define QS_FUN_PTR_SIZE 4U
47
48//============================================================================
49// NOTE: QS might be used with or without other QP components, in which
50// case the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
51// and QF_CRIT_EXIT() are needed. In this port QS is configured to be used
52// with the other QP component, by simply including "qp_port.hpp"
53//*before* "qs.hpp".
54#ifndef QP_PORT_HPP_
55#include "qp_port.hpp" // use QS with QP
56#endif
57
58#include "qs.hpp" // QS platform-independent public interface
59
60#endif // QS_PORT_HPP_
61
Sample QP/C++ port.
QS/C++ platform-independent public interface.