मैं बैटरी चालित एचआईडी डिवाइस के लिए बैटरी जानकारी की रिपोर्ट करने की कोशिश कर रहा हूं (यूएसबी प्लग किए जाने पर, बीएलई अन्यथा)। के परिशिष्ट A के उदाहरण से रिपोर्ट डिस्क्रिप्टर को पढ़ना HID पॉवर डिवाइसेस के लिए उपयोग तालिकाएँ (v1.1) मुझे होस्ट को बैटरी के बारे में डेटा रिपोर्ट करने के लिए दो संग्रह दिखाई देते हैं:
UsagePage(Power Device), Unit(none),
Usage(PresentStatus), Collection(Logical), ; Present status collection
Usage(Good),
UsagePage(Battery System), Usage(BelowRemainingCapacityLimit),
Usage(Charging), Usage(Discharging),
ReportSize(1), ReportCount(4), Logical Minimum (0), Logical Maximum (1), Unit(0),
Feature(Constant, Variable, Absolute, Volatile),
End Collection(), ; End of Present Status collection
UsagePage(Power Device),
Usage(ChangedStatus), Collection(Logical), ; Changed Status collection
Usage(Good),
UsagePage(Battery System), Usage(BelowRemainingCapacityLimit),
Usage(Charging), Usage(Discharging),
ReportSize(2), ReportCount(4), Logical Minimum (0), Logical Maximum (1),
Input(Data, Variable, Absolute, Volatile),
End Collection(), ; End of Changed Status collection
मेरे पास इसे चार्ज करने के लिए केवल एक लीपो बैटरी और एक डायोड है, इसलिए मैं बाकी बिजली उपकरण सामान को बाहर निकालने की योजना बना रहा हूं क्योंकि मुझे लगता है कि मुझे बैटरी सिस्टम उपयोग पृष्ठ से वह सब कुछ मिल सकता है जो मैं चाहता हूं। नतीजतन मैं कुछ और देख रहा हूं (मुझे यह बताने के लिए स्वतंत्र महसूस करें कि क्या यह शुरुआत के रूप में बर्बाद है):
UsagePage(Battery System), Usage(BelowRemainingCapacityLimit),
Usage(Charging), Usage(Discharging),
ReportSize(1), ReportCount(3), Logical Minimum (0), Logical Maximum (1), Unit(0),
Feature(Constant, Variable, Absolute, Volatile),
कल्पना से रिपोर्ट को देखते हुए, मेरे दो प्रश्न हैं:
क्षमता मोड केवल आकार 1 क्यों है? मान 0 - 3 हैं, क्या यह आकार 2 नहीं है?
चेंजस्टैटस संग्रह में वास्तव में क्या जाता है? मैं देख रहा हूं कि रिपोर्ट का आकार 1 के बजाय 2 है - क्या रिपोर्टिंग वहां भी पुरानी स्थिति है? मैं कल्पना में कहीं और कुछ भी नहीं देख रहा हूं जो एक संकेत देता है। वास्तव में, कल्पना कहती है कि चेंजस्टैटस तत्व बूलियन होना चाहिए, जो आकार 1 होना चाहिए, नहीं?
1 उत्तर
क्षमता मोड में 0 से 3 मान हो सकते हैं, लेकिन यदि आपका डिवाइस केवल मोड 0 (मिलीएम्प-घंटे में मापी गई क्षमता) या मोड 1 (मिलीवाट-घंटे में मापी गई क्षमता) का समर्थन करता है, तो मुझे लगता है कि 1-बिट चौड़ा क्षेत्र होना ठीक है इसे रिकॉर्ड करें। आप 8-बिट फ़ील्ड को भी परिभाषित कर सकते हैं जो केवल 0 या 1 मान संग्रहीत करता है, भले ही यह 255 तक मान रख सके।
मुझे लगता है कि उदाहरणों के लेखक 4 स्थिति बिट्स को 2-बिट चौड़ा बनाकर फ़ील्ड को 8 बिट्स में संरेखित करने का प्रयास कर रहे होंगे - इसलिए 0, 00 के रूप में संग्रहीत किया जाएगा और 1 को रिपोर्ट में 01 के रूप में संग्रहीत किया जाएगा। या यह एक टाइपो हो सकता था - मैंने यूएसबी विनिर्देशों में कई अन्य उदाहरण देखे हैं जिनमें त्रुटियां हैं।
संबंधित सवाल
नए सवाल
usb
हार्डवेयर क्वेश्चन ऑफ-टॉपिक हैं। यदि आपको USB हार्डवेयर सहायता की आवश्यकता है, तो https://superuser.com पर विचार करें। USB यूनिवर्सल सीरियल बस के लिए एक संक्षिप्त रूप है, जो USB कार्यान्वयन फोरम द्वारा परिभाषित सीरियल होस्ट-टू-डिवाइस प्रोटोकॉल के लिए एक मानक है।