Skip to content

Compatible layer detection only considers connections from first project in multi-project solution #2356

@MiloradCvjetkovic

Description

@MiloradCvjetkovic

Bug description
When a template's solution contains multiple projects, compatible layer detection considers only connections (consumes) from first project.

To Reproduce

  • install released Alif Ensemble pack
  • build and install development version of the SDS-Framework pack from https://github.com/ARM-software/SDS-Framework
    • open ARM/SDS/2.0.1-dev<num>/template/algorithm/AlgorithmTest.cproject.yml file and change line:
      - Heap: 65536
      to
      - Heap: 131072
  • open VS Code - Arm CMSIS Solution extension
  • select Create Solution
  • select Target Board DevKit-E7 (Gen 2)
  • under Templates select SDS
  • choose a folder
  • click on Create button

you will be offered Add software layer with Board Layer, but Board layers located in AlifSemiconductor/Ensemble/2.0.4/Boards/DevKit-e7/Layers/M55_HE/Board_HE.clayer.yml and AlifSemiconductor/Ensemble/2.0.4/Boards/DevKit-e7/Layers/M55_HP/Board_HP.clayer.yml both contain setting Heap: 98304 which is insufficient to our edited Heap: 131072 required by the second project AlgorithmTest thus should not be available for selection as they do not satisfy conditions for both projects from the solution.

Environment:

  • Arm CMSIS Solution v1.64.2
  • OS: Win11

Enhancement suggestions
These situations are hard to debug because there is no additional information to why there was no compatible layer (not in this situation when it is available when it shouldn't be).
It should be possible for user to see if selected template does not have a compatible layer provided by the Target Board, and possibly which condition isn't satisfied.
Possibly it should not even be possible to select template with a board that does not even have a compatible layer.

Metadata

Metadata

Assignees

No one assigned

    Labels

    discussionIndicates an issue being in discussionquestionFurther information is requested

    Type

    No type

    Projects

    Status

    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions