Skip to main content

Crate cmsis_pdsc_parser

Crate cmsis_pdsc_parser 

Source
Expand description

§CMSIS PDSC Parser

This is a Rust crate that aims to provide a convenient abstraction to parse CMSIS Pack Description Format (PDSC) files.
This project takes in a PDSC file and parses into a Rust datastructure.

§Usage

Add the dependency with the following command:

cargo add cmsis-pdsc-parser
cargo add roxmltree

Minimal example:

const PDSC_PATH: &str = "Microchip.PIC32CM-PL_DFP.pdsc";

fn main() {
    // Read the document content into memory
    let pdsc_content: String = std::fs::read_to_string(PDSC_PATH).unwrap();

    // Parse the XML document
    let document = roxmltree::Document::parse(&pdsc_content).unwrap();
    // Parse the PDSC file as the root `Package` element.
    let pdsc = cmsis_pdsc_parser::Package::new(&document);

    println!("{:#?}", pdsc);
}

Modules§

apis
Contains the types required to represent a PDSC APIs element
boards
Contains the types required to represent a PDSC Boards element
components
Contains the types required to represent a PDSC Components element
conditions
Contains the types required to represent a PDSC Conditions element
csolution
Contains the types required to represent a PDSC csolution element
debug_access
Types representing PDSC Debug Access
examples
Contains the types required to represent a PDSC Examples element
family
Contains the types required to represent a PDSC Family element
generators
Contains the types required to represent a PDSC Generators element
part_taxonomy
Contains the types required to represent a PDSC Part-Taxonomy element
parts
Contains the types required to represent a PDSC Parts element
pdsc
PDSC pack-level types (description, releases, devices, etc.)
requirements
Contains the types required for the PDSC Requirements element
taxonomy
Contains the types required to represent a PDSC Taxonomy element

Structs§

Package
Represents PDSC Package which is the root element of the PDSC file

Enums§

Error
Errors