默认 I²C 连接
I2C连接配置
设备地址
0x3C
适配器
JooieeUsbI2C
地址格式
十六进制
自动刷新间隔
100ms
速率模式
100K
地址类型
8BIT
VCC 模式
IO
VIO 模式
3.3V
寄存器
| 名称 | 地址 | 访问 | 类型 | 格式 | 描述 | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 配置寄存器A | 0x00 | 读写 | byte | 二进制 | |||||||||||||||||||||
|
|||||||||||||||||||||||||
| 配置寄存器B | 0x01 | 读写 | byte | 二进制 | |||||||||||||||||||||
|
|||||||||||||||||||||||||
| 模式寄存器 | 0x02 | 读写 | byte | 二进制 | |||||||||||||||||||||
|
|||||||||||||||||||||||||
| 数据X | 0x03 | 只读 | int16BE | 十六进制 | |||||||||||||||||||||
| 数据Z | 0x05 | 只读 | int16BE | 十六进制 | |||||||||||||||||||||
| 数据Y | 0x07 | 只读 | int16BE | 十六进制 | |||||||||||||||||||||
| 状态寄存器 | 0x09 | 只读 | byte | 二进制 | |||||||||||||||||||||
|
|||||||||||||||||||||||||
| 识别寄存器A | 0x0A | 只读 | char | 十六进制 | 固定字符 "H" | ||||||||||||||||||||
| 识别寄存器B | 0x0B | 只读 | char | 十六进制 | 固定字符 "4" | ||||||||||||||||||||
| 识别寄存器C | 0x0C | 只读 | char | 十六进制 | 固定字符 "3" | ||||||||||||||||||||
脚本
JavaScript
// custom function could be called in
// template and other functions
export async function onAutoRefresh( values ) {
let x = values.get("数据X") - 75;
let y = values.get("数据Y") + 480;
// 单位:弧度
// 范围:-π ~ +π
// 参考方向:X 轴正方向
// 旋转方向:逆时针为正
let headingRad = Math.atan2(y, x);
// 航向角 范围 -180° ~ +180°
let headingDeg = headingRad * 180 / Math.PI;
// 转成 0 ~ 360°
if (headingDeg < 0) {
headingDeg += 360;
}
// 修正固定偏移量
let correctedHeading = headingDeg + $this.variable("角度修正量") * 1;
if ( correctedHeading >= 360 ) {
correctedHeading = correctedHeading - 360;
}
$this.variable("无修正航向角", correctedHeading);
}
变量
无修正航向角
number
0
角度修正量
number
66