4 Melody Application Builder

Application Builder is a tool that facilitates the visual representation of an application’s hardware and software components, offering a clear view of component dependencies and context within the project. Supported layouts include top-down or left-to-right, organized by levels of abstraction from Main, down to Libraries, Drivers, PLIBs, and finally MCU hardware.

4.1 Introduction

The Application Builder UI showcases all loaded Melody Components, including Libraries, Drivers, and Hardware Peripherals. Additionally, the Toolbar provides quick access to commonly used functions and commands within the application builder. The Device section offers a summary of the MCU device, detailing the number of each type of peripheral instance.

#User InterfaceDescription
1ToolbarThe Toolbar offers quick access to frequently used functions and commands within the application builder, including adding Component, searching, adjusting layout, zooming, saving snapshots, and more.
2ApplicationThe Application includes all user-added components necessary for the project, managed under the main manager.
3System DriversSystem Drivers provides system-level core functionality, like: Clock, Interrupt and Pins. These are essential preloaded components that are automatically included when a new project is created. These components cannot be unloaded or removed.
4DeviceThe device section includes information about the MCU device and its capabilities, primarily listing peripheral names and the total number of instances.

4.2 Legends, Icons & Color Codes

This provide a visual representation to map various UI components.

#User InterfaceDescription
1
The Application and Example support non-register-based APIs, functionalities, and main.
2
Drivers & Libraries support both Configuration and Firmware portability, providing an easy-to-read and efficient abstraction to the functionality of the peripheral.
3
Peripheral Libraries (PLIB) provides Register initialization, interrupt ISRs and APIs.
4
Hardware Peripherals (Initializers) provides only Register Intialization API.
5
Hardware determines the device's capabilities and displays all available peripheral interfaces.
6
UI Configuration allows you to access the configuration view of the selected component.
7
Redirects to component API Reference documentation.
8
Notifications indicate the presence of alerts, including warnings, hints, and other messages.

4.3 Toolbar

The Toolbar offers quick access to frequently used functions and commands within the application builder, including adding components, searching, adjusting layout, zooming, saving snapshots, and more.

#User InterfaceDescription
1LayoutsThe Layout feature offers various arrangements for the application builder, such as top-to-bottom or left-to-right configurations. These are presented by degree of component abstraction from main, to libraries, drivers, PLIBs and finally MCU hardware.
2Center to rootZooms into the application dependency tree, using the topmost parent (main) as the root.
3Save Builder imageSave the application builder UI as a PNG image.
4Hide/ShowToggle the visibility of various components in the application builder, such as Legends, Device, System, etc.
5Background theme for builderEnables the selection of one of the available background effects.
6Melody Application builder guideRedirects to the user guide that outlines the usage and features of the application builder.
7Zoom to fit screenAdjusts the builder UI to fit the window size.

4.4 Build Stack: Add Component

The Add Component feature enables users to add, search, and filter components or peripherals according to their requirements. It simplifies navigation by enabling users to explore components based on their available and active features.

#User InterfaceDescription
1Loaded DeviceName of the device loaded
2Search BarSearch bar to locate any Component.
3Device datasheet linkRedirects to device data sheet PDF.
4Window ResizeTo maximise and minimise the window size.
5Window closeTo close the Add Component window.
6Load ComponentLoads the Component when clicked on the add icon
7Open Configuration ViewOpen the Easy/Register view of the Component.
8SDL Help LinkOpens SDL related documents for the Component.
9Component SymbolTo determine the type of component(Refer legends in the UI)
10Component NameName of the Component.
11Components LoadedList of Components which are loaded in the project.
12Components AvailableList of Component available and can be loaded in the project.
13Filters

A list of filters to narrow down or expedite the search process.

Example - when clicked on PLIB it will show all the available PLIBs on the device.

14Component FiltersFilter tags given to a component.
15Show AllShows all available and consumed Component in the project
16.Serach FiltersSearch filters assist users in making decisions by allowing them to set criteria accordingly.
Example:
  • In the following examples, the device used is the PIC18F57Q43.
    ExampleStepsApplication Builder View
    Add ADC PeripheralSearch & Add
    • Hover on Add Component.
    • Click on Drivers & Peripherals (refer 16)
    • Type ADC in Search bar, (refer 2)
    • Click on Load Component (refer 6)
    Add UART (Abstract UI) DriverSearch & Add
    • Hover on Add Component.
    • Click on Drivers & Peripherals (refer 16)
    • Type UART in Search bar, (refer 2)
    • Click on Load Component (refer 6)
    Load Dependency From Easy View
    • Click on Add Dependency, it will open Easy View.
    • Select UART1 from UART PLIB Selector.
    *All reference are w.r.t. above image.

4.5 Component UI Node

A node is a atomic unit within the builder that constitutes a component node and contains information pertinent to the component.

The Libraries, Drivers and Hardware peripherals, which make up MCC Melody, are collectively referred to as components.
Mapping the legends with the node colour, it is a Peripheral Driver.
#User InterfaceDescription
1API referenceNavigates to the API Reference of the Component, if available.
2NotificationsDisplays component notifications in the form of alerts, hints, warnings.
3UI ConfigurationClick to open Configuration view.
4Component NameName of the Component.
Node Tooltip
#User InterfaceDescription
1Basic information of componentIncludes essential details such as the Name, Package Name, Version, and Component Type.
2Component based alertsThe Component-based alerts parameter is optional and is populated only when a notification icon is displayed in the node/Component. This parameter contains alerts in the form of informational, hint, warning, or error messages.
3Unload / Remove ComponentsUnloads a Component from project.