边界条件之场
66 subscribers
680 photos
4 videos
10 files
1.03K links
Do you hear the sirens sing?

main: @cvf_cha
group: @cvf_gro
forwards: @cvf_for
Download Telegram
Forwarded from 螺莉莉的黑板报
折腾 Linux 是把好东西加进去让你的系统更好用,折腾 Windows 是把屎从家里拿出去,过几天微软又会进你家在地板上拉屎……现在的 Windows 怎么会变成这样……
边界条件之场
能用媒体控制键了 👀
刷上硬件试了一下,能用。
发现的新问题是 consumer 相关报文有 key repeat 问题,目前按下「音量加」会按照 polling rate 每 10ms 加一下,非常爆炸 🤪
边界条件之场
刷上硬件试了一下,能用。 发现的新问题是 consumer 相关报文有 key repeat 问题,目前按下「音量加」会按照 polling rate 每 10ms 加一下,非常爆炸 🤪
在另一个问题上也获得了意外进展:
目前我日常使用的鼠标键盘会时不时抽风,表现为键盘随机漏几个键,鼠标随机重新连接无线接收器。由于完全看不出规律且不是非常严重,一直没有深入调查。
现在我可以稳定复现了。只要我把自己写的这个映射器插到电脑上,映射器上连着的键盘工作完全正常,但电脑另一端连接的 绿联 usb hub 上连着的键盘和无线鼠标就会非常稳定地开始抽风。
改天筛查一下看看到底谁是内鬼 👀
边界条件之场
把代码刷到 pi pico 上直接就 core panic。 排查了一会估计是炸 stack 了,不知道为什么我的一个数据结构有 115.8 KiB 大 🥴(pi pico 总共就只有 264 kB 内存)
这个问题它跑回来咬我了(上次偷懒直接把不用的特性关了,没实际解决问题
现在用自己写的映射器重新实现 kmonad 配置,内存需求涨回 112 KiB。经过一番 #[repr(packed)] 改写以及结构调整后压到了 36.1 KiB 🤔
尝试在两台 oneplus 6 之间对拷 userdata,被现代 android 的加密机制猛创 🤕
时代不同了,以前 android 迁移/备份数据好简单直接的(
啊? RPi Pico 2 / RP2350 几个小时前几十分钟前发布了?
目前官方页面好像都没 google 索引,这也太新鲜了吧 👀
+ https://www.raspberrypi.com/...
+ https://www.tomshardware.com/...
+ https://www.youtube.com/watch?v=oXF_lVwA8A4

又: 都 4202 年了,还来 USB Micro-B ??? 这回也是为了 drop-in 向后兼容吗??👎
手边只有一台笔记本、一块开发板,不得已对着黑盒疯狂 poke 了一天半,搞明白一件事情:

tinyusb 各种 api 里有一个参数叫 itf/instance , 它指的不是 usb 的 "interface number", 而是按照 usb class 划分后每个 interface 在各自 class 里的 index.

比如下面这个 usb 配置:
usb
interface usb
number class name
------------------------------
0 | hid | hid1
1 | hid | hid2
2 | cdc | *cdc1
3 | data | cdc1data
4 | hid | *hid3
5 | cdc | *cdc2
6 | data | cdc2data


向 (cdc1, hid3, cdc2) 发送数据需要使用的 itf 参数不是
(2, 4, 5)
而是
(0, 2, 1) 😐

我疯狂调试一天半最后是怎么搞清楚的呢?
靠的是 非常仔细 地阅读 tinyusb 的 多个 样例,最终注意到一些样例里收发数据用的 itf 参数跟实际 interface number 不一样。一开始我以为样例写错了,但刷上硬件却发现它的这些样例都能正常工作。

这种完全没有文档,全靠 example 的项目,使用体验确实酸爽 🥴
#wtf #高血压 #tinyusb
🤯2
边界条件之场
and ... everything works! 现在就差 LED 报文 pass through,这个映射器就算是初步完工了 🥰 下一步转到小型板上调试,然后就是打 pcb + 画外壳
现阶段需要的功能都写完了、bug 全都调通了、小型板上验证了没有新问题 🥰
开始学怎么用 KiCad 画 pcb ……