This commit is contained in:
QL 2018-04-13 16:27:01 -04:00
parent d8858a0994
commit f327482e65
34 changed files with 2546 additions and 2550 deletions

View File

@ -15,8 +15,8 @@ Additionally, this release improves support for tracing and unit-testing embedde
Also, this release adds new QUTest exampes, which illustrate:
- event deferral (`qpc/examples/qutest/defer/`)
- dispatching/posting events with parameters (`qpc/examples/qutest/evt_par/`).
Additionally, this release updates the QP/C ports to win32-qv and posix-qv to allow a "tickless" mode, where the "tickerThread" is not created. This mode is set by configuring the system clock tick rate to 0 (QF_setTickRate(0)).
Additionally, this release updates the QP/C ports to win32-qv and posix-qv to allow a "tickless" mode, where the "tickerThread" is not created. This mode is set by configuring the system clock tick rate to 0 (QF_setTickRate(0)).
Finally, this release phases out the `qp_port.h` header file. If any of your projects still includes this file, please replace it with the qpc.h heder file.

File diff suppressed because it is too large Load Diff

View File

@ -1,13 +1,13 @@
##############################################################################
# Product: Makefile for QUTEST self-test; QP/C on Win32 host
# Last updated for version 6.1.1
# Last updated on 2018-02-18
# Last updated for version 6.2.0
# Last updated on 2018-04-13
#
# Q u a n t u m L e a P s
# ---------------------------
# innovating embedded systems
#
# Copyright (C) Quantum Leaps, LLC. All rights reserved.
# Copyright (C) 2005-2018 Quantum Leaps, LLC. All rights reserved.
#
# This program is open source software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as published
@ -34,14 +34,15 @@
#
# examples of invoking this Makefile:
# make # make and run the tests in the current directory
# make TESTS=philo*.tcl # make and run the selected tests in the current directory
# make TESTS=test*.tcl # make and run the selected tests in the curr. dir.
# make HOST=localhost:7705 # connect to host:port
# make norun # only make but not run the tests
# make clean # cleanup the build
#
# NOTE:
# To use this Makefile on Windows, you will need the GNU make utility, which
# is included in the Qtools collection for Windows, see:
# http://sourceforge.net/projects/qpc/files/Qtools/
# http://sourceforge.net/projects/qpc/files/QTools/
#
#-----------------------------------------------------------------------------
@ -70,12 +71,10 @@ QP_PORT_DIR := $(QPC)/ports/win32-qutest
# list of all source directories used by this project
VPATH = \
. \
..
# list of all include directories needed by this project
INCLUDES = \
-I. \
-I.. \
-I$(QPC)/include
#-----------------------------------------------------------------------------
@ -96,7 +95,6 @@ LIB_DIRS :=
LIBS :=
# defines...
# QP_API_VERSION controls the QP API compatibility; 9999 means the latest API
DEFINES :=
#-----------------------------------------------------------------------------
@ -183,7 +181,7 @@ $(TARGET_EXE) : $(C_OBJS_EXT) $(CPP_OBJS_EXT)
$(LINK) $(LINKFLAGS) $(LIB_DIRS) -o $@ $^ $(BIN_DIR)/qstamp.o $(LIBS)
run : $(TARGET_EXE)
$(TCLSH) $(QUTEST) $(TESTS) $(TARGET_EXE)
$(TCLSH) $(QUTEST) $(TESTS) $(TARGET_EXE) $(HOST)
$(BIN_DIR)/%.d : %.cpp
$(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@
@ -214,12 +212,12 @@ clean :
show :
@echo PROJECT = $(PROJECT)
@echo TESTS = $(TESTS)
@echo TARGET_EXE = $(TARGET_EXE)
@echo CONF = $(CONF)
@echo VPATH = $(VPATH)
@echo C_SRCS = $(C_SRCS)
@echo CPP_SRCS = $(CPP_SRCS)
@echo C_DEPS_EXT = $(C_DEPS_EXT)
@echo C_OBJS_EXT = $(C_OBJS_EXT)
@echo C_DEPS_EXT = $(C_DEPS_EXT)
@echo CPP_DEPS_EXT = $(CPP_DEPS_EXT)
@ -227,4 +225,8 @@ show :
@echo LIB_DIRS = $(LIB_DIRS)
@echo LIBS = $(LIBS)
@echo DEFINES = $(DEFINES)
@echo QTOOLS = $(QTOOLS)
@echo QUTEST = $(QUTEST)
@echo TESTS = $(TESTS)
@echo HOST = $(HOST)

View File

@ -1,7 +1,7 @@
##############################################################################
# Product: Makefile for EMF32-SLSTK3401A, QUTEST, GNU-ARM
# Last Updated for Version: 6.1.2
# Date of the Last Update: 2018-03-12
# Last Updated for Version: 6.2.0
# Date of the Last Update: 2018-04-13
#
# Q u a n t u m L e a P s
# ---------------------------
@ -35,6 +35,7 @@
# examples of invoking this Makefile:
# make -fefm32-slstk3401a.mak # make and run the tests in the current directory
# make -fefm32-slstk3401a.mak TESTS=philo*.tcl # make and run the selected tests
# make -fefm32-slstk3401a.mak HOST=localhost:7705 # connect to host:port
# make -fefm32-slstk3401a.mak norun # only make but not run the tests
# make -fefm32-slstk3401a.mak clean # cleanup the build
#
@ -70,8 +71,6 @@ QP_PORT_DIR := $(QPC)/ports/arm-cm/qutest
# list of all source directories used by this project
VPATH = \
.. \
../.. \
../$(TARGET) \
$(QPC)/src/qf \
$(QPC)/src/qs \
@ -82,7 +81,6 @@ VPATH = \
# list of all include directories needed by this project
INCLUDES = \
-I. \
-I.. \
-I../$(TARGET) \
-I$(QPC)/include \
-I$(QPC)/src \
@ -276,7 +274,7 @@ flash :
$(JLINK) -device EFM32PG1B200F256GM48 $(TARGET).jlink
run : $(TARGET_BIN)
$(TCLSH) $(QUTEST) $(TESTS)
$(TCLSH) $(QUTEST) $(TESTS) "" $(HOST)
$(BIN_DIR)/%.d : %.c
$(CC) -MM -MT $(@:.d=.o) $(CFLAGS) $< > $@
@ -329,3 +327,5 @@ show :
@echo LIBS = $(LIBS)
@echo DEFINES = $(DEFINES)
@echo QUTEST = $(QUTEST)
@echo HOST = $(HOST)

View File

@ -1,7 +1,7 @@
##############################################################################
# Product: Makefile for EK-TM4C123GXL, QUTEST, GNU-ARM
# Last Updated for Version: 6.1.2
# Date of the Last Update: 2018-03-12
# Last Updated for Version: 6.2.0
# Date of the Last Update: 2018-04-13
#
# Q u a n t u m L e a P s
# ---------------------------
@ -35,6 +35,7 @@
# examples of invoking this Makefile:
# make -fek-tm4c123gxl.mak # make and run the tests in the current directory
# make -fek-tm4c123gxl.mak TESTS=philo*.tcl # make and run the selected tests
# make -fek-tm4c123gxl.mak HOST=localhost:7705 # connect to host:port
# make -fek-tm4c123gxl.mak norun # only make but not run the tests
# make -fek-tm4c123gxl.mak clean # cleanup the build
#
@ -70,8 +71,6 @@ QP_PORT_DIR := $(QPC)/ports/arm-cm/qutest
# list of all source directories used by this project
VPATH = \
.. \
../.. \
../$(TARGET) \
$(QPC)/src/qf \
$(QPC)/src/qs \
@ -82,7 +81,6 @@ VPATH = \
# list of all include directories needed by this project
INCLUDES = \
-I. \
-I.. \
-I../$(TARGET) \
-I$(QPC)/include \
-I$(QPC)/src \
@ -276,7 +274,7 @@ flash :
echo Press RESET button on the EK-TM4C123GXL board
run : $(TARGET_BIN)
$(TCLSH) $(QUTEST) $(TESTS)
$(TCLSH) $(QUTEST) $(TESTS) "" $(HOST)
$(BIN_DIR)/%.d : %.c
$(CC) -MM -MT $(@:.d=.o) $(CFLAGS) $< > $@
@ -329,3 +327,5 @@ show :
@echo LIBS = $(LIBS)
@echo DEFINES = $(DEFINES)
@echo QUTEST = $(QUTEST)
@echo HOST = $(HOST)

View File

@ -1,13 +1,13 @@
##############################################################################
# Product: Makefile for QUTEST self-test; QP/C on Win32 host
# Last updated for version 6.1.1
# Last updated on 2018-02-18
# Last updated for version 6.2.0
# Last updated on 2018-04-13
#
# Q u a n t u m L e a P s
# ---------------------------
# innovating embedded systems
#
# Copyright (C) Quantum Leaps, LLC. All rights reserved.
# Copyright (C) 2005-2018 Quantum Leaps, LLC. All rights reserved.
#
# This program is open source software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as published
@ -34,14 +34,15 @@
#
# examples of invoking this Makefile:
# make # make and run the tests in the current directory
# make TESTS=philo*.tcl # make and run the selected tests in the current directory
# make TESTS=test*.tcl # make and run the selected tests in the curr. dir.
# make HOST=localhost:7705 # connect to host:port
# make norun # only make but not run the tests
# make clean # cleanup the build
#
# NOTE:
# To use this Makefile on Windows, you will need the GNU make utility, which
# is included in the Qtools collection for Windows, see:
# http://sourceforge.net/projects/qpc/files/Qtools/
# http://sourceforge.net/projects/qpc/files/QTools/
#
#-----------------------------------------------------------------------------
@ -70,12 +71,10 @@ QP_PORT_DIR := $(QPC)/ports/win32-qutest
# list of all source directories used by this project
VPATH = \
. \
..
# list of all include directories needed by this project
INCLUDES = \
-I. \
-I.. \
-I$(QPC)/include
#-----------------------------------------------------------------------------
@ -94,7 +93,6 @@ LIB_DIRS :=
LIBS :=
# defines...
# QP_API_VERSION controls the QP API compatibility; 9999 means the latest API
DEFINES :=
#-----------------------------------------------------------------------------
@ -181,7 +179,7 @@ $(TARGET_EXE) : $(C_OBJS_EXT) $(CPP_OBJS_EXT)
$(LINK) $(LINKFLAGS) $(LIB_DIRS) -o $@ $^ $(BIN_DIR)/qstamp.o $(LIBS)
run : $(TARGET_EXE)
$(TCLSH) $(QUTEST) $(TESTS) $(TARGET_EXE)
$(TCLSH) $(QUTEST) $(TESTS) $(TARGET_EXE) $(HOST)
$(BIN_DIR)/%.d : %.cpp
$(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@
@ -212,12 +210,12 @@ clean :
show :
@echo PROJECT = $(PROJECT)
@echo TESTS = $(TESTS)
@echo TARGET_EXE = $(TARGET_EXE)
@echo CONF = $(CONF)
@echo VPATH = $(VPATH)
@echo C_SRCS = $(C_SRCS)
@echo CPP_SRCS = $(CPP_SRCS)
@echo C_DEPS_EXT = $(C_DEPS_EXT)
@echo C_OBJS_EXT = $(C_OBJS_EXT)
@echo C_DEPS_EXT = $(C_DEPS_EXT)
@echo CPP_DEPS_EXT = $(CPP_DEPS_EXT)
@ -225,4 +223,8 @@ show :
@echo LIB_DIRS = $(LIB_DIRS)
@echo LIBS = $(LIBS)
@echo DEFINES = $(DEFINES)
@echo QTOOLS = $(QTOOLS)
@echo QUTEST = $(QUTEST)
@echo TESTS = $(TESTS)
@echo HOST = $(HOST)

View File

@ -1,13 +1,13 @@
##############################################################################
# Product: Makefile for QUTEST self-test; QP/C on Win32 host
# Last updated for version 6.1.1
# Last updated on 2018-02-18
# Last updated for version 6.2.0
# Last updated on 2018-04-13
#
# Q u a n t u m L e a P s
# ---------------------------
# innovating embedded systems
#
# Copyright (C) Quantum Leaps, LLC. All rights reserved.
# Copyright (C) 2005-2018 Quantum Leaps, LLC. All rights reserved.
#
# This program is open source software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as published
@ -34,14 +34,15 @@
#
# examples of invoking this Makefile:
# make # make and run the tests in the current directory
# make TESTS=philo*.tcl # make and run the selected tests in the current directory
# make TESTS=test*.tcl # make and run the selected tests in the curr. dir.
# make HOST=localhost:7705 # connect to host:port
# make norun # only make but not run the tests
# make clean # cleanup the build
#
# NOTE:
# To use this Makefile on Windows, you will need the GNU make utility, which
# is included in the Qtools collection for Windows, see:
# http://sourceforge.net/projects/qpc/files/Qtools/
# http://sourceforge.net/projects/qpc/files/QTools/
#
#-----------------------------------------------------------------------------
@ -70,12 +71,10 @@ QP_PORT_DIR := $(QPC)/ports/win32-qutest
# list of all source directories used by this project
VPATH = \
. \
..
# list of all include directories needed by this project
INCLUDES = \
-I. \
-I.. \
-I$(QPC)/include
#-----------------------------------------------------------------------------
@ -87,13 +86,12 @@ C_SRCS := \
test_Sprintf.c
# C++ source files...
CPP_SRCS :=
CPP_SRCS :=
LIB_DIRS :=
LIBS :=
# defines...
# QP_API_VERSION controls the QP API compatibility; 9999 means the latest API
DEFINES :=
#-----------------------------------------------------------------------------
@ -180,7 +178,7 @@ $(TARGET_EXE) : $(C_OBJS_EXT) $(CPP_OBJS_EXT)
$(LINK) $(LINKFLAGS) $(LIB_DIRS) -o $@ $^ $(BIN_DIR)/qstamp.o $(LIBS)
run : $(TARGET_EXE)
$(TCLSH) $(QUTEST) $(TESTS) $(TARGET_EXE)
$(TCLSH) $(QUTEST) $(TESTS) $(TARGET_EXE) $(HOST)
$(BIN_DIR)/%.d : %.cpp
$(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@
@ -211,12 +209,12 @@ clean :
show :
@echo PROJECT = $(PROJECT)
@echo TESTS = $(TESTS)
@echo TARGET_EXE = $(TARGET_EXE)
@echo CONF = $(CONF)
@echo VPATH = $(VPATH)
@echo C_SRCS = $(C_SRCS)
@echo CPP_SRCS = $(CPP_SRCS)
@echo C_DEPS_EXT = $(C_DEPS_EXT)
@echo C_OBJS_EXT = $(C_OBJS_EXT)
@echo C_DEPS_EXT = $(C_DEPS_EXT)
@echo CPP_DEPS_EXT = $(CPP_DEPS_EXT)
@ -224,4 +222,8 @@ show :
@echo LIB_DIRS = $(LIB_DIRS)
@echo LIBS = $(LIBS)
@echo DEFINES = $(DEFINES)
@echo QTOOLS = $(QTOOLS)
@echo QUTEST = $(QUTEST)
@echo TESTS = $(TESTS)
@echo HOST = $(HOST)

View File

@ -1,13 +1,13 @@
##############################################################################
# Product: Makefile for QUTEST self-test; QP/C on Win32 host
# Last updated for version 6.2.0
# Last updated on 2018-03-10
# Last updated on 2018-04-13
#
# Q u a n t u m L e a P s
# ---------------------------
# innovating embedded systems
#
# Copyright (C) Quantum Leaps, LLC. All rights reserved.
# Copyright (C) 2005-2018 Quantum Leaps, LLC. All rights reserved.
#
# This program is open source software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as published
@ -31,22 +31,24 @@
# https://www.state-machine.com
# mailto:info@state-machine.com
##############################################################################
#
# examples of invoking this Makefile:
# make # make and run the tests in the current directory
# make TESTS=test*.tcl # make and run the selected tests in the curr. dir.
# make HOST=localhost:7705 # connect to host:port
# make norun # only make but not run the tests
# make clean # cleanup the build
#
# NOTE:
# To use this Makefile on Windows, you will need the GNU make utility, which
# is included in the Qtools collection for Windows, see:
# http://sourceforge.net/projects/qpc/files/Qtools/
# http://sourceforge.net/projects/qpc/files/QTools/
#
#-----------------------------------------------------------------------------
# project name
#
PROJECT := test_defer
PROJECT := test_defer
#-----------------------------------------------------------------------------
# project directories
@ -178,7 +180,7 @@ $(TARGET_EXE) : $(C_OBJS_EXT) $(CPP_OBJS_EXT)
$(LINK) $(LINKFLAGS) $(LIB_DIRS) -o $@ $^ $(BIN_DIR)/qstamp.o $(LIBS)
run : $(TARGET_EXE)
$(TCLSH) $(QUTEST) $(TESTS) $(TARGET_EXE)
$(TCLSH) $(QUTEST) $(TESTS) $(TARGET_EXE) $(HOST)
$(BIN_DIR)/%.d : %.cpp
$(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@
@ -209,12 +211,12 @@ clean :
show :
@echo PROJECT = $(PROJECT)
@echo TESTS = $(TESTS)
@echo TARGET_EXE = $(TARGET_EXE)
@echo CONF = $(CONF)
@echo VPATH = $(VPATH)
@echo C_SRCS = $(C_SRCS)
@echo CPP_SRCS = $(CPP_SRCS)
@echo C_DEPS_EXT = $(C_DEPS_EXT)
@echo C_OBJS_EXT = $(C_OBJS_EXT)
@echo C_DEPS_EXT = $(C_DEPS_EXT)
@echo CPP_DEPS_EXT = $(CPP_DEPS_EXT)
@ -222,5 +224,8 @@ show :
@echo LIB_DIRS = $(LIB_DIRS)
@echo LIBS = $(LIBS)
@echo DEFINES = $(DEFINES)
@echo QTOOLS = $(QTOOLS)
@echo QUTEST = $(QUTEST)
@echo TESTS = $(TESTS)
@echo HOST = $(HOST)

View File

@ -1,61 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<session version="4.1.2">
<item name="license"></item>
<group name="locked"/>
<group name="settings">
<item name="tabs">1</item>
<item name="windows">0</item>
<item name="grid">3</item>
<item name="backups">0</item>
</group>
<group name="windows">
<item id="AOs::Philo::SM">0,0,575,407,*</item>
</group>
<group name="search">
<item name="options">2032128</item>
<item name="replace">0</item>
</group>
<group name="vars"/>
<group name="tools">
<group name="tool">
<item name="icon">0</item>
<item name="title"></item>
<item name="command"></item>
<item name="args"></item>
<item name="dir"></item>
<item name="options">0</item>
</group>
<group name="tool">
<item name="icon">0</item>
<item name="title"></item>
<item name="command"></item>
<item name="args"></item>
<item name="dir"></item>
<item name="options">0</item>
</group>
<group name="tool">
<item name="icon">0</item>
<item name="title"></item>
<item name="command"></item>
<item name="args"></item>
<item name="dir"></item>
<item name="options">0</item>
</group>
<group name="tool">
<item name="icon">0</item>
<item name="title"></item>
<item name="command"></item>
<item name="args"></item>
<item name="dir"></item>
<item name="options">0</item>
</group>
<group name="tool">
<item name="icon">0</item>
<item name="title"></item>
<item name="command"></item>
<item name="args"></item>
<item name="dir"></item>
<item name="options">0</item>
</group>
</group>
</session>

View File

@ -1,7 +1,7 @@
##############################################################################
# Product: Makefile for QUTEST DPP-test; QP/C on Win32 host
# Last updated for version 6.2.0
# Last updated on 2018-03-16
# Last updated on 2018-04-13
#
# Q u a n t u m L e a P s
# ---------------------------
@ -35,13 +35,14 @@
# examples of invoking this Makefile:
# make # make and run the tests in the current directory
# make TESTS=test*.tcl # make and run the selected tests in the curr. dir.
# make HOST=localhost:7705 # connect to host:port
# make norun # only make but not run the tests
# make clean # cleanup the build
#
# NOTE:
# To use this Makefile on Windows, you will need the GNU make utility, which
# is included in the Qtools collection for Windows, see:
# http://sourceforge.net/projects/qpc/files/Qtools/
# http://sourceforge.net/projects/qpc/files/QTools/
#
#-----------------------------------------------------------------------------
@ -182,7 +183,7 @@ $(TARGET_EXE) : $(C_OBJS_EXT) $(CPP_OBJS_EXT)
$(LINK) $(LINKFLAGS) $(LIB_DIRS) -o $@ $^ $(BIN_DIR)/qstamp.o $(LIBS)
run : $(TARGET_EXE)
$(TCLSH) $(QUTEST) $(TESTS) $(TARGET_EXE)
$(TCLSH) $(QUTEST) $(TESTS) $(TARGET_EXE) $(HOST)
$(BIN_DIR)/%.d : %.cpp
$(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@
@ -226,6 +227,8 @@ show :
@echo LIB_DIRS = $(LIB_DIRS)
@echo LIBS = $(LIBS)
@echo DEFINES = $(DEFINES)
@echo QTOOLS = $(QTOOLS)
@echo QUTEST = $(QUTEST)
@echo TESTS = $(TESTS)
@echo HOST = $(HOST)

View File

@ -1,7 +1,7 @@
##############################################################################
# Product: Makefile for EMF32-SLSTK3401A, QUTEST, GNU-ARM
# Last Updated for Version: 6.2.0
# Date of the Last Update: 2018-03-19
# Date of the Last Update: 2018-04-13
#
# Q u a n t u m L e a P s
# ---------------------------
@ -35,6 +35,7 @@
# examples of invoking this Makefile:
# make -fefm32-slstk3401a.mak # make and run the tests in the current directory
# make -fefm32-slstk3401a.mak TESTS=philo*.tcl # make and run the selected tests
# make -fefm32-slstk3401a.mak HOST=localhost:7705 # connect to host:port
# make -fefm32-slstk3401a.mak norun # only make but not run the tests
# make -fefm32-slstk3401a.mak clean # cleanup the build
#
@ -267,7 +268,7 @@ flash :
$(JLINK) -device EFM32PG1B200F256GM48 $(TARGET).jlink
run : $(TARGET_BIN)
$(TCLSH) $(QUTEST) $(TESTS)
$(TCLSH) $(QUTEST) $(TESTS) "" $(HOST)
$(BIN_DIR)/%.d : %.c
$(CC) -MM -MT $(@:.d=.o) $(CFLAGS) $< > $@
@ -320,3 +321,5 @@ show :
@echo LIBS = $(LIBS)
@echo DEFINES = $(DEFINES)
@echo QUTEST = $(QUTEST)
@echo HOST = $(HOST)

View File

@ -1,7 +1,7 @@
##############################################################################
# Product: Makefile for EK-TM4C123GXL, QUTEST, GNU-ARM
# Last Updated for Version: 6.2.0
# Date of the Last Update: 2018-03-19
# Date of the Last Update: 2018-04-13
#
# Q u a n t u m L e a P s
# ---------------------------
@ -35,13 +35,14 @@
# examples of invoking this Makefile:
# make -fek-tm4c123gxl.mak # make and run the tests in the current directory
# make -fek-tm4c123gxl.mak TESTS=philo*.tcl # make and run the selected tests
# make -fek-tm4c123gxl.mak HOST=localhost:7705 # connect to host:port
# make -fek-tm4c123gxl.mak norun # only make but not run the tests
# make -fek-tm4c123gxl.mak clean # cleanup the build
#
# NOTE:
# To use this Makefile on Windows, you will need the GNU make utility, which
# is included in the Qtools collection for Windows, see:
# http://sourceforge.net/projects/qpc/files/Qtools/
# http://sourceforge.net/projects/qpc/files/QTools/
#
#-----------------------------------------------------------------------------
@ -266,7 +267,7 @@ flash :
echo Press RESET button on the EK-TM4C123GXL board
run : $(TARGET_BIN)
$(TCLSH) $(QUTEST) $(TESTS)
$(TCLSH) $(QUTEST) $(TESTS) "" $(HOST)
$(BIN_DIR)/%.d : %.c
$(CC) -MM -MT $(@:.d=.o) $(CFLAGS) $< > $@
@ -319,3 +320,5 @@ show :
@echo LIBS = $(LIBS)
@echo DEFINES = $(DEFINES)
@echo QUTEST = $(QUTEST)
@echo HOST = $(HOST)

View File

@ -1,7 +1,7 @@
##############################################################################
# Product: Makefile for QUTEST DPP-test; QP/C on POSIX *Host*
# Last updated for version 6.2.0
# Last updated on 2018-03-16
# Last updated on 2018-04-13
#
# Q u a n t u m L e a P s
# ---------------------------
@ -35,6 +35,7 @@
# examples of invoking this Makefile:
# make -f posix_host.mak # make and run the tests in the current directory
# make -f posix_host.mak TESTS=philo*.tcl # make and run the selected tests
# make -f posix_host.mak HOST=localhost:7705 # connect to host:port
# make -f posix_host.mak norun # only make but not run the tests
# make -f posix_host.mak clean # cleanup the build
#
@ -194,7 +195,7 @@ $(TARGET_EXE) : $(C_OBJS_EXT) $(CPP_OBJS_EXT)
$(LINK) $(LINKFLAGS) $(LIB_DIRS) -o $@ $^ $(BIN_DIR)/qstamp.o $(LIBS)
run : $(TARGET_EXE)
$(TCLSH) $(QUTEST) $(TESTS) $(TARGET_EXE)
$(TCLSH) $(QUTEST) $(TESTS) $(TARGET_EXE) $(HOST)
$(BIN_DIR)/%.d : %.cpp
$(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@
@ -241,3 +242,4 @@ show :
@echo QTOOLS = $(QTOOLS)
@echo QUTEST = $(QUTEST)
@echo TESTS = $(TESTS)
@echo HOST = $(HOST)

View File

@ -1,13 +1,13 @@
##############################################################################
# Product: Makefile for QUTEST event test; QP/C on Win32 host
# Last updated for version 6.1.1
# Last updated on 2018-03-08
# Last updated for version 6.2.0
# Last updated on 2018-04-13
#
# Q u a n t u m L e a P s
# ---------------------------
# innovating embedded systems
#
# Copyright (C) Quantum Leaps, LLC. All rights reserved.
# Copyright (C) 2005-2018 Quantum Leaps, LLC. All rights reserved.
#
# This program is open source software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as published
@ -34,14 +34,15 @@
#
# examples of invoking this Makefile:
# make # make and run the tests in the current directory
# make TESTS=philo*.tcl # make and run the selected tests in the current directory
# make TESTS=test*.tcl # make and run the selected tests in the curr. dir.
# make HOST=localhost:7705 # connect to host:port
# make norun # only make but not run the tests
# make clean # cleanup the build
#
# NOTE:
# To use this Makefile on Windows, you will need the GNU make utility, which
# is included in the Qtools collection for Windows, see:
# http://sourceforge.net/projects/qpc/files/Qtools/
# http://sourceforge.net/projects/qpc/files/QTools/
#
#-----------------------------------------------------------------------------
@ -70,12 +71,10 @@ QP_PORT_DIR := $(QPC)/ports/win32-qutest
# list of all source directories used by this project
VPATH = \
. \
..
# list of all include directories needed by this project
INCLUDES = \
-I. \
-I.. \
-I$(QPC)/include
#-----------------------------------------------------------------------------
@ -95,7 +94,7 @@ LIBS :=
# defines...
# QP_API_VERSION controls the QP API compatibility; 9999 means the latest API
DEFINES :=
DEFINES := -DQP_API_VERSION=9999
#-----------------------------------------------------------------------------
# MinGW toolset (NOTE: assumed to be on your PATH)
@ -181,7 +180,7 @@ $(TARGET_EXE) : $(C_OBJS_EXT) $(CPP_OBJS_EXT)
$(LINK) $(LINKFLAGS) $(LIB_DIRS) -o $@ $^ $(BIN_DIR)/qstamp.o $(LIBS)
run : $(TARGET_EXE)
$(TCLSH) $(QUTEST) $(TESTS) $(TARGET_EXE)
$(TCLSH) $(QUTEST) $(TESTS) $(TARGET_EXE) $(HOST)
$(BIN_DIR)/%.d : %.cpp
$(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@
@ -212,12 +211,12 @@ clean :
show :
@echo PROJECT = $(PROJECT)
@echo TESTS = $(TESTS)
@echo TARGET_EXE = $(TARGET_EXE)
@echo CONF = $(CONF)
@echo VPATH = $(VPATH)
@echo C_SRCS = $(C_SRCS)
@echo CPP_SRCS = $(CPP_SRCS)
@echo C_DEPS_EXT = $(C_DEPS_EXT)
@echo C_OBJS_EXT = $(C_OBJS_EXT)
@echo C_DEPS_EXT = $(C_DEPS_EXT)
@echo CPP_DEPS_EXT = $(CPP_DEPS_EXT)
@ -225,4 +224,8 @@ show :
@echo LIB_DIRS = $(LIB_DIRS)
@echo LIBS = $(LIBS)
@echo DEFINES = $(DEFINES)
@echo QTOOLS = $(QTOOLS)
@echo QUTEST = $(QUTEST)
@echo TESTS = $(TESTS)
@echo HOST = $(HOST)

View File

@ -1,7 +1,7 @@
##############################################################################
# Product: Makefile for EK-TM4C123GXL, QUTEST, GNU-ARM
# Last Updated for Version: 6.2.0
# Date of the Last Update: 2018-03-19
# Date of the Last Update: 2018-04-13
#
# Q u a n t u m L e a P s
# ---------------------------
@ -35,6 +35,7 @@
# examples of invoking this Makefile:
# make -fek-tm4c123gxl.mak # make and run the tests in the current directory
# make -fek-tm4c123gxl.mak TESTS=philo*.tcl # make and run the selected tests
# make -fek-tm4c123gxl.mak HOST=localhost:7705 # connect to host:port
# make -fek-tm4c123gxl.mak norun # only make but not run the tests
# make -fek-tm4c123gxl.mak clean # cleanup the build
#
@ -263,7 +264,7 @@ flash :
echo Press RESET button on the EK-TM4C123GXL board
run : $(TARGET_BIN)
$(TCLSH) $(QUTEST) $(TESTS)
$(TCLSH) $(QUTEST) $(TESTS) "" $(HOST)
$(BIN_DIR)/%.d : %.c
$(CC) -MM -MT $(@:.d=.o) $(CFLAGS) $< > $@
@ -316,3 +317,5 @@ show :
@echo LIBS = $(LIBS)
@echo DEFINES = $(DEFINES)
@echo QUTEST = $(QUTEST)
@echo HOST = $(HOST)

View File

@ -1,13 +1,13 @@
##############################################################################
# Product: Makefile for QUTEST self-test; QP/C on Win32 host
# Last updated for version 6.1.1
# Last updated on 2018-02-18
# Last updated for version 6.2.0
# Last updated on 2018-04-13
#
# Q u a n t u m L e a P s
# ---------------------------
# innovating embedded systems
#
# Copyright (C) Quantum Leaps, LLC. All rights reserved.
# Copyright (C) 2005-2018 Quantum Leaps, LLC. All rights reserved.
#
# This program is open source software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as published
@ -34,14 +34,15 @@
#
# examples of invoking this Makefile:
# make # make and run the tests in the current directory
# make TESTS=philo*.tcl # make and run the selected tests in the current directory
# make TESTS=test*.tcl # make and run the selected tests in the curr. dir.
# make HOST=localhost:7705 # connect to host:port
# make norun # only make but not run the tests
# make clean # cleanup the build
#
# NOTE:
# To use this Makefile on Windows, you will need the GNU make utility, which
# is included in the Qtools collection for Windows, see:
# http://sourceforge.net/projects/qpc/files/Qtools/
# http://sourceforge.net/projects/qpc/files/QTools/
#
#-----------------------------------------------------------------------------
@ -70,12 +71,10 @@ QP_PORT_DIR := $(QPC)/ports/win32-qutest
# list of all source directories used by this project
VPATH = \
. \
..
# list of all include directories needed by this project
INCLUDES = \
-I. \
-I.. \
-I$(QPC)/include
#-----------------------------------------------------------------------------
@ -95,7 +94,7 @@ LIBS :=
# defines...
# QP_API_VERSION controls the QP API compatibility; 9999 means the latest API
DEFINES :=
DEFINES := -DQP_API_VERSION=9999
#-----------------------------------------------------------------------------
# MinGW toolset (NOTE: assumed to be on your PATH)
@ -181,7 +180,7 @@ $(TARGET_EXE) : $(C_OBJS_EXT) $(CPP_OBJS_EXT)
$(LINK) $(LINKFLAGS) $(LIB_DIRS) -o $@ $^ $(BIN_DIR)/qstamp.o $(LIBS)
run : $(TARGET_EXE)
$(TCLSH) $(QUTEST) $(TESTS) $(TARGET_EXE)
$(TCLSH) $(QUTEST) $(TESTS) $(TARGET_EXE) $(HOST)
$(BIN_DIR)/%.d : %.cpp
$(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@
@ -212,12 +211,12 @@ clean :
show :
@echo PROJECT = $(PROJECT)
@echo TESTS = $(TESTS)
@echo TARGET_EXE = $(TARGET_EXE)
@echo CONF = $(CONF)
@echo VPATH = $(VPATH)
@echo C_SRCS = $(C_SRCS)
@echo CPP_SRCS = $(CPP_SRCS)
@echo C_DEPS_EXT = $(C_DEPS_EXT)
@echo C_OBJS_EXT = $(C_OBJS_EXT)
@echo C_DEPS_EXT = $(C_DEPS_EXT)
@echo CPP_DEPS_EXT = $(CPP_DEPS_EXT)
@ -225,4 +224,8 @@ show :
@echo LIB_DIRS = $(LIB_DIRS)
@echo LIBS = $(LIBS)
@echo DEFINES = $(DEFINES)
@echo QTOOLS = $(QTOOLS)
@echo QUTEST = $(QUTEST)
@echo TESTS = $(TESTS)
@echo HOST = $(HOST)

View File

@ -1,7 +1,7 @@
##############################################################################
# Product: Makefile for EMF32-SLSTK3401A, QUTEST, GNU-ARM
# Last Updated for Version: 6.2.0
# Date of the Last Update: 2018-03-16
# Date of the Last Update: 2018-04-13
#
# Q u a n t u m L e a P s
# ---------------------------
@ -35,6 +35,7 @@
# examples of invoking this Makefile:
# make -fefm32-slstk3401a.mak # make and run the tests in the current directory
# make -fefm32-slstk3401a.mak TESTS=philo*.tcl # make and run the selected tests
# make -fefm32-slstk3401a.mak HOST=localhost:7705 # connect to host:port
# make -fefm32-slstk3401a.mak norun # only make but not run the tests
# make -fefm32-slstk3401a.mak clean # cleanup the build
#
@ -264,7 +265,7 @@ flash :
$(JLINK) -device EFM32PG1B200F256GM48 $(TARGET).jlink
run : $(TARGET_BIN)
$(TCLSH) $(QUTEST) $(TESTS)
$(TCLSH) $(QUTEST) $(TESTS) "" $(HOST)
$(BIN_DIR)/%.d : %.c
$(CC) -MM -MT $(@:.d=.o) $(CFLAGS) $< > $@
@ -317,3 +318,5 @@ show :
@echo LIBS = $(LIBS)
@echo DEFINES = $(DEFINES)
@echo QUTEST = $(QUTEST)
@echo HOST = $(HOST)

View File

@ -1,13 +1,13 @@
##############################################################################
# Product: Makefile for QUTEST self-test; QP/C on Win32 host
# Last updated for version 6.1.1
# Last updated on 2018-02-18
# Last updated for version 6.2.0
# Last updated on 2018-04-13
#
# Q u a n t u m L e a P s
# ---------------------------
# innovating embedded systems
#
# Copyright (C) Quantum Leaps, LLC. All rights reserved.
# Copyright (C) 2005-2018 Quantum Leaps, LLC. All rights reserved.
#
# This program is open source software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as published
@ -34,14 +34,15 @@
#
# examples of invoking this Makefile:
# make # make and run the tests in the current directory
# make TESTS=philo*.tcl # make and run the selected tests in the current directory
# make TESTS=test*.tcl # make and run the selected tests in the curr. dir.
# make HOST=localhost:7705 # connect to host:port
# make norun # only make but not run the tests
# make clean # cleanup the build
#
# NOTE:
# To use this Makefile on Windows, you will need the GNU make utility, which
# is included in the Qtools collection for Windows, see:
# http://sourceforge.net/projects/qpc/files/Qtools/
# http://sourceforge.net/projects/qpc/files/QTools/
#
#-----------------------------------------------------------------------------
@ -70,12 +71,10 @@ QP_PORT_DIR := $(QPC)/ports/win32-qutest
# list of all source directories used by this project
VPATH = \
. \
..
# list of all include directories needed by this project
INCLUDES = \
-I. \
-I.. \
-I$(QPC)/include
#-----------------------------------------------------------------------------
@ -95,7 +94,7 @@ LIBS :=
# defines...
# QP_API_VERSION controls the QP API compatibility; 9999 means the latest API
DEFINES :=
DEFINES := -DQP_API_VERSION=9999
#-----------------------------------------------------------------------------
# MinGW toolset (NOTE: assumed to be on your PATH)
@ -181,7 +180,7 @@ $(TARGET_EXE) : $(C_OBJS_EXT) $(CPP_OBJS_EXT)
$(LINK) $(LINKFLAGS) $(LIB_DIRS) -o $@ $^ $(BIN_DIR)/qstamp.o $(LIBS)
run : $(TARGET_EXE)
$(TCLSH) $(QUTEST) $(TESTS) $(TARGET_EXE)
$(TCLSH) $(QUTEST) $(TESTS) $(TARGET_EXE) $(HOST)
$(BIN_DIR)/%.d : %.cpp
$(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@
@ -212,12 +211,12 @@ clean :
show :
@echo PROJECT = $(PROJECT)
@echo TESTS = $(TESTS)
@echo TARGET_EXE = $(TARGET_EXE)
@echo CONF = $(CONF)
@echo VPATH = $(VPATH)
@echo C_SRCS = $(C_SRCS)
@echo CPP_SRCS = $(CPP_SRCS)
@echo C_DEPS_EXT = $(C_DEPS_EXT)
@echo C_OBJS_EXT = $(C_OBJS_EXT)
@echo C_DEPS_EXT = $(C_DEPS_EXT)
@echo CPP_DEPS_EXT = $(CPP_DEPS_EXT)
@ -225,4 +224,8 @@ show :
@echo LIB_DIRS = $(LIB_DIRS)
@echo LIBS = $(LIBS)
@echo DEFINES = $(DEFINES)
@echo QTOOLS = $(QTOOLS)
@echo QUTEST = $(QUTEST)
@echo TESTS = $(TESTS)
@echo HOST = $(HOST)

View File

@ -1,7 +1,7 @@
##############################################################################
# Product: Makefile for EMF32-SLSTK3401A, QUTEST, GNU-ARM
# Last Updated for Version: 6.1.2
# Date of the Last Update: 2018-03-12
# Last Updated for Version: 6.2.0
# Date of the Last Update: 2018-04-13
#
# Q u a n t u m L e a P s
# ---------------------------
@ -35,6 +35,7 @@
# examples of invoking this Makefile:
# make -fefm32-slstk3401a.mak # make and run the tests in the current directory
# make -fefm32-slstk3401a.mak TESTS=philo*.tcl # make and run the selected tests
# make -fefm32-slstk3401a.mak HOST=localhost:7705 # connect to host:port
# make -fefm32-slstk3401a.mak norun # only make but not run the tests
# make -fefm32-slstk3401a.mak clean # cleanup the build
#
@ -264,7 +265,7 @@ flash :
$(JLINK) -device EFM32PG1B200F256GM48 $(TARGET).jlink
run : $(TARGET_BIN)
$(TCLSH) $(QUTEST) $(TESTS)
$(TCLSH) $(QUTEST) $(TESTS) "" $(HOST)
$(BIN_DIR)/%.d : %.c
$(CC) -MM -MT $(@:.d=.o) $(CFLAGS) $< > $@
@ -317,3 +318,5 @@ show :
@echo LIBS = $(LIBS)
@echo DEFINES = $(DEFINES)
@echo QUTEST = $(QUTEST)
@echo HOST = $(HOST)

View File

@ -1,7 +1,7 @@
##############################################################################
# Product: Makefile for QUTEST self-test; QP/C on Win32 host
# Last updated for version 6.2.0
# Last updated on 2018-03-16
# Last updated on 2018-04-13
#
# Q u a n t u m L e a P s
# ---------------------------
@ -35,13 +35,14 @@
# examples of invoking this Makefile:
# make # make and run the tests in the current directory
# make TESTS=test*.tcl # make and run the selected tests in the curr. dir.
# make HOST=localhost:7705 # connect to host:port
# make norun # only make but not run the tests
# make clean # cleanup the build
#
# NOTE:
# To use this Makefile on Windows, you will need the GNU make utility, which
# is included in the Qtools collection for Windows, see:
# http://sourceforge.net/projects/qpc/files/Qtools/
# http://sourceforge.net/projects/qpc/files/QTools/
#
#-----------------------------------------------------------------------------
@ -85,7 +86,7 @@ C_SRCS := \
test_qutest.c
# C++ source files...
CPP_SRCS :=
CPP_SRCS :=
LIB_DIRS :=
LIBS :=
@ -178,7 +179,7 @@ $(TARGET_EXE) : $(C_OBJS_EXT) $(CPP_OBJS_EXT)
$(LINK) $(LINKFLAGS) $(LIB_DIRS) -o $@ $^ $(BIN_DIR)/qstamp.o $(LIBS)
run : $(TARGET_EXE)
$(TCLSH) $(QUTEST) $(TESTS) $(TARGET_EXE)
$(TCLSH) $(QUTEST) $(TESTS) $(TARGET_EXE) $(HOST)
$(BIN_DIR)/%.d : %.cpp
$(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@
@ -222,6 +223,8 @@ show :
@echo LIB_DIRS = $(LIB_DIRS)
@echo LIBS = $(LIBS)
@echo DEFINES = $(DEFINES)
@echo QTOOLS = $(QTOOLS)
@echo QUTEST = $(QUTEST)
@echo TESTS = $(TESTS)
@echo HOST = $(HOST)

View File

@ -1,7 +1,7 @@
##############################################################################
# Product: Makefile for EMF32-SLSTK3401A, QUTEST, GNU-ARM
# Last Updated for Version: 6.2.0
# Date of the Last Update: 2018-03-16
# Date of the Last Update: 2018-04-13
#
# Q u a n t u m L e a P s
# ---------------------------
@ -35,6 +35,7 @@
# examples of invoking this Makefile:
# make -fefm32-slstk3401a.mak # make and run the tests in the current directory
# make -fefm32-slstk3401a.mak TESTS=philo*.tcl # make and run the selected tests
# make -fefm32-slstk3401a.mak HOST=localhost:7705 # connect to host:port
# make -fefm32-slstk3401a.mak norun # only make but not run the tests
# make -fefm32-slstk3401a.mak clean # cleanup the build
#
@ -263,7 +264,7 @@ flash :
$(JLINK) -device EFM32PG1B200F256GM48 $(TARGET).jlink
run : $(TARGET_BIN)
$(TCLSH) $(QUTEST) $(TESTS)
$(TCLSH) $(QUTEST) $(TESTS) "" $(HOST)
$(BIN_DIR)/%.d : %.c
$(CC) -MM -MT $(@:.d=.o) $(CFLAGS) $< > $@
@ -316,3 +317,5 @@ show :
@echo LIBS = $(LIBS)
@echo DEFINES = $(DEFINES)
@echo QUTEST = $(QUTEST)
@echo HOST = $(HOST)

View File

@ -1,7 +1,7 @@
##############################################################################
# Product: Makefile for EK-TM4C123GXL, QUTEST, GNU-ARM
# Last Updated for Version: 6.2.0
# Date of the Last Update: 2018-03-19
# Date of the Last Update: 2018-04-13
#
# Q u a n t u m L e a P s
# ---------------------------
@ -35,6 +35,7 @@
# examples of invoking this Makefile:
# make -fek-tm4c123gxl.mak # make and run the tests in the current directory
# make -fek-tm4c123gxl.mak TESTS=philo*.tcl # make and run the selected tests
# make -fek-tm4c123gxl.mak HOST=localhost:7705 # connect to host:port
# make -fek-tm4c123gxl.mak norun # only make but not run the tests
# make -fek-tm4c123gxl.mak clean # cleanup the build
#
@ -262,7 +263,7 @@ flash :
echo Press RESET button on the EK-TM4C123GXL board
run : $(TARGET_BIN)
$(TCLSH) $(QUTEST) $(TESTS)
$(TCLSH) $(QUTEST) $(TESTS) "" $(HOST)
$(BIN_DIR)/%.d : %.c
$(CC) -MM -MT $(@:.d=.o) $(CFLAGS) $< > $@
@ -315,3 +316,5 @@ show :
@echo LIBS = $(LIBS)
@echo DEFINES = $(DEFINES)
@echo QUTEST = $(QUTEST)
@echo HOST = $(HOST)

View File

@ -194,7 +194,7 @@ $(TARGET_EXE) : $(C_OBJS_EXT) $(CPP_OBJS_EXT)
run : $(TARGET_EXE)
set -e; while true; do \
echo "restarting $(TARGET_EXE)"; \
$(TARGET_EXE) $(HOST); \
$(TARGET_EXE) "" $(HOST); \
done
$(BIN_DIR)/%.d : %.cpp

View File

@ -1,7 +1,7 @@
##############################################################################
# Product: Makefile for QUTEST self-test; QP/C on POSIX *Host*
# Last updated for version 6.2.0
# Last updated on 2018-03-16
# Last updated on 2018-04-13
#
# Q u a n t u m L e a P s
# ---------------------------
@ -35,6 +35,7 @@
# examples of invoking this Makefile:
# make -f posix_host.mak # make and run the tests in the current directory
# make -f posix_host.mak TESTS=philo*.tcl # make and run the selected tests
# make -f posix_host.mak HOST=localhost:7705 # connect to host:port
# make -f posix_host.mak norun # only make but not run the tests
# make -f posix_host.mak clean # cleanup the build
#
@ -111,7 +112,7 @@ LIBS :=
# defines...
# QP_API_VERSION controls the QP API compatibility; 9999 means the latest API
DEFINES :=
DEFINES := -DQP_API_VERSION=9999
#-----------------------------------------------------------------------------
# GNU toolset
@ -190,7 +191,7 @@ $(TARGET_EXE) : $(C_OBJS_EXT) $(CPP_OBJS_EXT)
$(LINK) $(LINKFLAGS) $(LIB_DIRS) -o $@ $^ $(BIN_DIR)/qstamp.o $(LIBS)
run : $(TARGET_EXE)
$(TCLSH) $(QUTEST) $(TESTS) $(TARGET_EXE)
$(TCLSH) $(QUTEST) $(TESTS) $(TARGET_EXE) $(HOST)
$(BIN_DIR)/%.d : %.cpp
$(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@
@ -237,3 +238,4 @@ show :
@echo QTOOLS = $(QTOOLS)
@echo QUTEST = $(QUTEST)
@echo TESTS = $(TESTS)
@echo HOST = $(HOST)

View File

@ -1,21 +1,21 @@
/*$file${.::calc1_sub.c} ###################################################*/
/*
* Model: calc1_sub.qm
* File: C:/qp_lab/qpc/examples/win32/calc1_sub/calc1_sub.c
* File: ${.::calc1_sub.c}
*
* This code has been generated by QM tool (https://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 # : QPC-EVAL-171231
* Issued to : Company/individual evaluating the QP/C framework
* License # : QPC-EVAL-181231
* Issued to : Institution or an individual evaluating the QP frameworks
* Framework(s): qpc
* Support ends: 2017-12-31
* Support ends: 2018-12-31
* Product(s) :
* This license is available only for evaluation purposes and
* the generated code is still licensed under the terms of GPL.
* Please submit request for extension of the evaluaion period at:
* https://state-machine.com/licensing/#RequestForm
* http://www.state-machine.com/licensing/#RequestForm
*/
/*$endhead${.::calc1_sub.c} ################################################*/
#include "qep_port.h" /* QEP/C interface */

View File

@ -1,21 +1,21 @@
/*$file${.::calc1_sub.h} ###################################################*/
/*
* Model: calc1_sub.qm
* File: C:/qp_lab/qpc/examples/win32/calc1_sub/calc1_sub.h
* File: ${.::calc1_sub.h}
*
* This code has been generated by QM tool (https://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 # : QPC-EVAL-171231
* Issued to : Company/individual evaluating the QP/C framework
* License # : QPC-EVAL-181231
* Issued to : Institution or an individual evaluating the QP frameworks
* Framework(s): qpc
* Support ends: 2017-12-31
* Support ends: 2018-12-31
* Product(s) :
* This license is available only for evaluation purposes and
* the generated code is still licensed under the terms of GPL.
* Please submit request for extension of the evaluaion period at:
* https://state-machine.com/licensing/#RequestForm
* http://www.state-machine.com/licensing/#RequestForm
*/
/*$endhead${.::calc1_sub.h} ################################################*/
#ifndef calc1_sub_h

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<model version="4.1.0" links="0">
<model version="4.1.2" links="0">
<documentation>Calc is the model of the Calculator described in Chapter 4 of PSiCC2. This version demonstrates the use of sub-machines and sub-machine states.</documentation>
<framework name="qpc" license="../../../QPC-EVAL-171231.qlc"/>
<framework name="qpc" license="../../../QPC-EVAL-181231.qlc"/>
<package name="Events" stereotype="0x01">
<class name="CalcEvt" superclass="qpc::QEvt">
<attribute name="key_code" type="uint8_t" visibility="0x00" properties="0x00"/>

View File

@ -1,4 +1,4 @@
QHsmTst example, QP 5.8.0
QHsmTst example, QP 6.2.0
top-INIT;s-ENTRY;s2-ENTRY;s2-INIT;s21-ENTRY;s211-ENTRY;
A:s21-A;s211-EXIT;s21-EXIT;s21-ENTRY;s21-INIT;s211-ENTRY;
B:s21-B;s211-EXIT;s211-ENTRY;

View File

@ -1,8 +1,9 @@
/*****************************************************************************
/*$file${.::qhsmtst.c} #####################################################*/
/*
* Model: qhsmtst.qm
* File: ./qhsmtst.c
* File: ${.::qhsmtst.c}
*
* This code has been generated by QM tool (see state-machine.com/qm).
* This code has been generated by QM tool (https://state-machine.com/qm).
* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.
*
* This program is open source software: you can redistribute it and/or
@ -13,16 +14,12 @@
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
*****************************************************************************/
/*${.::qhsmtst.c} ..........................................................*/
*/
/*$endhead${.::qhsmtst.c} ##################################################*/
#include "qpc.h"
#include "qhsmtst.h"
#if ((QP_VERSION < 580) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8)))
#error qpc version 5.8.0 or higher required
#endif
/*$declare${HSMs::QHsmTst} #################################################*/
/*${HSMs::QHsmTst} .........................................................*/
typedef struct {
/* protected: */
@ -40,22 +37,29 @@ static QState QHsmTst_s11(QHsmTst * const me, QEvt const * const e);
static QState QHsmTst_s2(QHsmTst * const me, QEvt const * const e);
static QState QHsmTst_s21(QHsmTst * const me, QEvt const * const e);
static QState QHsmTst_s211(QHsmTst * const me, QEvt const * const e);
/*$enddecl${HSMs::QHsmTst} #################################################*/
static QHsmTst l_hsmtst; /* the only instance of the QHsmTst class */
/* global-scope definitions ---------------------------------------*/
QHsm * const the_hsm = (QHsm *)&l_hsmtst; /* the opaque pointer */
/*$define${HSMs::QHsmTst_ctor} #############################################*/
/* Check for the minimum required QP version */
#if ((QP_VERSION < 601) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8)))
#error qpc version 6.0.1 or higher required
#endif
/*${HSMs::QHsmTst_ctor} ....................................................*/
void QHsmTst_ctor(void) {
QHsmTst *me = &l_hsmtst;
QHsm_ctor(&me->super, Q_STATE_CAST(&QHsmTst_initial));
}
/*$enddef${HSMs::QHsmTst_ctor} #############################################*/
/*$define${HSMs::QHsmTst} ##################################################*/
/*${HSMs::QHsmTst} .........................................................*/
/*${HSMs::QHsmTst::SM} .....................................................*/
static QState QHsmTst_initial(QHsmTst * const me, QEvt const * const e) {
/* ${HSMs::QHsmTst::SM::initial} */
/*${HSMs::QHsmTst::SM::initial} */
(void)e; /* avoid compiler warning */
me->foo = 0U;
BSP_display("top-INIT;");
@ -65,27 +69,27 @@ static QState QHsmTst_initial(QHsmTst * const me, QEvt const * const e) {
static QState QHsmTst_s(QHsmTst * const me, QEvt const * const e) {
QState status_;
switch (e->sig) {
/* ${HSMs::QHsmTst::SM::s} */
/*${HSMs::QHsmTst::SM::s} */
case Q_ENTRY_SIG: {
BSP_display("s-ENTRY;");
status_ = Q_HANDLED();
break;
}
/* ${HSMs::QHsmTst::SM::s} */
/*${HSMs::QHsmTst::SM::s} */
case Q_EXIT_SIG: {
BSP_display("s-EXIT;");
status_ = Q_HANDLED();
break;
}
/* ${HSMs::QHsmTst::SM::s::initial} */
/*${HSMs::QHsmTst::SM::s::initial} */
case Q_INIT_SIG: {
BSP_display("s-INIT;");
status_ = Q_TRAN(&QHsmTst_s11);
break;
}
/* ${HSMs::QHsmTst::SM::s::I} */
/*${HSMs::QHsmTst::SM::s::I} */
case I_SIG: {
/* ${HSMs::QHsmTst::SM::s::I::[me->foo]} */
/*${HSMs::QHsmTst::SM::s::I::[me->foo]} */
if (me->foo) {
me->foo = 0U;
BSP_display("s-I;");
@ -96,13 +100,13 @@ static QState QHsmTst_s(QHsmTst * const me, QEvt const * const e) {
}
break;
}
/* ${HSMs::QHsmTst::SM::s::E} */
/*${HSMs::QHsmTst::SM::s::E} */
case E_SIG: {
BSP_display("s-E;");
status_ = Q_TRAN(&QHsmTst_s11);
break;
}
/* ${HSMs::QHsmTst::SM::s::TERMINATE} */
/*${HSMs::QHsmTst::SM::s::TERMINATE} */
case TERMINATE_SIG: {
BSP_exit();
status_ = Q_HANDLED();
@ -119,33 +123,33 @@ static QState QHsmTst_s(QHsmTst * const me, QEvt const * const e) {
static QState QHsmTst_s1(QHsmTst * const me, QEvt const * const e) {
QState status_;
switch (e->sig) {
/* ${HSMs::QHsmTst::SM::s::s1} */
/*${HSMs::QHsmTst::SM::s::s1} */
case Q_ENTRY_SIG: {
BSP_display("s1-ENTRY;");
status_ = Q_HANDLED();
break;
}
/* ${HSMs::QHsmTst::SM::s::s1} */
/*${HSMs::QHsmTst::SM::s::s1} */
case Q_EXIT_SIG: {
BSP_display("s1-EXIT;");
status_ = Q_HANDLED();
break;
}
/* ${HSMs::QHsmTst::SM::s::s1::initial} */
/*${HSMs::QHsmTst::SM::s::s1::initial} */
case Q_INIT_SIG: {
BSP_display("s1-INIT;");
status_ = Q_TRAN(&QHsmTst_s11);
break;
}
/* ${HSMs::QHsmTst::SM::s::s1::I} */
/*${HSMs::QHsmTst::SM::s::s1::I} */
case I_SIG: {
BSP_display("s1-I;");
status_ = Q_HANDLED();
break;
}
/* ${HSMs::QHsmTst::SM::s::s1::D} */
/*${HSMs::QHsmTst::SM::s::s1::D} */
case D_SIG: {
/* ${HSMs::QHsmTst::SM::s::s1::D::[!me->foo]} */
/*${HSMs::QHsmTst::SM::s::s1::D::[!me->foo]} */
if (!me->foo) {
me->foo = 1U;
BSP_display("s1-D;");
@ -156,25 +160,25 @@ static QState QHsmTst_s1(QHsmTst * const me, QEvt const * const e) {
}
break;
}
/* ${HSMs::QHsmTst::SM::s::s1::A} */
/*${HSMs::QHsmTst::SM::s::s1::A} */
case A_SIG: {
BSP_display("s1-A;");
status_ = Q_TRAN(&QHsmTst_s1);
break;
}
/* ${HSMs::QHsmTst::SM::s::s1::B} */
/*${HSMs::QHsmTst::SM::s::s1::B} */
case B_SIG: {
BSP_display("s1-B;");
status_ = Q_TRAN(&QHsmTst_s11);
break;
}
/* ${HSMs::QHsmTst::SM::s::s1::F} */
/*${HSMs::QHsmTst::SM::s::s1::F} */
case F_SIG: {
BSP_display("s1-F;");
status_ = Q_TRAN(&QHsmTst_s211);
break;
}
/* ${HSMs::QHsmTst::SM::s::s1::C} */
/*${HSMs::QHsmTst::SM::s::s1::C} */
case C_SIG: {
BSP_display("s1-C;");
status_ = Q_TRAN(&QHsmTst_s2);
@ -191,27 +195,27 @@ static QState QHsmTst_s1(QHsmTst * const me, QEvt const * const e) {
static QState QHsmTst_s11(QHsmTst * const me, QEvt const * const e) {
QState status_;
switch (e->sig) {
/* ${HSMs::QHsmTst::SM::s::s1::s11} */
/*${HSMs::QHsmTst::SM::s::s1::s11} */
case Q_ENTRY_SIG: {
BSP_display("s11-ENTRY;");
status_ = Q_HANDLED();
break;
}
/* ${HSMs::QHsmTst::SM::s::s1::s11} */
/*${HSMs::QHsmTst::SM::s::s1::s11} */
case Q_EXIT_SIG: {
BSP_display("s11-EXIT;");
status_ = Q_HANDLED();
break;
}
/* ${HSMs::QHsmTst::SM::s::s1::s11::H} */
/*${HSMs::QHsmTst::SM::s::s1::s11::H} */
case H_SIG: {
BSP_display("s11-H;");
status_ = Q_TRAN(&QHsmTst_s);
break;
}
/* ${HSMs::QHsmTst::SM::s::s1::s11::D} */
/*${HSMs::QHsmTst::SM::s::s1::s11::D} */
case D_SIG: {
/* ${HSMs::QHsmTst::SM::s::s1::s11::D::[me->foo]} */
/*${HSMs::QHsmTst::SM::s::s1::s11::D::[me->foo]} */
if (me->foo) {
me->foo = 0U;
BSP_display("s11-D;");
@ -222,7 +226,7 @@ static QState QHsmTst_s11(QHsmTst * const me, QEvt const * const e) {
}
break;
}
/* ${HSMs::QHsmTst::SM::s::s1::s11::G} */
/*${HSMs::QHsmTst::SM::s::s1::s11::G} */
case G_SIG: {
BSP_display("s11-G;");
status_ = Q_TRAN(&QHsmTst_s211);
@ -239,27 +243,27 @@ static QState QHsmTst_s11(QHsmTst * const me, QEvt const * const e) {
static QState QHsmTst_s2(QHsmTst * const me, QEvt const * const e) {
QState status_;
switch (e->sig) {
/* ${HSMs::QHsmTst::SM::s::s2} */
/*${HSMs::QHsmTst::SM::s::s2} */
case Q_ENTRY_SIG: {
BSP_display("s2-ENTRY;");
status_ = Q_HANDLED();
break;
}
/* ${HSMs::QHsmTst::SM::s::s2} */
/*${HSMs::QHsmTst::SM::s::s2} */
case Q_EXIT_SIG: {
BSP_display("s2-EXIT;");
status_ = Q_HANDLED();
break;
}
/* ${HSMs::QHsmTst::SM::s::s2::initial} */
/*${HSMs::QHsmTst::SM::s::s2::initial} */
case Q_INIT_SIG: {
BSP_display("s2-INIT;");
status_ = Q_TRAN(&QHsmTst_s211);
break;
}
/* ${HSMs::QHsmTst::SM::s::s2::I} */
/*${HSMs::QHsmTst::SM::s::s2::I} */
case I_SIG: {
/* ${HSMs::QHsmTst::SM::s::s2::I::[!me->foo]} */
/*${HSMs::QHsmTst::SM::s::s2::I::[!me->foo]} */
if (!me->foo) {
me->foo = 1U;
BSP_display("s2-I;");
@ -270,13 +274,13 @@ static QState QHsmTst_s2(QHsmTst * const me, QEvt const * const e) {
}
break;
}
/* ${HSMs::QHsmTst::SM::s::s2::F} */
/*${HSMs::QHsmTst::SM::s::s2::F} */
case F_SIG: {
BSP_display("s2-F;");
status_ = Q_TRAN(&QHsmTst_s11);
break;
}
/* ${HSMs::QHsmTst::SM::s::s2::C} */
/*${HSMs::QHsmTst::SM::s::s2::C} */
case C_SIG: {
BSP_display("s2-C;");
status_ = Q_TRAN(&QHsmTst_s1);
@ -293,37 +297,37 @@ static QState QHsmTst_s2(QHsmTst * const me, QEvt const * const e) {
static QState QHsmTst_s21(QHsmTst * const me, QEvt const * const e) {
QState status_;
switch (e->sig) {
/* ${HSMs::QHsmTst::SM::s::s2::s21} */
/*${HSMs::QHsmTst::SM::s::s2::s21} */
case Q_ENTRY_SIG: {
BSP_display("s21-ENTRY;");
status_ = Q_HANDLED();
break;
}
/* ${HSMs::QHsmTst::SM::s::s2::s21} */
/*${HSMs::QHsmTst::SM::s::s2::s21} */
case Q_EXIT_SIG: {
BSP_display("s21-EXIT;");
status_ = Q_HANDLED();
break;
}
/* ${HSMs::QHsmTst::SM::s::s2::s21::initial} */
/*${HSMs::QHsmTst::SM::s::s2::s21::initial} */
case Q_INIT_SIG: {
BSP_display("s21-INIT;");
status_ = Q_TRAN(&QHsmTst_s211);
break;
}
/* ${HSMs::QHsmTst::SM::s::s2::s21::G} */
/*${HSMs::QHsmTst::SM::s::s2::s21::G} */
case G_SIG: {
BSP_display("s21-G;");
status_ = Q_TRAN(&QHsmTst_s1);
break;
}
/* ${HSMs::QHsmTst::SM::s::s2::s21::A} */
/*${HSMs::QHsmTst::SM::s::s2::s21::A} */
case A_SIG: {
BSP_display("s21-A;");
status_ = Q_TRAN(&QHsmTst_s21);
break;
}
/* ${HSMs::QHsmTst::SM::s::s2::s21::B} */
/*${HSMs::QHsmTst::SM::s::s2::s21::B} */
case B_SIG: {
BSP_display("s21-B;");
status_ = Q_TRAN(&QHsmTst_s211);
@ -340,25 +344,25 @@ static QState QHsmTst_s21(QHsmTst * const me, QEvt const * const e) {
static QState QHsmTst_s211(QHsmTst * const me, QEvt const * const e) {
QState status_;
switch (e->sig) {
/* ${HSMs::QHsmTst::SM::s::s2::s21::s211} */
/*${HSMs::QHsmTst::SM::s::s2::s21::s211} */
case Q_ENTRY_SIG: {
BSP_display("s211-ENTRY;");
status_ = Q_HANDLED();
break;
}
/* ${HSMs::QHsmTst::SM::s::s2::s21::s211} */
/*${HSMs::QHsmTst::SM::s::s2::s21::s211} */
case Q_EXIT_SIG: {
BSP_display("s211-EXIT;");
status_ = Q_HANDLED();
break;
}
/* ${HSMs::QHsmTst::SM::s::s2::s21::s211::H} */
/*${HSMs::QHsmTst::SM::s::s2::s21::s211::H} */
case H_SIG: {
BSP_display("s211-H;");
status_ = Q_TRAN(&QHsmTst_s);
break;
}
/* ${HSMs::QHsmTst::SM::s::s2::s21::s211::D} */
/*${HSMs::QHsmTst::SM::s::s2::s21::s211::D} */
case D_SIG: {
BSP_display("s211-D;");
status_ = Q_TRAN(&QHsmTst_s21);
@ -371,4 +375,4 @@ static QState QHsmTst_s211(QHsmTst * const me, QEvt const * const e) {
}
return status_;
}
/*$enddef${HSMs::QHsmTst} ##################################################*/

View File

@ -1,8 +1,9 @@
/*****************************************************************************
/*$file${.::qhsmtst.h} #####################################################*/
/*
* Model: qhsmtst.qm
* File: ./qhsmtst.h
* File: ${.::qhsmtst.h}
*
* This code has been generated by QM tool (see state-machine.com/qm).
* This code has been generated by QM tool (https://state-machine.com/qm).
* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.
*
* This program is open source software: you can redistribute it and/or
@ -13,8 +14,8 @@
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
*****************************************************************************/
/*${.::qhsmtst.h} ..........................................................*/
*/
/*$endhead${.::qhsmtst.h} ##################################################*/
#ifndef qhsmtst_h
#define qhsmtst_h
@ -35,12 +36,13 @@ enum QHsmTstSignals {
extern QHsm * const the_hsm; /* opaque pointer to the test HSM */
/*$declare${HSMs::QHsmTst_ctor} ############################################*/
/*${HSMs::QHsmTst_ctor} ....................................................*/
void QHsmTst_ctor(void);
/*$enddecl${HSMs::QHsmTst_ctor} ############################################*/
/* BSP functions to dispaly a message and exit */
void BSP_display(char const *msg);
void BSP_exit(void);
#endif /* qhsmtst_h */
#endif /* qhsmtst_h */

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<model version="4.0.0" links="0">
<model version="4.1.2" links="0">
<documentation>QHsmTst is a contrived state machine from Chapter 2 of the PSiCC2 book for testing all possible transition topologies with up to 4-levels of state nesting.</documentation>
<framework name="qpc"/>
<package name="HSMs" stereotype="0x02">

View File

@ -1,21 +1,21 @@
/*$file${.::qmsmtst.c} #####################################################*/
/*
* Model: qmsmtst.qm
* File: C:/qp_lab/qpc/examples/win32/qmsmtst/qmsmtst.c
* File: ${.::qmsmtst.c}
*
* This code has been generated by QM tool (https://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 # : QPC-EVAL-171231
* Issued to : Company/individual evaluating the QP/C framework
* License # : QPC-EVAL-181231
* Issued to : Institution or an individual evaluating the QP frameworks
* Framework(s): qpc
* Support ends: 2017-12-31
* Support ends: 2018-12-31
* Product(s) :
* This license is available only for evaluation purposes and
* the generated code is still licensed under the terms of GPL.
* Please submit request for extension of the evaluaion period at:
* https://state-machine.com/licensing/#RequestForm
* http://www.state-machine.com/licensing/#RequestForm
*/
/*$endhead${.::qmsmtst.c} ##################################################*/
#include "qpc.h"

View File

@ -1,21 +1,21 @@
/*$file${.::qmsmtst.h} #####################################################*/
/*
* Model: qmsmtst.qm
* File: C:/qp_lab/qpc/examples/win32/qmsmtst/qmsmtst.h
* File: ${.::qmsmtst.h}
*
* This code has been generated by QM tool (https://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 # : QPC-EVAL-171231
* Issued to : Company/individual evaluating the QP/C framework
* License # : QPC-EVAL-181231
* Issued to : Institution or an individual evaluating the QP frameworks
* Framework(s): qpc
* Support ends: 2017-12-31
* Support ends: 2018-12-31
* Product(s) :
* This license is available only for evaluation purposes and
* the generated code is still licensed under the terms of GPL.
* Please submit request for extension of the evaluaion period at:
* https://state-machine.com/licensing/#RequestForm
* http://www.state-machine.com/licensing/#RequestForm
*/
/*$endhead${.::qmsmtst.h} ##################################################*/
#ifndef qmsmtst_h

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<model version="4.1.0" links="0">
<model version="4.1.2" links="0">
<documentation>QMsmTst is a QMsm state machine test based on the contrived state machine from Chapter 2 of the PSiCC2 book for testing all possible transition topologies with up to 4-levels of state nesting.</documentation>
<framework name="qpc" license="../../../QPC-EVAL-171231.qlc"/>
<framework name="qpc" license="../../../QPC-EVAL-181231.qlc"/>
<package name="SMs" stereotype="0x02">
<class name="QMsmTst" superclass="qpc::QMsm">
<documentation>Test active object</documentation>