QM Model-Based Design Tool Tutorial

Поделиться
HTML-код
  • Опубликовано: 1 авг 2024
  • This is the video version of the online Tutorial for the
    QM Model-Based Design Tool available at:
    www.state-machine.com/qm/gs_t...
    End Notes:
    ----------
    Model-Based Design (MBD):
    www.state-machine.com/mbd/
    Finite State Machine concepts:
    www.state-machine.com/fsm/
    Object-Oriented Programming in C:
    www.state-machine.com/doc/AN_...
    Music credits:
    The background music comes from:
    RUclips Audio Library: track Audionautix
  • НаукаНаука

Комментарии • 19

  • @zakariaabual-ailah2597
    @zakariaabual-ailah2597 4 года назад +1

    Thank you! Waiting for more video tutorials. since learning QM from text tutorials is very complex!

  • @nazarottto
    @nazarottto 5 лет назад +1

    I have been reading your book on state machines and playing around with the Tiva C and the examples, but it looks complicated at times trying to overcome the learning curve. A youtube tutorial from you is definitely what I've been waiting for!!!! Thanks a lot for all your work! Really hope to see more videos on qm/qpc/qpn in the future.

    • @ArdaX95
      @ArdaX95 5 лет назад

      which book?

    • @nazarottto
      @nazarottto 5 лет назад +2

      @@ArdaX95 Practical UML Statecharts in C/C++

  • @ivanivanovich5486
    @ivanivanovich5486 5 лет назад +1

    Thank you for such a detailed description of QM! It was very informative. What I fail to understand is the exact place in code where the TIMEOUT trigger gets explicitly associated with the timeEvt. This would be the key element to properly understand the whole concept.

    • @StateMachineCOM
      @StateMachineCOM  5 лет назад +1

      The TIMEOUT signal gets associated with the time event (QTimeEvt instance) in the time event constructor. Specifically, the Blinky_ctor() calls QTimeEvt_ctor() to initialize the time event member. This is visible at 17:00 in the video. --MMS

  • @ooprops
    @ooprops 4 года назад

    I am following one of your tutorials for Getting started with Arduino, but the tutorial makes the assumption that the "manage tools" window comes mostly filled out, when in the version I've installed it is completely empty and I cannot find any tutorial for getting started there for building and uploading to the board.

    • @StateMachineCOM
      @StateMachineCOM  3 года назад

      The newer examples for QP-Arduino don't populate the “External Tools” menu in QM for direct building Arduino projects. This is because Arduino kept changing their build process and it became unworkable to keep adjusting the External Tools. Also, after introducing QP support for ARM-based Arduino (QP/C++ library for Arduino), the support for Arduino builds has become even more problematic. So, instead of using QM directly, the intended way of working with the Arduino examples is to use the Arduino IDE for building and downloading the code, but to configure Arduino IDE to “Use external editor”. All this is explained on the Arduino web-page at: www.state-machine.com/arduino/ --MMS

  • @iAnguel
    @iAnguel 3 года назад

    Very nice tool and very nice tutorials, but licensing is simply not affordable for small companies with a single developer building a couple of different products in small quantities. We are not willing to open some special "know how" to big companies that will just steal it via GPL. Also, I don't see an easy way to integrate this with something like STM32CubeIDE which offers me a highly configurable HAL and RTOS out of the box. I would really like to use just QM for state machine C code generation but looks like this cannot be purchased separately. So it looks like I will have to go with another solution that offers more flexibility and is affordable, although I really like your tool and tutorials :-( The price is simply not affordable.

    • @StateMachineCOM
      @StateMachineCOM  3 года назад

      Glad to hear that you like the QM modeling tool, which by the way is freeware. Regarding licensing of the QP frameworks, we use the dual licensing model, because it is both fair and sustainable. If you open up *your* source code, just as we opened up our QP, you don't need to pay anything to anybody. But if you don't want to contribute your code, you can contribute a commercial license fee to support the ongoing development of QP. BTW, we understand that small businesses need a different treatment and that's why we offer half-price small business licenses. Finally, I wouldn't bash GPL as "stealing" your work. GPL has given us LAMP (Linux, Apache, MySQL, and PHP), as well as countless other immensely useful software...

    • @iAnguel
      @iAnguel 3 года назад

      ​@@StateMachineCOM Well, the real-world situation with small companies like mine is that you have a hand full of people, one of them is "also" the programmer (me) but even he can't do this job full-time to afford a license at that price, because there are many more things to do besides that. We make some customer-specific devices in very very small quantities for universities and research. Obviously, we have some "know-how" (otherwise the company would not exist) that has actually nothing to do with your framework but can be easily copied and pasted by big companies, or companies in countries that don't really care about licensing. So if we open-source it, it is very likely to have to close the company soon. Additionally, maybe we do some laser controller and then we do a power-meter, so this is already considered multiple product lines, and licensing price rises again, not speaking about renewals and training. The curious thing is that small companies are the ones who could really benefit from frameworks like yours, because they cannot afford to write such things from scratch in that quality. In contrast, big companies have multiple full-time developers who just buy multiple licenses because they simply have the money and a much larger market, and they can additionally use the software full-time. Or they think that they know "better" and create their own frameworks because they again simply do have the resources and can get expensive good engineers. BTW, this is also the reason why small companies can't use Qt for embedded, it's licensing is simply too expensive. Fortunately, there are projects like Flutter that give us some hope for future developments. But to me it looks like you are targeting big companies anyway, looking at the prices (100x the price of some "competitors", also regarding onsite training. I could actually live without support and only some basic online training if I could use the framework at a lower price but unfortunately this is not an option, it is all or nothing. Again, thank you for the good online courses that provide really good ideas, but the QP framework is unfortunately not an option for a small company.

  • @DesertVox
    @DesertVox 4 года назад

    Seems to me this is OVERKILL for the rather simple arduino platform? Is it worth it to learn this IDE just for programming on Arduino? It's quite a long process, and I think even then the generated code isn't 100% arduino-ready?

    • @StateMachineCOM
      @StateMachineCOM  4 года назад +3

      Absolutely, if you only want to write Blinky-type programs, you can achieve it much simpler with delay() functions and hard-coding your event sequences. But if you wish to manage many things concurrently at the same time, you will be better off to adapt the event-driven paradigm and state machines.

  • @isokemisoke
    @isokemisoke 3 года назад

    Sorry, but your user manual for QM is too weak, especially when compared to IAR visual state.

  • @mohammadhsiddeeqh379
    @mohammadhsiddeeqh379 Год назад

    🌐😂😂😂

  • @DesertVox
    @DesertVox 4 года назад

    WOW, the IDE doesn't have a preferences box where you can set the font size. Just wow.

    • @StateMachineCOM
      @StateMachineCOM  4 года назад +1

      You can customize the GUI, including setting the fonts and colors by means of the style-sheet. Please check the documentation at www.state-machine.com/qm/ui_custom.html

  • @DesertVox
    @DesertVox 4 года назад

    Why the HELL would they call it a STATE M-A-C-H-I-N-E? Just why? I mean why? I don't see no cogs and wheels and gears. Just a STATE. Call it a STATE of the PROGRAM or whatever. Don't make up stuff to confuse and complicate.

    • @StateMachineCOM
      @StateMachineCOM  4 года назад +5

      Don't take it out on me, please. For better or worse, the term "state machine" has been used for the last 50 years... --MMS