summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2016-09-11lld: rework low level driver initializationAmir Hammad3-16/+16
Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2016-09-11use forward declaration for usbh_dev_driver_tAmir Hammad4-32/+26
Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2016-09-11use NULL instead of 0 for assigning null pointerAmir Hammad5-15/+18
Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2016-09-11midi: rename prefix of static functionsAmir Hammad1-12/+12
Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2016-09-11lld: don't enable channel on write nack, return EAGAIN insteadAmir Hammad1-3/+12
Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2016-09-11hub: use common code to remove deviceAmir Hammad2-7/+2
Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2016-09-11remove detection of hangAmir Hammad1-5/+0
Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2016-09-11HUB: make use of control wrappers + use enumsAmir Hammad2-218/+84
Until now, hardcoded numbers were used as states. Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2016-09-11hid: use control wrapper to simplify hid report writesAmir Hammad1-80/+8
Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2016-09-11core: use new control wrapper to set configuration to deviceAmir Hammad1-21/+2
Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2016-09-11core: use new control wrapper to read device descriptorAmir Hammad1-27/+3
Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2016-09-11core: use new control wrapper to set device's addressAmir Hammad1-22/+2
Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2016-09-11core: add helper state machine for control read/writeAmir Hammad1-8/+87
Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2016-09-11add DISABLE_LOW_LEVEL ifdef in hub device driverAmir Hammad1-0/+8
Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2016-09-11Drop need for the set configuration request in dev driversAmir Hammad5-212/+109
Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2016-09-11core: Simplify device removesAmir Hammad2-25/+15
Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2016-09-11make hid_mouse driver generic HID driverAmir Hammad4-307/+558
+ keyboard support + SET_REPORT commands - usually leds on keyboards (WIP) - missing parsing of HID report descriptor Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2016-09-11Switch to cmake build systemAmir Hammad6-28/+787
* use tinyprintf * ability to configure project via ccmake Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2016-09-08core: adjust search for the device driverAmir Hammad1-28/+29
in finding compatibility there are 3 steps how to find out whether the provided device driver supports currently inserted device. 1. compare fields in the driver info structure If there is a match (all CHECK_PARTIAL_COMPATIBILITY() macros return true), we proceed to step 2. If all device drivers are searched, but none is compatible -> that means no device driver is available for currently inserted device. 2. try to call driver's init function. If it return non-null pointer to data we may proceed to the step 3. Otherwise, we continue in the loop handling step 1. 3. call analyze descriptor for all descriptors. When it returns true, it means success and that the driver supports current device. From now on poll function is allowed to be called. If all descriptors were provided to the analyze_descriptor method and it still returns false, it means device driver is not initialized and should not be used with this device. Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2016-09-08make usbh_packet->data of union typeAmir Hammad6-14/+14
out: const void * in: void * Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2016-09-08usbh_core refactorAmir Hammad1-82/+100
Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2016-09-01fix bmRequestType field - use of definesAmir Hammad4-18/+18
Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2016-08-30hub: fix commented out code and commentsAmir Hammad1-14/+2
Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2016-08-23remove not needed carriage returns in printfAmir Hammad3-3/+3
Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2016-07-30usbh_core: logs: DEVICE DESCRIPTOR EOLAmir Hammad1-1/+1
Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2016-07-30lld: stm32f4: fix logsAmir Hammad1-2/+2
Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2016-07-30add option to pass data to control writesAmir Hammad6-31/+51
Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2016-07-25Fix broken demo after reworkAmir Hammad1-2/+2
Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2016-07-09Adjust documentation to fit doxygenAmir Hammad2-2/+4
Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2016-07-08rename usbh_hubbed.* to usbh_core.*Amir Hammad5-5/+5
Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2016-07-08lld: stm32f4: adjust reporting of the unahandled block of codeAmir Hammad1-1/+1
Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2016-07-08rename usbh_driver to usbh_low_level_driverAmir Hammad2-9/+9
Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2016-07-08documentation: add some basic documentation accross the headersAmir Hammad1-3/+3
Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2016-07-08refactor: use enum instead of #define: USBH_ENDPOINT_TYPE and USBH_SPEEDAmir Hammad6-19/+19
Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2016-06-25Embed information about compilation with the debug functions into make outputAmir Hammad1-29/+0
Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2016-06-25Don't compile usart_helpers.o when USART_DEBUG is not definedAmir Hammad1-2/+1
Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2016-06-25let the user build an array of lld driversAmir Hammad2-12/+8
Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2016-06-25move USE_STM32f4_USBH_DRIVER_HS/FS from config.mk to usbh_config.hAmir Hammad1-1/+1
Leave the behaviour as before: Default: FullSpeed Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2016-06-20Merged usb midi code into current libusbmasterAmir Hammad3-0/+467
+ merge fixes Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2015-08-26lld/stm32f4: Send correct amount of dataAmir Hammad1-2/+15
+ added logging output of data that is going to be sent. Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2015-08-26Device driver/gp_xbox:Use correct endpoint type:INTERRUPTAmir Hammad1-1/+1
Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2015-08-26lld/stm32f4: fix bug, setting wrong eptyp fieldAmir Hammad1-3/+8
it was always 0 - control transfer... Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2015-08-26usbh_hubbed: set packet_size_max0 field also when DT_DEVICE returns OKAmir Hammad1-0/+1
packet_size_max0 was set only if it was 8. It was not working for 16 or 32. Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2015-08-26Device driver/mouse: use correct endpoint type: INTERRUPTAmir Hammad1-1/+1
Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2015-07-29hub: Empty packet readings after SET_ and CLEAR_ commandsAmir Hammad2-9/+25
* fixed typo/bug: "hub->state += 2" must have been "hub->state = 2" to issue empty read Now, after each SET_ or CLEAR_ command, empty read is issued. + removed forward declaration of event() - cleaning Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2015-07-13gp_xbox: Do not allow unitialized driver to be loadedAmir Hammad1-2/+2
Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2015-07-13mouse: Do not allow unitialized driver to be loadedAmir Hammad1-1/+9
Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2015-07-13hub: Do not allow unitialized driver to be loadedAmir Hammad1-1/+8
Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2015-07-13Global logging: use \n for a new line instead \r\n in LOG_PRINTFAmir Hammad7-66/+66
Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>
2015-07-13usbh_hubbed: When in unknown state, print ErrorAmir Hammad1-0/+4
Signed-off-by: Amir Hammad <amir.hammad@hotmail.com>