ArduPilot Hardware Definition Syntax
为 Visual Studio Code 和 Cursor 提供 ArduPilot (APM) 硬件定义文件的语法高亮支持。
功能特性
- ✨ 完整的语法高亮支持
- 🎨 关键字、引脚定义、外设配置等不同颜色区分
- 📝 支持完整文件名匹配(hwdef.dat, hwdef-bl.dat, hwdef.inc, hwdef-bl.inc, defaults.parm)
- 🔍 注释、字符串、数字等基础语法高亮
支持的文件类型
插件通过完整文件名匹配识别以下文件:
hwdef.dat - 硬件定义文件
hwdef-bl.dat - Bootloader 硬件定义文件
hwdef.inc - 包含文件(格式与 hwdef.dat 文件相同)
hwdef-bl.inc - Bootloader 包含文件
defaults.parm - 参数文件(参数名 参数值格式,#号后为注释)
注意: 插件只识别上述完整文件名,不会匹配其他 .dat、.inc 或 .parm 文件。
语法高亮内容
- 关键字: MCU, define, include, SPI, I2C, UART, ADC, GPIO, LED, CAN, TIM, PWM 等
- 引脚定义: PA0, PB1, PC2 等 STM32 引脚格式
- 外设配置: SPI1, I2C2, UART4, USART6 等
- 配置项: APJ_BOARD_ID, OSCILLATOR_HZ, FLASH_SIZE_KB 等
- 修饰符: SPEED_HIGH, PULLUP, OPENDRAIN, SCALE() 等
- 参数定义 (.parm 文件): 参数名和参数值的高亮
- 注释: 单行注释 (#)
- 字符串: 引号字符串
- 数字: 整数、浮点数和十六进制数字
安装
从 VS Code 市场安装
- 打开 VS Code 或 Cursor
- 按
Ctrl+Shift+X (Windows/Linux) 或 Cmd+Shift+X (Mac) 打开扩展市场
- 搜索 "ArduPilot Hardware Definition Syntax"
- 点击安装
本地开发安装
- 克隆或下载此仓库
- 在 VS Code 中打开此文件夹
- 按
F5 启动扩展开发主机
- 在新窗口中打开一个
hwdef.dat、hwdef-bl.dat、hwdef.inc、hwdef-bl.inc 或 defaults.parm 文件测试语法高亮
打包发布
# 安装 vsce (VS Code Extension Manager)
npm install -g vsce
# 打包插件
vsce package
# 发布到市场 (需要先登录)
vsce publish
手动安装
- 下载或克隆此仓库
- 在 VS Code 中按
F5 打开扩展开发主机
- 或者使用
vsce package 打包后手动安装 .vsix 文件
使用方法
安装插件后,打开以下文件即可自动应用语法高亮:
hwdef.dat
hwdef-bl.dat
hwdef.inc
hwdef-bl.inc
defaults.parm
示例文件
硬件定义文件 (hwdef.dat, hwdef-bl.dat, hwdef.inc, hwdef-bl.inc):
# hw definition file for processing by chibios_hwdef.py
# MCU class and specific type
MCU STM32H7xx STM32H743xx
include hwdef.inc
# board ID for firmware load
APJ_BOARD_ID 9
# crystal frequency
OSCILLATOR_HZ 24000000
# flash size
FLASH_SIZE_KB 2048
# pin definitions
PA0 UART4_TX UART4
PA1 UART4_RX UART4
PA2 BATT_VOLTAGE_SENS ADC1 SCALE(1)
# SPI device
SPIDEV mpu6000 SPI1 DEVID4 MPU_CS MODE3 2*MHZ 8*MHZ
参数文件 (defaults.parm):
# ArduPilot parameter file
# Battery monitoring parameters
BATT2_CURR_PIN 4
BATT2_VOLT_PIN 13
BATT_AMP_PERVLT 39.877
BATT_VOLT_MULT 12.02
# ADSB setup
ADSB_TYPE 1
SERIAL5_BAUD 57
贡献
欢迎提交 Issue 和 Pull Request!
许可证
MIT License
相关链接
| |