1) Avoid using blocking functions
A blocking function is a function which prevents the program from doing anything else until that function has completed. In other words, it prevents any other task to run in parallel.
Such a function placed inside the loop() is a problem since multitasking is not possible. It namely prevents serial communication with HITIPanel to run in parallel. Moreover, it results in an inefficient code where CPU time is wasted waiting for the blocking function to end.
For these reasons, avoid placing blocking functions inside the loop() when using HITIPanel. Instead, use HITIComm libraries which are all non-blocking.
The most widely used blocking function is delay(). Use our Timing library as a replacement for delay() to manage task durations inside the loop().
2) Check HITIComm compatibility with other open-source libraries
HITIComm is not open-source, and we don’t want to disclose its source code.
To ensure that, our license (EULA) prevents you from using HITIComm with any third-party library licensed under a copyleft open-source license in any way that could compromise or interfere with our property rights in or to HITIComm, or require that we disclose its source code.
As a result, you are not allowed to use HITIComm with any third-party library licensed under a pure strong copyleft license (e.g. GNU GPL, GNU AGPL).You may use HITIComm with third-party libraries licensed under weak copyleft licenses (e.g. GNU LGPL) or permissive open source licenses (e.g. MIT License, BSD License, Apache License, Unlicense).