Gabriel Ozouf
46acd4eb61
[ion/device/n0110/internal_flash] Add method OTPLockAddress
2021-04-16 10:46:10 +02:00
Gabriel Ozouf
018ea07796
[ion/device] Add comments and rename variables for clarity
2021-04-16 10:46:10 +02:00
Gabriel Ozouf
d7f41e306c
[ion/device/n0100] Add comment on dummy PCB version methods
2021-04-16 10:46:10 +02:00
Gabriel Ozouf
03c85c0b0e
[ion/device/external_flash] Move model specific code
...
As the N0100 does not have an external flash chip, the code to handle
the external flash does not need to be compiled on this model.
2021-04-16 10:46:10 +02:00
Gabriel Ozouf
bd0c7de2bf
[ion] Create method to lock PCB versions on old boards
2021-04-16 10:46:10 +02:00
Gabriel Ozouf
0282104086
[ion] Add getter method for PCB version in string form
2021-04-16 10:46:10 +02:00
Gabriel Ozouf
b8727bc256
[ion/device] Rename some PCB version methods
2021-04-16 10:46:10 +02:00
Gabriel Ozouf
5ccf8d6b97
[ion/device/external_flash] Add dsb instruction in method wait
...
This mimics the behavior of InternalFlash::wait, and fixes a bug found
on the bench when reading the flashed firmware.
2021-04-16 10:46:10 +02:00
Gabriel Ozouf
b80daf70d3
[ion/device/n0110/usb] Consolidate configs of Vbus pin
...
Even though the configuration of the Vbus pin depends on the hardware
running Epsilon, we do not actually need one VbusPin object for each
configuration. Indeed, an AFGPIOPin object can be used to configure the
pin as a standard GPIO, provided one does not call its init() method.
2021-04-16 10:46:10 +02:00
Gabriel Ozouf
36655f1c19
[ion/device/n0110] Change getter for OTPAddress
2021-04-16 10:46:10 +02:00
Gabriel Ozouf
ed18f1e95f
[ion/device] Lock OTP after writing version
2021-04-16 10:46:10 +02:00
Gabriel Ozouf
cbb435d656
[ion/device] Adapt behaviour in factory
...
When flashing fo the first time, we need Epsilon to know the PCB version
before the OTP are flashed. We also need the to prevent Epsilon from
writing the OTP outside of the factory.
2021-04-16 10:46:10 +02:00
Gabriel Ozouf
00b74430cd
[build] Add mendatory USE_IN_FACTORY variable to binpack rule
...
This variable specifies whether the binpack is used for first-time
flashing on assembly-line, or for diagnostic later on.
2021-04-16 10:46:10 +02:00
Gabriel Ozouf
8705ddaf8a
[ion/device/bench] Add command to write and validate PCB version
2021-04-16 10:46:10 +02:00
Gabriel Ozouf
ddae6607f9
[ion/device/n0110] Deduce Vbus config from PCB version
...
Revised PCB (version number > 0) should configure Vbus as a GPIO instead
of an alternate function.
2021-04-16 10:46:10 +02:00
Gabriel Ozouf
c4ef2016ba
[ion/device/n0110] Methods to read and write PCB version in OTP
2021-04-16 10:46:10 +02:00
Gabriel Ozouf
524a7d9619
[ion/device/n0110] Define OTP blocks in internal flash
2021-04-16 10:46:10 +02:00
Gabriel Ozouf
e456667d5e
[ion/device] Add parameter PCB_LATEST
...
This indicates the latest PCB revision on which this version of Epsilon
can run.
2021-04-16 10:46:10 +02:00
Léa Saviot
50a32b470d
[ion/drivers/external_flash] Remove assertion unvalid on n0100
2021-03-29 10:20:17 +02:00
Léa Saviot
3746354f26
[ion/external_flash] Code cleaning
2021-03-29 09:55:00 +02:00
Léa Saviot
8fae36bcd3
[ion/external_flash] Use both possible commands for QuadPageProgram
2021-03-29 09:55:00 +02:00
Léa Saviot
9e9c088e9e
[ion/external_flash] Code cleaning
2021-03-29 09:55:00 +02:00
Léa Saviot
a635ecf59b
[ion/external_flash] Make the AT25SF641B work
...
Main changes are:
- No QPI but QuadSPI
- Use 32 command instead of 33
- Better programming of the instruction/address/data modes, according to
the 641B spec
- Use sOperatingMode instead of DefaultOperatingMode
TODO:
- Support both QPI and QuadSPI, for both flashs
- There is still confusion between sOperatingMode and DefaultOperatingMode
-> DefaultOperatingMode should not really be used
-> Read and write commands assume quad operation
2021-03-29 09:55:00 +02:00
Hugo Saint-Vignes
3686f819d6
[ion/src/simulator] Add headers and fix Macros for iOS
...
Change-Id: I0f1f888e4823fc9a80a7ac986cf8732dc9df2998
2021-03-24 10:12:11 +01:00
Hugo Saint-Vignes
402858739e
[ion/simulator/android] Fix method signature
...
Change-Id: I7ac83b8b3a4eca82313e9de3e3d9f5a76ff92951
2021-03-23 14:48:40 +01:00
Hugo Saint-Vignes
192794e299
[ion/simulator/android] Delete JNI local references in platform_language.cpp
...
Change-Id: I28251ec57ed0c87922efc2689f587f6bc0daaa76
2021-03-23 14:48:29 +01:00
Romain Goyet
30cfa022d1
[ion] Don't set the window title when screen only
...
Prevents the web simulator from overriding the HTML page's title
2021-03-03 12:37:15 -05:00
Léa Saviot
1006b951b9
[ion/src/simulator] Fix journal.cpp
2021-03-03 15:37:57 +01:00
Romain Goyet
43b7f767ee
[ion/simulator/web] Clean the htmlpack API
2021-03-03 15:37:57 +01:00
Romain Goyet
eb0ca7b118
[ion/simulator/web] Add a loader
2021-03-03 15:37:57 +01:00
Romain Goyet
0cdfc44c6f
[ion/simulator/web] Improve dependency tracking
2021-03-03 15:37:57 +01:00
Romain Goyet
2ebff40c62
[ion/simulator/web] Implement a custom journal with callbacks
...
This journal adds two new callbacks:
- onIonEvent
- onEpsilonIdle
2021-03-03 15:37:57 +01:00
Romain Goyet
c66db8c98d
[ion] Actually send None events to the destination journal
...
Said journal will most likely ignore it, but it gives it the opporunity
to do something about it.
2021-03-03 15:37:57 +01:00
Romain Goyet
a6b13185ab
[ion/simulator] Extrude the QueueJournal class
2021-03-03 15:37:57 +01:00
Romain Goyet
1aac2a1d4d
[ion/simulator/web] Use a shared layout.json file
2021-03-03 15:37:57 +01:00
Romain Goyet
32d591317b
[simulator/web] Use specialHTMLTargets to allow picking a canvas
2021-03-03 15:37:57 +01:00
Romain Goyet
6c389c9a1d
[ion/simulator] Get rid of useless Ion:: prefixes
2021-03-03 15:37:48 +01:00
Romain Goyet
699cf22023
[ion/simulator] Don't enable the framebuffer in headless mode
...
A quick test on a state file with 64k events took 2.5 seconds to process
with the framebuffer vs 1.9 without.
2021-03-03 15:37:48 +01:00
Romain Goyet
543d3d540e
[ion/simulator] Use shutdown instead of quit
2021-03-03 15:37:48 +01:00
Romain Goyet
2f2e45a6a5
[ion/simulator] Headless simulator maps Ion::Console to stdio
2021-03-03 15:37:48 +01:00
Romain Goyet
a834c954b8
[ion/simulator] Get rid of the headless target
2021-03-03 15:37:48 +01:00
Romain Goyet
2bee7eb267
[ion] Make Ion::Events::Journal optional
2021-03-03 15:37:48 +01:00
Romain Goyet
6d18c33068
[ion/simulator] State files can have a wildcard version
2021-03-03 15:37:48 +01:00
Romain Goyet
8242113641
[ion/simulator] Ignore invalid events in nws files
2021-03-03 15:37:48 +01:00
Romain Goyet
7c8c7f79f6
[ion/simulator] Don't leak file descriptors
2021-03-03 15:37:48 +01:00
Romain Goyet
f578c24af1
[ion/simulator] Used buffer I/O
...
Avoid making a syscall for every single byte
2021-03-03 15:37:48 +01:00
Romain Goyet
8059821025
[ion/simulator] Fix libpng/libjpeg usage
2021-03-03 15:37:48 +01:00
Romain Goyet
b32497da23
[ion/simulator] Remove a useless printf
2021-03-03 15:37:48 +01:00
Romain Goyet
c3c7651ca8
[ion/simulator] Add Termination event when headless
2021-03-03 15:37:48 +01:00
Romain Goyet
e8f1ea6aa5
[ion/simulator/sdl] Backport an Emscripten fix for setWindowTitle
...
See https://bugzilla.libsdl.org/show_bug.cgi?id=5133
2021-03-03 15:37:48 +01:00