devices:
  dr16:
    name: "DR16"
    description: "大疆遥控器接收机"
    dependencies:
      bsp: ["uart"]
      component: ["user_math"]
    bsp_requirements:
      - type: "uart"
        var_name: "BSP_UART_DR16"  # 需要替换的变量名
        description: "用于接收遥控器数据"
    thread_signals:
      - name: "SIGNAL_DR16_RAW_REDY"
    files:
      header: "dr16.h"
      source: "dr16.c"
  
  bmi088:
    name: "BMI088"
    description: "BMI088 陀螺仪+加速度计传感器"
    dependencies:
      bsp: ["spi", "gpio"]
      component: ["user_math"]
    bsp_requirements:
      - type: "spi"
        var_name: "BSP_SPI_BMI088"
        description: "用于与 BMI088 通信的 SPI 总线"
      - type: "gpio"
        var_name: "BSP_GPIO_ACCL_CS"
        description: "加速度计片选输出引脚"
        gpio_type: "output"
      - type: "gpio"
        var_name: "BSP_GPIO_GYRO_CS"
        description: "陀螺仪片选输出引脚"
        gpio_type: "output"
      - type: "gpio"
        var_name: "BSP_GPIO_ACCL_INT"
        description: "加速度计中断输入引脚"
        gpio_type: "EXTI"
      - type: "gpio"
        var_name: "BSP_GPIO_GYRO_INT"
        description: "陀螺仪中断输入引脚"
        gpio_type: "EXTI"
    thread_signals:
      - name: "SIGNAL_BMI088_ACCL_RAW_REDY"
      - name: "SIGNAL_BMI088_GYRO_RAW_REDY"
      - name: "SIGNAL_BMI088_ACCL_NEW_DATA"
      - name: "SIGNAL_BMI088_GYRO_NEW_DATA"
    files:
      header: "bmi088.h"
      source: "bmi088.c"

  ist8310:
    name: "IST8310"
    description: "IST8310 地磁传感器"
    dependencies:
      bsp: ["i2c", "gpio"]
      component: []
    bsp_requirements:
      - type: "i2c"
        var_name: "BSP_I2C_COMP"
        description: "用于与 IST8310 通信的 I2C 总线"
      - type: "gpio"
        var_name: "CMPS_RST_Pin"
        description: "IST8310 复位引脚"
        gpio_type: "output"
      - type: "gpio"
        var_name: "CMPS_INT_Pin"
        description: "IST8310 数据中断引脚"
        gpio_type: "EXTI"
    thread_signals:
      - name: "SIGNAL_IST8310_MAGN_RAW_REDY"
      - name: "SIGNAL_IST8310_MAGN_NEW_DATA"
    files:
      header: "ist8310.h"
      source: "ist8310.c"

  motor_vesc:
    name: "VESC 电调"
    description: "VESC 电调驱动"
    dependencies:
      bsp: ["can", "time"]
    files:
      header: "motor_vesc.h"
      source: "motor_vesc.c"
  
  motor_odrive:
    name: "ODrive 电机"
    description: "ODrive 电机驱动"
    dependencies:
      bsp: ["can", "time"]
    files:
      header: "motor_odrive.h"
      source: "motor_odrive.c"

  motor_rm:
    name: "RM 电机" 
    description: "RM 电机驱动"
    dependencies:
      bsp: ["can", "time"]
    files:
      header: "motor_rm.h"
      source: "motor_rm.c"

  motor:
    name: "通用电机"
    description: "通用电机驱动"
    files:
      header: "motor.h"
      source: "motor.c"