diff --git a/_a_m_b_x_8cpp.html b/_a_m_b_x_8cpp.html new file mode 100644 index 00000000..28757eb2 --- /dev/null +++ b/_a_m_b_x_8cpp.html @@ -0,0 +1,91 @@ + + + + + + + +USB Host Shield 2.0: AMBX.cpp File Reference + + + + + + + + + + +
+
+ + + + + + +
+
USB Host Shield 2.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
AMBX.cpp File Reference
+
+
+
#include "AMBX.h"
+
+Include dependency graph for AMBX.cpp:
+
+
+ + + + + + +
+
+

Go to the source code of this file.

+
+ + + + diff --git a/_a_m_b_x_8cpp__incl.map b/_a_m_b_x_8cpp__incl.map new file mode 100644 index 00000000..eae774c1 --- /dev/null +++ b/_a_m_b_x_8cpp__incl.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/_a_m_b_x_8cpp__incl.md5 b/_a_m_b_x_8cpp__incl.md5 new file mode 100644 index 00000000..a2fb831a --- /dev/null +++ b/_a_m_b_x_8cpp__incl.md5 @@ -0,0 +1 @@ +ef7037ac2a32980ef6831005da54ed43 \ No newline at end of file diff --git a/_a_m_b_x_8cpp__incl.png b/_a_m_b_x_8cpp__incl.png new file mode 100644 index 00000000..8d421e59 Binary files /dev/null and b/_a_m_b_x_8cpp__incl.png differ diff --git a/_a_m_b_x_8cpp_source.html b/_a_m_b_x_8cpp_source.html new file mode 100644 index 00000000..0b35fea8 --- /dev/null +++ b/_a_m_b_x_8cpp_source.html @@ -0,0 +1,394 @@ + + + + + + + +USB Host Shield 2.0: AMBX.cpp Source File + + + + + + + + + + +
+
+ + + + + + +
+
USB Host Shield 2.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
AMBX.cpp
+
+
+Go to the documentation of this file.
1 /* Copyright (C) 2021 Aran Vink. All rights reserved.
+
2 
+
3  This software may be distributed and modified under the terms of the GNU
+
4  General Public License version 2 (GPL2) as published by the Free Software
+
5  Foundation and appearing in the file GPL2.TXT included in the packaging of
+
6  this file. Please note that GPL2 Section 2[b] requires that all works based
+
7  on this software must also be made publicly available under the terms of
+
8  the GPL2 ("Copyleft").
+
9 
+
10  Contact information
+
11  -------------------
+
12 
+
13  Aran Vink
+
14  e-mail : aranvink@gmail.com
+
15  */
+
16 
+
17 #include "AMBX.h"
+
18 // To enable serial debugging see "settings.h"
+
19 //#define EXTRADEBUG // Uncomment to get even more debugging data
+
20 
+ +
22 pUsb(p), // pointer to USB class instance - mandatory
+
23 bAddress(0) // device address - mandatory
+
24 {
+
25  for(uint8_t i = 0; i < AMBX_MAX_ENDPOINTS; i++) {
+
26  epInfo[i].epAddr = 0;
+
27  epInfo[i].maxPktSize = (i) ? 0 : 8;
+
28  epInfo[i].bmSndToggle = 0;
+
29  epInfo[i].bmRcvToggle = 0;
+ +
31  }
+
32 
+
33  if(pUsb) // register in USB subsystem
+
34  pUsb->RegisterDeviceClass(this); //set devConfig[] entry
+
35 }
+
36 
+
37 uint8_t AMBX::Init(uint8_t parent, uint8_t port, bool lowspeed) {
+
38  uint8_t buf[sizeof (USB_DEVICE_DESCRIPTOR)];
+
39  USB_DEVICE_DESCRIPTOR * udd = reinterpret_cast<USB_DEVICE_DESCRIPTOR*>(buf);
+
40  uint8_t rcode;
+
41  UsbDevice *p = NULL;
+
42  EpInfo *oldep_ptr = NULL;
+
43  uint16_t PID;
+
44  uint16_t VID;
+
45 
+
46  // get memory address of USB device address pool
+
47  AddressPool &addrPool = pUsb->GetAddressPool();
+
48 #ifdef EXTRADEBUG
+
49  Notify(PSTR("\r\nAMBX Init"), 0x80);
+
50 #endif
+
51  // check if address has already been assigned to an instance
+
52  if(bAddress) {
+
53 #ifdef DEBUG_USB_HOST
+
54  Notify(PSTR("\r\nAddress in use"), 0x80);
+
55 #endif
+ +
57  }
+
58 
+
59  // Get pointer to pseudo device with address 0 assigned
+
60  p = addrPool.GetUsbDevicePtr(0);
+
61 
+
62  if(!p) {
+
63 #ifdef DEBUG_USB_HOST
+
64  Notify(PSTR("\r\nAddress not found"), 0x80);
+
65 #endif
+ +
67  }
+
68 
+
69  if(!p->epinfo) {
+
70 #ifdef DEBUG_USB_HOST
+
71  Notify(PSTR("\r\nepinfo is null"), 0x80);
+
72 #endif
+ +
74  }
+
75 
+
76  // Save old pointer to EP_RECORD of address 0
+
77  oldep_ptr = p->epinfo;
+
78 
+
79  // Temporary assign new pointer to epInfo to p->epinfo in order to avoid toggle inconsistence
+
80  p->epinfo = epInfo;
+
81 
+
82  p->lowspeed = lowspeed;
+
83 
+
84  // Get device descriptor
+
85  rcode = pUsb->getDevDescr(0, 0, sizeof (USB_DEVICE_DESCRIPTOR), (uint8_t*)buf); // Get device descriptor - addr, ep, nbytes, data
+
86  // Restore p->epinfo
+
87  p->epinfo = oldep_ptr;
+
88 
+
89  if(rcode)
+
90  goto FailGetDevDescr;
+
91 
+
92  VID = udd->idVendor;
+
93  PID = udd->idProduct;
+
94 
+
95  if(VID != AMBX_VID || (PID != AMBX_PID))
+
96  goto FailUnknownDevice;
+
97 
+
98  // Allocate new address according to device class
+
99  bAddress = addrPool.AllocAddress(parent, false, port);
+
100 
+
101  if(!bAddress)
+ +
103 
+
104  // Extract Max Packet Size from device descriptor
+
105  epInfo[0].maxPktSize = udd->bMaxPacketSize0;
+
106 
+
107  // Assign new address to the device
+
108  rcode = pUsb->setAddr(0, 0, bAddress);
+
109  if(rcode) {
+
110  p->lowspeed = false;
+
111  addrPool.FreeAddress(bAddress);
+
112  bAddress = 0;
+
113 #ifdef DEBUG_USB_HOST
+
114  Notify(PSTR("\r\nsetAddr: "), 0x80);
+
115  D_PrintHex<uint8_t > (rcode, 0x80);
+
116 #endif
+
117  return rcode;
+
118  }
+
119 #ifdef EXTRADEBUG
+
120  Notify(PSTR("\r\nAddr: "), 0x80);
+
121  D_PrintHex<uint8_t > (bAddress, 0x80);
+
122 #endif
+
123 
+
124  p->lowspeed = false;
+
125 
+
126  //get pointer to assigned address record
+
127  p = addrPool.GetUsbDevicePtr(bAddress);
+
128  if(!p)
+ +
130 
+
131  p->lowspeed = lowspeed;
+
132 
+
133  // Assign epInfo to epinfo pointer - only EP0 is known
+
134  rcode = pUsb->setEpInfoEntry(bAddress, 1, epInfo);
+
135  if(rcode)
+
136  goto FailSetDevTblEntry;
+
137 
+
138 
+
139  /* The application will work in reduced host mode, so we can save program and data
+
140  memory space. After verifying the PID and VID we will use known values for the
+
141  configuration values for device, interface, endpoints for the AMBX Controller */
+
142 
+
143  /* Initialize data structures for endpoints of device */
+
144  epInfo[ AMBX_OUTPUT_PIPE ].epAddr = AMBX_ENDPOINT_OUT; // AMBX output endpoint
+ +
146  epInfo[ AMBX_OUTPUT_PIPE ].bmNakPower = USB_NAK_NOWAIT; // Only poll once for interrupt endpoints
+ + + +
150 
+
151  rcode = pUsb->setEpInfoEntry(bAddress, 3, epInfo);
+
152  if(rcode)
+
153  goto FailSetDevTblEntry;
+
154 
+
155  delay(200); //Give time for address change
+
156 
+
157  //For some reason this is need to make it work
+
158  rcode = pUsb->setConf(bAddress, epInfo[ AMBX_CONTROL_PIPE ].epAddr, 1);
+
159  if(rcode)
+
160  goto FailSetConfDescr;
+
161 
+
162  if(PID == AMBX_PID || PID) {
+
163  AMBXConnected = true;
+
164  }
+
165  onInit();
+
166 
+
167  Notify(PSTR("\r\n"), 0x80);
+
168  return 0; // Successful configuration
+
169 
+
170  /* Diagnostic messages */
+
171 FailGetDevDescr:
+
172 #ifdef DEBUG_USB_HOST
+ +
174  goto Fail;
+
175 #endif
+
176 
+
177 FailSetDevTblEntry:
+
178 #ifdef DEBUG_USB_HOST
+ +
180  goto Fail;
+
181 #endif
+
182 
+
183 FailSetConfDescr:
+
184 #ifdef DEBUG_USB_HOST
+ +
186 #endif
+
187  goto Fail;
+
188 
+
189 FailUnknownDevice:
+
190 #ifdef DEBUG_USB_HOST
+
191  NotifyFailUnknownDevice(VID, PID);
+
192 #endif
+ +
194 
+
195 Fail:
+
196 #ifdef DEBUG_USB_HOST
+
197  Notify(PSTR("\r\nAMBX Init Failed, error code: "), 0x80);
+
198  NotifyFail(rcode);
+
199 #endif
+
200  Release();
+
201  return rcode;
+
202 }
+
203 
+
204 /* Performs a cleanup after failed Init() attempt */
+
205 uint8_t AMBX::Release() {
+
206  AMBXConnected = false;
+ +
208  bAddress = 0;
+
209  return 0;
+
210 }
+
211 
+
212 uint8_t AMBX::Poll() {
+
213  return 0;
+
214 }
+
215 
+
216 void AMBX::Light_Command(uint8_t *data, uint16_t nbytes) {
+
217  #ifdef DEBUG_USB_HOST
+
218  Notify(PSTR("\r\nLight command "), 0x80);
+
219  #endif
+
220  pUsb->outTransfer(bAddress, epInfo[ AMBX_OUTPUT_PIPE ].epAddr, nbytes, data);
+
221 }
+
222 
+
223 void AMBX::setLight(uint8_t ambx_light, uint8_t r, uint8_t g, uint8_t b) {
+
224  writeBuf[0] = AMBX_PREFIX_COMMAND;
+
225  writeBuf[1] = ambx_light;
+
226  writeBuf[2] = AMBX_SET_COLOR_COMMAND;
+
227  writeBuf[3] = r;
+
228  writeBuf[4] = g;
+
229  writeBuf[5] = b;
+
230  Light_Command(writeBuf, AMBX_LIGHT_COMMAND_BUFFER_SIZE);
+
231 }
+
232 
+
233 void AMBX::setLight(AmbxLightsEnum ambx_light, AmbxColorsEnum color) { // Use this to set the Light with Color using the predefined in "AMBXEnums.h"
+
234  setLight(ambx_light, (uint8_t)(color >> 16), (uint8_t)(color >> 8), (uint8_t)(color));
+
235 }
+
236 
+
237 void AMBX::setAllLights(AmbxColorsEnum color) { // Use this to set the Color using the predefined colors in "AMBXEnums.h"
+
238  setLight(Sidelight_left, (uint8_t)(color >> 16), (uint8_t)(color >> 8), (uint8_t)(color));
+
239  setLight(Sidelight_right, (uint8_t)(color >> 16), (uint8_t)(color >> 8), (uint8_t)(color));
+
240  setLight(Wallwasher_center, (uint8_t)(color >> 16), (uint8_t)(color >> 8), (uint8_t)(color));
+
241  setLight(Wallwasher_left, (uint8_t)(color >> 16), (uint8_t)(color >> 8), (uint8_t)(color));
+
242  setLight(Wallwasher_right, (uint8_t)(color >> 16), (uint8_t)(color >> 8), (uint8_t)(color));
+
243 }
+
244 
+
245 void AMBX::onInit() {
+
246  #ifdef DEBUG_USB_HOST
+
247  Notify(PSTR("\r\nOnInit execute "), 0x80);
+
248  #endif
+
249  if(pFuncOnInit)
+
250  pFuncOnInit(); // Call the user function
+
251 }
+
+
AMBX_PID
#define AMBX_PID
Definition: AMBX.h:33
+
USB::outTransfer
uint8_t outTransfer(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *data)
Definition: Usb.cpp:303
+
AddressPool::GetUsbDevicePtr
virtual UsbDevice * GetUsbDevicePtr(uint8_t addr)=0
+
AMBX.h
+
AMBX_VID
#define AMBX_VID
Definition: AMBX.h:32
+
AddressPool
Definition: address.h:90
+
EpInfo::bmSndToggle
uint8_t bmSndToggle
Definition: address.h:47
+
NotifyFail
#define NotifyFail(...)
Definition: message.h:62
+
UsbDevice::lowspeed
bool lowspeed
Definition: address.h:86
+
USB_TRANSFER_TYPE_INTERRUPT
#define USB_TRANSFER_TYPE_INTERRUPT
Definition: usb_ch9.h:93
+
USB::RegisterDeviceClass
uint8_t RegisterDeviceClass(USBDeviceConfig *pdev)
Definition: UsbCore.h:230
+
AddressPool::AllocAddress
virtual uint8_t AllocAddress(uint8_t parent, bool is_hub=false, uint8_t port=0)=0
+
USB_ERROR_CLASS_INSTANCE_ALREADY_IN_USE
#define USB_ERROR_CLASS_INSTANCE_ALREADY_IN_USE
Definition: UsbCore.h:98
+
AmbxColorsEnum
AmbxColorsEnum
Definition: AMBXEnums.h:21
+
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:796
+
Sidelight_right
@ Sidelight_right
Definition: AMBXEnums.h:32
+
AmbxLightsEnum
AmbxLightsEnum
Definition: AMBXEnums.h:30
+
AMBX::setLight
void setLight(uint8_t ambx_light, uint8_t r, uint8_t g, uint8_t b)
Definition: AMBX.cpp:223
+
AMBX_SET_COLOR_COMMAND
#define AMBX_SET_COLOR_COMMAND
Definition: AMBX.h:42
+
EpInfo::epAddr
uint8_t epAddr
Definition: address.h:40
+
AMBX::Poll
uint8_t Poll()
Definition: AMBX.cpp:212
+
Notify
#define Notify(...)
Definition: message.h:51
+
Wallwasher_right
@ Wallwasher_right
Definition: AMBXEnums.h:35
+
AMBX::AMBX
AMBX(USB *pUsb)
Definition: AMBX.cpp:21
+
NotifyFailGetDevDescr
#define NotifyFailGetDevDescr(...)
Definition: message.h:57
+
USB_DEVICE_DESCRIPTOR
Definition: usb_ch9.h:105
+
EpInfo::bmNakPower
uint8_t bmNakPower
Definition: address.h:49
+
AMBX::pUsb
USB * pUsb
Definition: AMBX.h:140
+
AMBX_PREFIX_COMMAND
#define AMBX_PREFIX_COMMAND
Definition: AMBX.h:41
+
USB_NAK_MAX_POWER
#define USB_NAK_MAX_POWER
Definition: address.h:34
+
AMBX_EP_MAXPKTSIZE
#define AMBX_EP_MAXPKTSIZE
Definition: AMBX.h:24
+
EpInfo
Definition: address.h:39
+
AMBX_LIGHT_COMMAND_BUFFER_SIZE
#define AMBX_LIGHT_COMMAND_BUFFER_SIZE
Definition: AMBX.h:53
+
USB_NAK_NOWAIT
#define USB_NAK_NOWAIT
Definition: address.h:36
+
EpInfo::bmRcvToggle
uint8_t bmRcvToggle
Definition: address.h:48
+
AMBX_MAX_ENDPOINTS
#define AMBX_MAX_ENDPOINTS
Definition: AMBX.h:56
+
Wallwasher_left
@ Wallwasher_left
Definition: AMBXEnums.h:33
+
NotifyFailUnknownDevice
#define NotifyFailUnknownDevice(...)
Definition: message.h:61
+
AMBX::epInfo
EpInfo epInfo[AMBX_MAX_ENDPOINTS]
Definition: AMBX.h:144
+
USB
Definition: UsbCore.h:210
+
EpInfo::epAttribs
uint8_t epAttribs
Definition: address.h:44
+
Wallwasher_center
@ Wallwasher_center
Definition: AMBXEnums.h:34
+
AMBX::setAllLights
void setAllLights(AmbxColorsEnum color)
Definition: AMBX.cpp:237
+
USB_ERROR_EPINFO_IS_NULL
#define USB_ERROR_EPINFO_IS_NULL
Definition: UsbCore.h:96
+
AMBX::AMBXConnected
bool AMBXConnected
Definition: AMBX.h:133
+
UsbDevice
Definition: address.h:82
+
USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL
#define USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL
Definition: UsbCore.h:95
+
USB::setConf
uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)
Definition: Usb.cpp:840
+
AMBX_CONTROL_PIPE
#define AMBX_CONTROL_PIPE
Definition: AMBX.h:27
+
AMBX_ENDPOINT_OUT
#define AMBX_ENDPOINT_OUT
Definition: AMBX.h:37
+
PSTR
#define PSTR(str)
Definition: version_helper.h:54
+
USB_ERROR_OUT_OF_ADDRESS_SPACE_IN_POOL
#define USB_ERROR_OUT_OF_ADDRESS_SPACE_IN_POOL
Definition: UsbCore.h:93
+
NotifyFailSetConfDescr
#define NotifyFailSetConfDescr(...)
Definition: message.h:60
+
AMBX::Release
uint8_t Release()
Definition: AMBX.cpp:205
+
AddressPool::FreeAddress
virtual void FreeAddress(uint8_t addr)=0
+
USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED
#define USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED
Definition: UsbCore.h:90
+
USB::setAddr
uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)
Definition: Usb.cpp:831
+
EpInfo::maxPktSize
uint8_t maxPktSize
Definition: address.h:41
+
AMBX_OUTPUT_PIPE
#define AMBX_OUTPUT_PIPE
Definition: AMBX.h:28
+
USB::setEpInfoEntry
uint8_t setEpInfoEntry(uint8_t addr, uint8_t epcount, EpInfo *eprecord_ptr)
Definition: Usb.cpp:64
+
AMBX::Init
uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed)
Definition: AMBX.cpp:37
+
Sidelight_left
@ Sidelight_left
Definition: AMBXEnums.h:31
+
AMBX::bAddress
uint8_t bAddress
Definition: AMBX.h:142
+
USB::GetAddressPool
AddressPool & GetAddressPool()
Definition: UsbCore.h:226
+
UsbDevice::epinfo
EpInfo * epinfo
Definition: address.h:83
+ + + + diff --git a/_a_m_b_x_8h.html b/_a_m_b_x_8h.html new file mode 100644 index 00000000..73e2e06c --- /dev/null +++ b/_a_m_b_x_8h.html @@ -0,0 +1,437 @@ + + + + + + + +USB Host Shield 2.0: AMBX.h File Reference + + + + + + + + + + +
+
+ + + + + + +
+
USB Host Shield 2.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+Classes | +Macros
+
+
AMBX.h File Reference
+
+
+
#include "Usb.h"
+#include "AMBXEnums.h"
+
+Include dependency graph for AMBX.h:
+
+
+ + + + + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + +
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  AMBX
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

