Commit Graph

33 Commits

Author SHA1 Message Date
Léa Saviot
e846e31029 [usb] Clear interrupt on "false" ENUMDNE
Fixes a bug where the device would not get enumerated even if the plug
state was detected (an ENUMDNE interrupt had not been cleared, thus the
new enumeration attempt was not detected).

Change-Id: I19622221fc077965ed3cab5322944e4c2c89fde4
2018-04-16 10:48:11 +02:00
Léa Saviot
f9717a38ce [usb] Lower power consumption.
Change-Id: I3822a6dec193c04ef297bdd47f02f84f61c36094
2018-04-06 14:31:49 +02:00
Léa Saviot
fa0530a5f0 [usb] ShutdownOTG.
Change-Id: Id2fd4d978ce5d273cb4b67b8bb5b3343c7184377
2018-04-06 14:31:49 +02:00
Léa Saviot
b2f9c4c0c9 [usb] Better comments in usb.cpp
Change-Id: I81074c755e2e192a1c82bfabf26ca601a6162bd8
2018-04-06 14:31:49 +02:00
Léa Saviot
3096be1e24 [usb] Init the device to soft-disconnected state.
Change-Id: I86643d2307b172a366e937fd9bab5d603a95fcf3
2018-04-06 14:31:48 +02:00
Léa Saviot
ee3f947757 [usb] Enable/disable USB when the cable is plugged/un-plugged.
Change-Id: I8aecf43b73ba5bb5c20e38ee2251b24ecb16f366
2018-04-06 14:31:48 +02:00
Léa Saviot
562e419fc3 [ion] Handle USBEnumeration event like USBPlug.
Change-Id: I70c1dc92fdba8e56508a1dce65ad30a771326a30
2018-04-06 14:31:48 +02:00
Léa Saviot
ff82ca26f2 [usb] Enable the USB core on calculator plugged.
Change-Id: I5b8ab068936524e775bb77a4569a2601e5a9844a
2018-04-06 14:31:48 +02:00
Léa Saviot
4b48a290b1 [usb] Better comments in usb.cpp
Change-Id: I87a90788ffa4eebf9411135d69cdc11b7eb6d183
2018-04-06 14:31:47 +02:00
Léa Saviot
3bb4b328dd [usb] Mask un-necessary interrupts.
Change-Id: I400b89a6c5bb17baad8c95dc75ea2fcedf722494
2018-04-06 14:31:47 +02:00
Léa Saviot
42804bc040 [usb] Better comments and small code cleaning.
Change-Id: I98cad5ccf0d895bfaf7d26b715468dc8fb53c1f5
2018-04-06 14:31:46 +02:00
Léa Saviot
0978db0478 [usb] Comment about the Rx FIFO size value.
Change-Id: I17dfb81951e30c48ada56789c2f7f8fe7e1fbd18
2018-04-06 14:31:46 +02:00
Léa Saviot
e0e26a3607 [usb] Separate bin file for DFU code, copied in RAM for execution.
Change-Id: I1b2147ecd2f3d4a5c3d7db5e7a07b66258666fca
2018-04-06 14:31:45 +02:00
Léa Saviot
b7829a0937 [usb] Change apps and relocate usb stack on ram.
When the device is plugged to a USB host.

Change-Id: I5d7ae3c86cacce509b6ccca2746984f7e806cb49
2018-04-06 14:31:45 +02:00
Léa Saviot
88cbe8d560 [usb] Clean enumeration code.
Change-Id: Ie82f5d6585735708a75fd7c0121b19ef19e40374
2018-04-06 14:31:45 +02:00
Léa Saviot
b67f889a40 [WIP] dfu
Change-Id: I8a30380f393a073320843ad94b7938d1f510377a
2018-04-06 14:31:45 +02:00
Léa Saviot
a1b6dacdbe [usb] Code re-organization.
Change-Id: I62be87ea2b8baf419c8e8dc43fa06faa9c290961
2018-04-06 14:31:45 +02:00
Léa Saviot
851d927235 [usb] Open a web page when the calculator is plugged.
Add WebUSB descriptors.

Change-Id: I0bb8bedc93b64ca8b420fb938b379676a2014690
2018-04-06 14:31:44 +02:00
Léa Saviot
78f56d9ada [usb] Reset endpoints before setting them up.
This fixes an enumaration bug when plugging, un-plugging and re-plugging
the calculator.

Change-Id: Ifbb4386b46b7492ce2b833e9e4755fd3cfefc708
2018-04-06 14:31:44 +02:00
Léa Saviot
3583ea3ade [usb] Fix bug that prevented to handle SET_CONFIGURATION requests.
Change-Id: Iff00be2f77fc49b0ed9d9d1f1c6e8d214cbc2043
2018-04-06 14:31:44 +02:00
Léa Saviot
59f4fee05b [usb] Handle GET_STATUS request.
Change-Id: I4c9d8cbe7241dfd6fbb986253122a74d0ddb0e2c
2018-04-06 14:31:44 +02:00
Léa Saviot
10f7e222f0 [usb] Fix comment.
Change-Id: I98466810e00d42b140178fd93b69f05c836d3631
2018-04-06 14:31:44 +02:00
Léa Saviot
954c24bf9c [usb] Windows Device Descriptor
Change-Id: Ibaa37ce94b17ea3a5313f690cfb4b74f93bae899
2018-04-06 14:31:44 +02:00
Léa Saviot
11630f8f62 [usb] Fix buildConfigDescriptor.
Change-Id: Ia837141ceec95fbc5d56f78d7fe2ad31682620d2
2018-04-06 14:31:44 +02:00
Léa Saviot
1b865106e4 [usb] The device can now change its address and completes enumeration.
Change-Id: Ia0a602b108d29349291293d0a57a88d14fc283fa
2018-04-06 14:31:44 +02:00
Léa Saviot
f8f944b449 [usb] Some cleaning.
Change-Id: I576ce8bdb1436f246e01a1928d3892893c8b46b9
2018-04-06 14:31:44 +02:00
Léa Saviot
1a8062e365 [usb] Handle Setup and in packets from host.
Change-Id: I9ffc2705af3c30389b30fdcac34e9e3a1a97a3d7
2018-04-06 14:31:44 +02:00
Léa Saviot
46eaac5054 [usb] Fixed usb initialization.
Change-Id: I614d873f9423844a353ef41d6421ce107f6f8094
2018-04-06 14:31:44 +02:00
Romain Goyet
c89055d4ad Preliminary work on the OTG registers
Change-Id: I39e9c79538d17ea76d5484083d87a52b9bdc34e0
2018-04-06 14:31:44 +02:00
Romain Goyet
e8c61324a6 Configure the USB GPIO's alternate functions
Change-Id: Iee2c685645778accad88cd2008c4faac0f119224
2018-04-06 14:31:44 +02:00
Émilie Feral
c632f7c5ee [ion] Improve suspend implementation
Change-Id: Ic43b58f34379292c53a82ab6c85674c6f7a9b381
2017-04-13 12:06:37 +02:00
Émilie Feral
e40ccf65cf [ion] Implement method generate wake up event for USB plugging, battery
charging and power event

Change-Id: I10e12aa9c0ed6e9440d03c0a4b58cc66092522b3
2017-04-12 09:37:49 +02:00
Émilie Feral
3261701d2d [ion] Add a method to know if the USB is plugged
Change-Id: I040ce7996bbec121c71d57a5092ffae4f5f76025
2017-04-07 14:40:34 +02:00