3 个不稳定版本
0.2.1 | 2023 年 7 月 15 日 |
---|---|
0.2.0 | 2022 年 1 月 11 日 |
0.1.0 | 2021 年 10 月 18 日 |
#2152 in 嵌入式开发
1.5MB
24K SLoC
Adafruit Neokey Trinkey 板支持包
此软件包提供了一套类型安全的 API,用于操作 Adafruit Neokey Trinkey 板。
先决条件
- 安装交叉编译工具链
rustup target add thumbv6m-none-eabi
- 安装 cargo-hf2 hf2 引导加载程序闪存工具,具体取决于您的平台
上传示例
查看仓库中的示例
https://github.com/atsamd-rs/atsamd/tree/master/boards/neokey_trinkey/examples
- 在此目录下
cd boards/neokey_trinkey
- 将您的设备置于引导加载程序模式,通常通过连续按两次复位按钮。
- 一步构建和上传
$ cargo hf2 --release --example <example-name> --features <any-required-features> --vid 0x239a --pid 0x00ff
注意:如果您有 cargo-hf2 的新版本,您不需要 pid 和 vid,它将自动识别设备
您应该看到以下输出
Finished release [optimized] target(s) in 5.55s
Trying Ok(Some("Adafruit Industries")) Ok(Some("NeoKey Trinkey M0"))
Flashing "/Users/atsamd/boards/neo_trinkey/target/thumbv6m-none-eabi/release/examples/button"
Finished in 0.042s
注意:如果 hf2 找不到您的 Neokey Trinkey,您应检查系统设置中的产品 ID (pid) 和供应商 ID (vid)。
示例
闪烁基本
$ cargo hf2 --release --example blinky --features leds --vid 0x239a --pid 0x00ff
Neokey Trinkey 重新启动后,您将看到 led 闪烁。
警告尽管灯光调得很低,但仍然非常明亮。
彩虹
$ cargo hf2 --release --example rainbow --features leds --vid 0x239a --pid 0x00ff
一个更令人满意的闪烁版本,其中灯光将循环遍历颜色光谱。
警告尽管灯光调得很低,但仍然非常明亮。
USB 回显
$ cargo hf2 --release --example usb_echo --features usb --vid 0x239a --pid 0x00ff
设备重置后,所有灯光都将关闭。然后您需要找到计算机上的 USB 设备。
通常位于 /dev/cu.usbmodemTRINKEY_ECHO1
,但如果您插入了多个 trinkeys 并运行此示例,末尾的数字可能已更改。
然后您可以发送 USB 设备字节。设备每次接收到数据时,都会以 "Received: X" 响应,其中 X 是它接收到的数据。要测试此功能,有多种方式,但最简单的方法可能是使用 screen。
以这种方式连接到设备(9600 是波特率)
$ screen /dev/cu.usbmodemTRINKEY_ECHO1 9600
现在您可以开始输入了,您输入的字符将显示在屏幕上,但这里的魔法在于您的按键实际上被发送到了设备,设备以相同的数据做出响应,这就是您在屏幕上看到的内容。
要退出屏幕,请使用 ctrl-a
然后按 crtl-\
最后按 y
USB 确认
$ cargo hf2 --release --example usb_ack --features usb --vid 0x239a --pid 0x00ff
这和上面的 USB 回显示例类似,但是每次设备收到数据时,它会以 "Received: X" 的形式做出响应,其中 X 是它接收到的数据。这使得所发生的事情更加清晰。
以这种方式连接到设备(9600 是波特率)
$ screen /dev/cu.usbmodemTRINKEY_ECHO1 9600
然后您可以按键盘按键,应该会得到响应,例如
Received: h
Received: e
Received: l
Received: l
Received: o
Received:
Received: w
Received: o
Received: r
Received: l
Received: d
要退出屏幕,请使用 ctrl-a
然后按 crtl-\
最后按 y
依赖关系
~5MB
~112K SLoC