#define AMBX_EP_MAXPKTSIZE   40
 
#define AMBX_CONTROL_PIPE   0
 
#define AMBX_OUTPUT_PIPE   1
 
#define AMBX_INPUT_PIPE   2
 
#define AMBX_VID   0x0471
 
#define AMBX_PID   0x083F
 
#define AMBX_ENDPOINT_IN   0x81
 
#define AMBX_ENDPOINT_OUT   0x02
 
#define AMBX_ENDPOINT_PNP   0x83
 
#define AMBX_PREFIX_COMMAND   0xA1
 
#define AMBX_SET_COLOR_COMMAND   0x03
 
#define AMBX_LIGHT_LEFT   0x0B
 
#define AMBX_LIGHT_RIGHT   0x1B
 
#define AMBX_LIGHT_WW_LEFT   0x2B
 
#define AMBX_LIGHT_WW_CENTER   0x3B
 
#define AMBX_LIGHT_WW_RIGHT   0x4B
 
#define AMBX_LIGHT_COMMAND_BUFFER_SIZE   6
 
#define AMBX_MAX_ENDPOINTS   3
 
+

Macro Definition Documentation

+ +

◆ AMBX_EP_MAXPKTSIZE

+ +
+
+ + + + +
#define AMBX_EP_MAXPKTSIZE   40
+
+ +

Definition at line 24 of file AMBX.h.

+ +
+
+ +

◆ AMBX_CONTROL_PIPE

+ +
+
+ + + + +
#define AMBX_CONTROL_PIPE   0
+
+ +

Definition at line 27 of file AMBX.h.

+ +
+
+ +

◆ AMBX_OUTPUT_PIPE

+ +
+
+ + + + +
#define AMBX_OUTPUT_PIPE   1
+
+ +

Definition at line 28 of file AMBX.h.

+ +
+
+ +

◆ AMBX_INPUT_PIPE

+ +
+
+ + + + +
#define AMBX_INPUT_PIPE   2
+
+ +

Definition at line 29 of file AMBX.h.

+ +
+
+ +

◆ AMBX_VID

+ +
+
+ + + + +
#define AMBX_VID   0x0471
+
+ +

Definition at line 32 of file AMBX.h.

+ +
+
+ +

◆ AMBX_PID

+ +
+
+ + + + +
#define AMBX_PID   0x083F
+
+ +

Definition at line 33 of file AMBX.h.

+ +
+
+ +

◆ AMBX_ENDPOINT_IN

+ +
+
+ + + + +
#define AMBX_ENDPOINT_IN   0x81
+
+ +

Definition at line 36 of file AMBX.h.

+ +
+
+ +

◆ AMBX_ENDPOINT_OUT

+ +
+
+ + + + +
#define AMBX_ENDPOINT_OUT   0x02
+
+ +

Definition at line 37 of file AMBX.h.

+ +
+
+ +

◆ AMBX_ENDPOINT_PNP

+ +
+
+ + + + +
#define AMBX_ENDPOINT_PNP   0x83
+
+ +

Definition at line 38 of file AMBX.h.

+ +
+
+ +

◆ AMBX_PREFIX_COMMAND

+ +
+
+ + + + +
#define AMBX_PREFIX_COMMAND   0xA1
+
+ +

Definition at line 41 of file AMBX.h.

+ +
+
+ +

◆ AMBX_SET_COLOR_COMMAND

+ +
+
+ + + + +
#define AMBX_SET_COLOR_COMMAND   0x03
+
+ +

Definition at line 42 of file AMBX.h.

+ +
+
+ +

