Commit Graph

137 Commits (c028aa4913ad4474e563e60e109f874edab0a3fd)

Author SHA1 Message Date
George Beckstein 432969490d Removed mbed.h global include 2019-07-03 16:21:10 +03:00
George Beckstein b85f302bcc Removed incorrect comment 2019-07-03 16:21:10 +03:00
aglass0fmilk b5981d101b Added spdx identifiers and fixed indentation in targets.json 2019-07-03 16:21:10 +03:00
George Beckstein 8dc9dad058 Astyle fixed USBPhy_Nordic.cpp 2019-07-03 16:21:10 +03:00
George Beckstein a29f35a56e Changed formatting, check if endpoint is stalled in unstall. Added errata header 2019-07-03 16:21:10 +03:00
aglass0fmilk cae6cfe9dd Fixed failure on endpoint test data toggle reset (under Windows): "Data toggle not reset when calling ClearFeature(ENDPOINT_HALT) on an endpoint that has not been halted." 2019-07-03 16:21:10 +03:00
George Beckstein 79c47bf09f Added in code to fix deepsleep underflow. Nullify event handler member variable. 2019-07-03 16:21:10 +03:00
George Beckstein 01f0880d65 Lock sleep when USB is initialized
Added logic to lock deep sleep when USB is initialized to prevent malfunctioning. This is consistent with the other drivers. See PR ARMmbed/mbed-os#9879
2019-07-03 16:21:10 +03:00
George Beckstein 974e8899e0 Autoformatted with astyle 2019-07-03 16:21:09 +03:00
George Beckstein b2ae05f991 Fixed some comments 2019-07-03 16:21:09 +03:00
George Beckstein 47dc283595 Fixed IRQ_ENABLE call to IRQ_DISABLE (oops). 2019-07-03 16:21:09 +03:00
George Beckstein 3b5e68fa78 Finished compatibility changes for nrfx renaming 2019-07-03 16:21:09 +03:00
George Beckstein b3a461ea27 Fixing compatibilities with new nrfx drivers 2019-07-03 16:21:09 +03:00
George Beckstein 7578414d84 Removed redundant virtual status transfer notifications. 2019-07-03 16:21:09 +03:00
George Beckstein 4b4364fedf Added workaround for "unloading" IN endpoints after unstalling. Disable and then reenable when USBPhyHw::endpoint_unhalt() is called. 2019-07-03 16:21:09 +03:00
George Beckstein 0f614124c1 Removed unnecessary logic and changed round robin DMA scheduling 2019-07-03 16:21:09 +03:00
George Beckstein 42d31abf94 Added in flag for preventing double IRQ triggering and added asserts for Nordic driver calls 2019-07-03 16:21:09 +03:00
George Beckstein a33ecbf9f7 Ignore events that happen when an endpoint is stalled/halted 2019-07-03 16:21:09 +03:00
George Beckstein fd0a1d178a Added a return from the virtual status transfer software-triggered interrupt. Not entirely sure this is appropriate. 2019-07-03 16:21:09 +03:00
George Beckstein a646be0c7d Added simulated status stage interrupt 2019-07-03 16:21:09 +03:00
George Beckstein 6fff16c0b1 Trying virtual status stage and generated interrupt 2019-07-03 16:21:09 +03:00
George Beckstein 3ebd98d965 Added setup status enum and removed some old commented out code 2019-07-03 16:21:08 +03:00
George Beckstein b4fa4b724a Implemented USBPhyHw::unconfigure() as it was causing configuration changes to fail. Endpoints were not being removed properly in the Nordic driver 2019-07-03 16:21:08 +03:00
George Beckstein 7aeb22a0e9 Added data toggle clearing to removing endpoints. Reworked aborting endpoints in nordic driver to prevent an ASSERT when it is called on ISO endpoints 2019-07-03 16:21:08 +03:00
George Beckstein 717c1bca9b Changed a little formatting 2019-07-03 16:21:08 +03:00
George Beckstein 93bdf39867 Added code to ignore ZLP packets on the ISOOUT endpoint... not fixing issue yet 2019-07-03 16:21:08 +03:00
George Beckstein cd7eee31f1 Removed function call for SOF event -- frame counter is already included in data from usb event 2019-07-03 16:21:08 +03:00
George Beckstein e3b3e7288b Removed 0 max packet size assert for ISO endpoints. Ensured usbd_ep_abort would not be called on ISO endpoints (this currently causes an ASSERT in the Nordic driver 2019-07-03 16:21:08 +03:00
George Beckstein f49b36c930 Fixed bug causing usb_control_stall_test to fail intermittently. Preparing the Nordic HW for the status stage of a control transfer would sometimes cause the HW to automatically ACK an "invalid" command during the control stall test. This would cause the test to fail (because an invalid request was not stalled). 2019-07-03 16:21:08 +03:00
George Beckstein c5f947754c Reviewing functions. Added critical sections to some functions that access state information. 2019-07-03 16:21:08 +03:00
George Beckstein 7e1e5eaa62 Removed disable from disconnect to see if it affects the success of the soft reset test. 2019-07-03 16:21:08 +03:00
George Beckstein fabe8b83ee Added EP0 stalls to setup event handler 2019-07-03 16:21:08 +03:00
George Beckstein 5f731a8d6a Added in triggers to synchronize control transfer stages with what the hardware expects. First working example! 2019-07-03 16:21:08 +03:00
George Beckstein e82e13e2b2 Non-working custom feeder. Modified nordic driver to disable automatic EP0STATUS task triggering at end of DMA transfer 2019-07-03 16:21:08 +03:00
George Beckstein f798f58700 working on making the mbed and nordic drivers compatible 2019-07-03 16:21:07 +03:00
George Beckstein 8c77a3695b Added errata fixes (171, 187) from nRF SDK 15.2 that would prevent USBD from starting up 2019-07-03 16:21:07 +03:00
George Beckstein f4b327e69e Changed driver to request hf and lf clock sources... not sure why USB Ready event isn't ever getting triggered 2019-07-03 16:21:07 +03:00
George Beckstein 0f92c2b3ae Changed power handler to enable/start & disable/stop USBD driver in background 2019-07-03 16:21:07 +03:00
George Beckstein 188b450fe4 Configured sdk for enabling USB. Preliminary implementation of USB for nRF52840 2019-07-03 16:21:07 +03:00
Kevin Bracey 2fbbd9d2ca Introduce Semaphore::acquire methods
Deprecate wait() in favour of acquire(), try_acquire(),
try_acquire_for() and try_acquire_until().

Brings Semaphore more into line with CMSIS-RTOS 2 (which uses "acquire"),
itself (as it has "release"), and other classes having "try", "try for"
and "try until".

Also steps away from vague "wait" term - the primary operation here is
to acquire the semaphore, and this will of course sleep.
2019-05-28 17:02:06 +03:00
Martin Kojtal d299b3fc8b
Merge pull request #9443 from juhaylinen/usbcdc_ecm
Add USBCDC_ECM class
2019-05-20 10:30:19 +01:00
Martin Kojtal 3ea1c56124
Merge pull request #10147 from kjbracey-arm/atomic_bitwise
Assembler atomics
2019-05-13 14:18:05 +01:00
Kevin Bracey 87396e0bf6 Assembler atomics
Reimplement atomic code in inline assembly. This can improve
optimisation, and avoids potential architectural problems with using
LDREX/STREX intrinsics.

API further extended:
* Bitwise operations (fetch_and/fetch_or/fetch_xor)
* fetch_add and fetch_sub (like incr/decr, but returning old value -
  aligning with C++11)
* compare_exchange_weak
* Explicit memory order specification
* Basic freestanding template overloads for C++

This gives our existing C implementation essentially all the functionality
needed by C++11.

An actual Atomic<T> template based upon these C functions could follow.
2019-04-26 13:12:35 +03:00
Russ Butler 3a891f9bfe Fix USB control transfers using small size
Fix support for wMaxPacketSize values other than 64 for endpoint 0.
2019-04-24 11:12:40 -05:00
Martin Kojtal 6b9d1573fb
Merge pull request #10096 from fkjagodzinski/test-usb-hid
Add USB HID tests
2019-04-17 14:06:51 +01:00
Filip Jagodzinski 565ceb0048 USBHID: Fix the initial HID report read operation
The first 4 bytes received were lost due to a wrong address.
Read the output report into HID_REPORT.data.
2019-04-09 17:03:21 +02:00
Russ Butler 2986b3af7c Fix doxygen comment in USBDevice
Update the doxygen to correctly describe the return value of
endpoint_read_result.
2019-04-08 17:30:22 -05:00
Martin Kojtal e7987a9f04
Merge pull request #10166 from cmonr/astyle-fix
Travis CI: Tweak astyle to not over-exclude files
2019-03-22 06:36:07 +01:00
Martin Kojtal f99431f7c2
Merge pull request #9444 from maciejbocianski/usb_msd_tests
Usb msd tests
2019-03-21 10:42:55 +01:00
Cruz Monrreal II a1c047aba4 Added missing astyle corrections for usb/device/targets/* 2019-03-20 12:57:36 -05:00