全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:3770
推到 Plurk!
推到 Facebook!

如何使用 DirectShow 控制 LED??

尚未結案
firewing
一般會員


發表:23
回覆:47
積分:19
註冊:2002-12-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-09-02 10:01:09 IP:60.251.xxx.xxx 訂閱
我使用 DirectShow 已經能從 Webcam 抓到影像,存檔都沒問題,但我想在 Webcam 上加上補光LED的功能,希望能藉由
BCB 控制 LED 的 On/Off, 請問我要如何實現呢? camera module 廠商 給我的訊息是 " AP 端控制的方法是透過 UVC Extension-Unit2,
Chanel 1, Length 8" 但我不知到這是啥意思, 我到底要呼叫哪個 API 或 Function call 才能控制呢?
我的 AP 完全是使用 DirectShow 寫的, 完全不需 driver 就能使用,所以也希望加上 LED 功能後也不需要 Driver
感謝各位大大~

friendlly
高階會員


發表:22
回覆:144
積分:103
註冊:2003-04-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-09-04 14:20:26 IP:125.225.xxx.xxx 訂閱
BCB 控制 LED 的 On/Off
就是要透過你的PC的介面輸出信號去控制LED

有兩個狀況
1.你的LED控制板提供 serial port 介面控制 <------這樣你就可以不用任何Driver 直接傳出Com port 去控制,當然你要知道 LED控制板的potocol .(還有前提是你的PC 要有com port )
2.LED控制板 是透過 IO 的方式 , 這樣你就必須要加裝IO Card . 當然購買IO Card 會提供Driver ...這樣你也可以控制


UVC Extension-Unit2,Chanel 1, Length 8" <-----這東西 你要問你的供應商應該比較清楚是啥米咚咚


===================引 用 firewing 文 章===================
我使用 DirectShow 已經能從 Webcam 抓到影像,存檔都沒問題,但我想在 Webcam 上加上補光LED的功能,希望能藉由
BCB 控制 LED 的 On/Off, 請問我要如何實現呢? camera module 廠商 給我的訊息是 " AP 端控制的方法是透過 UVC Extension-Unit2,
Chanel 1, Length 8" 但我不知到這是啥意思, 我到底要呼叫哪個 API 或 Function call 才能控制呢?
我的 AP 完全是使用 DirectShow 寫的, 完全不需 driver 就能使用,所以也希望加上 LED 功能後也不需要 Driver
感謝各位大大~

powmien
初階會員


發表:27
回覆:80
積分:41
註冊:2004-10-20

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-09-12 10:39:27 IP:60.250.xxx.xxx 訂閱
UVC 是掛在 USB 底下的一個Class , UVC 的 protocol 定的很死,沒什麼變化的空間,所以為了方便特殊用途(ex:led on/off),又定義了 extension 這東西。一般來說廠商會有測試的Tools 方便你開發,不然webcam 本身、或是protocol 定義是否有問題也沒人知道,除非用 CATC 或是 Bus Hound 之類的分析儀器或軟体才能錄你下的command 是否正常,關於UVC 的定義你可以去 usb.org 找  usb video class (UVC)的文件看  extension 那一章,如果你會 SET_CUR / GET_CUR 應該都沒問題 . 希望對你有幫助 .

下面是用UVCView 看 extension usb 的 DESC , 從這個DESC 得知這個extension 只支援 Channel 1-4 (bmControls : 0x0F)
[code cpp]
===>Video Control Extension Unit Descriptor<===
bLength: 0x1A
bDescriptorType: 0x24
bDescriptorSubtype: 0x06
bUnitID: 0x04
guidExtensionCode: {28F03370-6311-4A2E-BA2C-6890EB334016}
bNumControls: 0x08
bNrInPins: 0x01
===>List of Connected Units and Terminal ID's
baSourceID[1]: 0x03
bControlSize: 0x01
bmControls : 0x0F
D00 = 1 yes - Vendor-Specific (Optional)
D01 = 1 yes - Vendor-Specific (Optional)
D02 = 1 yes - Vendor-Specific (Optional)
D03 = 1 yes - Vendor-Specific (Optional)
D04 = 0 no - Vendor-Specific (Optional)
D05 = 0 no - Vendor-Specific (Optional)
D06 = 0 no - Vendor-Specific (Optional)
D07 = 0 no - Vendor-Specific (Optional)
iExtension: 0x00
[/code]
===================引 用 firewing 文 章===================
我使用 DirectShow 已經能從 Webcam 抓到影像,存檔都沒問題,但我想在 Webcam 上加上補光LED的功能,希望能藉由
BCB 控制 LED 的 On/Off, 請問我要如何實現呢? camera module 廠商 給我的訊息是 " AP 端控制的方法是透過 UVC Extension-Unit2,
Chanel 1, Length 8" 但我不知到這是啥意思, 我到底要呼叫哪個 API 或 Function call 才能控制呢?
我的 AP 完全是使用 DirectShow 寫的, 完全不需 driver 就能使用,所以也希望加上 LED 功能後也不需要 Driver
感謝各位大大~

編輯記錄
powmien 重新編輯於 2008-09-12 10:40:51, 註解 無‧
powmien 重新編輯於 2008-09-12 10:42:17, 註解 無‧
powmien 重新編輯於 2008-09-12 10:43:08, 註解 無‧
系統時間:2024-04-25 20:13:24
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!