◆ AMBX_LIGHT_LEFT

+ +
+
+ + + + +
#define AMBX_LIGHT_LEFT   0x0B
+
+ +

Definition at line 45 of file AMBX.h.

+ +
+
+ +

◆ AMBX_LIGHT_RIGHT

+ +
+
+ + + + +
#define AMBX_LIGHT_RIGHT   0x1B
+
+ +

Definition at line 46 of file AMBX.h.

+ +
+
+ +

◆ AMBX_LIGHT_WW_LEFT

+ +
+
+ + + + +
#define AMBX_LIGHT_WW_LEFT   0x2B
+
+ +

Definition at line 49 of file AMBX.h.

+ +
+
+ +

◆ AMBX_LIGHT_WW_CENTER

+ +
+
+ + + + +
#define AMBX_LIGHT_WW_CENTER   0x3B
+
+ +

Definition at line 50 of file AMBX.h.

+ +
+
+ +

◆ AMBX_LIGHT_WW_RIGHT

+ +
+
+ + + + +
#define AMBX_LIGHT_WW_RIGHT   0x4B
+
+ +

Definition at line 51 of file AMBX.h.

+ +
+
+ +

◆ AMBX_LIGHT_COMMAND_BUFFER_SIZE

+ +
+
+ + + + +
#define AMBX_LIGHT_COMMAND_BUFFER_SIZE   6
+
+ +

Definition at line 53 of file AMBX.h.

+ +
+
+ +

◆ AMBX_MAX_ENDPOINTS

+ +
+
+ + + + +
#define AMBX_MAX_ENDPOINTS   3
+
+ +

Definition at line 56 of file AMBX.h.

+ +
+
+
+ + + + diff --git a/_a_m_b_x_8h__dep__incl.map b/_a_m_b_x_8h__dep__incl.map new file mode 100644 index 00000000..e6361c73 --- /dev/null +++ b/_a_m_b_x_8h__dep__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/_a_m_b_x_8h__dep__incl.md5 b/_a_m_b_x_8h__dep__incl.md5 new file mode 100644 index 00000000..888925d7 --- /dev/null +++ b/_a_m_b_x_8h__dep__incl.md5 @@ -0,0 +1 @@ +de35409c06254e5bc6b5ccf77fd8358f \ No newline at end of file diff --git a/_a_m_b_x_8h__dep__incl.png b/_a_m_b_x_8h__dep__incl.png new file mode 100644 index 00000000..959992fe Binary files /dev/null and b/_a_m_b_x_8h__dep__incl.png differ diff --git a/_a_m_b_x_8h__incl.map b/_a_m_b_x_8h__incl.map new file mode 100644 index 00000000..c28dc7f4 --- /dev/null +++ b/_a_m_b_x_8h__incl.map @@ -0,0 +1,5 @@ + + + + + diff --git a/_a_m_b_x_8h__incl.md5 b/_a_m_b_x_8h__incl.md5 new file mode 100644 index 00000000..7ed1fbf6 --- /dev/null +++ b/_a_m_b_x_8h__incl.md5 @@ -0,0 +1 @@ +353fb482da6caa7e9f3948a6d8336008 \ No newline at end of file diff --git a/_a_m_b_x_8h__incl.png b/_a_m_b_x_8h__incl.png new file mode 100644 index 00000000..ce23781a Binary files /dev/null and b/_a_m_b_x_8h__incl.png differ diff --git a/_a_m_b_x_8h_source.html b/_a_m_b_x_8h_source.html new file mode 100644 index 00000000..668b199a --- /dev/null +++ b/_a_m_b_x_8h_source.html @@ -0,0 +1,200 @@ + + + + + + + +USB Host Shield 2.0: AMBX.h Source File + + + + + + + + + + +
+
+ + + + + + +
+
USB Host Shield 2.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
AMBX.h
+
+
+Go to the documentation of this file.
1 /* Copyright (C) 2021 Aran Vink. All rights reserved.
+
2 
+
3  This software may be distributed and modified under the terms of the GNU
+
4  General Public License version 2 (GPL2) as published by the Free Software
+
5  Foundation and appearing in the file GPL2.TXT included in the packaging of
+
6  this file. Please note that GPL2 Section 2[b] requires that all works based
+
7  on this software must also be made publicly available under the terms of
+
8  the GPL2 ("Copyleft").
+
9 
+
10  Contact information
+
11  -------------------
+
12 
+
13  Aran Vink
+
14  e-mail : aranvink@gmail.com
+
15  */
+
16 
+
17 #ifndef _ambxusb_h_
+
18 #define _ambxusb_h_
+
19 
+
20 #include "Usb.h"
+
21 #include "AMBXEnums.h"
+
22 
+
23 /* AMBX data taken from descriptors */
+
24 #define AMBX_EP_MAXPKTSIZE 40 // max size for data via USB
+
25 
+
26 /* Names we give to the 3 AMBX but note only one is actually used (output) */
+
27 #define AMBX_CONTROL_PIPE 0
+
28 #define AMBX_OUTPUT_PIPE 1
+
29 #define AMBX_INPUT_PIPE 2
+
30 
+
31 /* PID and VID of the different devices */
+
32 #define AMBX_VID 0x0471 // Philips
+
33 #define AMBX_PID 0x083F // AMBX Controller
+
34 
+
35 /* Endpoint addresses */
+
36 #define AMBX_ENDPOINT_IN 0x81
+
37 #define AMBX_ENDPOINT_OUT 0x02
+
38 #define AMBX_ENDPOINT_PNP 0x83
+
39 
+
40 /* Output payload constants */
+
41 #define AMBX_PREFIX_COMMAND 0xA1
+
42 #define AMBX_SET_COLOR_COMMAND 0x03
+
43 
+
44 /* LEFT/RIGHT lights. Normally placed adjecent to your screen. */
+
45 #define AMBX_LIGHT_LEFT 0x0B
+
46 #define AMBX_LIGHT_RIGHT 0x1B
+
47 
+
48 /* Wallwasher lights. Normally placed behind your screen. */
+
49 #define AMBX_LIGHT_WW_LEFT 0x2B
+
50 #define AMBX_LIGHT_WW_CENTER 0x3B
+
51 #define AMBX_LIGHT_WW_RIGHT 0x4B
+
52 
+
53 #define AMBX_LIGHT_COMMAND_BUFFER_SIZE 6
+
54 
+
55 
+
56 #define AMBX_MAX_ENDPOINTS 3
+
57 
+
63 class AMBX : public USBDeviceConfig {
+
64 public:
+
69  AMBX(USB *pUsb);
+
70 
+
79  uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed);
+
84  uint8_t Release();
+
89  uint8_t Poll();
+
90 
+
95  virtual uint8_t GetAddress() {
+
96  return bAddress;
+
97  };
+
98 
+
105  virtual bool VIDPIDOK(uint16_t vid, uint16_t pid) {
+
106  return (vid == AMBX_VID && (pid == AMBX_PID));
+
107  };
+
114  void setLight(uint8_t ambx_light, uint8_t r, uint8_t g, uint8_t b);
+
119  void setLight(AmbxLightsEnum ambx_light, AmbxColorsEnum color);
+
120 
+
125  void setAllLights(AmbxColorsEnum color);
+
126 
+
131  void attachOnInit(void (*funcOnInit)(void)) {
+
132  pFuncOnInit = funcOnInit;
+
133  };
+
136  bool AMBXConnected;
+
137 
+
138 protected:
+ +
142  uint8_t bAddress;
+ +
145 
+
146 private:
+
150  void onInit();
+
151  void (*pFuncOnInit)(void); // Pointer to function called in onInit()
+
152 
+
153  uint8_t writeBuf[AMBX_EP_MAXPKTSIZE]; // General purpose buffer for output data
+
154 
+
155  /* Private commands */
+
156  void Light_Command(uint8_t *data, uint16_t nbytes);
+
157 };
+
158 
+
159 #endif
+
+
AMBX_PID
#define AMBX_PID
Definition: AMBX.h:33
+
USBDeviceConfig
Definition: UsbCore.h:134
+
AMBX_VID
#define AMBX_VID
Definition: AMBX.h:32
+
AmbxColorsEnum
AmbxColorsEnum
Definition: AMBXEnums.h:21
+
AmbxLightsEnum
AmbxLightsEnum
Definition: AMBXEnums.h:30
+
AMBX::setLight
void setLight(uint8_t ambx_light, uint8_t r, uint8_t g, uint8_t b)
Definition: AMBX.cpp:223
+
AMBX::Poll
uint8_t Poll()
Definition: AMBX.cpp:212
+
AMBX::AMBX
AMBX(USB *pUsb)
Definition: AMBX.cpp:21
+
AMBX::pUsb
USB * pUsb
Definition: AMBX.h:140
+
AMBX::GetAddress
virtual uint8_t GetAddress()
Definition: AMBX.h:95
+
AMBX::VIDPIDOK
virtual bool VIDPIDOK(uint16_t vid, uint16_t pid)
Definition: AMBX.h:105
+
AMBX_EP_MAXPKTSIZE
#define AMBX_EP_MAXPKTSIZE
Definition: AMBX.h:24
+
EpInfo
Definition: address.h:39
+
AMBX_MAX_ENDPOINTS
#define AMBX_MAX_ENDPOINTS
Definition: AMBX.h:56
+
AMBX::epInfo
EpInfo epInfo[AMBX_MAX_ENDPOINTS]
Definition: AMBX.h:144
+
USB
Definition: UsbCore.h:210
+
AMBXEnums.h
+
AMBX::setAllLights
void setAllLights(AmbxColorsEnum color)
Definition: AMBX.cpp:237
+
AMBX::AMBXConnected
bool AMBXConnected
Definition: AMBX.h:133
+
AMBX::attachOnInit
void attachOnInit(void(*funcOnInit)(void))
Definition: AMBX.h:131
+
Usb.h
+
AMBX::Release
uint8_t Release()
Definition: AMBX.cpp:205
+
AMBX::Init
uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed)
Definition: AMBX.cpp:37
+
AMBX
Definition: AMBX.h:63
+
AMBX::bAddress
uint8_t bAddress
Definition: AMBX.h:142
+ + + + diff --git a/_a_m_b_x_enums_8h.html b/_a_m_b_x_enums_8h.html new file mode 100644 index 00000000..435dc38e --- /dev/null +++ b/_a_m_b_x_enums_8h.html @@ -0,0 +1,164 @@ + + + + + + + +USB Host Shield 2.0: AMBXEnums.h File Reference + + + + + + + + + + +
+
+ + + + + + +
+
USB Host Shield 2.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+Enumerations
+
+
AMBXEnums.h File Reference
+
+
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + + +
+
+

Go to the source code of this file.

+ + + + + + +

+Enumerations

enum  AmbxColorsEnum {
+  Red = 0xFF0000, +Green = 0x00FF00, +Blue = 0x0000FF, +White = 0xFFFFFF, +
+  Off = 0x000000 +
+ }
 
enum  AmbxLightsEnum {
+  Sidelight_left = 0x0B, +Sidelight_right = 0x1B, +Wallwasher_left = 0x2B, +Wallwasher_center = 0x3B, +
+  Wallwasher_right = 0x4B +
+ }
 
+

Enumeration Type Documentation

+ +

◆ AmbxColorsEnum

+ +
+
+ + + + +
enum AmbxColorsEnum
+
+

Used to set the colors of the AMBX lights. This is just a limited predefined set, the lights allow ANY value between 0x00 and 0xFF

+ + + + + + +
Enumerator
Red 
Green 
Blue 
White 
Off 
+ +

Definition at line 21 of file AMBXEnums.h.

+ +
+
+ +

◆ AmbxLightsEnum

+ +
+
+ + + + +
enum AmbxLightsEnum
+
+

