# yaml-language-server: $schema=https://raw.githubusercontent.com/Open-CMSIS-Pack/devtools/main/tools/packgen/schema/manifest.schema.json

#----------------------------------------------------------------------------
#  Copyright (c) 2022 Arm Limited. All rights reserved.
#  SPDX-License-Identifier: Apache-2.0
#
#  Licensed under the Apache License, Version 2.0 (the "License");
#  you may not use this file except in compliance with the License.
#  You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
#  limitations under the License.
#----------------------------------------------------------------------------

# YML file to help generate a CMSIS pack for ml-embedded-eval-kit API.
# See the CMakeLists.txt in the same directory to see the targets that
# are included in the pack.
#
# Ideal usage: from the root of the repository
#
# ml-embedded-eval-kit $ packgen -s ./                          \ # Source dir (run this from repo root)
#           -v ./scripts/cmake/cmsis-pack-gen/use-case-api.yml  \ # This file's path
#           -o <path-to>/ml-embedded-eval-kit-pack              \ # Where to generate the output
#           -i <path-to>/tensorflow.tensorflow-lite-micro.pdsc  \ # Tensorflow packs' PDSC file
#           -i <path-to>/ARM.CMSIS.pdsc                         \ # CMSIS packs' PDSC file
#
# The PDSC files are the ones extracted from the downloaded packs (and is optional).
# packgen and packchk must be installed. See https://github.com/Open-CMSIS-Pack/devtools
# on how to build these tools.

build:
  - name: "build-dir"
    options: "cmake -DCMSIS_PACK_GEN_FLOW=ON"

packs:
  - name: "ml-embedded-eval-kit-uc-api"
    description: "Sample use case APIs derived from ml-embedded-eval-kit"
    vendor: "ARM"
    license: "LICENSE_APACHE_2.0.txt"
    url: "https://git.mlplatform.org/ml/ethos-u/ml-embedded-evaluation-kit.git/plain/resources/cmsis-packs/"

    requirements:
      packages:
        - attributes: {vendor: "tensorflow", name: "tensorflow-lite-micro", version: "1.22.5-rc4"}
        - attributes: {vendor: "ARM", name: "CMSIS", version: "5.9.0"}

    releases:
      - version: "22.8.0-Beta"
        date: "2022-09-27"
        description: "Beta release package"

    taxonomy:
      - attributes: {Cclass: "Machine Learning"}
        description: "Machine Learning software frameworks and libraries"
      - attributes: {Cgroup: "Evaluation Kit"}
        description: "A collection of end-to-end examples provided by Arm for Arm Cortex-M CPU and Arm Ethos-U NPU targets."

    components:
      - name: log
        target: log
        attributes: { Cclass: "ML Eval Kit", Cgroup: "Common", Csub: "Log", Cversion: "1.0.0" }
        description: "Logging header-only utility"

      - name: arm_math
        target: arm_math
        attributes: { Cclass: "ML Eval Kit", Cgroup: "Common", Csub: "Math", Cversion: "1.0.0" }
        description: "Math function helpers dependent on CMSIS-DSP."
        conditions:
          - require: { Cclass: "CMSIS", Cgroup: "DSP"}

      - name: common_api
        target: common_api
        attributes: {Cclass: "ML Eval Kit", Cgroup: "Common", Csub: "API", Cversion: "1.0.0"}
        description: "Common API"
        dependencies: ["arm_math", "log"]
        conditions:
          - require: { Cclass: "Machine Learning", Cgroup: "TensorFlow" }

      - name: ad_api
        target: ad_api
        attributes: {Cclass: "ML Eval Kit", Cgroup: "Vibration", Csub: "Anomaly detection", Cversion: "1.0.0"}
        description: "Anomaly detection use case API."
        dependencies: common_api

      - name: asr_api
        target: asr_api
        attributes: {Cclass: "ML Eval Kit", Cgroup: "Voice", Csub: "Automatic speech recognition", Cversion: "1.0.0"}
        description: "ASR use case API."
        dependencies: common_api

      - name: img_class_api
        target: img_class_api
        attributes: {Cclass: "ML Eval Kit", Cgroup: "Vision", Csub: "Image classification", Cversion: "1.0.0"}
        description: "Image classification use case API."
        dependencies: common_api

      - name: inference_runner_api
        target: inference_runner_api
        attributes: {Cclass: "ML Eval Kit", Cgroup: "Generic", Csub: "Inference runner", Cversion: "1.0.0"}
        description: "Generic inference runner use case API."
        dependencies: common_api

      - name: kws_api
        target: kws_api
        attributes: {Cclass: "ML Eval Kit", Cgroup: "Voice", Csub: "Keyword spotting", Cversion: "1.0.0"}
        description: "KWS use case API."
        dependencies: common_api

      - name: noise_reduction_api
        target: noise_reduction_api
        attributes: {Cclass: "ML Eval Kit", Cgroup: "Voice", Csub: "Noise reduction", Cversion: "1.0.0"}
        description: "RNN Noise use case API."
        dependencies: common_api

      - name: object_detection_api
        target: object_detection_api
        attributes: {Cclass: "ML Eval Kit", Cgroup: "Vision", Csub: "Object detection", Cversion: "1.0.0"}
        description: "Object detection use case API."
        dependencies: common_api

      - name: vww_api
        target: vww_api
        attributes: {Cclass: "ML Eval Kit", Cgroup: "Vision", Csub: "Person detection", Cversion: "1.0.0"}
        description: "Visual wake word use case API."
        dependencies: common_api
