nRF DeviceTree - nRF Connect for VS Code
Skip to content

Version 2023.6.108

Welcome to the June 2023 release of the nRF DeviceTree extension.

This release, we have been working on improving the following areas:

Fixes in 2023.7.56

  • Fixed a regression issue that would make the breadcrumb bar show the wrong item.
  • Fixed various visual issues in the Devicetree Visual Editor.

General Visual Devicetree Editor changes

The Visual Devicetree Editor is still in the experimental stage of development.

Show warning when editing board file in the SDK

When working with devicetree files, it is easy to accidentally make a change in a source file that belongs to the nRF Connect SDK when you really meant to make the change in a file that belongs to your application.

One common example of such a pitfall is when you forget to define an overlay file and start working directly on the board file of a development kit. If you maintain your own board files, this is still a valid usage scenario, but if you do not, you might end up breaking other applications.

To help avoid this, the extension now warns your if you are about to edit a board file under the nrf or zephyr directories in the SDK. Hovering over the warning shows a tooltip from which you can create a new overlay file. The button works the same way as the corresponding option in the Details View.

Warning tooltip when editing an SDK file

Filter compatible properties by context

When adding child nodes, the list is filtered according to a series of parent-specific rules, for example to avoid bus nodes being added outside buses. The same filtering logic has now been applied to the compatible property input box on existing nodes.

Fixed integer enum properties being inserted as strings User feedback

Some properties have enum definitions in their binding. These definitions dictate a limited set of valid options. When these properties were meant to be interpreted as integers, the extension would mistakenly insert them as strings in the generated devicetree code, which would break the type checker in the compilation. This issue is now fixed.

Widened header node picker User feedback

The header's node selection drop-down was unnecessarily narrow, and would occasionally render with a scrollbar that would hide the node description. This drop-down now uses all the horizontal space available and ensures that the scrollbar does not render on top of the node name.

Add scrollbar to the Add Node modal

The Add Node modal could potentially get too long for the screen if the selected node contained too many properties. The new scrollbar makes this modal usable for any node.


Pin Overview

One of the most useful aspects of the Schematic Preview in the Devicetree Visual Editor is the Pin Overview, which received some improvements.

New Pin Management node selector

We redesigned the Existing Assignments overview of the Pin Management widget to feature a single-select box that shows the current assignment and lets you choose between them, making it easier to pick the right node, pin function, and state.

Pin Management widget: Existing Assignments tab

Filtering GPIO ports by enabled status

To accommodate devices with highly flexible pin configuration schemes, the editor now hides ports that have been explicitly disabled with status = "disabled".

Supporting legacy "-pin" pin configuration

Both the PHandle and Pin control mechanisms for configuring GPIO pins have standard configuration flags. This was different with the (now deprecated) -pin pin assignments, which had an ad-hoc scheme for configuring mechanisms like pull-up resistors. To support users still working with the nRF Connect SDK v1.x, this legacy representation will now work properly in the pin configuration interface.

If a node has at least one such legacy -pin configured, this format is used for the node and the pinctrl format is filtered out. If pinctrl is available and there are no legacy -pin pins, the legacy pin definitions are filtered out.

The output and drive buttons are disabled for legacy pins, as they did not have a mechanism for this in Devicetree.

Open relevant pin assignment

When a pin has multiple assignments, the first assignment is presented normally on the Pin Overview, while the others are shown as cascading labels underneath. Previously, clicking any of the assignments would always open a popup for the first assignment. Now, clicking any of the secondary assignments will also open the popup for the relevant assignment.


Circuit schematics

The Circuit schematics represent the currently selected part of the Devicetree. They let you compare your changes with your hardware schematics, making it easier to find inconsistencies.

Jumping to pin from the circuit schematic

Clicking on a pin reference in a circuit schematic will now jump to the Pin Overview and open the Pin Management widget for the pin.

Removed SoC circuit schematic

The SoC circuit schematic would show up when the SoC was selected in the sidebar, but did not provide much value compared with the Pin Overview. We have removed it in favor of the Pin Overview.

Corrected LED connection to GND/VDD when active high/low User feedback

The LED and PWM LED circuit schematics displayed the LEDs polarity the wrong way around, showing LEDs configured as active high connected to VDD, while they should have been connected to ground, and vice-versa.