自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(2)
  • 收藏
  • 关注

原创 CRSF协议负载段数据解析

其中p->data + start取出对应通道数据最低位所在缓存数组的地址,然后把该数组地址强转成(uint32_t*)类型数组的地址,然后取出元素得到了包含通道数据的uint32数据,然后再将mask移位,取与,再移回来即可。但是我是在Visual Studio中开发的,查找了挺久,发现__attribute__((packed))的语法替换的#pragma pack(1)并不能取消struct中位域的对齐,无奈这个优雅的方法用不上了。至此得到了所有通道的数据,可以开始快乐的做映射了~

2023-10-15 02:33:06 431

原创 ubuntu自启动

一、openvpn自启动在Ubuntu上,您放置在名为/etc/openvpn/$NAME.conf的文件中的任何VPN配置都将自动启动。因此,您要做的就是将client.ovpn复制到/etc/openvpn/client.conf。我建议您还将client.conf中的绝对路径用于所有键,脚本等。当然,您可能需要仔细检查/etc/default/openvpn文件。默认情况下,它将自动启动所有VPN,但AUTOSTART值可能已更改为none,或者是要自动启动的特定配置的列表。设置自

2021-10-22 19:56:35 1513

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除