Commit Graph

353 Commits

Author SHA1 Message Date
Léa Saviot
4eb1df81f6 [rt0] Enable SUPPORT_CPP_GLOBAL_CONSTRUCTORS 2018-08-30 10:17:46 +02:00
Émilie Feral
48f890ef93 [poincare] AngleUnit, FormatComplex and PrintFloatMode are now
enumeration of Preferences class
2018-07-30 13:48:04 +02:00
Émilie Feral
b8af15f1ab [poincare] change createLayout signature
- CreateLayout depends on the float display mode and the number of
significant digits
- Float display mode does not have a default value anymore
2018-07-18 16:32:50 +02:00
Romain Goyet
b4fce2d6d4 [ion] Discard outdated comments 2018-07-02 16:15:41 +02:00
Romain Goyet
4718fbe64e [ion/device] Fix the flasher bridge 2018-05-11 16:43:16 +02:00
Romain Goyet
49e1b0e373 [ion/device] Give an opportunity to slow down the whole machine 2018-05-09 17:52:09 +02:00
Romain Goyet
324ff8277b [ion/device/display] Always use send_data/send_command functions
Wrap all accesses to DataAddress and CommandAddress into 3 functions
2018-05-09 17:52:09 +02:00
Romain Goyet
7851aa6fff [ion/device] Remove useless delays in the Flash operations
The datasheet advises to wait for BSY to be cleared before performing
any operation on the Flash. That being said, in the only two cases where
BSY could be set in the first place (writing to or erasing the flash),
we already wait for it to be cleared. There's therefore no need to
double check it afterwards.
2018-05-09 11:03:01 +02:00
Romain Goyet
306904aec2 [ion/device] Proper flash cache flushing (fix #439) 2018-05-09 11:03:01 +02:00
Romain Goyet
26edd70bd7 [ion] Re-enable the Flash I/D cache after flushing it 2018-05-09 11:03:01 +02:00
Romain Goyet
6556751d59 [ion] Use a distinct Device::Flash namespace 2018-05-09 11:03:01 +02:00
Romain Goyet
1785288e19 [ion] Clean an unused file 2018-05-08 14:31:35 +02:00
Romain Goyet
bc3c517084 [ion] Discard useless small file 2018-05-08 14:31:35 +02:00
Romain Goyet
f4c5e4b701 [ion] Remove unneeded files 2018-05-08 14:31:35 +02:00
Romain Goyet
6d214a79b4 [ion] Sort the device/usb folder 2018-05-08 14:31:35 +02:00
Romain Goyet
3e57d75a71 [ion] Add a VBLANK command to the bench 2018-05-08 14:16:18 +02:00
Romain Goyet
a6cc87183e [ion] Tell when on the bench 2018-05-08 14:16:18 +02:00
Léa Saviot
4d259442b5 [build/ion] Remove code used for debug.
Change-Id: I41802f79e7103204991edf38dff94b1c0a3a23ea
2018-05-08 14:13:34 +02:00
Léa Saviot
4a0fe345e2 [ion/dfu_interface] De-activate Flash Programming after write operations
Change-Id: I2a9395a4f7f6e70f0d7981ed07684f230678c212
2018-05-08 10:55:40 +02:00
Léa Saviot
c59778a01e [ion/dfu_interface] Check BSY bit before each CR register access
Change-Id: I4999906c694fed30e6101c8c5e1f33f1957db397
2018-05-08 10:55:40 +02:00
Romain Goyet
a29c775663 [ion] Encode the serial number in Base64
Also, expose serialNumber() in Ion and keep "copySerialNumber" in
Ion::Device. This allows the DFU bootloader to remain .bss-free.
2018-05-04 17:31:41 +02:00
Léa Saviot
65744cb9f4 [ion] Fix SRAM end address.
Change-Id: If4fbadd42ffbc8868112f1f2b7cfb97266cbf974
2018-04-16 10:48:11 +02:00
Léa Saviot
ee6997a07d [usb] Implement jumpReset in assembly.
This avoids unwanted stack modifications emited by the compiler.

Change-Id: I2a2a13ee5395b95ed676f6634be86eeb148d55fd
2018-04-16 10:48:11 +02:00
Léa Saviot
f1849cf17e [usb] Invalid data and instruction caches after locking Flash
Change-Id: I154ef581a640b41c7f9815e0aae7035f7bbefe8a
2018-04-16 10:48:11 +02:00
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
37a699f1ab [usb] Clearer USBEnumeration event detection.
Change-Id: I5c15f7cda6fc7132392423ef34beed135b9981ab
2018-04-16 10:48:11 +02:00
Léa Saviot
d2f551a818 [usb] Add waiting before writing on the FLASH.CR register
Change-Id: Ie3dcbe14e031b7149f31c145cf69773b1ece5c26
2018-04-16 10:48:11 +02:00
Léa Saviot
d87e71d847 [usb] Use proper function to scan registers.
Change-Id: I37f0f8ce105c7791fa8890013d672cca7dff4126
2018-04-11 15:40:41 +02:00
Léa Saviot
555ced4941 [usb] If needed, reset the device inside Calculator::Poll
Change-Id: I2d9e2eef4e04b1042a2524a4267569324ad8bcce
2018-04-11 15:40:41 +02:00
Romain Goyet
1b8123e66a [ion] Error-out on any global variable that needs a constructor 2018-04-10 15:09:30 +02:00
Romain Goyet
e072630437 [ion] Get rid of FORCE_LINK 2018-04-10 15:09:30 +02:00
Léa Saviot
b7fd109f93 [ion] Fix hexNumber().
Change-Id: Ic12e3f17ec5e6508613034c4b259eee2fd103be4
2018-04-10 10:17:21 +02:00
Romain Goyet
256ef9a5c6 [ion] Don't call KDColorYellow which doesn't work on the flasher 2018-04-09 14:04:09 +02:00
Romain Goyet
d0dff5e7fe [ion] The flasher starts on a yellow screen 2018-04-09 13:37:11 +02:00
Romain Goyet
5155957c5a [ion] The bench starts on a white screen 2018-04-09 13:36:54 +02:00
Romain Goyet
4a19c79df8 [ion] Add a Print bench command 2018-04-09 13:36:36 +02:00
Romain Goyet
e543e83766 [usb/flasher] Enable USB before jumping in, correct keyboard logic 2018-04-09 11:57:17 +02:00
Romain Goyet
9aed025abc [usb] Calculator::PollAndReset can ignore the keyboard 2018-04-09 11:04:30 +02:00
Romain Goyet
6c33963e04 [usb] Don't exit from the flasher 2018-04-09 10:57:19 +02:00
Romain Goyet
0e1410932c [usb] Fix the build 2018-04-09 10:55:30 +02:00
Léa Saviot
b807938031 [ion] Add EPSILON_DEVICE_BENCH
Change-Id: I58de053755305fc610c410a139572f2d0eee2a2d
2018-04-09 10:52:32 +02:00
Léa Saviot
1378c77907 [usb] Move usb_dfu_* files into the usb/ subfolder
Change-Id: I1d1e99295adc9b7f44c2d3f0dba4cd8b49dc3b3c
2018-04-09 10:52:16 +02:00
Léa Saviot
68bdb7ff58 [usb] Unlock the flash only if it is locked.
Change-Id: I0cfc34fc158c8babb025b143fc77f4d64440876e
2018-04-09 10:51:07 +02:00
Léa Saviot
fc2c975623 [usb-flasher] Create a standalone DFU .bin.
Change-Id: I34e87b66cc51f4e6f4578c8efc7a510ee08cd138
2018-04-09 10:50:28 +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
61e880935a [usb] Add comment in InterfaceDescriptor
Change-Id: I8e20edd31577b7608a2fd28234787204a0fac7e4
2018-04-06 14:31:49 +02:00
Léa Saviot
6062886ed7 [usb] Better comment for needed alternate interface Descriptor.
Change-Id: Ide46d7ecd1259dc200d491eac309e7b15b5a60e8
2018-04-06 14:31:49 +02:00
Léa Saviot
55c8304689 [usb] Fix bmAttributes of DFUFunctionalDescriptor.
Change-Id: I0d793332a33a4380ad2dec8036d7a52050b91d36
2018-04-06 14:31:49 +02:00