匿名飛控hid裝置除錯

2021-09-24 01:48:18 字數 2092 閱讀 2223

軟體:bus hound,收費軟體, 可以檢視hid裝置的vid和pid。

開源庫:hidapi,直接包含**件和c檔案,不使動態鏈結庫的形式。

開發環境:qt,vs2015 64bit編譯器

sources += \

main.cpp \

mainwindow.cpp \

hid.c

headers += \

mainwindow.h \

hidapi.h

根據系統和vs版本的不同,還有加入setupapi.lib,否則編譯不通過

libs += $$quote(c:\program files (x86)\windows kits\8.1\lib\winv6.3\um\x64\setupapi.lib)
#define max_str 256

void wchar_ttostring(std::string& szdst, wchar_t *wchar)

int main(int argc, char *ar**)

{ int res;

unsigned char buf[64];

wchar_t wstr[max_str];

hid_device *handle;

int i;

qdebug() << "init start" << endl;

res = hid_init();

qdebug() << "init success" << endl;

//通過bus hound軟體檢視hid裝置的vid和pid。

handle = hid_open(0x0483, 0xa005, null);

// read the manufacturer string

res = hid_get_manufacturer_string(handle, wstr, max_str);

string manufacture;

wchar_ttostring(manufacture,wstr);

qdebug() << "manufacturer string:" << manufacture.c_str() << endl;

// read the product string

res = hid_get_product_string(handle, wstr, max_str);

string product;

wchar_ttostring(product,wstr);

qdebug() << "product string:" << product.c_str() << endl;

// read the serial number string

res = hid_get_serial_number_string(handle, wstr, max_str);

string serial_number;

wchar_ttostring(serial_number,wstr);

qdebug() << "serial number string:" << serial_number.c_str() << endl;

// read indexed string 1

res = hid_get_indexed_string(handle, 1, wstr, max_str);

string indexed;

wchar_ttostring(indexed,wstr);

qdebug() << "indexed string 1:" << indexed.c_str() << endl;

while(1)

{//收到後判斷第一位元組,第一位元組是多少,取後續多少位元組進行處理

res = hid_read(handle, buf, 64);

qdebug() << buf[0] << " " << buf[1] << " " << buf[2] 《一次傳送64個位元組,第一位元組是將要傳送的資料長度,大小不能超過63。下位機收到後判斷收到的首位元組是多少,從而決定從後面取多少位元組進行處理。

接收同理,收到後判讀首位元組,然後從第二位元組開始取出首位元組個數的位元組,就是有效資訊。

開源飛控 匿名飛控TI版解析(2)

因為電賽,買來匿名飛控研究一下,感覺相比其他的一下開源飛控,易開發性和穩定性都是比較好的,但就是比較貴 匿名ti版飛控是從32版改過來的,硬體上就換了個晶元,程式裡也有些東西都沒刪乾淨。整體上來說開源程度很高了,自己想改啥就改啥,不過就是光流內部是不開源的。這裡整理裡一下飛控框架,也是學習一下乙個飛...

匿名飛控的控制演算法

我這裡先摘抄一些別人的整理 這下面似乎是匿名官方的控制框圖 匿名的群裡看到別人給出的匿名的所有的pid引數,也基本可以看出他們有哪些環。也確實似乎是水平位置上除開姿態環只有速度環。姿態環是內環角速度環,外環速度環 位置似乎就位置速度環 這個和上面的那個總結的一樣 其實我之前也總結了,單純速度環就可以...

pixhawk飛控架構

pixhawk 學習總結2 pixhawk編譯環境搭建好,接下來就是要看 apm原始碼了。介紹給大家一款非常好用的 程式編輯器軟體source insight 在windows 下看原始碼是最好不過了。飛控系統是一套龐大的系統,要理解一整套的流程的話,是要經過一番折騰才行。我的角度是用linux 的...