34 #define __INCLUDE_FROM_USB_DRIVER
35 #include "../../Core/USBMode.h"
37 #if defined(USB_CAN_BE_HOST)
39 #define __INCLUDE_FROM_SI_DRIVER
40 #define __INCLUDE_FROM_STILLIMAGE_HOST_C
44 uint16_t ConfigDescriptorSize,
45 void* ConfigDescriptorData)
53 memset(&SIInterfaceInfo->
State, 0x00,
sizeof(SIInterfaceInfo->
State));
58 while (!(DataINEndpoint) || !(DataOUTEndpoint) || !(EventsEndpoint))
60 if (!(StillImageInterface) ||
72 DataINEndpoint =
NULL;
73 DataOUTEndpoint =
NULL;
74 EventsEndpoint =
NULL;
84 EventsEndpoint = EndpointData;
86 DataINEndpoint = EndpointData;
90 DataOUTEndpoint = EndpointData;
100 uint8_t InterruptPeriod;
105 Size = DataINEndpoint->EndpointSize;
106 EndpointAddress = DataINEndpoint->EndpointAddress;
116 Size = DataOUTEndpoint->EndpointSize;
117 EndpointAddress = DataOUTEndpoint->EndpointAddress;
127 Size = EventsEndpoint->EndpointSize;
128 EndpointAddress = EventsEndpoint->EndpointAddress;
132 InterruptPeriod = EventsEndpoint->PollingIntervalMS;
184 uint8_t EndpointType = (Endpoint->Attributes &
EP_TYPE_MASK);
235 uint16_t TimeoutMSRem = SI_COMMAND_DATA_TIMEOUT_MS;
249 if (CurrentFrameNumber != PreviousFrameNumber)
251 PreviousFrameNumber = CurrentFrameNumber;
253 if (!(TimeoutMSRem--))
300 const uint16_t Bytes)
321 const uint16_t Bytes)
341 bool IsEventReceived =
false;
351 IsEventReceived =
true;
355 return IsEventReceived;
444 const uint16_t Operation,
445 const uint8_t TotalParams,
462 memcpy(&PIMABlock.
Params, Params,
sizeof(
uint32_t) * TotalParams);