What is the benefit? Why is this valuable?
- Simplify initial setup and configuration.
- Increase confidence in the product during evaluation.
What are common use cases?
- Particularly important for evaluators and new users
The current way MCU kits are created and managed is buried somewhere in the Qt Creator Settings, complicated, and error-prone.
To make kit creation, or in other words, environment setup, more straightforward and foolproof, we could add a new MCU wizard.
The wizard would be displayed to the user on:
- New project creation
- Opening a project for the first time
- With a button, easily and clearly available somewhere, to add a new deployment configuration
The general idea is that the wizard would ask the user what he/she wants, and it would automatically create the correct kit as a result, hiding as much as possible anything complicated or time consuming. For example:
- The user wants to build a project for a particular supported board. He/she starts the wizard to configure and add the build configuration.
- The wizard checks which versions of Qt for MCUs are installed
- Based on 1., the wizard asks the user which version to use
It could also suggest to the user how to install other versions, if not installed
- The wizard checks which platforms and compilers are installed for the chosen version. It should then list all available combinations, even if not installed, but only enable the ones installed. The wizard should explain that disabled options can be installed using the MaintenanceTool.
Platforms should be presented in a human-readable form, and the list should only include the supported boards initially. Once a board is selected, the user should be presented with a choice of available RTOS and compiler for that board.
The list of supported boards should be grouped by vendor, and it should be possible for the user to filter the boards for a specific vendor.
- The user selects which platform and compiler he/she wants to develop with
- The wizard checks if it knows where to find all dependencies for a particular QUL/platform/toolchain combination. For example, but not limited to, the board SDK or the flashing tool.
If any of the dependencies are missing, the wizard tells the user about it and asks to point to the installation location, with a hint on where to download it in case the user did not already install it.
- Once the wizard has all the needed information from the user, it automatically creates the correct kit, or picks it from the list of existing kits if it's already there, and enables it for the project
This step could be extended with Qt Creator copying the needed platform port source code into the project, using the platformexporter tool. In this case, the project would need to be made so that different platform sources are built depending on which kit is selected.
Additionally, the wizard could ask the user if he/she wants to be able to test the application on PC, which would trigger the creation/enabling of a desktop kit in addition to the target kit.