Used to select light in the AMBX system

+ + + + + + +
Enumerator
Sidelight_left 
Sidelight_right 
Wallwasher_left 
Wallwasher_center 
Wallwasher_right 
+ +

Definition at line 30 of file AMBXEnums.h.

+ +
+
+
+ + + + diff --git a/_a_m_b_x_enums_8h__dep__incl.map b/_a_m_b_x_enums_8h__dep__incl.map new file mode 100644 index 00000000..954ae2a8 --- /dev/null +++ b/_a_m_b_x_enums_8h__dep__incl.map @@ -0,0 +1,5 @@ + + + + + diff --git a/_a_m_b_x_enums_8h__dep__incl.md5 b/_a_m_b_x_enums_8h__dep__incl.md5 new file mode 100644 index 00000000..112770a7 --- /dev/null +++ b/_a_m_b_x_enums_8h__dep__incl.md5 @@ -0,0 +1 @@ +af90e64a31c1b77c5ff2eef2efaab78e \ No newline at end of file diff --git a/_a_m_b_x_enums_8h__dep__incl.png b/_a_m_b_x_enums_8h__dep__incl.png new file mode 100644 index 00000000..6aaf831d Binary files /dev/null and b/_a_m_b_x_enums_8h__dep__incl.png differ diff --git a/_a_m_b_x_enums_8h_source.html b/_a_m_b_x_enums_8h_source.html new file mode 100644 index 00000000..c0eef25e --- /dev/null +++ b/_a_m_b_x_enums_8h_source.html @@ -0,0 +1,125 @@ + + + + + + + +USB Host Shield 2.0: AMBXEnums.h Source File + + + + + + + + + + +
+
+ + + + + + +
+
USB Host Shield 2.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
AMBXEnums.h
+
+
+Go to the documentation of this file.
1 /* Copyright (C) 2021 Aran Vink. All rights reserved.
+
2 
+
3  This software may be distributed and modified under the terms of the GNU
+
4  General Public License version 2 (GPL2) as published by the Free Software
+
5  Foundation and appearing in the file GPL2.TXT included in the packaging of
+
6  this file. Please note that GPL2 Section 2[b] requires that all works based
+
7  on this software must also be made publicly available under the terms of
+
8  the GPL2 ("Copyleft").
+
9 
+
10  Contact information
+
11  -------------------
+
12 
+
13  Aran Vink
+
14  e-mail : aranvink@gmail.com
+
15  */
+
16 
+
17 #ifndef _ambxenums_h
+
18 #define _ambxenums_h
+
19 
+ +
22  Red = 0xFF0000,
+
23  Green = 0x00FF00,
+
24  Blue = 0x0000FF,
+
25  White = 0xFFFFFF,
+
26  Off = 0x000000,
+
27 };
+
28 
+ + + + + + +
36 };
+
37 
+
38 #endif
+
+
AmbxColorsEnum
AmbxColorsEnum
Definition: AMBXEnums.h:21
+
Sidelight_right
@ Sidelight_right
Definition: AMBXEnums.h:32
+
AmbxLightsEnum
AmbxLightsEnum
Definition: AMBXEnums.h:30
+
Red
@ Red
Definition: AMBXEnums.h:22
+
Wallwasher_right
@ Wallwasher_right
Definition: AMBXEnums.h:35
+
White
@ White
Definition: AMBXEnums.h:25
+
Wallwasher_left
@ Wallwasher_left
Definition: AMBXEnums.h:33
+
Blue
@ Blue
Definition: AMBXEnums.h:24
+
Green
@ Green
Definition: AMBXEnums.h:23
+
Wallwasher_center
@ Wallwasher_center
Definition: AMBXEnums.h:34
+
Off
@ Off
Definition: AMBXEnums.h:26
+
Sidelight_left
@ Sidelight_left
Definition: AMBXEnums.h:31
+ + + + diff --git a/_p_s3_b_t_8cpp_source.html b/_p_s3_b_t_8cpp_source.html index a2e283f3..87b7b17c 100644 --- a/_p_s3_b_t_8cpp_source.html +++ b/_p_s3_b_t_8cpp_source.html @@ -698,7 +698,7 @@ $(function() {
630  pFuncOnInit(); // Call the user function
631  else {
632  if(PS3MoveConnected)
-
633  moveSetBulb(Red);
+
633  moveSetBulb(Red);
634  else // Dualshock 3 or Navigation controller
635  setLedOn(static_cast<LEDEnum>(LED1));
636  }
@@ -735,6 +735,7 @@ $(function() {
l2cap_check_flag
#define l2cap_check_flag(flag)
Definition: BTD.h:170
L2CAP_CONTROL_SUCCESS
#define L2CAP_CONTROL_SUCCESS
Definition: BTD.h:119
L2CAP_WAIT
#define L2CAP_WAIT
Definition: BTD.h:113
+
Red
@ Red
Definition: AMBXEnums.h:22
L2CAP_FLAG_CONFIG_CONTROL_SUCCESS
#define L2CAP_FLAG_CONFIG_CONTROL_SUCCESS
Definition: BTD.h:147
strcat_P
#define strcat_P(dest, src)
Definition: version_helper.h:79
Bluetooth
@ Bluetooth
Definition: PS3Enums.h:138
@@ -833,7 +834,6 @@ $(function() {
l2cap_set_flag
#define l2cap_set_flag(flag)
Definition: BTD.h:171
BTD::hci_handle
uint16_t hci_handle
Definition: BTD.h:484
PS3BT::setRumbleOn
void setRumbleOn(RumbleEnum mode)
Definition: PS3BT.cpp:540
-
Red
@ Red
Definition: controllerEnums.h:52
PS3BT::setRumbleOff
void setRumbleOff()
Definition: PS3BT.cpp:530
ButtonEnum
ButtonEnum
Definition: controllerEnums.h:78
BULK_MAXPKTSIZE
#define BULK_MAXPKTSIZE
Definition: BTD.h:37
diff --git a/_p_s3_u_s_b_8cpp_source.html b/_p_s3_u_s_b_8cpp_source.html index 3ff587f2..1e46c3c1 100644 --- a/_p_s3_u_s_b_8cpp_source.html +++ b/_p_s3_u_s_b_8cpp_source.html @@ -635,7 +635,7 @@ $(function() {
567  pFuncOnInit(); // Call the user function
568  else {
569  if(PS3MoveConnected)
-
570  moveSetBulb(Red);
+
570  moveSetBulb(Red);
571  else // Dualshock 3 or Navigation controller
572  setLedOn(static_cast<LEDEnum>(LED1));
573  }
@@ -674,6 +674,7 @@ $(function() {
Unplugged
@ Unplugged
Definition: PS3Enums.h:117
SensorEnum
SensorEnum
Definition: controllerEnums.h:185
PS3USB::setLedRaw
void setLedRaw(uint8_t value)
Definition: PS3USB.cpp:441
+
Red
@ Red
Definition: AMBXEnums.h:22
strcat_P
#define strcat_P(dest, src)
Definition: version_helper.h:79
PS3USB::getAnalogButton
uint8_t getAnalogButton(ButtonEnum a)
Definition: PS3USB.cpp:327
PS3_CONTROL_PIPE
#define PS3_CONTROL_PIPE
Definition: PS3USB.h:29
@@ -756,7 +757,6 @@ $(function() {
USB::setEpInfoEntry
uint8_t setEpInfoEntry(uint8_t addr, uint8_t epcount, EpInfo *eprecord_ptr)
Definition: Usb.cpp:64
aX
@ aX
Definition: controllerEnums.h:187
PS3USB::PS3USB
PS3USB(USB *pUsb, uint8_t btadr5=0, uint8_t btadr4=0, uint8_t btadr3=0, uint8_t btadr2=0, uint8_t btadr1=0, uint8_t btadr0=0)
Definition: PS3USB.cpp:23
-
Red
@ Red
Definition: controllerEnums.h:52
bmREQ_HID_IN
#define bmREQ_HID_IN
Definition: usbhid.h:64
ButtonEnum
ButtonEnum
Definition: controllerEnums.h:78
PS3USB::PS3NavigationConnected
bool PS3NavigationConnected
Definition: PS3USB.h:264
diff --git a/_p_s4_b_t_8h_source.html b/_p_s4_b_t_8h_source.html index b01bff5c..da50beb5 100644 --- a/_p_s4_b_t_8h_source.html +++ b/_p_s4_b_t_8h_source.html @@ -109,7 +109,7 @@ $(function() {
66  PS4Parser::Reset();
67  enable_sixaxis(); // Make the controller send out the entire output report
68  if (!pFuncOnInit)
-
69  setLed(Blue); // Only call this is a user function has not been set
+
69  setLed(Blue); // Only call this is a user function has not been set
70  };
71 
73  virtual void ResetBTHID() {
@@ -173,13 +173,13 @@ $(function() {
BTHID::pair
void pair(void)
Definition: BTHID.h:91
PS4Output::smallRumble
uint8_t smallRumble
Definition: PS4Parser.h:117
BluetoothService::pBtd
BTD * pBtd
Definition: BTD.h:646
+
Blue
@ Blue
Definition: AMBXEnums.h:24
PS4Output
Definition: PS4Parser.h:116
BTHID::connected
bool connected
Definition: BTHID.h:88
PS4Parser::setLed
void setLed(uint8_t r, uint8_t g, uint8_t b)
Definition: PS4Parser.h:320
BluetoothService::pFuncOnInit
void(* pFuncOnInit)(void)
Definition: BTD.h:643
BluetoothService::hci_handle
uint16_t hci_handle
Definition: BTD.h:649
BTHID
Definition: BTHID.h:29
-
Blue
@ Blue
Definition: controllerEnums.h:56
PS4Output::flashOn
uint8_t flashOn
Definition: PS4Parser.h:119
PS4Parser
Definition: PS4Parser.h:124
PS4BT::ResetBTHID
virtual void ResetBTHID()
Definition: PS4BT.h:73
diff --git a/_p_s4_u_s_b_8h_source.html b/_p_s4_u_s_b_8h_source.html index a265e280..c1b3e410 100644 --- a/_p_s4_u_s_b_8h_source.html +++ b/_p_s4_u_s_b_8h_source.html @@ -120,7 +120,7 @@ $(function() {
81  if (pFuncOnInit)
82  pFuncOnInit(); // Call the user function
83  else
-
84  setLed(Blue);
+
84  setLed(Blue);
85  };
86  return 0;
87  };
@@ -172,6 +172,7 @@ $(function() {
PS4_VID
#define PS4_VID
Definition: PS4USB.h:24
PS4Parser::Reset
void Reset()
Definition: PS4Parser.cpp:130
PS4Output::smallRumble
uint8_t smallRumble
Definition: PS4Parser.h:117
+
Blue
@ Blue
Definition: AMBXEnums.h:24
USBHID::pUsb
USB * pUsb
Definition: usbhid.h:145
HIDComposite::epInfo
EpInfo epInfo[totalEndpoints]
Definition: hidcomposite.h:63
PS4USB
Definition: PS4USB.h:32
@@ -181,7 +182,6 @@ $(function() {
HIDComposite::VID
uint16_t VID
Definition: hidcomposite.h:71
PS4Parser::setLed
void setLed(uint8_t r, uint8_t g, uint8_t b)
Definition: PS4Parser.h:320
USBHID::epInterruptOutIndex
static const uint8_t epInterruptOutIndex
Definition: usbhid.h:150
-
Blue
@ Blue
Definition: controllerEnums.h:56
PS4Output::flashOn
uint8_t flashOn
Definition: PS4Parser.h:119
PS4Parser
Definition: PS4Parser.h:124
PS4USB::PS4USB
PS4USB(USB *p)
Definition: PS4USB.h:38
diff --git a/_p_s5_b_t_8h_source.html b/_p_s5_b_t_8h_source.html index 9a828c6e..4a754a03 100644 --- a/_p_s5_b_t_8h_source.html +++ b/_p_s5_b_t_8h_source.html @@ -187,7 +187,7 @@ $(function() {
149 
150  // Only call this is a user function has not been set
151  if (!pFuncOnInit)
-
152  setLed(Red); // Set the LED to red, as the PS5 controller turns Bluetooth when searching for a device
+
152  setLed(Red); // Set the LED to red, as the PS5 controller turns Bluetooth when searching for a device
153  };
154 
156  virtual void ResetBTHID() {
@@ -275,6 +275,7 @@ $(function() {
PS5Output::microphoneLed
uint8_t microphoneLed
Definition: PS5Parser.h:141
PS5Parser::setLed
void setLed(uint8_t r, uint8_t g, uint8_t b)
Definition: PS5Parser.h:339
PS5BT::ResetBTHID
virtual void ResetBTHID()
Definition: PS5BT.h:156
+
Red
@ Red
Definition: AMBXEnums.h:22
PS5BT::connected
bool connected()
Definition: PS5BT.h:126
PS5Output::playerLeds
uint8_t playerLeds
Definition: PS5Parser.h:143
crc32_table
const uint32_t crc32_table[]
Definition: PS5BT.h:29
@@ -299,7 +300,6 @@ $(function() {
BTHID::control_scid
uint8_t control_scid[2]
Definition: BTHID.h:155
PS5Output::disableLeds
uint8_t disableLeds
Definition: PS5Parser.h:142
PS5Output::r
uint8_t r
Definition: PS5Parser.h:144
-
Red
@ Red
Definition: controllerEnums.h:52
PS5Trigger::processTrigger
void processTrigger(uint8_t *buffer)
Apply the trigger data to a PS5 update buffer.
Definition: PS5Trigger.cpp:34
PS5Parser.h
PS5Parser::leftTrigger
PS5Trigger leftTrigger
Definition: PS5Parser.h:154
diff --git a/_p_s5_u_s_b_8h_source.html b/_p_s5_u_s_b_8h_source.html index b465e6d5..7ee94411 100644 --- a/_p_s5_u_s_b_8h_source.html +++ b/_p_s5_u_s_b_8h_source.html @@ -122,7 +122,7 @@ $(function() {
83  if (pFuncOnInit)
84  pFuncOnInit(); // Call the user function
85  else
-
86  setLed(Red); // Set the LED to red, so it is consistent with the PS5BT driver
+
86  setLed(Red); // Set the LED to red, so it is consistent with the PS5BT driver
87  };
88  return 0;
89  };
@@ -190,6 +190,7 @@ $(function() {
PS5Output::microphoneLed
uint8_t microphoneLed
Definition: PS5Parser.h:141
PS5Parser::setLed
void setLed(uint8_t r, uint8_t g, uint8_t b)
Definition: PS5Parser.h:339
PS5_VID
#define PS5_VID
Definition: PS5USB.h:27
+
Red
@ Red
Definition: AMBXEnums.h:22
PS5Output::playerLeds
uint8_t playerLeds
Definition: PS5Parser.h:143
PS5Parser::Parse
void Parse(uint8_t len, uint8_t *buf)
Definition: PS5Parser.cpp:80
PS5USB::VIDPIDOK
virtual bool VIDPIDOK(uint16_t vid, uint16_t pid)
Definition: PS5USB.h:149
@@ -216,7 +217,6 @@ $(function() {
USBHID
Definition: usbhid.h:143
HIDComposite::hidInterfaces
HIDInterface hidInterfaces[maxHidInterfaces]
Definition: hidcomposite.h:64
HIDComposite::PID
uint16_t PID
Definition: hidcomposite.h:71
-
Red
@ Red
Definition: controllerEnums.h:52
PS5USB
Definition: PS5USB.h:34
PS5Trigger::processTrigger
void processTrigger(uint8_t *buffer)
Apply the trigger data to a PS5 update buffer.
Definition: PS5Trigger.cpp:34
PS5Parser.h
diff --git a/_usb_8h.html b/_usb_8h.html index 8bf43a3d..43dcc72c 100644 --- a/_usb_8h.html +++ b/_usb_8h.html @@ -71,56 +71,56 @@ This graph shows which files directly or indirectly include this file:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/_usb_8h__dep__incl.map b/_usb_8h__dep__incl.map index f075facc..c0cdbe86 100644 --- a/_usb_8h__dep__incl.map +++ b/_usb_8h__dep__incl.map @@ -1,52 +1,52 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_usb_8h__dep__incl.md5 b/_usb_8h__dep__incl.md5 index 375cc315..a12699ee 100644 --- a/_usb_8h__dep__incl.md5 +++ b/_usb_8h__dep__incl.md5 @@ -1 +1 @@ -1639b01c5d4a3e53f306216f31cbe894 \ No newline at end of file +3a942e84b0330e58006e97ea560a9fbd \ No newline at end of file diff --git a/_usb_8h__dep__incl.png b/_usb_8h__dep__incl.png index 89c6de0e..509ff5a8 100644 Binary files a/_usb_8h__dep__incl.png and b/_usb_8h__dep__incl.png differ diff --git a/annotated.html b/annotated.html index 36672845..06270643 100644 --- a/annotated.html +++ b/annotated.html @@ -73,112 +73,113 @@ $(function() {  CAddressPool  CAddressPoolImpl  CADK - CBASICCDB - CBluetoothService - CBTD - CBTHID - CBulkOnly - CByteSkipper - CCALL_MGMNT_FUNC_DESCR - CCapacity - CCDB10 - CCDB12 - CCDB6 - CCDB_LBA32_16 - CCDB_LBA64_16 - CCDCAsyncOper - CCLASS_NOTIFICATION - CCommandBlockWrapper - CCommandBlockWrapperBase - CCommandStatusWrapper - CConfigDescParser - CEpInfo - CFTDI - CFTDIAsyncOper - CHexDumper - CHID_CLASS_DESCRIPTOR_LEN_AND_TYPE - CHIDBoot - CHIDComposite - CHIDInterface - CReportParser - CHidItemPrefix - CHIDReportParser - CHIDUniversal - CHubDescriptor - CHubEvent - CInquiryResponse - CKBDINFO - CKBDLEDS - CKeyboardReportParser - CLINE_CODING - CMainItemIOFeature - CMAX3421e - CMax_LCD - CMiniDSP - CMODIFIERKEYS - CMOUSEINFO - CMouseReportParser - CMultiByteValueParser - CMultiValueBuffer - CPL2303 - CPS3BT - CPS3USB - CPS4BT - CPS4Buttons - CPS4Data - CPS4Output - CPS4Parser - CPS4Status - CPS4USB - CPS5BT - CPS5Buttons - CPS5Data - CPS5Output - CPS5Parser - CPS5Status - Cps5TouchpadXY - CPS5Trigger - CPS5USB - CPSBuzz - CPSBUZZButtons - CPTPListParser - CReportDescParser - CReportDescParser2 - CReportDescParserBase - CRequestSenseResponce - CSETUP_PKT - CSinkParser - CSPi - CSPP - CTEL_RINGER_FUNC_DESCR - CtouchpadXY - Ctty_features - CUHS2_GPIO - CUniversalReportParser - CUSB - CUSB_CONFIGURATION_DESCRIPTOR - CUSB_DEVICE_DESCRIPTOR - CUSB_ENDPOINT_DESCRIPTOR - CUSB_HID_DESCRIPTOR - CUSB_INTERFACE_DESCRIPTOR - CUsbConfigXtracter - CUsbDevice - CUsbDeviceAddress - CUSBDeviceConfig - CUSBH_MIDI - CUSBHID - CUSBHub - CUSBReadParser - CWII - CXBOXOLD - CXBOXONE - CXBOXONESBT - CXboxOneSButtons - CXboxOneSData - CXBOXONESParser - CXBOXRECV - CXBOXUSB - CXR21B1411 + CAMBX + CBASICCDB + CBluetoothService + CBTD + CBTHID + CBulkOnly + CByteSkipper + CCALL_MGMNT_FUNC_DESCR + CCapacity + CCDB10 + CCDB12 + CCDB6 + CCDB_LBA32_16 + CCDB_LBA64_16 + CCDCAsyncOper + CCLASS_NOTIFICATION + CCommandBlockWrapper + CCommandBlockWrapperBase + CCommandStatusWrapper + CConfigDescParser + CEpInfo + CFTDI + CFTDIAsyncOper + CHexDumper + CHID_CLASS_DESCRIPTOR_LEN_AND_TYPE + CHIDBoot + CHIDComposite + CHIDInterface + CReportParser + CHidItemPrefix + CHIDReportParser + CHIDUniversal + CHubDescriptor + CHubEvent + CInquiryResponse + CKBDINFO + CKBDLEDS + CKeyboardReportParser + CLINE_CODING + CMainItemIOFeature + CMAX3421e + CMax_LCD + CMiniDSP + CMODIFIERKEYS + CMOUSEINFO + CMouseReportParser + CMultiByteValueParser + CMultiValueBuffer + CPL2303 + CPS3BT + CPS3USB + CPS4BT + CPS4Buttons + CPS4Data + CPS4Output + CPS4Parser + CPS4Status + CPS4USB + CPS5BT + CPS5Buttons + CPS5Data + CPS5Output + CPS5Parser + CPS5Status + Cps5TouchpadXY + CPS5Trigger + CPS5USB + CPSBuzz + CPSBUZZButtons + CPTPListParser + CReportDescParser + CReportDescParser2 + CReportDescParserBase + CRequestSenseResponce + CSETUP_PKT + CSinkParser + CSPi + CSPP + CTEL_RINGER_FUNC_DESCR + CtouchpadXY + Ctty_features + CUHS2_GPIO + CUniversalReportParser + CUSB + CUSB_CONFIGURATION_DESCRIPTOR + CUSB_DEVICE_DESCRIPTOR + CUSB_ENDPOINT_DESCRIPTOR + CUSB_HID_DESCRIPTOR + CUSB_INTERFACE_DESCRIPTOR + CUsbConfigXtracter + CUsbDevice + CUsbDeviceAddress + CUSBDeviceConfig + CUSBH_MIDI + CUSBHID + CUSBHub + CUSBReadParser + CWII + CXBOXOLD + CXBOXONE + CXBOXONESBT + CXboxOneSButtons + CXboxOneSData + CXBOXONESParser + CXBOXRECV + CXBOXUSB + CXR21B1411 diff --git a/class_a_m_b_x-members.html b/class_a_m_b_x-members.html new file mode 100644 index 00000000..a2144ec9 --- /dev/null +++ b/class_a_m_b_x-members.html @@ -0,0 +1,98 @@ + + + + + + + +USB Host Shield 2.0: Member List + + + + + + + + + + +
+
+ + + + + + +
+
USB Host Shield 2.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
AMBX Member List
+
+
+ +

This is the complete list of members for AMBX, including all inherited members.

+ + + + + + + + + + + + + + + + + + + +
AMBX(USB *pUsb)AMBX
AMBXConnectedAMBX
attachOnInit(void(*funcOnInit)(void))AMBXinline
bAddressAMBXprotected
ConfigureDevice(uint8_t parent, uint8_t port, bool lowspeed)USBDeviceConfiginlinevirtual
DEVCLASSOK(uint8_t klass)USBDeviceConfiginlinevirtual
DEVSUBCLASSOK(uint8_t subklass)USBDeviceConfiginlinevirtual
epInfoAMBXprotected
GetAddress()AMBXinlinevirtual
Init(uint8_t parent, uint8_t port, bool lowspeed)AMBXvirtual
Poll()AMBXvirtual
pUsbAMBXprotected
Release()AMBXvirtual
ResetHubPort(uint8_t port)USBDeviceConfiginlinevirtual
setAllLights(AmbxColorsEnum color)AMBX
setLight(uint8_t ambx_light, uint8_t r, uint8_t g, uint8_t b)AMBX
setLight(AmbxLightsEnum ambx_light, AmbxColorsEnum color)AMBX
VIDPIDOK(uint16_t vid, uint16_t pid)AMBXinlinevirtual
+ + + + diff --git a/class_a_m_b_x.html b/class_a_m_b_x.html new file mode 100644 index 00000000..75faf831 --- /dev/null +++ b/class_a_m_b_x.html @@ -0,0 +1,618 @@ + + + + + + + +USB Host Shield 2.0: AMBX Class Reference + + + + + + + + + + +
+
+ + + + + + +
+
USB Host Shield 2.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+Public Member Functions | +Public Attributes | +Protected Attributes | +List of all members
+
+
AMBX Class Reference
+
+
+ +

#include <AMBX.h>

+
+Inheritance diagram for AMBX:
+
+
Inheritance graph
+ + + + +
[legend]
+
+Collaboration diagram for AMBX:
+
+
Collaboration graph
+ + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 AMBX (USB *pUsb)
 
void setLight (uint8_t ambx_light, uint8_t r, uint8_t g, uint8_t b)
 
void setLight (AmbxLightsEnum ambx_light, AmbxColorsEnum color)
 
void setAllLights (AmbxColorsEnum color)
 
void attachOnInit (void(*funcOnInit)(void))
 
USBDeviceConfig implementation
uint8_t Init (uint8_t parent, uint8_t port, bool lowspeed)
 
uint8_t Release ()
 
uint8_t Poll ()
 
virtual uint8_t GetAddress ()
 
virtual bool VIDPIDOK (uint16_t vid, uint16_t pid)
 
- Public Member Functions inherited from USBDeviceConfig
virtual uint8_t ConfigureDevice (uint8_t parent, uint8_t port, bool lowspeed)
 
virtual void ResetHubPort (uint8_t port)
 
virtual bool DEVCLASSOK (uint8_t klass)
 
virtual bool DEVSUBCLASSOK (uint8_t subklass)
 
+ + + +

+Public Attributes

bool AMBXConnected
 
+ + + + + + + +

+Protected Attributes

USBpUsb
 
uint8_t bAddress
 
EpInfo epInfo [AMBX_MAX_ENDPOINTS]
 
+

Detailed Description

+

This class implements support for AMBX One can only set the color of the bulbs, no other accesories like rumble pad, fans, etc. are supported

+ +

Definition at line 63 of file AMBX.h.

+

Constructor & Destructor Documentation

+ +

◆ AMBX()

+ +
+
+ + + + + + + + +
AMBX::AMBX (USBpUsb)
+
+

Constructor for the AMBX class.

Parameters
+ + +
pUsbPointer to USB class instance.
+
+
+ +

Definition at line 21 of file AMBX.cpp.

+ +
+
+

Member Function Documentation

+ +

◆ Init()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
uint8_t AMBX::Init (uint8_t parent,
uint8_t port,
bool lowspeed 
)
+
+virtual
+
+

Initialize the AMBX Controller.

Parameters
+ + + + +
parentHub number.
portPort number on the hub.
lowspeedSpeed of the device.
+
+
+
Returns
0 on success.
+ +

Reimplemented from USBDeviceConfig.

+ +

Definition at line 37 of file AMBX.cpp.

+ +
+
+ +

◆ Release()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t AMBX::Release ()
+
+virtual
+
+

Release the USB device.

Returns
0 on success.
+ +

Reimplemented from USBDeviceConfig.

+ +

Definition at line 205 of file AMBX.cpp.

+ +
+
+ +

◆ Poll()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t AMBX::Poll ()
+
+virtual
+
+

Poll the USB Input endpoins and run the state machines.

Returns
0 on success.
+ +

Reimplemented from USBDeviceConfig.

+ +

Definition at line 212 of file AMBX.cpp.

+ +
+
+ +

◆ GetAddress()

+ +
+
+ + + + + +
+ + + + + + + +
virtual uint8_t AMBX::GetAddress ()
+
+inlinevirtual
+
+

Get the device address.

Returns
The device address.
+ +

Reimplemented from USBDeviceConfig.

+ +

Definition at line 95 of file AMBX.h.

+ +
+
+ +

◆ VIDPIDOK()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual bool AMBX::VIDPIDOK (uint16_t vid,
uint16_t pid 
)
+
+inlinevirtual
+
+

Used by the USB core to check what this driver support.

Parameters
+ + + +
vidThe device's VID.
pidThe device's PID.
+
+
+
Returns
Returns true if the device's VID and PID matches this driver.
+ +

Reimplemented from USBDeviceConfig.

+ +

Definition at line 105 of file AMBX.h.

+ +
+
+ +

◆ setLight() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void AMBX::setLight (uint8_t ambx_light,
uint8_t r,
uint8_t g,
uint8_t b 
)
+
+

Use this to set the Color using RGB values.

Parameters
+ + +
r,g,bRGB value.
+
+
+ +

Definition at line 223 of file AMBX.cpp.

+ +
+
+ +

◆ setLight() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
void AMBX::setLight (AmbxLightsEnum ambx_light,
AmbxColorsEnum color 
)
+
+

Use this to set the color using the predefined colors in ColorsEnum.

Parameters
+ + +
colorThe desired color.
+
+
+ +

Definition at line 233 of file AMBX.cpp.

+ +
+
+ +

◆ setAllLights()

+ +
+
+ + + + + + + + +
void AMBX::setAllLights (AmbxColorsEnum color)
+
+

Use this to set the color using the predefined colors in ColorsEnum.

Parameters
+ + +
colorThe desired color.
+
+
+ +

Definition at line 237 of file AMBX.cpp.

+ +
+
+ +

◆ attachOnInit()

+ +
+
+ + + + + +
+ + + + + + + + +
void AMBX::attachOnInit (void(*)(void) funcOnInit)
+
+inline
+
+

Used to call your own function when the controller is successfully initialized.

Parameters
+ + +
funcOnInitFunction to call.
+
+
+ +

Definition at line 131 of file AMBX.h.

+ +
+
+

Member Data Documentation

+ +

◆ AMBXConnected

+ +
+
+ + + + +
bool AMBX::AMBXConnected
+
+ +

Definition at line 133 of file AMBX.h.

+ +
+
+ +

◆ pUsb

+ +
+
+ + + + + +
+ + + + +
USB* AMBX::pUsb
+
+protected
+
+

Pointer to USB class instance.

+ +

Definition at line 140 of file AMBX.h.

+ +
+
+ +

◆ bAddress

+ +
+
+ + + + + +
+ + + + +
uint8_t AMBX::bAddress
+
+protected
+
+

Device address.

+ +

Definition at line 142 of file AMBX.h.

+ +
+
+ +

◆ epInfo

+ +
+
+ + + + + +
+ + + + +
EpInfo AMBX::epInfo[AMBX_MAX_ENDPOINTS]
+
+protected
+
+

Endpoint info structure.

+ +

Definition at line 144 of file AMBX.h.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/class_a_m_b_x__coll__graph.map b/class_a_m_b_x__coll__graph.map new file mode 100644 index 00000000..ff081704 --- /dev/null +++ b/class_a_m_b_x__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/class_a_m_b_x__coll__graph.md5 b/class_a_m_b_x__coll__graph.md5 new file mode 100644 index 00000000..b78214a2 --- /dev/null +++ b/class_a_m_b_x__coll__graph.md5 @@ -0,0 +1 @@ +37258d15852e6f171fc69685a2da43d8 \ No newline at end of file diff --git a/class_a_m_b_x__coll__graph.png b/class_a_m_b_x__coll__graph.png new file mode 100644 index 00000000..78effe1d Binary files /dev/null and b/class_a_m_b_x__coll__graph.png differ diff --git a/class_a_m_b_x__inherit__graph.map b/class_a_m_b_x__inherit__graph.map new file mode 100644 index 00000000..be536010 --- /dev/null +++ b/class_a_m_b_x__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/class_a_m_b_x__inherit__graph.md5 b/class_a_m_b_x__inherit__graph.md5 new file mode 100644 index 00000000..70292440 --- /dev/null +++ b/class_a_m_b_x__inherit__graph.md5 @@ -0,0 +1 @@ +9f2aff96e356bf04d206f6cc5e848299 \ No newline at end of file diff --git a/class_a_m_b_x__inherit__graph.png b/class_a_m_b_x__inherit__graph.png new file mode 100644 index 00000000..09e63136 Binary files /dev/null and b/class_a_m_b_x__inherit__graph.png differ diff --git a/class_u_s_b_device_config.html b/class_u_s_b_device_config.html index 3fc53f2c..c32f5e6a 100644 --- a/class_u_s_b_device_config.html +++ b/class_u_s_b_device_config.html @@ -76,29 +76,30 @@ Inheritance diagram for USBDeviceConfig:
Inheritance graph
- - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + +
[legend]
@@ -167,7 +168,7 @@ Public Member Functions
-

Reimplemented in BulkOnly, BTD, HIDBoot< BOOT_PROTOCOL >, ACM, USBHub, FTDI, PL2303, XR21B1411, ADK, HIDComposite, USBH_MIDI, XBOXONE, XBOXRECV, XBOXUSB, PS3USB, and XBOXOLD.

+

Reimplemented in BulkOnly, BTD, HIDBoot< BOOT_PROTOCOL >, ACM, USBHub, FTDI, PL2303, XR21B1411, ADK, HIDComposite, USBH_MIDI, XBOXONE, AMBX, XBOXRECV, XBOXUSB, PS3USB, and XBOXOLD.

Definition at line 137 of file UsbCore.h.

@@ -242,7 +243,7 @@ Public Member Functions
-

Reimplemented in BulkOnly, BTD, HIDBoot< BOOT_PROTOCOL >, ACM, USBHub, FTDI, ADK, HIDComposite, USBH_MIDI, XBOXONE, XBOXRECV, XBOXUSB, PS3USB, and XBOXOLD.

+

Reimplemented in BulkOnly, BTD, HIDBoot< BOOT_PROTOCOL >, ACM, USBHub, FTDI, ADK, HIDComposite, USBH_MIDI, XBOXONE, AMBX, XBOXRECV, XBOXUSB, PS3USB, and XBOXOLD.

Definition at line 145 of file UsbCore.h.

@@ -271,7 +272,7 @@ Public Member Functions
-

Reimplemented in HIDUniversal, BulkOnly, BTD, HIDBoot< BOOT_PROTOCOL >, ACM, USBHub, FTDI, ADK, HIDComposite, XBOXONE, XBOXRECV, XBOXUSB, PS3USB, and XBOXOLD.

+

Reimplemented in HIDUniversal, BulkOnly, BTD, HIDBoot< BOOT_PROTOCOL >, ACM, USBHub, FTDI, ADK, HIDComposite, XBOXONE, AMBX, XBOXRECV, XBOXUSB, PS3USB, and XBOXOLD.

Definition at line 149 of file UsbCore.h.

@@ -300,7 +301,7 @@ Public Member Functions
-

Reimplemented in BulkOnly, BTD, HIDBoot< BOOT_PROTOCOL >, ACM, USBHub, FTDI, ADK, XBOXONE, HIDComposite, XBOXRECV, USBH_MIDI, XBOXUSB, PS3USB, and XBOXOLD.

+

Reimplemented in BulkOnly, BTD, HIDBoot< BOOT_PROTOCOL >, ACM, USBHub, FTDI, ADK, XBOXONE, AMBX, HIDComposite, XBOXRECV, USBH_MIDI, XBOXUSB, PS3USB, and XBOXOLD.

Definition at line 153 of file UsbCore.h.

@@ -370,7 +371,7 @@ Public Member Functions
-

Reimplemented in BTD, PSBuzz, PS5USB, FTDI, MiniDSP, XBOXONE, PS4USB, ADK, XR21B1411, XBOXRECV, XBOXUSB, PS3USB, and XBOXOLD.

+

Reimplemented in BTD, PSBuzz, PS5USB, FTDI, MiniDSP, XBOXONE, PS4USB, ADK, XR21B1411, XBOXRECV, AMBX, XBOXUSB, PS3USB, and XBOXOLD.

Definition at line 161 of file UsbCore.h.

diff --git a/class_u_s_b_device_config__inherit__graph.map b/class_u_s_b_device_config__inherit__graph.map index fd5616a9..2e12d4ce 100644 --- a/class_u_s_b_device_config__inherit__graph.map +++ b/class_u_s_b_device_config__inherit__graph.map @@ -1,25 +1,26 @@ - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/class_u_s_b_device_config__inherit__graph.md5 b/class_u_s_b_device_config__inherit__graph.md5 index 15e92ef7..305895ac 100644 --- a/class_u_s_b_device_config__inherit__graph.md5 +++ b/class_u_s_b_device_config__inherit__graph.md5 @@ -1 +1 @@ -c604972a06679a54ed538f7b526f117f \ No newline at end of file +5e83e4ab8255183a987a66544696beca \ No newline at end of file diff --git a/class_u_s_b_device_config__inherit__graph.png b/class_u_s_b_device_config__inherit__graph.png index c5e46b4a..172f467b 100644 Binary files a/class_u_s_b_device_config__inherit__graph.png and b/class_u_s_b_device_config__inherit__graph.png differ diff --git a/classes.html b/classes.html index b754a951..a0c439e1 100644 --- a/classes.html +++ b/classes.html @@ -73,175 +73,176 @@ $(function() { ConfigDescParser   
  m  
-ps5TouchpadXY    -USB_CONFIGURATION_DESCRIPTOR    +PS5Trigger    +USB_ENDPOINT_DESCRIPTOR   
  e  
-PS5Trigger    -USB_DEVICE_DESCRIPTOR    +PS5USB    +USB_HID_DESCRIPTOR    ACM    MainItemIOFeature    -PS5USB    -USB_ENDPOINT_DESCRIPTOR    +PSBuzz    +USB_INTERFACE_DESCRIPTOR    ACM_FUNC_DESCR    EpInfo    MAX3421e    -PSBuzz    -USB_HID_DESCRIPTOR    +PSBUZZButtons    +UsbConfigXtracter    AddressPool   
  f  
Max_LCD    -PSBUZZButtons    -USB_INTERFACE_DESCRIPTOR    +PTPListParser    +UsbDevice    AddressPoolImpl    MiniDSP    -PTPListParser    -UsbConfigXtracter    +
  r  
+ +UsbDeviceAddress    ADK    FTDI    MODIFIERKEYS    -
  r  
- -UsbDevice    +USBDeviceConfig    + +AMBX    +FTDIAsyncOper    +MOUSEINFO    +ReportDescParser    +USBH_MIDI   
  b  
-FTDIAsyncOper    -MOUSEINFO    -UsbDeviceAddress    - -
  h  
+
  h  
MouseReportParser    -ReportDescParser    -USBDeviceConfig    - -BASICCDB    -MultiByteValueParser    ReportDescParser2    -USBH_MIDI    - -BluetoothService    -HexDumper    -MultiValueBuffer    -ReportDescParserBase    USBHID    -BTD    +MultiByteValueParser    +ReportDescParserBase    +USBHub    + +BASICCDB    +HexDumper    +MultiValueBuffer    +HIDComposite::ReportParser    +USBReadParser    + +BluetoothService    HID_CLASS_DESCRIPTOR_LEN_AND_TYPE   
  p  
-HIDComposite::ReportParser    -USBHub    - -BTHID    -HIDBoot    RequestSenseResponce    -USBReadParser    - -BulkOnly    -HIDComposite    -PL2303    -
  s  
-
  w  
-ByteSkipper    -HIDComposite::HIDInterface    -PS3BT    - -
  c  
+BTD    +HIDBoot    +
  s  
-HidItemPrefix    -PS3USB    -SETUP_PKT    + +BTHID    +HIDComposite    +PL2303    WII    -HIDReportParser    -PS4BT    -SinkParser    +BulkOnly    +HIDComposite::HIDInterface    +PS3BT    +SETUP_PKT   
  x  
-CALL_MGMNT_FUNC_DESCR    -HIDUniversal    -PS4Buttons    -SPi    +ByteSkipper    +HidItemPrefix    +PS3USB    +SinkParser    -Capacity    -HubDescriptor    -PS4Data    -SPP    +
  c  
+ +HIDReportParser    +PS4BT    +SPi    XBOXOLD    -CDB10    -HubEvent    -PS4Output    -
  t  
- +HIDUniversal    +PS4Buttons    +SPP    XBOXONE    -CDB12    +CALL_MGMNT_FUNC_DESCR    +HubDescriptor    +PS4Data    +
  t  
+ +XBOXONESBT    + +Capacity    +HubEvent    +PS4Output    +XboxOneSButtons    + +CDB10   
  i  
PS4Parser    -XBOXONESBT    - -CDB6    -PS4Status    TEL_RINGER_FUNC_DESCR    -XboxOneSButtons    - -CDB_LBA32_16    -InquiryResponse    -PS4USB    -touchpadXY    XboxOneSData    -CDB_LBA64_16    +CDB12    +PS4Status    +touchpadXY    +XBOXONESParser    + +CDB6    +InquiryResponse    +PS4USB    +tty_features    +XBOXRECV    + +CDB_LBA32_16   
  k  
PS5BT    -tty_features    -XBOXONESParser    - -CDCAsyncOper    -PS5Buttons   
  u  
-XBOXRECV    - -CLASS_NOTIFICATION    -KBDINFO    -PS5Data    XBOXUSB    -CommandBlockWrapper    -KBDLEDS    -PS5Output    -UHS2_GPIO    +CDB_LBA64_16    +PS5Buttons    XR21B1411    -CommandBlockWrapperBase    -KeyboardReportParser    -PS5Parser    +CDCAsyncOper    +KBDINFO    +PS5Data    +UHS2_GPIO    + +CLASS_NOTIFICATION    +KBDLEDS    +PS5Output    UniversalReportParser    -CommandStatusWrapper    +CommandBlockWrapper    +KeyboardReportParser    +PS5Parser    +USB    + +CommandBlockWrapperBase   
  l  
PS5Status    -USB    +USB_CONFIGURATION_DESCRIPTOR    + +CommandStatusWrapper    +ps5TouchpadXY    +USB_DEVICE_DESCRIPTOR    - LINE_CODING    diff --git a/files.html b/files.html index 80bf7829..6973b2ea 100644 --- a/files.html +++ b/files.html @@ -71,94 +71,97 @@ $(function() {  address.h  adk.cpp  adk.h - avrpins.h - BTD.cpp - BTD.h - BTHID.cpp - BTHID.h - cdc_XR21B1411.cpp - cdc_XR21B1411.h - cdcacm.cpp - cdcacm.h - cdcftdi.cpp - cdcftdi.h - cdcprolific.cpp - cdcprolific.h - confdescparser.h - controllerEnums.h - hexdump.h - hidboot.cpp - hidboot.h - hidcomposite.cpp - hidcomposite.h - hidescriptorparser.cpp - hidescriptorparser.h - hiduniversal.cpp - hiduniversal.h - hidusagestr.h - hidusagetitlearrays.cpp - macros.h - masstorage.cpp - masstorage.h - max3421e.h - max_LCD.cpp - max_LCD.h - message.cpp - message.h - MiniDSP.cpp - MiniDSP.h - parsetools.cpp - parsetools.h - printhex.h - PS3BT.cpp - PS3BT.h - PS3Enums.h - PS3USB.cpp - PS3USB.h - PS4BT.h - PS4Parser.cpp - PS4Parser.h - PS4USB.h - PS5BT.h - PS5Parser.cpp - PS5Parser.h - PS5Trigger.cppBased on Ludwig Füchsl's DualSense Windows driver https://github.com/Ohjurot/DualSense-Windows - PS5Trigger.hBased on Ludwig Füchsl's DualSense Windows driver https://github.com/Ohjurot/DualSense-Windows - PS5USB.h - PSBuzz.cpp - PSBuzz.h - settings.h - sink_parser.h - SPP.cpp - SPP.h - UHS2_gpio.cpp - UHS2_gpio.h - Usb.cpp - Usb.h - usb_ch9.h - UsbCore.h - usbh_midi.cpp - usbh_midi.h - usbhid.cpp - usbhid.h - usbhost.h - usbhub.cpp - usbhub.h - version_helper.h - Wii.cpp - Wii.h - xboxEnums.h - XBOXOLD.cpp - XBOXOLD.h - XBOXONE.cpp - XBOXONE.h - XBOXONESBT.h - XBOXONESParser.cpp - XBOXONESParser.h - XBOXRECV.cpp - XBOXRECV.h - XBOXUSB.cpp - XBOXUSB.h + AMBX.cpp + AMBX.h + AMBXEnums.h + avrpins.h + BTD.cpp + BTD.h + BTHID.cpp + BTHID.h + cdc_XR21B1411.cpp + cdc_XR21B1411.h + cdcacm.cpp + cdcacm.h + cdcftdi.cpp + cdcftdi.h + cdcprolific.cpp + cdcprolific.h + confdescparser.h + controllerEnums.h + hexdump.h + hidboot.cpp + hidboot.h + hidcomposite.cpp + hidcomposite.h + hidescriptorparser.cpp + hidescriptorparser.h + hiduniversal.cpp + hiduniversal.h + hidusagestr.h + hidusagetitlearrays.cpp + macros.h + masstorage.cpp + masstorage.h + max3421e.h + max_LCD.cpp + max_LCD.h + message.cpp + message.h + MiniDSP.cpp + MiniDSP.h + parsetools.cpp + parsetools.h + printhex.h + PS3BT.cpp + PS3BT.h + PS3Enums.h + PS3USB.cpp + PS3USB.h + PS4BT.h + PS4Parser.cpp + PS4Parser.h + PS4USB.h + PS5BT.h + PS5Parser.cpp + PS5Parser.h + PS5Trigger.cppBased on Ludwig Füchsl's DualSense Windows driver https://github.com/Ohjurot/DualSense-Windows + PS5Trigger.hBased on Ludwig Füchsl's DualSense Windows driver https://github.com/Ohjurot/DualSense-Windows + PS5USB.h + PSBuzz.cpp + PSBuzz.h + settings.h + sink_parser.h + SPP.cpp + SPP.h + UHS2_gpio.cpp + UHS2_gpio.h + Usb.cpp + Usb.h + usb_ch9.h + UsbCore.h + usbh_midi.cpp + usbh_midi.h + usbhid.cpp + usbhid.h + usbhost.h + usbhub.cpp + usbhub.h + version_helper.h + Wii.cpp + Wii.h + xboxEnums.h + XBOXOLD.cpp + XBOXOLD.h + XBOXONE.cpp + XBOXONE.h + XBOXONESBT.h + XBOXONESParser.cpp + XBOXONESParser.h + XBOXRECV.cpp + XBOXRECV.h + XBOXUSB.cpp + XBOXUSB.h
diff --git a/functions_a.html b/functions_a.html index 5dffa0d2..f0d3770a 100644 --- a/functions_a.html +++ b/functions_a.html @@ -173,6 +173,12 @@ $(function() {
  • AllocationLength : CDB6
  • +
  • AMBX() +: AMBX +
  • +
  • AMBXConnected +: AMBX +
  • aplphanumTitles0 : ReportDescParserBase
  • @@ -183,7 +189,8 @@ $(function() { : ReportDescParserBase
  • attachOnInit() -: BluetoothService +: AMBX +, BluetoothService , MiniDSP , PS3USB , PS4USB diff --git a/functions_b.html b/functions_b.html index 7a0ae858..0041a5fa 100644 --- a/functions_b.html +++ b/functions_b.html @@ -82,6 +82,7 @@ $(function() {
  • bAddress : ACM , ADK +, AMBX , BTD , BulkOnly , PS3USB diff --git a/functions_e.html b/functions_e.html index f926bbc7..de43da65 100644 --- a/functions_e.html +++ b/functions_e.html @@ -132,6 +132,7 @@ $(function() {
  • epInfo : ACM , ADK +, AMBX , BTD , BulkOnly , HIDComposite diff --git a/functions_func.html b/functions_func.html index d390b3f2..0d02887f 100644 --- a/functions_func.html +++ b/functions_func.html @@ -85,8 +85,12 @@ $(function() { : AddressPool , AddressPoolImpl< MAX_DEVICES_ALLOWED >
  • +
  • AMBX() +: AMBX +
  • attachOnInit() -: BluetoothService +: AMBX +, BluetoothService , MiniDSP , PS3USB , PS4USB diff --git a/functions_func_g.html b/functions_func_g.html index 16e4198c..91b6ee9a 100644 --- a/functions_func_g.html +++ b/functions_func_g.html @@ -71,6 +71,7 @@ $(function() {
  • GetAddress() : ACM , ADK +, AMBX , BTD , BulkOnly , FTDI diff --git a/functions_func_i.html b/functions_func_i.html index a5772be0..c0f5b911 100644 --- a/functions_func_i.html +++ b/functions_func_i.html @@ -74,12 +74,13 @@ $(function() {
  • Init() : ACM , ADK +, AMBX , BTD , BulkOnly , FTDI , HIDBoot< BOOT_PROTOCOL > , HIDComposite -, MAX3421e< SPI_SS, INTR > +, MAX3421e< SPI_SS, INTR >
  • init() : Max_LCD diff --git a/functions_func_p.html b/functions_func_p.html index e1b24e33..e8a0363a 100644 --- a/functions_func_p.html +++ b/functions_func_p.html @@ -124,6 +124,7 @@ $(function() {
  • Poll() : ACM , ADK +, AMBX , BTD , BulkOnly , FTDI diff --git a/functions_func_r.html b/functions_func_r.html index 7ee509c9..6524ac6e 100644 --- a/functions_func_r.html +++ b/functions_func_r.html @@ -105,6 +105,7 @@ $(function() {
  • Release() : ACM , ADK +, AMBX , BTD , BulkOnly , FTDI diff --git a/functions_func_s.html b/functions_func_s.html index 61cf294e..029b2eb3 100644 --- a/functions_func_s.html +++ b/functions_func_s.html @@ -108,6 +108,9 @@ $(function() {
  • setAddr() : USB
  • +
  • setAllLights() +: AMBX +
  • setAllOff() : PS3BT , PS3USB @@ -207,7 +210,7 @@ $(function() { , XBOXUSB
  • setLeds() -: BTHID +: BTHID
  • setLedStatus() : WII @@ -218,6 +221,9 @@ $(function() { , PSBuzz , WII
  • +
  • setLight() +: AMBX +
  • SetLineCoding() : ACM
  • @@ -273,7 +279,7 @@ $(function() { , XBOXUSB
  • setRumbleOn() -: PS3BT +: PS3BT , PS3USB , PS4Parser , PS5Parser diff --git a/functions_func_v.html b/functions_func_v.html index 8d177f18..2dc0033f 100644 --- a/functions_func_v.html +++ b/functions_func_v.html @@ -70,6 +70,7 @@ $(function() {
  • VIDPIDOK() : ADK +, AMBX , BTD , FTDI , MiniDSP diff --git a/functions_g.html b/functions_g.html index fa71ccf9..466fd204 100644 --- a/functions_g.html +++ b/functions_g.html @@ -99,6 +99,7 @@ $(function() {
  • GetAddress() : ACM , ADK +, AMBX , BTD , BulkOnly , FTDI diff --git a/functions_i.html b/functions_i.html index 74a0530a..cf85b774 100644 --- a/functions_i.html +++ b/functions_i.html @@ -100,6 +100,7 @@ $(function() {
  • Init() : ACM , ADK +, AMBX , BTD , BulkOnly , FTDI diff --git a/functions_p.html b/functions_p.html index 1332732a..c5f6501d 100644 --- a/functions_p.html +++ b/functions_p.html @@ -163,6 +163,7 @@ $(function() {
  • Poll() : ACM , ADK +, AMBX , BTD , BulkOnly , FTDI @@ -316,6 +317,7 @@ $(function() {
  • pUsb : ACM , ADK +, AMBX , BTD , BulkOnly , PS3USB diff --git a/functions_r.html b/functions_r.html index 8e8d4d57..cb825482 100644 --- a/functions_r.html +++ b/functions_r.html @@ -148,6 +148,7 @@ $(function() {
  • Release() : ACM , ADK +, AMBX , BTD , BulkOnly , FTDI diff --git a/functions_s.html b/functions_s.html index 2ffe2f4a..b93cf084 100644 --- a/functions_s.html +++ b/functions_s.html @@ -131,6 +131,9 @@ $(function() {
  • setAddr() : USB
  • +
  • setAllLights() +: AMBX +
  • setAllOff() : PS3BT , PS3USB @@ -241,6 +244,9 @@ $(function() { , PSBuzz , WII
  • +
  • setLight() +: AMBX +
  • SetLineCoding() : ACM
  • @@ -296,9 +302,9 @@ $(function() { , XBOXUSB
  • setRumbleOn() -: PS3BT -, PS3USB -, PS4Parser +: PS3BT +, PS3USB +, PS4Parser , PS5Parser , WII , XBOXOLD diff --git a/functions_v.html b/functions_v.html index 48c06402..a6f2fb66 100644 --- a/functions_v.html +++ b/functions_v.html @@ -98,6 +98,7 @@ $(function() {
  • VIDPIDOK() : ADK +, AMBX , BTD , FTDI , MiniDSP diff --git a/functions_vars_a.html b/functions_vars_a.html index 56e3adbf..6695c912 100644 --- a/functions_vars_a.html +++ b/functions_vars_a.html @@ -153,6 +153,9 @@ $(function() {
  • AllocationLength : CDB6
  • +
  • AMBXConnected +: AMBX +
  • aplphanumTitles0 : ReportDescParserBase
  • diff --git a/functions_vars_b.html b/functions_vars_b.html index e912f206..02ea4b7e 100644 --- a/functions_vars_b.html +++ b/functions_vars_b.html @@ -82,6 +82,7 @@ $(function() {
  • bAddress : ACM , ADK +, AMBX , BTD , BulkOnly , PS3USB diff --git a/functions_vars_e.html b/functions_vars_e.html index e8236a1f..6a14bcfc 100644 --- a/functions_vars_e.html +++ b/functions_vars_e.html @@ -104,6 +104,7 @@ $(function() {
  • epInfo : ACM , ADK +, AMBX , BTD , BulkOnly , HIDComposite diff --git a/functions_vars_p.html b/functions_vars_p.html index 9d318643..3b7ad2fd 100644 --- a/functions_vars_p.html +++ b/functions_vars_p.html @@ -135,6 +135,7 @@ $(function() {
  • pUsb : ACM , ADK +, AMBX , BTD , BulkOnly , PS3USB diff --git a/globals_a.html b/globals_a.html index ac2b96a3..a165acbf 100644 --- a/globals_a.html +++ b/globals_a.html @@ -125,6 +125,66 @@ $(function() {
  • ALTERNATING : xboxEnums.h
  • +
  • AMBX_CONTROL_PIPE +: AMBX.h +
  • +
  • AMBX_ENDPOINT_IN +: AMBX.h +
  • +
  • AMBX_ENDPOINT_OUT +: AMBX.h +
  • +
  • AMBX_ENDPOINT_PNP +: AMBX.h +
  • +
  • AMBX_EP_MAXPKTSIZE +: AMBX.h +
  • +
  • AMBX_INPUT_PIPE +: AMBX.h +
  • +
  • AMBX_LIGHT_COMMAND_BUFFER_SIZE +: AMBX.h +
  • +
  • AMBX_LIGHT_LEFT +: AMBX.h +
  • +
  • AMBX_LIGHT_RIGHT +: AMBX.h +
  • +
  • AMBX_LIGHT_WW_CENTER +: AMBX.h +
  • +
  • AMBX_LIGHT_WW_LEFT +: AMBX.h +
  • +
  • AMBX_LIGHT_WW_RIGHT +: AMBX.h +
  • +
  • AMBX_MAX_ENDPOINTS +: AMBX.h +
  • +
  • AMBX_OUTPUT_PIPE +: AMBX.h +
  • +
  • AMBX_PID +: AMBX.h +
  • +
  • AMBX_PREFIX_COMMAND +: AMBX.h +
  • +
  • AMBX_SET_COLOR_COMMAND +: AMBX.h +
  • +
  • AMBX_VID +: AMBX.h +
  • +
  • AmbxColorsEnum +: AMBXEnums.h +
  • +
  • AmbxLightsEnum +: AMBXEnums.h +
  • AnalogHatEnum : controllerEnums.h
  • diff --git a/globals_b.html b/globals_b.html index dbf3faee..3cd78b84 100644 --- a/globals_b.html +++ b/globals_b.html @@ -114,7 +114,8 @@ $(function() { : controllerEnums.h
  • Blue -: controllerEnums.h +: AMBXEnums.h +, controllerEnums.h
  • BLUE : controllerEnums.h diff --git a/globals_defs_a.html b/globals_defs_a.html index 0468da8d..53730397 100644 --- a/globals_defs_a.html +++ b/globals_defs_a.html @@ -116,6 +116,60 @@ $(function() {
  • AFTERGLOW_WIRED_PID : XBOXUSB.h
  • +
  • AMBX_CONTROL_PIPE +: AMBX.h +
  • +
  • AMBX_ENDPOINT_IN +: AMBX.h +
  • +
  • AMBX_ENDPOINT_OUT +: AMBX.h +
  • +
  • AMBX_ENDPOINT_PNP +: AMBX.h +
  • +
  • AMBX_EP_MAXPKTSIZE +: AMBX.h +
  • +
  • AMBX_INPUT_PIPE +: AMBX.h +
  • +
  • AMBX_LIGHT_COMMAND_BUFFER_SIZE +: AMBX.h +
  • +
  • AMBX_LIGHT_LEFT +: AMBX.h +
  • +
  • AMBX_LIGHT_RIGHT +: AMBX.h +
  • +
  • AMBX_LIGHT_WW_CENTER +: AMBX.h +
  • +
  • AMBX_LIGHT_WW_LEFT +: AMBX.h +
  • +
  • AMBX_LIGHT_WW_RIGHT +: AMBX.h +
  • +
  • AMBX_MAX_ENDPOINTS +: AMBX.h +
  • +
  • AMBX_OUTPUT_PIPE +: AMBX.h +
  • +
  • AMBX_PID +: AMBX.h +
  • +
  • AMBX_PREFIX_COMMAND +: AMBX.h +
  • +
  • AMBX_SET_COLOR_COMMAND +: AMBX.h +
  • +
  • AMBX_VID +: AMBX.h +
  • AUX_JACK_HOOK_STATE : cdcacm.h
  • diff --git a/globals_enum.html b/globals_enum.html index 66e7c70d..bdc5e68d 100644 --- a/globals_enum.html +++ b/globals_enum.html @@ -63,6 +63,12 @@ $(function() {