Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit b86aaa7

Browse files
Merge pull request #110 from facchinm/pluggableUSB_bcd
PluggableUSB: modules modify bcdDevice value
2 parents 14e0f40 + 301d69d commit b86aaa7

File tree

10 files changed

+48
-0
lines changed

10 files changed

+48
-0
lines changed

‎cores/arduino/USB/PluggableUSBDevice.cpp‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ bool arduino::PluggableUSBDevice::plug(internal::PluggableUSBModule*node)
9595

9696
node->pluggedInterface = lastIf;
9797
lastIf += node->numInterfaces;
98+
product_release += node->getProductVersion();
9899
return true;
99100
}
100101

‎cores/arduino/USB/PluggableUSBDevice.h‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ class PluggableUSBModule {
5858
virtual void callback_set_interface(uint16_t interface, uint8_t alternate);
5959
virtual void init(EndpointResolver& resolver);
6060
virtual const uint8_t *string_iinterface_desc();
61+
virtual uint8_t getProductVersion();
6162

6263
uint8_t pluggedInterface;
6364

‎cores/arduino/USB/USBCDC.cpp‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -489,6 +489,11 @@ const uint8_t *USBCDC::string_iinterface_desc()
489489
return (const uint8_t *)extraDescriptor;
490490
}
491491

492+
uint8_t USBCDC::getProductVersion()
493+
{
494+
return 1;
495+
}
496+
492497
const uint8_t *USBCDC::string_iproduct_desc()
493498
{
494499
static const uint8_t stringIproductDescriptor[] = {

‎cores/arduino/USB/USBCDC.h‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,13 @@ class USBCDC: public internal::PluggableUSBModule{
144144
*/
145145
virtual const uint8_t *string_iproduct_desc();
146146

147+
/*
148+
* Get string product version
149+
*
150+
* Every module must declare a different number
151+
*/
152+
virtual uint8_t getProductVersion();
153+
147154
/*
148155
* Get string interface descriptor
149156
*

‎libraries/USBAudio/PluggableUSBAudio.h‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -274,6 +274,13 @@ class USBAudio: protected internal::PluggableUSBModule {
274274
virtual const uint8_t *string_iinterface_desc();
275275
virtual const uint8_t *configuration_desc(uint8_t index);
276276

277+
/*
278+
* Get string product version
279+
*
280+
* Every module must declare a different number
281+
*/
282+
virtual uint8_t getProductVersion();
283+
277284
private:
278285

279286
class AsyncWrite;

‎libraries/USBAudio/USBAudio.cpp‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -588,6 +588,11 @@ const uint8_t *USBAudio::configuration_desc(uint8_t index)
588588
return _config_descriptor;
589589
}
590590

591+
uint8_t USBAudio::getProductVersion()
592+
{
593+
return 2;
594+
}
595+
591596
const uint8_t *USBAudio::string_iinterface_desc()
592597
{
593598
static const uint8_t stringIinterfaceDescriptor[] = {

‎libraries/USBHID/PluggableUSBHID.h‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,13 @@ class USBHID: public internal::PluggableUSBModule {
163163
*/
164164
virtual uint16_t report_desc_length();
165165

166+
/*
167+
* Get string product version
168+
*
169+
* Every module must declare a different number
170+
*/
171+
virtual uint8_t getProductVersion();
172+
166173
/*
167174
* Get string product descriptor
168175
*

‎libraries/USBHID/USBHID.cpp‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -388,6 +388,10 @@ void USBHID::callback_set_interface(uint16_t interface, uint8_t alternate)
388388
assert_locked();
389389
}
390390

391+
uint8_t USBHID::getProductVersion()
392+
{
393+
return 4;
394+
}
391395

392396
const uint8_t *USBHID::string_iinterface_desc()
393397
{

‎libraries/USBMSD/PluggableUSBMSD.h‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -282,6 +282,13 @@ class USBMSD: public internal::PluggableUSBModule {
282282
// space for config descriptor
283283
uint8_t _configuration_descriptor[32];
284284

285+
/*
286+
* Get string product version
287+
*
288+
* Every module must declare a different number
289+
*/
290+
virtual uint8_t getProductVersion();
291+
285292
virtual const uint8_t *string_iproduct_desc();
286293
virtual const uint8_t *string_iinterface_desc();
287294
virtual const uint8_t *configuration_desc(uint8_t index);

‎libraries/USBMSD/USBMSD.cpp‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -311,6 +311,10 @@ void USBMSD::callback_set_interface(uint16_t interface, uint8_t alternate)
311311
//complete_set_interface(success);
312312
}
313313

314+
uint8_t USBMSD::getProductVersion()
315+
{
316+
return 8;
317+
}
314318

315319
const uint8_t *USBMSD::string_iinterface_desc()
316320
{

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /