diff --git a/_x_b_o_x_o_n_e_8cpp_source.html b/_x_b_o_x_o_n_e_8cpp_source.html index 290bedd8..4df32563 100644 --- a/_x_b_o_x_o_n_e_8cpp_source.html +++ b/_x_b_o_x_o_n_e_8cpp_source.html @@ -428,150 +428,169 @@ $(function() {
360  hatValue[RightHatX] = (int16_t)(((uint16_t)readBuf[15] << 8) | readBuf[14]);
361  hatValue[RightHatY] = (int16_t)(((uint16_t)readBuf[17] << 8) | readBuf[16]);
362 
-
363  //Notify(PSTR("\r\nButtonState"), 0x80);
-
364  //PrintHex<uint16_t>(ButtonState, 0x80);
-
365 
-
366  if(ButtonState != OldButtonState) {
-
367  ButtonClickState = ButtonState & ~OldButtonState; // Update click state variable
-
368  OldButtonState = ButtonState;
-
369  }
+
363  // Read and store share button separately
+
364  const bool newShare = (readBuf[22] & 0x01) ? 1 : 0;
+
365  shareClicked = ((sharePressed != newShare) && newShare) ? 1 : 0;
+
366  sharePressed = newShare;
+
367 
+
368  //Notify(PSTR("\r\nButtonState"), 0x80);
+
369  //PrintHex<uint16_t>(ButtonState, 0x80);
370 
-
371  // Handle click detection for triggers
-
372  if(triggerValue[0] != 0 && triggerValueOld[0] == 0)
-
373  L2Clicked = true;
-
374  triggerValueOld[0] = triggerValue[0];
-
375  if(triggerValue[1] != 0 && triggerValueOld[1] == 0)
-
376  R2Clicked = true;
-
377  triggerValueOld[1] = triggerValue[1];
-
378 }
-
379 
-
380 uint16_t XBOXONE::getButtonPress(ButtonEnum b) {
-
381  const int8_t index = getButtonIndexXbox(b); if (index < 0) return 0;
-
382  if(index == ButtonIndex(L2)) // These are analog buttons
-
383  return triggerValue[0];
-
384  else if(index == ButtonIndex(R2))
-
385  return triggerValue[1];
-
386  return (bool)(ButtonState & ((uint16_t)pgm_read_word(&XBOX_BUTTONS[index])));
-
387 }
-
388 
-
389 bool XBOXONE::getButtonClick(ButtonEnum b) {
-
390  const int8_t index = getButtonIndexXbox(b); if (index < 0) return 0;
-
391  if(index == ButtonIndex(L2)) {
-
392  if(L2Clicked) {
-
393  L2Clicked = false;
-
394  return true;
-
395  }
-
396  return false;
-
397  } else if(index == ButtonIndex(R2)) {
-
398  if(R2Clicked) {
-
399  R2Clicked = false;
-
400  return true;
-
401  }
-
402  return false;
-
403  }
-
404  uint16_t button = pgm_read_word(&XBOX_BUTTONS[index]);
-
405  bool click = (ButtonClickState & button);
-
406  ButtonClickState &= ~button; // Clear "click" event
-
407  return click;
-
408 }
-
409 
-
410 int16_t XBOXONE::getAnalogHat(AnalogHatEnum a) {
-
411  return hatValue[a];
-
412 }
-
413 
-
414 /* Xbox Controller commands */
-
415 uint8_t XBOXONE::XboxCommand(uint8_t* data, uint16_t nbytes) {
-
416  data[2] = cmdCounter++; // Increment the output command counter
-
417  uint8_t rcode = pUsb->outTransfer(bAddress, epInfo[ XBOX_ONE_OUTPUT_PIPE ].epAddr, nbytes, data);
-
418 #ifdef DEBUG_USB_HOST
-
419  if(rcode) {
-
420  Notify(PSTR("\r\nXboxCommand failed. Return: "), 0x80);
-
421  D_PrintHex<uint8_t > (rcode, 0x80);
+
371  if(ButtonState != OldButtonState) {
+
372  ButtonClickState = ButtonState & ~OldButtonState; // Update click state variable
+
373  OldButtonState = ButtonState;
+
374  }
+
375 
+
376  // Handle click detection for triggers
+
377  if(triggerValue[0] != 0 && triggerValueOld[0] == 0)
+
378  L2Clicked = true;
+
379  triggerValueOld[0] = triggerValue[0];
+
380  if(triggerValue[1] != 0 && triggerValueOld[1] == 0)
+
381  R2Clicked = true;
+
382  triggerValueOld[1] = triggerValue[1];
+
383 }
+
384 
+
385 uint16_t XBOXONE::getButtonPress(ButtonEnum b) {
+
386  // special handling for 'SHARE' button due to index collision with 'BACK',
+
387  // since the 'SHARE' value originally came from the PS4 controller and
+
388  // the 'SHARE' button was added to Xbox later with the Series S/X controllers
+
389  if (b == SHARE) return sharePressed;
+
390 
+
391  const int8_t index = getButtonIndexXbox(b); if (index < 0) return 0;
+
392  if(index == ButtonIndex(L2)) // These are analog buttons
+
393  return triggerValue[0];
+
394  else if(index == ButtonIndex(R2))
+
395  return triggerValue[1];
+
396  return (bool)(ButtonState & ((uint16_t)pgm_read_word(&XBOX_BUTTONS[index])));
+
397 }
+
398 
+
399 bool XBOXONE::getButtonClick(ButtonEnum b) {
+
400  // special handling for 'SHARE' button, ibid the above
+
401  if (b == SHARE) {
+
402  if (shareClicked) {
+
403  shareClicked = false;
+
404  return true;
+
405  }
+
406  return false;
+
407  }
+
408 
+
409  const int8_t index = getButtonIndexXbox(b); if (index < 0) return 0;
+
410  if(index == ButtonIndex(L2)) {
+
411  if(L2Clicked) {
+
412  L2Clicked = false;
+
413  return true;
+
414  }
+
415  return false;
+
416  } else if(index == ButtonIndex(R2)) {
+
417  if(R2Clicked) {
+
418  R2Clicked = false;
+
419  return true;
+
420  }
+
421  return false;
422  }
-
423 #endif
-
424  return rcode;
-
425 }
-
426 
-
427 // The Xbox One packets are described at: https://github.com/quantus/xbox-one-controller-protocol
-
428 void XBOXONE::onInit() {
-
429  // A short buzz to show the controller is active
-
430  uint8_t writeBuf[13];
-
431 
-
432  // Activate rumble
-
433  writeBuf[0] = 0x09;
-
434  writeBuf[1] = 0x00;
-
435  // Byte 2 is set in "XboxCommand"
-
436 
-
437  // Single rumble effect
-
438  writeBuf[3] = 0x09; // Substructure (what substructure rest of this packet has)
-
439  writeBuf[4] = 0x00; // Mode
-
440  writeBuf[5] = 0x0F; // Rumble mask (what motors are activated) (0000 lT rT L R)
-
441  writeBuf[6] = 0x04; // lT force
-
442  writeBuf[7] = 0x04; // rT force
-
443  writeBuf[8] = 0x20; // L force
-
444  writeBuf[9] = 0x20; // R force
-
445  writeBuf[10] = 0x80; // Length of pulse
-
446  writeBuf[11] = 0x00; // Off period
-
447  writeBuf[12] = 0x00; // Repeat count
-
448  XboxCommand(writeBuf, 13);
-
449 
-
450  if(pFuncOnInit)
-
451  pFuncOnInit(); // Call the user function
-
452 }
-
453 
-
454 void XBOXONE::setRumbleOff() {
-
455  uint8_t writeBuf[13];
-
456 
-
457  // Activate rumble
-
458  writeBuf[0] = 0x09;
-
459  writeBuf[1] = 0x00;
-
460  // Byte 2 is set in "XboxCommand"
-
461 
-
462  // Continuous rumble effect
-
463  writeBuf[3] = 0x09; // Substructure (what substructure rest of this packet has)
-
464  writeBuf[4] = 0x00; // Mode
-
465  writeBuf[5] = 0x0F; // Rumble mask (what motors are activated) (0000 lT rT L R)
-
466  writeBuf[6] = 0x00; // lT force
-
467  writeBuf[7] = 0x00; // rT force
-
468  writeBuf[8] = 0x00; // L force
-
469  writeBuf[9] = 0x00; // R force
-
470  writeBuf[10] = 0x00; // On period
-
471  writeBuf[11] = 0x00; // Off period
-
472  writeBuf[12] = 0x00; // Repeat count
-
473  XboxCommand(writeBuf, 13);
-
474 }
+
423  uint16_t button = pgm_read_word(&XBOX_BUTTONS[index]);
+
424  bool click = (ButtonClickState & button);
+
425  ButtonClickState &= ~button; // Clear "click" event
+
426  return click;
+
427 }
+
428 
+
429 int16_t XBOXONE::getAnalogHat(AnalogHatEnum a) {
+
430  return hatValue[a];
+
431 }
+
432 
+
433 /* Xbox Controller commands */
+
434 uint8_t XBOXONE::XboxCommand(uint8_t* data, uint16_t nbytes) {
+
435  data[2] = cmdCounter++; // Increment the output command counter
+
436  uint8_t rcode = pUsb->outTransfer(bAddress, epInfo[ XBOX_ONE_OUTPUT_PIPE ].epAddr, nbytes, data);
+
437 #ifdef DEBUG_USB_HOST
+
438  if(rcode) {
+
439  Notify(PSTR("\r\nXboxCommand failed. Return: "), 0x80);
+
440  D_PrintHex<uint8_t > (rcode, 0x80);
+
441  }
+
442 #endif
+
443  return rcode;
+
444 }
+
445 
+
446 // The Xbox One packets are described at: https://github.com/quantus/xbox-one-controller-protocol
+
447 void XBOXONE::onInit() {
+
448  // A short buzz to show the controller is active
+
449  uint8_t writeBuf[13];
+
450 
+
451  // Activate rumble
+
452  writeBuf[0] = 0x09;
+
453  writeBuf[1] = 0x00;
+
454  // Byte 2 is set in "XboxCommand"
+
455 
+
456  // Single rumble effect
+
457  writeBuf[3] = 0x09; // Substructure (what substructure rest of this packet has)
+
458  writeBuf[4] = 0x00; // Mode
+
459  writeBuf[5] = 0x0F; // Rumble mask (what motors are activated) (0000 lT rT L R)
+
460  writeBuf[6] = 0x04; // lT force
+
461  writeBuf[7] = 0x04; // rT force
+
462  writeBuf[8] = 0x20; // L force
+
463  writeBuf[9] = 0x20; // R force
+
464  writeBuf[10] = 0x80; // Length of pulse
+
465  writeBuf[11] = 0x00; // Off period
+
466  writeBuf[12] = 0x00; // Repeat count
+
467  XboxCommand(writeBuf, 13);
+
468 
+
469  if(pFuncOnInit)
+
470  pFuncOnInit(); // Call the user function
+
471 }
+
472 
+
473 void XBOXONE::setRumbleOff() {
+
474  uint8_t writeBuf[13];
475 
-
476 void XBOXONE::setRumbleOn(uint8_t leftTrigger, uint8_t rightTrigger, uint8_t leftMotor, uint8_t rightMotor) {
-
477  uint8_t writeBuf[13];
-
478 
-
479  // Activate rumble
-
480  writeBuf[0] = 0x09;
-
481  writeBuf[1] = 0x00;
-
482  // Byte 2 is set in "XboxCommand"
-
483 
-
484  // Continuous rumble effect
-
485  writeBuf[3] = 0x09; // Substructure (what substructure rest of this packet has)
-
486  writeBuf[4] = 0x00; // Mode
-
487  writeBuf[5] = 0x0F; // Rumble mask (what motors are activated) (0000 lT rT L R)
-
488  writeBuf[6] = leftTrigger; // lT force
-
489  writeBuf[7] = rightTrigger; // rT force
-
490  writeBuf[8] = leftMotor; // L force
-
491  writeBuf[9] = rightMotor; // R force
-
492  writeBuf[10] = 0xFF; // On period
-
493  writeBuf[11] = 0x00; // Off period
-
494  writeBuf[12] = 0xFF; // Repeat count
-
495  XboxCommand(writeBuf, 13);
-
496 }
+
476  // Activate rumble
+
477  writeBuf[0] = 0x09;
+
478  writeBuf[1] = 0x00;
+
479  // Byte 2 is set in "XboxCommand"
+
480 
+
481  // Continuous rumble effect
+
482  writeBuf[3] = 0x09; // Substructure (what substructure rest of this packet has)
+
483  writeBuf[4] = 0x00; // Mode
+
484  writeBuf[5] = 0x0F; // Rumble mask (what motors are activated) (0000 lT rT L R)
+
485  writeBuf[6] = 0x00; // lT force
+
486  writeBuf[7] = 0x00; // rT force
+
487  writeBuf[8] = 0x00; // L force
+
488  writeBuf[9] = 0x00; // R force
+
489  writeBuf[10] = 0x00; // On period
+
490  writeBuf[11] = 0x00; // Off period
+
491  writeBuf[12] = 0x00; // Repeat count
+
492  XboxCommand(writeBuf, 13);
+
493 }
+
494 
+
495 void XBOXONE::setRumbleOn(uint8_t leftTrigger, uint8_t rightTrigger, uint8_t leftMotor, uint8_t rightMotor) {
+
496  uint8_t writeBuf[13];
+
497 
+
498  // Activate rumble
+
499  writeBuf[0] = 0x09;
+
500  writeBuf[1] = 0x00;
+
501  // Byte 2 is set in "XboxCommand"
+
502 
+
503  // Continuous rumble effect
+
504  writeBuf[3] = 0x09; // Substructure (what substructure rest of this packet has)
+
505  writeBuf[4] = 0x00; // Mode
+
506  writeBuf[5] = 0x0F; // Rumble mask (what motors are activated) (0000 lT rT L R)
+
507  writeBuf[6] = leftTrigger; // lT force
+
508  writeBuf[7] = rightTrigger; // rT force
+
509  writeBuf[8] = leftMotor; // L force
+
510  writeBuf[9] = rightMotor; // R force
+
511  writeBuf[10] = 0xFF; // On period
+
512  writeBuf[11] = 0x00; // Off period
+
513  writeBuf[12] = 0xFF; // Repeat count
+
514  XboxCommand(writeBuf, 13);
+
515 }
XBOXONE::epInfo
EpInfo epInfo[XBOX_ONE_MAX_ENDPOINTS]
Definition: XBOXONE.h:185
USB::outTransfer
uint8_t outTransfer(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *data)
Definition: Usb.cpp:303
hrNAK
#define hrNAK
Definition: max3421e.h:218
USB_ENDPOINT_DESCRIPTOR::bInterval
uint8_t bInterval
Definition: usb_ch9.h:154
AddressPool::GetUsbDevicePtr
virtual UsbDevice * GetUsbDevicePtr(uint8_t addr)=0
-
XBOXONE::setRumbleOn
void setRumbleOn(uint8_t leftTrigger, uint8_t rightTrigger, uint8_t leftMotor, uint8_t rightMotor)
Definition: XBOXONE.cpp:476
+
XBOXONE::setRumbleOn
void setRumbleOn(uint8_t leftTrigger, uint8_t rightTrigger, uint8_t leftMotor, uint8_t rightMotor)
Definition: XBOXONE.cpp:495
AddressPool
Definition: address.h:90
EpInfo::bmSndToggle
uint8_t bmSndToggle
Definition: address.h:47
-
XBOXONE::getAnalogHat
int16_t getAnalogHat(AnalogHatEnum a)
Definition: XBOXONE.cpp:410
+
XBOXONE::getAnalogHat
int16_t getAnalogHat(AnalogHatEnum a)
Definition: XBOXONE.cpp:429
XBOXONE::XBOXONE
XBOXONE(USB *pUsb)
Definition: XBOXONE.cpp:27
NotifyFail
#define NotifyFail(...)
Definition: message.h:62
UsbDevice::lowspeed
bool lowspeed
Definition: address.h:86
@@ -581,6 +600,7 @@ $(function() {
AddressPool::AllocAddress
virtual uint8_t AllocAddress(uint8_t parent, bool is_hub=false, uint8_t port=0)=0
XBOX_BUTTONS
const uint16_t XBOX_BUTTONS[]
Definition: xboxEnums.h:41
USB_ERROR_CLASS_INSTANCE_ALREADY_IN_USE
#define USB_ERROR_CLASS_INSTANCE_ALREADY_IN_USE
Definition: UsbCore.h:98
+
SHARE
@ SHARE
Definition: controllerEnums.h:125
NotifyFailSetDevTblEntry
#define NotifyFailSetDevTblEntry(...)
Definition: message.h:58
USB::getDevDescr
uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)
defined(USB_METHODS_INLINE)
Definition: Usb.cpp:801
USB_ENDPOINT_DESCRIPTOR
Definition: usb_ch9.h:148
@@ -598,8 +618,8 @@ $(function() {
USB_DEVICE_DESCRIPTOR
Definition: usb_ch9.h:105
EpInfo::bmNakPower
uint8_t bmNakPower
Definition: address.h:49
XBOX_ONE_MAX_ENDPOINTS
#define XBOX_ONE_MAX_ENDPOINTS
Definition: XBOXONE.h:37
-
XBOXONE::setRumbleOff
void setRumbleOff()
Definition: XBOXONE.cpp:454
-
XBOXONE::getButtonClick
bool getButtonClick(ButtonEnum b)
Definition: XBOXONE.cpp:389
+
XBOXONE::setRumbleOff
void setRumbleOff()
Definition: XBOXONE.cpp:473
+
XBOXONE::getButtonClick
bool getButtonClick(ButtonEnum b)
Definition: XBOXONE.cpp:399
USB::getConfDescr
uint8_t getConfDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t conf, uint8_t *dataptr)
Definition: Usb.cpp:806
USB_NAK_MAX_POWER
#define USB_NAK_MAX_POWER
Definition: address.h:34
RightHatY
@ RightHatY
Definition: controllerEnums.h:226
@@ -617,7 +637,7 @@ $(function() {
USB_ERROR_EPINFO_IS_NULL
#define USB_ERROR_EPINFO_IS_NULL
Definition: UsbCore.h:96
UsbDevice
Definition: address.h:82
XBOXONE::pUsb
USB * pUsb
Definition: XBOXONE.h:181
-
XBOXONE::getButtonPress
uint16_t getButtonPress(ButtonEnum b)
Definition: XBOXONE.cpp:380
+
XBOXONE::getButtonPress
uint16_t getButtonPress(ButtonEnum b)
Definition: XBOXONE.cpp:385
XBOXONE::EndpointXtract
void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep)
Definition: XBOXONE.cpp:239
XBOX
@ XBOX
Definition: controllerEnums.h:151
USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL
#define USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL
Definition: UsbCore.h:95
diff --git a/_x_b_o_x_o_n_e_8h_source.html b/_x_b_o_x_o_n_e_8h_source.html index 14abc685..37b8cea1 100644 --- a/_x_b_o_x_o_n_e_8h_source.html +++ b/_x_b_o_x_o_n_e_8h_source.html @@ -202,20 +202,23 @@ $(function() {
231  bool L2Clicked; // These buttons are analog, so we use we use these bools to check if they where clicked or not
232  bool R2Clicked;
233 
-
234  uint8_t readBuf[XBOX_ONE_EP_MAXPKTSIZE]; // General purpose buffer for input data
-
235  uint8_t cmdCounter;
+
234  bool sharePressed; // This button doesn't fit in the bitfield
+
235  bool shareClicked;
236 
-
237  void readReport(); // Used to read the incoming data
-
238 
-
239  /* Private commands */
-
240  uint8_t XboxCommand(uint8_t* data, uint16_t nbytes);
-
241 };
-
242 #endif
+
237  uint8_t readBuf[XBOX_ONE_EP_MAXPKTSIZE]; // General purpose buffer for input data
+
238  uint8_t cmdCounter;
+
239 
+
240  void readReport(); // Used to read the incoming data
+
241 
+
242  /* Private commands */
+
243  uint8_t XboxCommand(uint8_t* data, uint16_t nbytes);
+
244 };
+
245 #endif
XBOXONE::epInfo
EpInfo epInfo[XBOX_ONE_MAX_ENDPOINTS]
Definition: XBOXONE.h:185
-
XBOXONE::setRumbleOn
void setRumbleOn(uint8_t leftTrigger, uint8_t rightTrigger, uint8_t leftMotor, uint8_t rightMotor)
Definition: XBOXONE.cpp:476
+
XBOXONE::setRumbleOn
void setRumbleOn(uint8_t leftTrigger, uint8_t rightTrigger, uint8_t leftMotor, uint8_t rightMotor)
Definition: XBOXONE.cpp:495
USBDeviceConfig
Definition: UsbCore.h:134
-
XBOXONE::getAnalogHat
int16_t getAnalogHat(AnalogHatEnum a)
Definition: XBOXONE.cpp:410
+
XBOXONE::getAnalogHat
int16_t getAnalogHat(AnalogHatEnum a)
Definition: XBOXONE.cpp:429
XBOXONE::attachOnInit
void attachOnInit(void(*funcOnInit)(void))
Definition: XBOXONE.h:159
XBOXONE::XBOXONE
XBOXONE(USB *pUsb)
Definition: XBOXONE.cpp:27
XBOXONE::XboxOneConnected
bool XboxOneConnected
Definition: XBOXONE.h:177
@@ -240,8 +243,8 @@ $(function() {
XBOXONE::PrintEndpointDescriptor
void PrintEndpointDescriptor(const USB_ENDPOINT_DESCRIPTOR *ep_ptr)
Definition: XBOXONE.cpp:265
XBOXONE
Definition: XBOXONE.h:67
XBOX_ONE_MAX_ENDPOINTS
#define XBOX_ONE_MAX_ENDPOINTS
Definition: XBOXONE.h:37
-
XBOXONE::setRumbleOff
void setRumbleOff()
Definition: XBOXONE.cpp:454
-
XBOXONE::getButtonClick
bool getButtonClick(ButtonEnum b)
Definition: XBOXONE.cpp:389
+
XBOXONE::setRumbleOff
void setRumbleOff()
Definition: XBOXONE.cpp:473
+
XBOXONE::getButtonClick
bool getButtonClick(ButtonEnum b)
Definition: XBOXONE.cpp:399
XBOX_VID1
#define XBOX_VID1
Definition: XBOXONE.h:42
EpInfo
Definition: address.h:39
XBOX_VID5
#define XBOX_VID5
Definition: XBOXONE.h:54
@@ -249,7 +252,7 @@ $(function() {
XBOX_VID3
#define XBOX_VID3
Definition: XBOXONE.h:52
XBOX_ONE_PID10
#define XBOX_ONE_PID10
Definition: XBOXONE.h:62
XBOXONE::pUsb
USB * pUsb
Definition: XBOXONE.h:181
-
XBOXONE::getButtonPress
uint16_t getButtonPress(ButtonEnum b)
Definition: XBOXONE.cpp:380
+
XBOXONE::getButtonPress
uint16_t getButtonPress(ButtonEnum b)
Definition: XBOXONE.cpp:385
XBOXONE::EndpointXtract
void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep)
Definition: XBOXONE.cpp:239
XBOXONE::GetAddress
virtual uint8_t GetAddress()
Definition: XBOXONE.h:99
XBOXONE::Init
virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed)
Definition: XBOXONE.cpp:46
diff --git a/class_x_b_o_x_o_n_e.html b/class_x_b_o_x_o_n_e.html index 108aeb9a..4c71b046 100644 --- a/class_x_b_o_x_o_n_e.html +++ b/class_x_b_o_x_o_n_e.html @@ -474,7 +474,7 @@ Protected Attributes
Returns
getButtonClick(ButtonEnum b) will return a bool, while getButtonPress(ButtonEnum b) will return a word if reading L2 or R2.
-

Definition at line 380 of file XBOXONE.cpp.

+

Definition at line 385 of file XBOXONE.cpp.

@@ -503,7 +503,7 @@ Protected Attributes
Returns
getButtonClick(ButtonEnum b) will return a bool, while getButtonPress(ButtonEnum b) will return a word if reading L2 or R2.
-

Definition at line 389 of file XBOXONE.cpp.

+

Definition at line 399 of file XBOXONE.cpp.

@@ -530,7 +530,7 @@ Protected Attributes
Returns
Returns a signed 16-bit integer.
-

Definition at line 410 of file XBOXONE.cpp.

+

Definition at line 429 of file XBOXONE.cpp.

@@ -584,7 +584,7 @@ Protected Attributes

Used to set the rumble off.

-

Definition at line 454 of file XBOXONE.cpp.

+

Definition at line 473 of file XBOXONE.cpp.

@@ -635,7 +635,7 @@ Protected Attributes -

Definition at line 476 of file XBOXONE.cpp.

+

Definition at line 495 of file XBOXONE.cpp.

diff --git a/search/all_12.js b/search/all_12.js index 4c89b65d..9c31a533 100644 --- a/search/all_12.js +++ b/search/all_12.js @@ -35,7 +35,7 @@ var searchData= ['reqtype_5fu_2488',['ReqType_u',['../struct_s_e_t_u_p___p_k_t.html#acafa3fd9223d8dceaf9ae1353780a7b1',1,'SETUP_PKT']]], ['requestsenseresponce_2489',['RequestSenseResponce',['../struct_request_sense_responce.html',1,'']]], ['res_2490',['Res',['../struct_inquiry_response.html#a9f642c5fccc1c87cf6b444a138b6aa4b',1,'InquiryResponse']]], - ['reserved_2491',['Reserved',['../struct_inquiry_response.html#abb4a48d4fc326ad932fb41c82fe289f3',1,'InquiryResponse::Reserved()'],['../struct_hub_descriptor.html#a0c3292fe67fdbdab6ceac8b198ef44bf',1,'HubDescriptor::Reserved()'],['../struct_p_s5_data.html#ab953374ed47371a44316223a7912acee',1,'PS5Data::reserved()'],['../union_xbox_one_s_buttons.html#a461a969454844afc31875e430b8f27eb',1,'XboxOneSButtons::reserved()']]], + ['reserved_2491',['reserved',['../struct_p_s5_data.html#ab953374ed47371a44316223a7912acee',1,'PS5Data::reserved()'],['../union_xbox_one_s_buttons.html#a461a969454844afc31875e430b8f27eb',1,'XboxOneSButtons::reserved()'],['../struct_inquiry_response.html#abb4a48d4fc326ad932fb41c82fe289f3',1,'InquiryResponse::Reserved()'],['../struct_hub_descriptor.html#a0c3292fe67fdbdab6ceac8b198ef44bf',1,'HubDescriptor::Reserved()']]], ['reserved2_2492',['reserved2',['../struct_p_s5_data.html#adbb3681b8be4d989d990fd0dabd1311e',1,'PS5Data::reserved2()'],['../union_xbox_one_s_buttons.html#a2c372291d4f6dd4c8a42414a72f792a3',1,'XboxOneSButtons::reserved2()']]], ['reserved4_2493',['Reserved4',['../struct_inquiry_response.html#ae5c315ca0c47104b17d5bde7c4d485a6',1,'InquiryResponse']]], ['reset_2494',['reset',['../class_m_a_x3421e.html#a15b78912dd4b1c96b6ad141117dcb7ee',1,'MAX3421e::reset()'],['../class_bluetooth_service.html#aa7c81841d4e898e9dc91533da6d7ab64',1,'BluetoothService::Reset()'],['../class_b_t_h_i_d.html#af4c58b81414a037910dd6fb78f97b96e',1,'BTHID::Reset()'],['../class_p_s3_b_t.html#a576d72cdf12af58ae59c8f2a02f99c0f',1,'PS3BT::Reset()'],['../class_p_s4_parser.html#a24640b2362b0f6f51785fbd3dd4f13f9',1,'PS4Parser::Reset()'],['../class_p_s5_parser.html#a136b97d303936a6f3c13bb74fad521d1',1,'PS5Parser::Reset()'],['../class_p_s5_trigger.html#ad537a2d55a7d131e89e4257f015b741e',1,'PS5Trigger::Reset()'],['../class_p_s_buzz.html#a5bb4f2ee80ca9d10d87031b57bd09268',1,'PSBuzz::Reset()'],['../class_s_p_p.html#ae2c661bd46cd2d74bd29c4c771cd2ef0',1,'SPP::Reset()'],['../class_switch_pro_parser.html#ac2f27f3be01e18845d102bd6f24c87fa',1,'SwitchProParser::Reset()'],['../class_w_i_i.html#a769ee2f9a0088da097438bc3cc677f7c',1,'WII::Reset()'],['../class_x_b_o_x_o_n_e_s_parser.html#ac71c0a2e5e6e61f3bb57409c991c7bcb',1,'XBOXONESParser::Reset()']]], diff --git a/search/all_15.js b/search/all_15.js index 5f8cb00e..ff5c1aab 100644 --- a/search/all_15.js +++ b/search/all_15.js @@ -21,7 +21,7 @@ var searchData= ['usagepagefunctions_2883',['usagePageFunctions',['../class_report_desc_parser_base.html#af91679187bb24d185979b3ec045c215b',1,'ReportDescParserBase']]], ['usagepagetitles0_2884',['usagePageTitles0',['../class_report_desc_parser_base.html#a7f723a8b7bddd061aee7f0af06aeae08',1,'ReportDescParserBase']]], ['usagepagetitles1_2885',['usagePageTitles1',['../class_report_desc_parser_base.html#ae6dadd42986663f261aac948d24911a6',1,'ReportDescParserBase']]], - ['usb_2886',['USB',['../class_u_s_b.html',1,'USB'],['../class_u_s_b.html#a8ff8cd03496bdcb0ca26f18878ad299d',1,'USB::USB()'],['../struct_p_s4_status.html#a3e7fc4ece250c83c7753e3f557f6d710',1,'PS4Status::usb()'],['../union_p_s5_status.html#a970883a8b418eb0068adace875aa601f',1,'PS5Status::usb()']]], + ['usb_2886',['USB',['../class_u_s_b.html',1,'USB'],['../struct_p_s4_status.html#a3e7fc4ece250c83c7753e3f557f6d710',1,'PS4Status::usb()'],['../union_p_s5_status.html#a970883a8b418eb0068adace875aa601f',1,'PS5Status::usb()'],['../class_u_s_b.html#a8ff8cd03496bdcb0ca26f18878ad299d',1,'USB::USB()']]], ['usb_2ecpp_2887',['Usb.cpp',['../_usb_8cpp.html',1,'']]], ['usb_2eh_2888',['Usb.h',['../_usb_8h.html',1,'']]], ['usb_5fattached_5fsubstate_5fget_5fdevice_5fdescriptor_5fsize_2889',['USB_ATTACHED_SUBSTATE_GET_DEVICE_DESCRIPTOR_SIZE',['../_usb_core_8h.html#a23ebcbb956f600e06435b28ae0c855d4',1,'UsbCore.h']]], diff --git a/search/all_9.js b/search/all_9.js index a67b9792..2b7281ac 100644 --- a/search/all_9.js +++ b/search/all_9.js @@ -12,7 +12,7 @@ var searchData= ['incomingwii_1078',['incomingWii',['../class_b_t_d.html#a4dc8f94fe85028f3d54f13dde1e5b4ee',1,'BTD']]], ['info_1079',['info',['../struct_b_a_s_i_c_c_d_b.html#ae796279e9083692e308e7819349a79fc',1,'BASICCDB']]], ['information_1080',['Information',['../struct_request_sense_responce.html#a4342aa28405753a185d867060fec931e',1,'RequestSenseResponce']]], - ['init_1081',['init',['../class_max___l_c_d.html#a3205e9a432c808422867c1398d665247',1,'Max_LCD::init()'],['../class_s_pi.html#a52c803966a9437caf57d00c267121373',1,'SPi::init()'],['../class_a_d_k.html#a8c5c2e212c748966ccd863499d202063',1,'ADK::Init()'],['../class_a_m_b_x.html#a676e193add396dd56527cf538765d01c',1,'AMBX::Init()'],['../class_b_t_d.html#a48608619d8253972dd132edbb3001c5f',1,'BTD::Init()'],['../class_x_r21_b1411.html#adbaf541661c1938fa33a9cedd9e9a4ba',1,'XR21B1411::Init()'],['../class_a_c_m.html#ad3210651d58c77d3ded4b4b83a9476b7',1,'ACM::Init()'],['../class_f_t_d_i.html#a2d40115414dadfee8c284e0f5d397621',1,'FTDI::Init()'],['../class_p_l2303.html#a23c849fb504c1fe6f46c84d04c0a47cf',1,'PL2303::Init()'],['../class_h_i_d_boot.html#aa30d7cf292378153f41d8a13380c6119',1,'HIDBoot::Init()'],['../class_h_i_d_composite.html#ac5d02f2915f83817f2121acdefc7f573',1,'HIDComposite::Init()'],['../class_bulk_only.html#a51870da9badc037166b86da60bcda6ea',1,'BulkOnly::Init()'],['../class_p_s3_u_s_b.html#a0083545cb99fb8786e60281fe7a9050d',1,'PS3USB::Init()'],['../class_u_s_b_device_config.html#a3706cf6b18785aff823171e280bab738',1,'USBDeviceConfig::Init()'],['../class_u_s_b_h___m_i_d_i.html#a9c8d149a823d2b8d1c3579f0f445cf19',1,'USBH_MIDI::Init()'],['../class_m_a_x3421e.html#a2866487c20c832731fd4fb478acb0195',1,'MAX3421e::Init()'],['../class_m_a_x3421e.html#a332ce159a413244be9b95b8e08888bb8',1,'MAX3421e::Init(int mseconds)'],['../class_u_s_b_hub.html#ab2b2e257556e3d59f9258dd84d6f636e',1,'USBHub::Init()'],['../class_x_b_o_x_o_l_d.html#a7260253c704b147e6dfd762e13222434',1,'XBOXOLD::Init()'],['../class_x_b_o_x_o_n_e.html#aeb2d90a3d77fc252a12f5ed54c3f370e',1,'XBOXONE::Init()'],['../class_x_b_o_x_r_e_c_v.html#a07de216bf16a83501d74463c00bf1fc8',1,'XBOXRECV::Init()'],['../class_x_b_o_x_u_s_b.html#a9d2ad06354787bc252058bb28015b56e',1,'XBOXUSB::Init()']]], + ['init_1081',['Init',['../class_a_d_k.html#a8c5c2e212c748966ccd863499d202063',1,'ADK::Init()'],['../class_a_m_b_x.html#a676e193add396dd56527cf538765d01c',1,'AMBX::Init()'],['../class_b_t_d.html#a48608619d8253972dd132edbb3001c5f',1,'BTD::Init()'],['../class_x_r21_b1411.html#adbaf541661c1938fa33a9cedd9e9a4ba',1,'XR21B1411::Init()'],['../class_a_c_m.html#ad3210651d58c77d3ded4b4b83a9476b7',1,'ACM::Init()'],['../class_f_t_d_i.html#a2d40115414dadfee8c284e0f5d397621',1,'FTDI::Init()'],['../class_p_l2303.html#a23c849fb504c1fe6f46c84d04c0a47cf',1,'PL2303::Init()'],['../class_h_i_d_boot.html#aa30d7cf292378153f41d8a13380c6119',1,'HIDBoot::Init()'],['../class_h_i_d_composite.html#ac5d02f2915f83817f2121acdefc7f573',1,'HIDComposite::Init()'],['../class_bulk_only.html#a51870da9badc037166b86da60bcda6ea',1,'BulkOnly::Init()'],['../class_p_s3_u_s_b.html#a0083545cb99fb8786e60281fe7a9050d',1,'PS3USB::Init()'],['../class_u_s_b_device_config.html#a3706cf6b18785aff823171e280bab738',1,'USBDeviceConfig::Init()'],['../class_u_s_b_h___m_i_d_i.html#a9c8d149a823d2b8d1c3579f0f445cf19',1,'USBH_MIDI::Init()'],['../class_m_a_x3421e.html#a2866487c20c832731fd4fb478acb0195',1,'MAX3421e::Init()'],['../class_m_a_x3421e.html#a332ce159a413244be9b95b8e08888bb8',1,'MAX3421e::Init(int mseconds)'],['../class_u_s_b_hub.html#ab2b2e257556e3d59f9258dd84d6f636e',1,'USBHub::Init()'],['../class_x_b_o_x_o_l_d.html#a7260253c704b147e6dfd762e13222434',1,'XBOXOLD::Init()'],['../class_x_b_o_x_o_n_e.html#aeb2d90a3d77fc252a12f5ed54c3f370e',1,'XBOXONE::Init()'],['../class_x_b_o_x_r_e_c_v.html#a07de216bf16a83501d74463c00bf1fc8',1,'XBOXRECV::Init()'],['../class_x_b_o_x_u_s_b.html#a9d2ad06354787bc252058bb28015b56e',1,'XBOXUSB::Init()'],['../class_max___l_c_d.html#a3205e9a432c808422867c1398d665247',1,'Max_LCD::init()'],['../class_s_pi.html#a52c803966a9437caf57d00c267121373',1,'SPi::init()']]], ['initialize_1082',['Initialize',['../class_hex_dumper.html#accd2712258f54a8072eae3d2ad8cceba',1,'HexDumper::Initialize()'],['../class_h_i_d_composite.html#a38cf93412d960797f0877e675aff9dd1',1,'HIDComposite::Initialize()'],['../class_multi_byte_value_parser.html#a9bd52b4e180d68dbb8f97c059250f4c3',1,'MultiByteValueParser::Initialize()'],['../class_byte_skipper.html#a274a09686d5535e11961d2ccf38ffa08',1,'ByteSkipper::Initialize()'],['../class_p_t_p_list_parser.html#a18f6c785d1ddb51d7e158810644079b7',1,'PTPListParser::Initialize()'],['../class_sink_parser.html#a3c2ac73b459e326e955c26d658733f9f',1,'SinkParser::Initialize()']]], ['inquiryresponse_1083',['InquiryResponse',['../struct_inquiry_response.html',1,'']]], ['internal_5fdelay_1084',['INTERNAL_DELAY',['../cdcprolific_8h.html#ad77e166d8f5931c693952f5e89c2b732',1,'cdcprolific.h']]], diff --git a/search/functions_8.js b/search/functions_8.js index 862b44f0..6d419f05 100644 --- a/search/functions_8.js +++ b/search/functions_8.js @@ -2,7 +2,7 @@ var searchData= [ ['idproduct_3671',['idProduct',['../class_u_s_b_h___m_i_d_i.html#ac7b56c71f8424ec0175f390264776bdd',1,'USBH_MIDI']]], ['idvendor_3672',['idVendor',['../class_u_s_b_h___m_i_d_i.html#aa7d217e3479a9116f8f2ce90c1177317',1,'USBH_MIDI']]], - ['init_3673',['init',['../class_max___l_c_d.html#a3205e9a432c808422867c1398d665247',1,'Max_LCD::init()'],['../class_s_pi.html#a52c803966a9437caf57d00c267121373',1,'SPi::init()'],['../class_a_d_k.html#a8c5c2e212c748966ccd863499d202063',1,'ADK::Init()'],['../class_a_m_b_x.html#a676e193add396dd56527cf538765d01c',1,'AMBX::Init()'],['../class_b_t_d.html#a48608619d8253972dd132edbb3001c5f',1,'BTD::Init()'],['../class_x_r21_b1411.html#adbaf541661c1938fa33a9cedd9e9a4ba',1,'XR21B1411::Init()'],['../class_a_c_m.html#ad3210651d58c77d3ded4b4b83a9476b7',1,'ACM::Init()'],['../class_f_t_d_i.html#a2d40115414dadfee8c284e0f5d397621',1,'FTDI::Init()'],['../class_p_l2303.html#a23c849fb504c1fe6f46c84d04c0a47cf',1,'PL2303::Init()'],['../class_h_i_d_boot.html#aa30d7cf292378153f41d8a13380c6119',1,'HIDBoot::Init()'],['../class_h_i_d_composite.html#ac5d02f2915f83817f2121acdefc7f573',1,'HIDComposite::Init()'],['../class_bulk_only.html#a51870da9badc037166b86da60bcda6ea',1,'BulkOnly::Init()'],['../class_p_s3_u_s_b.html#a0083545cb99fb8786e60281fe7a9050d',1,'PS3USB::Init()'],['../class_u_s_b_device_config.html#a3706cf6b18785aff823171e280bab738',1,'USBDeviceConfig::Init()'],['../class_u_s_b_h___m_i_d_i.html#a9c8d149a823d2b8d1c3579f0f445cf19',1,'USBH_MIDI::Init()'],['../class_m_a_x3421e.html#a2866487c20c832731fd4fb478acb0195',1,'MAX3421e::Init()'],['../class_m_a_x3421e.html#a332ce159a413244be9b95b8e08888bb8',1,'MAX3421e::Init(int mseconds)'],['../class_u_s_b_hub.html#ab2b2e257556e3d59f9258dd84d6f636e',1,'USBHub::Init()'],['../class_x_b_o_x_o_l_d.html#a7260253c704b147e6dfd762e13222434',1,'XBOXOLD::Init()'],['../class_x_b_o_x_o_n_e.html#aeb2d90a3d77fc252a12f5ed54c3f370e',1,'XBOXONE::Init()'],['../class_x_b_o_x_r_e_c_v.html#a07de216bf16a83501d74463c00bf1fc8',1,'XBOXRECV::Init()'],['../class_x_b_o_x_u_s_b.html#a9d2ad06354787bc252058bb28015b56e',1,'XBOXUSB::Init()']]], + ['init_3673',['Init',['../class_a_d_k.html#a8c5c2e212c748966ccd863499d202063',1,'ADK::Init()'],['../class_a_m_b_x.html#a676e193add396dd56527cf538765d01c',1,'AMBX::Init()'],['../class_b_t_d.html#a48608619d8253972dd132edbb3001c5f',1,'BTD::Init()'],['../class_x_r21_b1411.html#adbaf541661c1938fa33a9cedd9e9a4ba',1,'XR21B1411::Init()'],['../class_a_c_m.html#ad3210651d58c77d3ded4b4b83a9476b7',1,'ACM::Init()'],['../class_f_t_d_i.html#a2d40115414dadfee8c284e0f5d397621',1,'FTDI::Init()'],['../class_p_l2303.html#a23c849fb504c1fe6f46c84d04c0a47cf',1,'PL2303::Init()'],['../class_h_i_d_boot.html#aa30d7cf292378153f41d8a13380c6119',1,'HIDBoot::Init()'],['../class_h_i_d_composite.html#ac5d02f2915f83817f2121acdefc7f573',1,'HIDComposite::Init()'],['../class_bulk_only.html#a51870da9badc037166b86da60bcda6ea',1,'BulkOnly::Init()'],['../class_p_s3_u_s_b.html#a0083545cb99fb8786e60281fe7a9050d',1,'PS3USB::Init()'],['../class_u_s_b_device_config.html#a3706cf6b18785aff823171e280bab738',1,'USBDeviceConfig::Init()'],['../class_u_s_b_h___m_i_d_i.html#a9c8d149a823d2b8d1c3579f0f445cf19',1,'USBH_MIDI::Init()'],['../class_m_a_x3421e.html#a2866487c20c832731fd4fb478acb0195',1,'MAX3421e::Init()'],['../class_m_a_x3421e.html#a332ce159a413244be9b95b8e08888bb8',1,'MAX3421e::Init(int mseconds)'],['../class_u_s_b_hub.html#ab2b2e257556e3d59f9258dd84d6f636e',1,'USBHub::Init()'],['../class_x_b_o_x_o_l_d.html#a7260253c704b147e6dfd762e13222434',1,'XBOXOLD::Init()'],['../class_x_b_o_x_o_n_e.html#aeb2d90a3d77fc252a12f5ed54c3f370e',1,'XBOXONE::Init()'],['../class_x_b_o_x_r_e_c_v.html#a07de216bf16a83501d74463c00bf1fc8',1,'XBOXRECV::Init()'],['../class_x_b_o_x_u_s_b.html#a9d2ad06354787bc252058bb28015b56e',1,'XBOXUSB::Init()'],['../class_max___l_c_d.html#a3205e9a432c808422867c1398d665247',1,'Max_LCD::init()'],['../class_s_pi.html#a52c803966a9437caf57d00c267121373',1,'SPi::init()']]], ['initialize_3674',['Initialize',['../class_hex_dumper.html#accd2712258f54a8072eae3d2ad8cceba',1,'HexDumper::Initialize()'],['../class_h_i_d_composite.html#a38cf93412d960797f0877e675aff9dd1',1,'HIDComposite::Initialize()'],['../class_multi_byte_value_parser.html#a9bd52b4e180d68dbb8f97c059250f4c3',1,'MultiByteValueParser::Initialize()'],['../class_byte_skipper.html#a274a09686d5535e11961d2ccf38ffa08',1,'ByteSkipper::Initialize()'],['../class_p_t_p_list_parser.html#a18f6c785d1ddb51d7e158810644079b7',1,'PTPListParser::Initialize()'],['../class_sink_parser.html#a3c2ac73b459e326e955c26d658733f9f',1,'SinkParser::Initialize()']]], ['inthandler_3675',['IntHandler',['../class_m_a_x3421e.html#af88faea04dd27cf354cf0643cc7acef2',1,'MAX3421e']]], ['intransfer_3676',['inTransfer',['../class_u_s_b.html#aead4d2040c641d55176854b236804088',1,'USB']]], diff --git a/search/variables_11.js b/search/variables_11.js index 90d4edd2..f206fb4f 100644 --- a/search/variables_11.js +++ b/search/variables_11.js @@ -16,7 +16,7 @@ var searchData= ['reportcounter_5144',['reportCounter',['../union_p_s4_buttons.html#a5c27c151ad76a3675dce1eda1a3e4cc4',1,'PS4Buttons']]], ['reqtype_5fu_5145',['ReqType_u',['../struct_s_e_t_u_p___p_k_t.html#acafa3fd9223d8dceaf9ae1353780a7b1',1,'SETUP_PKT']]], ['res_5146',['Res',['../struct_inquiry_response.html#a9f642c5fccc1c87cf6b444a138b6aa4b',1,'InquiryResponse']]], - ['reserved_5147',['Reserved',['../struct_inquiry_response.html#abb4a48d4fc326ad932fb41c82fe289f3',1,'InquiryResponse::Reserved()'],['../struct_hub_descriptor.html#a0c3292fe67fdbdab6ceac8b198ef44bf',1,'HubDescriptor::Reserved()'],['../struct_p_s5_data.html#ab953374ed47371a44316223a7912acee',1,'PS5Data::reserved()'],['../union_xbox_one_s_buttons.html#a461a969454844afc31875e430b8f27eb',1,'XboxOneSButtons::reserved()']]], + ['reserved_5147',['reserved',['../struct_p_s5_data.html#ab953374ed47371a44316223a7912acee',1,'PS5Data::reserved()'],['../union_xbox_one_s_buttons.html#a461a969454844afc31875e430b8f27eb',1,'XboxOneSButtons::reserved()'],['../struct_inquiry_response.html#abb4a48d4fc326ad932fb41c82fe289f3',1,'InquiryResponse::Reserved()'],['../struct_hub_descriptor.html#a0c3292fe67fdbdab6ceac8b198ef44bf',1,'HubDescriptor::Reserved()']]], ['reserved2_5148',['reserved2',['../struct_p_s5_data.html#adbb3681b8be4d989d990fd0dabd1311e',1,'PS5Data::reserved2()'],['../union_xbox_one_s_buttons.html#a2c372291d4f6dd4c8a42414a72f792a3',1,'XboxOneSButtons::reserved2()']]], ['reserved4_5149',['Reserved4',['../struct_inquiry_response.html#ae5c315ca0c47104b17d5bde7c4d485a6',1,'InquiryResponse']]], ['responsedataformat_5150',['ResponseDataFormat',['../struct_inquiry_response.html#a801e10546dedbd134568bef84f1b287a',1,'InquiryResponse']]],