Inside ModusToolbox™ 2.3: Improved user experience and extended support to make your life easier and more efficient | Cypress Semiconductor
Inside ModusToolbox™ 2.3: Improved user experience and extended support to make your life easier and more efficient
ModusToolbox™ is an intuitive and easy-to-use software and tools that provides software developers with an immersive, secure, and comprehensive experience to build embedded and IoT products. It offers a modern software development approach based on an open source system with pre-built tools and seamless integration into third party applications, allowing developers to use the tools that they want and build like the best.
We are excited to let you all know that we just released ModusToolbox™ 2.3 and it is now available for download on all three host operating systems. The new software adds support for new devices and a diverse collection of improvements to the overall user experience. We also made a couple of necessary changes to GitHub libraries for existing users who want to update their projects using the new tools.
Supporting More Devices Than Ever Before
We’ve added support for new devices including PMG1 and XMC products. PMG1 (Power Delivery Microcontroller Gen1) is a family of high-voltage microcontrollers with USB-C power delivery (PD). PMG1 is a great fit for any embedded system that provides/consumes power to/from a high-voltage USB-C PD port and leverages the microcontroller to provide additional control capability. The devices are backed by three prototyping kit BSPs (PMG1-CY7110/1/2), which demonstrate USB PD 3.0 protocol-compliant PD Sink capability up to 100 W (20V, 5A) and our new EZ-PD Configurator for easy setup.
Setting the PD role in EZ-PD Configurator
Back in January we announced early access support for the XMC1400 and XMC4700 Industrial Microcontrollers. We’re proud to say that the software is now production-ready with two kit BSPs (XMC1400 BOOT Kit and XMC4700 RELAX kit) providing a great out-of-the-box experience. Check this community board for announcements of new kits, new XMC devices, and labor-saving configurator features coming later this year.
Improved User Experience
A positive user experience is what fuels us to continuously enhance our products with every version we release. Here's a list of new features to look forward to in ModusToolbox™ 2.3. Please let us know in the developer community if you’re having trouble with some of them, or if you have suggestions for further improvement.
- Selection of a 3rd-party IDE is now possible directly from the Project Creator menu, without the need to run a "make
Selecting a target IDE
- To help you spot problems, the Project Creator and Library Manager tools now output color-coded error, warning, and success messages
GitHub access error reported in red
- Multi-User Windows Installation allows all users of a computer to use ModusToolbox™ (see the installation guide for more details)
- Updating Eclipse for ModusToolbox™ to version 4.17 allows us to offer support for macOS Big Sur
- The Quick Panel in Eclipse for ModusToolbox™ has been optimized to speed up switching between projects
- The Project Creator tool can now be launched directly from Modus Shell (cygwin) by simply typing "project-creator"
- A new command, "make update_bsp", changes the target MCU part number to prevent mistakes and speed up BSP development
- Microcontroller BSPs are now placed in the project directory, rather than mtb_shared, to make experimental changes to a device configuration local to the project
- Our desktop icons are now using official Infineon colors - we love them and you surely would, too!
Richer Set of GitHub Libraries and Content
We’ve enhanced our GitHub libraries and content for an easy-to-use experience. Specifically we made two significant changes to our handling of GitHub libraries. First, we are starting to migrate content from cypresssemiconductorco to the github.com/infineon account. This may seem like a big step, but GitHub actually does an automatic redirect to the new account on any request (clone, push, pull, etc.) for that repo. Your development process will not be affected as we have thoroughly tested all the tools and Modus Shell commands, even as we publish new versions of migrated libraries. The only time when you may need to be aware of the change is when accessing a never-before-released BSP, software library, or Code Example from the command line – and the only adjustment is that you will need to use the new address (e.g. “git clone https://www.github.com/infineon/mtb-example-psoc6-brand-new-example”).
The second change involves version control for libraries. You may have seen that the tools typically pull in the latest versions of libraries when creating projects. We do this by requesting the latest GitHub tag in the .mtb files using the convention “latest-v1.X”, which tells the tools to pull the newest “release-v1.X” copy of the repo. Note that we deliberately avoid newer major releases, (say “release-v2.0”) because, by our convention, major releases do not guarantee backward compatibility. This has worked fine when creating projects but had a flaw when using the Library Manager to add or update content. The latest tag would pull in new library versions for ALL libraries, even if only one was explicitly changed. To avoid making silent changes to your projects the tools now swap the latest tag for the appropriate release tag when you create the project or add a library. This means you always start with the latest and greatest but you stay with those versions until you decide to change them. If you prefer to work the old way, you can set the versions of your libraries to latest in the Library Manager.
Telling Library Manager to always update to the latest version of a library
Temporary Removal of Power Estimator (CyPE)
One tool that we had to remove from the distribution was the CyPE due to issues in customer hardware compatibility, and because we wanted to launch an actual usable tool as opposed to a demo. We have resolved to improve the tool and make it less reliant on the specific board in a future release. If you are using the Power Estimator today and wish to continue, you can still use version 1.20 from the ModusToolbox™ 2.2 release.
Benefits of Using ModusToolbox™ 2.3
1. ModusToolbox™ 2.3, as with all of its previous versions, is very easy to use.
Designed to be user-friendly and flexible, ModusToolbox™ software and tools allows you to utilize a wide array of reusable codes and applications that can automate most steps of your software development process. Tools such as the Library Manager and Project Creator let users do traditional tasks more efficiently, like updating a software or creating a new project.
2. It helps keep your software development process error-free.
ModusToolbox™ features ready-to-use components, codes, and applications that improve interoperability and reduce development errors. You can further avoid these errors by setting up the right project libraries and keeping them up to date, and using tools to set up the application by automating the generation of peripheral code, startup code, and the interface between middleware and hardware.
3. It allows developers to reach their market faster.
ModusToolbox™ cuts down the time needed in fulfilling software development tasks, thus making it easier for developers to deal with hindrances and reach out to their target market with their products faster.
4. It was made in partnership with industry-leading development ecosystems.
Infineon is a trusted partner of 8/10 IoT companies with over 3 billion IoT chips sold, which puts it at the forefront of IoT product development. With our rich partner ecosystem we provide developers access to the best software and tools via ModusToolbox™.
- ModusToolbox™ Tools 2.3 (Windows)
- ModusToolbox™ Tools 2.3 (Linux)
- ModusToolbox™ Tools 2.3 (macOS)
- Installation Guide
- User Guide
- Release Notes
- ModusToolbox™ Overview
We’re yet again providing users with modern software development through the release of the ModusToolbox™ 2.3. We hope you like the changes that come with our latest release, and that these upgrades help make your software development process easier, efficient and error-free!