Skip to content

Trying to understand yaml structure and capabilities #284

@berkut0

Description

@berkut0

I'm in the process of exploring the capabilities of this tool and my enthusiasm dimmed when I tried some 'obvious' ideas and they didn't work.

I'm probably misunderstanding the tool's capabilities. But I would like to know exactly what I am doing wrong? If possible, give a detailed insight into how it all works and is organised.

# This code changes ADC:description, but does not affect CR0

_modify:
  version: 1.2.1
  ADC:
    name: ADC
    description: Analog-to-Digital Converter
    CR0:
      _modify:
        description: "ADC control register 0"
# This one causes an error:
# 1: According to `ADC`
# 2: Processing peripheral `ADC`
# 3: Value is not a hash map (dictionary): String("Analog-to-Digital Converter")

ADC:
  _modify:
    description: Analog-to-Digital Converter
  CR0:
    _modify:
      description: ADC control register 0
# Same issue:
# Value is not a hash map (dictionary): String("Analog-to-Digital Converter")
ADC:
  _modify:
    description: Analog-to-Digital Converter
    CR0:
      description: ADC control register 0
# Of course, because it is yaml:
# String("ADC"): duplicated key in mapping at byte 191 line 14 column 1

ADC:
  _modify:
    description: Analog-to-Digital Converter

ADC:
  _modify:
    CR0:
      description: ADC control register 0
# That's work:
# But how do I change the description of the ADC?

ADC:
  _modify:
    CR0:
      description: ADC control register 0
# It compiles, but I can't believe it's the ‘correct’ version yet.

_modify:
  version: 1.2.1
  ADC:
    description: Analog-to-Digital Converter

ADC:
  _modify:
    CR0:
      description: ADC control register 0

I just tried the most obvious ideas. And got different combinations of errors. I also had a long conversation with a neural network as a sanity check. It has very similar 'guesses' and the 'right option' it just can't 'come up with'.

The file I want to fix is just full of problems and I don't think I can fix it without svdtools.

Please give more technical information to understand how this should work.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions