Émilie Feral
5491dee5ce
[calculation][solver] Do not display exact solutions in Dutch exam mode
2019-12-19 15:52:45 +01:00
Émilie Feral
da735b93a4
[apps] GlobalPreferences: change exam mode API
2019-12-19 15:52:45 +01:00
Émilie Feral
f4de842a86
[ion] Change exam mode to have 3 states (off, standard, Dutch)
2019-12-19 15:52:45 +01:00
Émilie Feral
82fb00689e
[apps/settings] Message: add messages to activate Dutch exam mode
2019-12-19 15:52:45 +01:00
Émilie Feral
510151c7db
[apps/home] Prevent from entering Python application in exam mode
2019-12-19 15:52:45 +01:00
Émilie Feral
6a7ca32630
[apps/home] Add messages: ForbidenAppInExamMode
2019-12-19 15:52:45 +01:00
Léa Saviot
b155af0c0d
[ion/external_flash] Finer flash sectors
...
Instead of 128 sectors of 64K, there are now 8 sectors of 4K, 1 of 32K
and 127 of 64K. This makes a more finely erasable flash, which is needed
for the exam mode.
2019-12-19 14:47:25 +01:00
Romain Goyet
273834ee84
[ion/cache] Improve cache cleaning
...
- Avoid fetching CCSIDR twice
- Use for loop instead of do/while
- Only compute the target register once
- Avoid an useless nop
2019-12-16 10:22:47 +01:00
Romain Goyet
67302a90c7
[ion/cache] Follow CMSIS' order
2019-12-16 10:22:47 +01:00
Romain Goyet
d25346d82f
[ion/cache] Use DCSW to reduce code duplication
2019-12-16 10:22:47 +01:00
Romain Goyet
34e6141bdb
[ion/regs] Avoid code duplication
2019-12-16 10:22:47 +01:00
Léa Saviot
6762bb05af
[ion/cache] Add missing memory barrier
...
__asm volatile("nop") creates a memory barrier that prevents a crash on
the flasher.
Scenario: On the n0110, build flasher.bin, flash it at 0x20030000, build
bench.bin, flash it using the flasher at 0x20008000 -> the flasher cannot
make the device jump to the bench and crashes in the method
Ion::Device::Reset::Jump, inside Ion::Device::Cache::disableDCache().
2019-12-13 10:33:48 +01:00
Émilie Feral
e5bb8f4b21
[ion] Add TODOs
2019-12-12 17:30:42 +01:00
Émilie Feral
21756a5f4a
[ion] Make name consistent
2019-12-12 17:30:42 +01:00
Émilie Feral
ec4e3eca92
[ion] Linker scripts: build only 1 binary for n0100 and 2 for n0110 and
...
ensure to fill the sector dedicated to the exam mode with 1
2019-12-12 17:30:42 +01:00
Léa Saviot
88d52c6e9c
[apps/apps_container] Fix screen noise before the logo on n0100
...
Push a white screen before fetching the examm mode, as this fetch takes
some time and the screen noise becomes visible on a n0100 when
downloading a new software.
2019-12-12 15:45:33 +01:00
Émilie Feral
070d362f15
[python] Improve comment
2019-12-12 14:16:13 +01:00
Léa Saviot
1b7f9cf7b4
[apps/on_boarding] Fix LED clash between on boarding and exam mode
2019-12-11 13:51:38 +01:00
Léa Saviot
9f592a0bc4
[ion/n0110] Persist exam mode through reset
2019-12-11 13:51:38 +01:00
Léa Saviot
762f67d996
[ion/device] Flash driver handles Internal and external flash
2019-12-11 13:51:38 +01:00
Léa Saviot
ebc5843795
[apps/ion/exam_mode] Store the exam mode activation in the flash
...
This way, it is not cleared by a reset
2019-12-11 13:51:38 +01:00
Émilie Feral
e550005e43
[settings] Enable exam mode reactivation
2019-12-11 13:51:38 +01:00
Émilie Feral
79ea22bc64
[ion] N0110 board: fix MPU configuration on FMC memory bank
2019-12-09 15:52:38 +01:00
Léa Saviot
53b8a6845e
[github/workflows] Add beta build tests
2019-12-06 15:22:00 +01:00
Léa Saviot
4bc99cc530
[apps/Makefile] Fix update prompt build
...
make -j8 output/release/device/n0110/epsilon.onboarding.update.two_binaries
made a compilation error
2019-12-06 15:22:00 +01:00
Léa Saviot
dbea83497b
[apps/on_boarding] If POST are OK, the led is white
...
Green is used to indicate end-of-charge, so we put the POST led in white
so there is no confusion
2019-12-06 11:49:16 +01:00
Émilie Feral
49aa58446b
[python] modkandinsky: fill_rect and draw_string calls might take some
...
time. As "micropython_port_vm_hook_loop" is not called while we are
executing module code, we add an extra check for user interruption in
module functions.
2019-12-04 11:27:32 +01:00
Émilie Feral
0db66f1784
[python] Turtle: add TODO
2019-12-04 11:27:32 +01:00
Émilie Feral
59b6dbd74e
[python] micropython_port_interruptible_msleep should always call micropython_port_interrupt_if_needed even if the delay is small
2019-12-04 11:27:32 +01:00
Émilie Feral
b36f9416b4
[hardware_test] Keyboard test: check only a subset of keys
2019-12-04 11:19:23 +01:00
Émilie Feral
a515160470
[poincare] NAryExpressionNode: fix sortChildrenInPlace to put
...
expressions involving matrices as last children
2019-12-02 17:08:53 +01:00
Émilie Feral
984d1ff924
[poincare] Expression::CreateComplexExpression: fix crash when creating
...
Polar form
2019-11-26 10:36:42 +01:00
Émilie Feral
4c11e73ad3
[ion] UTF8Helper: fix CopyAndRemoveCodePoint to avoid copying truncated
...
code point in the buffer
2019-11-25 17:39:26 +01:00
Léa Saviot
967dc0ea15
[apps/sequence] Set the Nstart/Nend messages at construction
...
This fixes the scenario:
Add a sequence, go to the Table then click on setTheInterval -> it
displayed Xstart Xend instead of Nstart Nend
2019-11-25 17:34:17 +01:00
Léa Saviot
5f7692686f
[ion/storage] Fix memoization dirtying when renaming a record
...
Don't forget to update the CRC32 of the record
Scenario : New funciton f(x) = 1, change it to parametric, rename it
a(t), creae a new function -> instead of being empty, it is has a
"ghost" value of [t 1].
2019-11-25 17:32:43 +01:00
Émilie Feral
8f69d9b8b9
[build] Fix target %.dfu for N0110: avoid downloading flasher on
...
addresses that are being executed (in NumWorks DFU mode, execution
jumps at the end of the stack, which is where we upload the flasher.
The flasher is not required when NumWorks DFU mode is working)
2019-11-25 10:20:25 +01:00
Émilie Feral
89ea25556c
[poincare] Add test to print the float 1000
...
On emscripten platform, print_float(1000.0) used to return "0000"
2019-11-25 10:19:11 +01:00
Émilie Feral
5ec09fdbd6
[apps/shared] ValuesController: fix didChangeCell to reload all cells
...
corresponding to the abscissa cell
2019-11-21 11:16:07 +01:00
Émilie Feral
b320f28e59
[poincare] Fix comments
2019-11-21 09:47:16 +01:00
Émilie Feral
c659cc7477
[poincare] EquationStore: add tests
2019-11-21 09:47:16 +01:00
Émilie Feral
ccf848a9eb
[poincare] Add test: do not expand multinome when reduction target is
...
System
2019-11-21 09:47:16 +01:00
Émilie Feral
11b8ed72a1
[poincare] Do not infer ReductionTarget but give it as parameter of
...
denominator, addMissingFactors, factorizeSineAndCosine
2019-11-21 09:47:16 +01:00
Émilie Feral
f953443eb8
[poincare] Power: when reducing, apply multinome development only when the target is the User
2019-11-21 09:47:16 +01:00
Romain Goyet
7607c4cba4
[python/modion] Use constants to identify keys
2019-11-19 10:08:16 +01:00
Romain Goyet
9d66b23848
[python] Add an ion module
2019-11-19 10:08:16 +01:00
Romain Goyet
190e31ef4a
[python] Fix source file names
2019-11-19 10:08:16 +01:00
Romain Goyet
15f7f7678b
[poincare] Make sure SharedStaticPool is initialized to null pointer
2019-11-19 10:08:16 +01:00
Romain Goyet
5ef2200ffc
[ion/simulator/web] Remove a hack
...
Using SDL2, we don't need to preventdefault on space/arrow keydown
And if we do, we don't get "space" events in the simulator.
2019-11-19 09:45:00 +01:00
Émilie Feral
84c6c02192
[sequence] Sequence::sumBetweenBounds: avoid repetitive evaluations of std::round
2019-11-18 14:20:47 +01:00
Émilie Feral
269f479c29
[sequence] Fix Sequence::sumBetweenBounds
2019-11-18 14:20:47 +01:00