Commit Graph

511 Commits

Author SHA1 Message Date
Émilie Feral
33ac117424 [ion] blackbox keyboard scan
The scan of keyboard in Blackbox should indicate that no
key is pressed in order to avoid interrupting all simplification
2018-05-17 13:45:21 +02:00
Émilie Feral
bb8ab2a42e Merge branch 'saisie-jolie' into master-merge-saisie-jolie 2018-05-16 11:28:07 +02:00
Romain Goyet
bd36fd0fe4 [ion/blackbox] Fix compare 2018-05-15 23:41:24 +02:00
Romain Goyet
66905319f8 [ion] Add blackbox compare 2018-05-15 23:41:24 +02:00
Émilie Feral
0bc2594489 [ion] Storage: deferencing nullptr? 2018-05-15 11:02:35 +02:00
Léa Saviot
678a0db4e4 Merge with current GitHub master branch
Change-Id: Ie1b83cfabdee1369eb66f53c01314324d5d88a74
2018-05-14 17:03:12 +02:00
Romain Goyet
4718fbe64e [ion/device] Fix the flasher bridge 2018-05-11 16:43:16 +02:00
Romain Goyet
a38369aa98 [ion] Revert blackbox's object list 2018-05-09 18:11:45 +02:00
Romain Goyet
aad95380f5 [ion] Multithreaded framebuffer comparison 2018-05-09 18:11:45 +02:00
Romain Goyet
806b87ef36 [ion] Add the ability to build blackbox as a shared library 2018-05-09 18:11:45 +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
Léa Saviot
7e9bbe3aea [ion] Add event names for Shift+Up/Down/Left/Right
Change-Id: I03cd5707ea2d9e460ed925009442e15d38572798
2018-05-09 12:17:30 +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
Léa Saviot
3b582a2e46 Merge branch 'SaisieJolie30Apr' into SaisieJolie8May
Change-Id: Ia4196119fc56c5bc3423aea752b49f3f7ba39499
2018-05-08 15:17:51 +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
Léa Saviot
f660c7750c [ion] Fix linear mode cursor position when pressing "cos" for instance
Change-Id: I7a39f875cc85eedc336818fcfe5b125c74a8960c
2018-05-07 14:14:02 +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
Émilie Feral
235ec73e8e [emscripten] Fix alignment issue
Emscripten expects 32 and 16-bit memory accesses to be aligned.
2018-04-18 11:20:39 +02:00
Romain Goyet
2f1ebf7310 [emscripten] Work around alignment issues
Emscripten expects 32 and 16-bit memory accesses to be aligned.
This happens automatically most of the time, but in the case of our
Storage class, where we happen to read uint16_t out of a char array,
memory accesses might not be aligned. In that case, we rebuild the
uint16_t manually out of two bytes.
2018-04-18 10:04:18 +02:00
Romain Goyet
c4330ae7b1 Use <span> instead of <a> for the keys
Indeed, a keypress on the Enter key submits the last active links,
resulting in double inputs.
2018-04-18 10:04:18 +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
Émilie Feral
d9de44a28f Merge branch 'master' of ssh://git.numworks.com/Epsilon 2018-04-11 16:11:15 +02:00
Émilie Feral
934e8feca5 [emscripten] Handle None event from SDL 2018-04-11 16:07:46 +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
628992680b [ion] Ion::Storage is not a global variable anymore 2018-04-10 15:09:30 +02:00
Romain Goyet
c090e2aa13 [ion] Remove useless macros 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
Léa Saviot
0e578fa0e6 [ion] Fix Ion::getSerialNumber for simulator.
Change-Id: Id6a616695bc43718751a3e3861d0410aa0b35416
2018-04-09 16:30:51 +02:00
Léa Saviot
0419713de0 [ion/usb] Remove Ion::USB::removeSoftDisconnect()
Change-Id: I02268dc52aefa9d9d90ed559757f005af49f4732
2018-04-09 15:36:44 +02:00
Léa Saviot
0e977bac00 [ion] Use dummy usb.cpp in simulator.
Change-Id: Id7f0e110a661372702d550883b6d341c1b5915d4
2018-04-09 15:35:50 +02:00