Skip to content

Qt for MCUs

Discussions and questions about Qt Quick Ultralite and using Qt on microcontrollers in general

141 Topics 441 Posts
  • Alignment issue when displaying Multi Line Text

    Unsolved multiline text qml text component textarea
    3
    0 Votes
    3 Posts
    772 Views
    JoeCFDJ
    Also try to add in Text: horizontalAlignment: Text.AlignJustify
  • Does Qt Lite work work well with Cortex M4 MCUs e.g. Infineon TRAVEO™ T2G CYT2CL

    Unsolved
    1
    0 Votes
    1 Posts
    342 Views
    No one has replied
  • How can I change the Qtreeview directory(folder) icon for different folders?

    Unsolved
    15
    0 Votes
    15 Posts
    2k Views
    JonBJ
    @sandip-nandwana You are trying to use setNameFilters() to filter the directories/folders shown, is that right? I would not expect that to work in any situation, whether you set it initially or change it? The name filters are intended to be like *.txt to filter the files being shown within each directory, but not for the directory names themselves (else e.g. *.txt would never be useful). Is that your situation? If so, I think you need to find another approach, writing your own filter for directory names. You might interpose a QSortFilterProxyModel for this. There is an example in the accepted solutuon at e.g. https://stackoverflow.com/a/56627595/489865. It's a bit old but looks OK, use setFilterRegularExpression() instead of setFilterRegExp(). I am not sure whether that example will mean that your your whole tree will only display the (filtered) directories now, and nothing else. If you have to be smarter I think you will need to: subclass QSortFilterProxyModel, override QSortFilterProxyModel::filterAcceptsRow(), implement your logic there. Use that instead of setting a regular expression filter on the proxy so that you can implement logic to test for the item type to see whether it is a directory or a file, since you want these to behave differently.
  • Assembly file generation

    Unsolved
    2
    0 Votes
    2 Posts
    638 Views
    jsulmJ
    @sathishgkg This has nothing to do with Qt. With GCC you pass -S parameter to the compiler, so it stops after generating Assembler files.
  • Qt for MCU is not installed!

    Unsolved
    3
    0 Votes
    3 Posts
    1k Views
    S
    @Farid_86 Tatiana's response is the right way to install Qt for MCU package. If you want to get access please ask for an evaluation package from Qt website. https://www.qt.io/product/develop-software-microcontrollers-mcu#getstarted
  • Problem creating project in QT for MCUs

    Unsolved
    3
    1 Votes
    3 Posts
    974 Views
    S
    If this problem still persists it means your environment is not correct. We have seen this issue when the Qul build system can not locate the required desktop packages in QtMCU installation directory. Please refer to the documentation https://doc.qt.io/QtForMCUs-2.2/qtul-setup-development-host.html.
  • 0 Votes
    6 Posts
    1k Views
    P
    The Root cause for this issue: "Cache" is a property of Image Object and its default value is true. So the image was not taken from the path given in the "source". When the value of "Cache" is changed to false, the issue is solved. Thank you
  • This topic is deleted!

    Locked Unsolved
    2
    0 Votes
    2 Posts
    23 Views
  • Problem with standards c and c++ include

    Unsolved
    3
    0 Votes
    3 Posts
    628 Views
    S
    this problem is happen when your visual studio version is not suitable. https://doc.qt.io/QtForMCUs-2.1/qtul-msvc-compiler.html
  • STM32H750B-DK demo

    Unsolved
    3
    0 Votes
    3 Posts
    828 Views
    F
    Hi, Did you find any solution for this issue? I have same issue.
  • I.MX RT1050 LCD another resolution

    Unsolved
    1
    0 Votes
    1 Posts
    358 Views
    No one has replied
  • where does my backend live?

    Unsolved
    2
    0 Votes
    2 Posts
    609 Views
    jsulmJ
    @rlushster said in where does my backend live?: The blocking serial example is helpful but I need something that runs in the background Then don't use Qt serial port module in blocking way. See https://doc.qt.io/qt-5/qtserialport-creaderasync-example.html Qt serial port implementation is asynchronous.
  • problems in running Qt for mcu examples

    Unsolved
    2
    1 Votes
    2 Posts
    704 Views
    P
    In your Run Settings, please change the Flash and run CMake parameters to "--build . --target flash_thermo_big". I believe this is related to QTCREATORBUG-23897.
  • IMXRT1050 evalution board jlink GDB wait connection PROBLEM

    Unsolved
    1
    0 Votes
    1 Posts
    400 Views
    No one has replied
  • Maximum supported display resolution

    Unsolved
    1
    0 Votes
    1 Posts
    405 Views
    No one has replied
  • Creating a new kit

    Unsolved
    2
    0 Votes
    2 Posts
    490 Views
    SGaistS
    Hi and welcome to devnet, Qt for MCUs being a commercial offering, you should contact the Qt Company directly.
  • Qt debugging issue

    Unsolved
    1
    0 Votes
    1 Posts
    397 Views
    No one has replied
  • Using Designer with Qt for MCU example "motor_cluster"

    Unsolved
    1
    0 Votes
    1 Posts
    406 Views
    No one has replied
  • Using CRC-16-IBM with QModbus classes

    Solved modbus checksum
    4
    0 Votes
    4 Posts
    3k Views
    BeaverShallBurnB
    @J-Hilk , wow! Huge thanks for sharing your code! I reached out to our MCU department for source code of CRC they're using. Looks really similar to your solution: const unsigned char auchCRCHi[] = { 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40} ; const unsigned char auchCRCLo[] = { 0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7, 0x05, 0xC5, 0xC4, 0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09, 0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD, 0x1D, 0x1C, 0xDC, 0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3, 0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32, 0x36, 0xF6, 0xF7, 0x37, 0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A, 0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29, 0xEB, 0x2B, 0x2A, 0xEA, 0xEE, 0x2E, 0x2F, 0xEF, 0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26, 0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 0xA1, 0x63, 0xA3, 0xA2, 0x62, 0x66, 0xA6, 0xA7, 0x67, 0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F, 0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8, 0xB9, 0x79, 0xBB, 0x7B, 0x7A, 0xBA, 0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5, 0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 0x70, 0xB0, 0x50, 0x90, 0x91, 0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C, 0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59, 0x58, 0x98, 0x88, 0x48, 0x49, 0x89, 0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C, 0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83, 0x41, 0x81, 0x80, 0x40}; unsigned short CRC16 (unsigned char *puchMsg, unsigned char usDataLen ) { unsigned char uchCRCHi = 0xFF ; /* high byte of CRC initialized */ unsigned char uchCRCLo = 0xFF ; /* low byte of CRC initialized */ unsigned short uIndex ; /* will index into CRC lookup table */ while (usDataLen--) /* pass through message buffer */ { uIndex = uchCRCLo ^ *puchMsg++ ; /* calculate the CRC */ uchCRCLo = uchCRCHi ^ auchCRCHi[uIndex] ; uchCRCHi = auchCRCLo[uIndex] ; } return (uchCRCHi | uchCRCLo << 8) ; } And a small header: #ifndef __CRC16_H__ #define __CRC16_H__ 1 unsigned short CRC16 (unsigned char *puchMsg, unsigned char usDataLen ); #endif //#ifndef __UART_H__ After a first glance, you can spot the similarities. Huge thanks for help!
  • Cross-platform HID USB macropad that can access clipboard on any os

    Unsolved
    1
    0 Votes
    1 Posts
    602 Views
    No one has replied