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