quantumleaps / qm Goto Github PK
View Code? Open in Web Editor NEWQM model-based design tool and code generator based on UML state machines
Home Page: https://www.state-machine.com/products/qm
License: Other
QM model-based design tool and code generator based on UML state machines
Home Page: https://www.state-machine.com/products/qm
License: Other
I recently moved to QM 6.1.0 Linux, on Ubuntu 22.04LTS.
It failed to load legacy models built with QM 5.2.5. When attempting to do this, I get a pop up error:
Luckily, I checked the release notes found here: https://www.state-machine.com/qm/history.html#qm_6_1_0
The note about the new xml element external_package
caught my attention. My model has an external package (.qpm) file. I manually edited the .qm file to replace the tag:
<package file="./gui.qmp"/>
with...
<extern_package file="./gui.qmp"/>
... and the model successfully loaded.
According to the Note section of the release notes under 6.1.0, this change should have been backward compatible, but it seems like it's not.
Links to gui.qp and gui.qpm files that reproduce the issue: https://github.com/smartinou/pfpp/tree/main/firmware/qp_ao/models
Deleted spammy URLs posted in this "issue report"
I'm using Ubuntu Linux 20.04 on a UTM virtual machine hosted on MacOS on an Apple M1 processor. I had wanted to recreate the development environment I used previously with MacOS on Intel architecture. Is there any plan to release a QM build for this environment (AARCH64)?
latest qm
release lacks of std::bool
type
Could you please provide the MacOS binaries? Thank you!
Few small issues:
C:\qp\qtools\mingw32\bin
was still added to Windows PATH.blinky
couldn't find qpc.h. I am not sure if that was intended. I added QPC system variable and it went further fine./usr/lib/gcc/x86_64-pc-msys/10.2.0/../../../../x86_64-pc-msys/bin/ld: skipping incompatible C:\qp\qpc/ports/win32-qv/dbg/libqp.a when searching for -lqp
/usr/lib/gcc/x86_64-pc-msys/10.2.0/../../../../x86_64-pc-msys/bin/ld: skipping incompatible C:\qp\qpc/ports/win32-qv/dbg/libqp.a when searching for -lqp
/usr/lib/gcc/x86_64-pc-msys/10.2.0/../../../../x86_64-pc-msys/bin/ld: cannot find -lqp
/usr/lib/gcc/x86_64-pc-msys/10.2.0/../../../../x86_64-pc-msys/bin/ld: skipping incompatible C:\qp\qpc/ports/win32-qv/dbg/libqp.a when searching for -lqp
collect2: error: ld returned 1 exit status
make: *** [Makefile:216: build/blinky.exe] Error 1```
Though the QM docs (for 4.1.0) say that the new-style code generation directives like $declare${...}
are preferred to the old-style ones like $declare(...)
, the new directives aren't highlighted in red and underlined like the old ones are:
The code generation works the same for both syntaxes, though.
I'm trying to write a cross-platform Makefile for a project that includes qm code generation.
I see that the qmc
command-line compilation utility no longer exists, and the help documentation says to run qm
with the -c
command line argument. However,
/Applications/qm.app/Contents/MacOS/qm -c
only succeeds in launching the GUI with a blank window (in which the Command-W close-window keystroke shortcut is not enabled).
How do I run the equivalent of qmc
on the Mac?
The error message, which pops up, reads:
ERROR F041> qpc.qm: failed to parse the model file
Is QM 5.2.5 incompatible with qpc 7.3's model file format?
Thanks, Stefan
Hi,
When I try to run the qmc binary from a docker container running on armv8 architecture I get the following error:
:/opt/qm/bin$ /opt/qm/bin/qmc.sh --version
qemu-x86_64: Could not open '/lib64/ld-linux-x86-64.so.2': No such file or directory
Do you provide some binaries for armv8 architectures? Or could I generate them by myself somehow?
OS: WINDOWS 10
QP Version: 5.1.2
I create a project and then add packet and class, the superclass also be chosed.
but I can not add a state machine below class object.(gray)
and QP 5.1.1 is not such problem
Hi, I'm learning on how to use QM and so far I really like it.
Is there any way of generating portable C code? I mean, I don't want the final code to relay on the qpc framework for compilation. Even If I create the most simple state machine, it will insert calls to "Q_TRAN()" "Q_HANDLED" "Q_SUPER" and definitions like QState, that would force me add the whole framework to my git repository just to compile a blinky.
I would be nicer if you could generate working state machines independent of the framework. and If you really need something from the framework, just add it to the source file. I think that approach would nice. Even for the first compilation, running the blinky example on Windows 10, the makefile will fail to compile (I think because it's not finding the framework!).
At least this would be nice to have it as an "option".
Hitting Undo seems to have slightly erratic behaviour; namely when making both a graphical and a code change since the last save.
Hitting Redo does not necessarily get you back to the same state as before hitting undo.
I have noticed that in QM if you replace a string which also happens to be the name of a function and then click "Generate Code", the function name is not changed in the code.
What I do is add a space and save the model and then click generate code, so the software detects that the function has been changed so it changes the name as well in the code generation.
Running latest qm_5.3.0-linux64.zip:
https://github.com/QuantumLeaps/qm/releases/download/v5.3.0/qm_5.3.0-linux64.zip
There seems to be some confusion between version 5.3.0 and 5.2.5 in the latest upload?
I searched through all of the provided documents to see if there's an option to assign shortcuts for the editor tools but can't seem to find any. Is there any way to have the ability of shortcuts if not would you be able to consider adding as a new feature for next release?
Thanks
Releases for old versions (https://github.com/QuantumLeaps/qm/releases/tag/v4.5.1 for example) don't have any assets. Only the latest https://github.com/QuantumLeaps/qm/releases/tag/v5.0.1 has them. Is this intended?
I want to make some fixes in QM, so I cloned this repo, and did not find any source inside -- is this the OpenSource project?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.