Recent discussions
I have a distance2go radar board. Today, when I want to use it again, I found that the software and firmware development package corresponding to the changed board cannot be downloaded. I hope you can get help. Send me the software and firmware installation package distance2go kit
Show LessWe just updated the offline content package with all the latest software libraries from GitHub (github.com/infineon). You can download the installable package (v1.2 - April 2022) from the Infineon Developer Center, here:
https://softwaretools.infineon.com/tools/com.ifx.tb.tool.modustoolboxofflinecontentpackage
Under normal operation, ModusToolbox™ accesses run-time content - Code Examples, Middleware and Board Support Packages – from the Infineon GitHub account. Recognizing that persistent Internet access is not always possible, we also provide a downloadable package for offline use. We continue to recommend working with the online content when you can - so you always have access to the latest software - but this is a useful alternative way of working for users who are frequently working offline.
Show LessThis Wednesday I am presenting a webinar with my friends Rafael Taubinger and DeWayne Gibson at IAR Systems to discuss "Using ModusToolbox™ Software and Tools with IAR Embedded Workbench for Arm in your IoT application". It'll be packed with demos to show off the integration between the tools and highlight some of the cool features like dual-core debugging, conditional breakpoints, RTOS-awareness, code size optimizations and... oh, just join us and see for yourself!
We are running two 1-hour sessions - so you can pick a convenient time - and it'll be a lot of fun. Click the big red link below to sign up.
Date: Wednesday, June 16, 2021
Time: 6 am PDT / 9 am EDT / 3 pm CEST
REGISTER |
Available now, for all three host operating systems, ModusToolbox 2.3.1 is a patch release that installs on top of the ModusToolbox 2.3 tools package. It can be downloaded from the Download tab on the ModusToolbox Home Page. The patch comprises a brand-new LIN Configurator as well as production-ready updates to the Machine Learning (ML), Secure MCU, and Bluetooth Configurator tools.
Please read the Release Notes for more information and advice on installing the patch. Note that this release only contains changes to the listed tools and is not intended to be a general-purpose update for all users.
LIN Configurator version 1.0 (Beta)
This is a PSoC 4 middleware configurator that simplifies the implementation of LIN slave nodes compatible with the LIN 2.2 and ISO 17987 specifications. The intuitive GUI provides build-time configuration assistance for all parameters of the LIN Slave, which unburdens the LIN middleware from needing to support complex and expensive setup choices.
Machine Learning (ML) Configurator version 1.10
This is a production-ready update to the configurator and associated tools to support machine learning on Infineon PSoC MCUs. ModusToolbox ML is a new package of specialized tools, middleware and libraries to evaluate and deploy Deep Learning based Machine Learning models. This toolset allows you to directly import models from popular frameworks, such as TensorFlow, and then optimize and compress them for various quantization levels so you can quickly and easily exercise ML workloads on the MCU.
Bluetooth Configurator version 2.40
The upcoming major update (to version 3.x) of the btstack middleware requires a corresponding update to the configurator tool. When the new middleware is released, users shall be required to install this patch in order to configure Bluetooth Low Energy in their applications. To avoid version compatibility problems, the new tool is fully compatible with existing designs and generates both sets of configuration structures, enabling risk-free migration to different versions of the middleware. There are no UI or functionality updates to the configurator.
cysecuretools version 3.1.0
This update to the cysecuretools Python executable enables a new secure CyBootloader image for PSoC 64 applications. On devices with 2 MB on-chip flash memory the bootloader now supports the new-image swap function, which is a requirement to meet certain cloud certification requirements. Smaller devices continue to be supported by overwrite function.
Show Less
I am excited to let you all know that we just released ModusToolbox™ 2.3 and it is 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 how we handle GitHub libraries that are mostly interesting to existing users who want to update existing projects to use the new tools.
New Devices
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. I am 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 box experience. Check this community board for announcements of new kits, new XMC devices, and labor-saving configurator features coming later in the year.
User Experience
Improving your experience with the tools is becoming a bit of an obsession for us. Here's a list of what we've done in this release. Please let us know in the community if you have any difficulties or, better (of course), good ideas for further improvements.
- Selection of a 3rd-party IDE is now possible directly from the Project Creator menu, without the need to run a "make <ide>" command
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
- 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
- Our desktop icons are now using official Infineon colors - we love them!
GitHub Changes
We made two significant changes to our handling of GitHub libraries. Firstly, we are starting to migrate content from cypresssemiconductorco to the github.com/infineon account. That sounds scary but, actually, you should barely notice anything because GitHub does an automatic re-direct to the new account on any request (clone, push, pull, etc.) for that repo. We have thoroughly tested all the tools and Modus Shell commands so your flow should not be impacted, even as we publish new versions migrated libraries. The only time where 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 change 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 piece of bad news is that we had to remove the CyPE tool from the distribution. We were not confident that it was usable with customer (i.e. your) hardware and are just not comfortable shipping a demo, as opposed to a usable tool. 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.
Resources
- ModusToolbox Tools 2.3 (Windows)
- ModusToolbox Tools 2.3 (Linux)
- ModusToolbox Tools 2.3 (macOS)
- Installation Guide
- User Guide
- Release Notes
We hope you like the sound of the changes we have made in this release. Please download and install it right away - it only takes a few minutes - because we are confident you'll enjoy it and it will help you make some great new products.
Show Less
Exciting News! Application development support for XMC industrial microcontrollers is being introduced in ModusToolbox. This is the first step toward a tight integration of the devices with all the great benefits of ModusToolbox – Project Creator and Library Manager tools, configurators, and third-party IDE support.
We completed the first, early-access release at the end of 2020. It features support for the XMC1400 (48MHz ARM Cortex-M0) and XMC4700 (144MHz Cortex-M4) devices, and includes a small set of Code Examples, kit BSPs and XMClib software plus support for programming/debugging via Segger J-Link and J-Link LITE (on-board debugger).
The production-ready release, which is expected in February, will add more Code Examples and extend the set of peripherals supported by the Device Configurator. Look out for more updates throughout 2021 as we add new features, device families and kit BSPs.
Want to try it out? It’s easy! The first set of devices are enabled by the ModusToolbox 2.2.1 Patch Release. Follow the instructions to install the patch on top of the 2.2 software. Then just launch the Project Creator, pick one of the following BSPs, choose a Code Example on the next page, and create your first XMC project.
We'd love you to give this software a try and send us some feedback. So if you have any questions or problems and (best of all) great ideas, please post here and I'll try to help. If you just want to read about the new libraries here are some links to the GitHub pages and documentation.
- XMC4700 Series Microcontroller kit BSP
- XMC1400 Series Microcontroller kit BSP
- XMC Peripheral Library (XMClib)
- Code Examples
Hi,
Rolf RoNo_264271 is another PSoC advanced user. He created a great start to a program that converts PSoC Creator TopDesigns with UDBs for use with ModusToolbox (MTB). How do I create a custom UDB solution in the Modus toolbox? This program defines the Digital routing for the UDBs as a function UDBInit().
It works very well. I've successfully tried it with a few Creator projects that I imported/converted to MTB. It is primarily limited to initializing the UDB configuration in main().
I enhanced it to include TopDesign components from the original project. To do this I had to make some modifications listed in the attached word doc.
The biggest issues I'm trying to solve is that the following system resources need to be set identical between the Creator and MTB projects. These resources are generally initialized at reset before jumping to main().
- System Clocks.
- Analog routing.
- Analog low-level resources (ie Vrefs).
- Other System Defines?
The Creator uses the .cydwr to feed the "Design Wide Resources" GUI.
MTB uses the BSP's design.modus file to define much (but maybe not all) of the "Design Configurator" GUI.
Many (maybe all) of the parameters exist between both interfaces.
Idea: Is it practical to create a XML conversion tool to take the Creator .cydwr file and convert it to the BSP's design.modus file?
If I can create a correct MTB design.modus file, a build should be in-sync to the Creator project regarding resources.
Len
Show LessTo all,
I have place a Windows PC terminal source code in C# on the Code sharing forum.
PC Terminal Program with C# Source Code
Enjoy,
Len
Show LessBack in January we announced Wi-Fi Support added to PSoC 6 SDK. People really enjoyed using that first set of libraries. Today, we are expanding the available features and releasing a whole new Wi-Fi solution – AnyCloud. For release 1.0, AnyCloud adds several great new features, described below, and we have started a brand new ModusToolbox AnyCloud community where we shall be posting helpful ideas, answering questions and cool success stories.
AnyCloud Wireless Connection Manager (WCM)
The WCM makes Wi-Fi connections easier and more reliable. Firstly, it implements WPS to simplify the secure connection of a device to access points (AP). This enables applications to store the credentials in non-volatile memory so that future connections are just automatic whenever the AP is available. Secondly, it provides a monitoring service to detect problems and keep connections alive, improving the reliability of your products and leaving you free to work on the important stuff - your application.
AnyCloud Secure Socket API
Networking software is tricky. Secure networking software is really tricky! So we have created a secure socket API that makes it all much easier. The AnyCloud core library already includes Mbed TLS to enable the creation of secure connections but, with the addition of our secure sockets library that abstracts away a lot of the TLS complexity, you can now build secure applications without having to earn a degree in cryptography first!
Over-The-Air (OTA) Bootloading over MQTT
The AnyCloud OTA toolkit is a highly extensible solution that can be modified to work with any third-party or custom IoT device management software. A well-crafted code example demonstrates a simple OTA download over MQTT from a Mosquitto broker. It also shows off safe application upgrades with the industry standard MCUboot secure bootloader Together, they show how to rapidly create efficient and reliable OTA schemes that perfectly match the needs of your cloud solution.
Low Power Assistant (LPA)
LPA is a library and associated configurator that allow you to configure a PSoC 6 Host and WLAN (Wi-Fi / BT Radio) device for optimized low-power operation. The lpa library provides an API for the application to set up the connectivity device behavior and the Device Configurator generates the code to make using that API as easy as possible. With LPA you can achieve the most aggressive power budgets by placing the host device into sleep or deepsleep modes while networks are quiet or handling traffic that can be handled on the connectivity device.
- Automatic host wakeup on a Wi-Fi or Bluetooth event
- Reduced broadcast traffic with ARP offload
- Selected Wi-Fi packet filtering
Bluetooth Low Energy
In addition to the great Wi-Fi support in AnyCloud, you can now use the Bluetooth LE functionality in the 43xxx combo device to implement a network provisioner. Our carefully designed and well documented code example shows you how to safely and quickly connect a wireless device to a Wi-Fi network using BLE to select the network and enter the password.
For more information - check out the WELCOME message the new AnyCloud community!
Show Less