Émilie Feral
f3c6aab669
[apps/calculation] HistoryViewCell: when reloading the entire table due
...
to a cell selection, the cell used for the selected row might change. We
thereby have to update the selected cell once the table has been
reloaded.
This fixes the following bug: add 5 times the calculation "12.2". Go up,
the selected expression is the left one instead of the right one.
2020-01-06 14:07:20 +01:00
Émilie Feral
6a5708a562
[apps/shared] ScrollableExactApproximateExpressionsView: when only the
...
right expression is displayed, prevent from selecting the left
expression.
This fixes the following bug: add '1' to the calculation store, select
the output expression and go to the left. The selection is now on an
invisible cell.
2020-01-06 14:07:20 +01:00
Émilie Feral
588c05f6b4
[ion] Reset: Add memory barriers before/after calling for a core reset:
2019-12-23 11:52:00 +01:00
Émilie Feral
9fca8e8b8b
[ion] Reset: factorize cache disabling
2019-12-23 11:52:00 +01:00
Émilie Feral
7b7447b110
[ion] N0110 cache: clean isb/dsb calls
2019-12-23 11:52:00 +01:00
Émilie Feral
934e2c8aeb
[poincare] Change name IntegerApproximationIfPossible --> PositiveIntegerApproximationIfPossible
2019-12-23 09:26:18 +01:00
Émilie Feral
07ecc119ab
[poincare] Fix gcd and lcm approximations
2019-12-23 09:26:18 +01:00
Émilie Feral
c2f86e0806
[poincare] Add tests on lcm and gcd approximations
2019-12-23 09:26:18 +01:00
Émilie Feral
053fb935e3
[apps] Change color of LED in power on self test: blue is too easily
...
confused with white
2019-12-20 14:04:56 +01:00
Léa Saviot
4e96a11a4c
[escher/responder] Clean commonAncestor method
2019-12-20 11:49:30 +01:00
Léa Saviot
0412a45cea
[escher/responder] Inline some methods
2019-12-20 11:49:30 +01:00
Romain Goyet
5b00192b67
[ion/device] Remove ad-hoc compiler optimizations
...
Since we hand-specify which regs/regs.h functions shoudl be inlined, we
don't need to depend on specific compiler optimization levels.
2019-12-20 09:41:43 +01:00
Romain Goyet
d0660b6543
[ion/device] Force inlining compile-time bit ranges
...
Most of the time register operations can be optimized to a single
assembly instruction. That being said, aggressive -Os optimization can
lead the compiler to think that factorizing calls to setBitRange is a
good idea.
But we really want register operations to be inlined (and therefore
optimized as a single instruction), so we enforce inlining setBitRange
and REGS_FIELD macros.
2019-12-20 09:41:43 +01:00
Romain Goyet
ae8c111da5
[ion] Prevent duplicating SFLAGS
...
Using $(sort) in the Makefile has the side effect of removing duplicates
2019-12-20 09:41:43 +01:00
Romain Goyet
2c7a26103b
[ci] Use a recent ARM GCC toolchain
2019-12-19 21:46:21 -05:00
Émilie Feral
e13425d231
[apps] Add comment about LED color in Dutch exam mode
2019-12-19 15:52:45 +01:00
Émilie Feral
0254266803
[ion] ExamMode: add comment
2019-12-19 15:52:45 +01:00
Émilie Feral
3454265d7e
[ion] ExamMode: change firstOneBitInByte name to
...
numberOfBitsAfterLeadingZeroes and add comment
2019-12-19 15:52:45 +01:00
Émilie Feral
73673384ae
[ion] Avoid unclear, over-optimized computation in modulo 3
2019-12-19 15:52:45 +01:00
Émilie Feral
902cc64d32
[apps] GlobalPreferences: add an assertion to ensure the the fetched
...
exam mode can be casted in GlobalPreferences::ExamMode
2019-12-19 15:52:45 +01:00
Émilie Feral
425f0cb459
[apps] GlobalPreferences: remove useless assertion
2019-12-19 15:52:45 +01:00
Émilie Feral
96c63bd4a5
[apps][ion] Yellow LED is equivalent to Dutch exam mode, do not update
...
the LED color (with plugging/charging events) if the displayed color was Red or Yellow
2019-12-19 15:52:45 +01:00
Émilie Feral
01ab6b5aeb
[build] Fix test.elf build
2019-12-19 15:52:45 +01:00
Émilie Feral
7d8bd45047
[build] Fix target two_binaries
2019-12-19 15:52:45 +01:00
Émilie Feral
9d154e4e97
[ion] Exam mode: add assertion
2019-12-19 15:52:45 +01:00
Émilie Feral
2ccdc2d0dc
[apps] Fix messages regarding Dutch exam mode in non-English languages
2019-12-19 15:52:45 +01:00
Émilie Feral
2fc8799fee
[ion] Exam mode on device: Fix FetchExamMode and IncrementExamMode
2019-12-19 15:52:45 +01:00
Émilie Feral
f5e7c016e8
[apps] GlobalPreferences: avoid multiple calls to examMode()
2019-12-19 15:52:45 +01:00
Émilie Feral
7fc730597c
[apps] Fix exam mode messages
2019-12-19 15:52:45 +01:00
Émilie Feral
8c6a2836de
[settings] Fix row initialization in sub menus
2019-12-19 15:52:45 +01:00
Émilie Feral
a3774fb510
[settings] Exam mode: reactivate the current exam mode (stick to Dutch
...
exam mode if it is already on)
2019-12-19 15:52:45 +01:00
Émilie Feral
de34c0b8db
[apps] Change pop-up message for Dutch exam mode
2019-12-19 15:52:45 +01:00
Émilie Feral
6ecfe9c5db
[apps] Two exam modes in settings: Standard & Dutch
2019-12-19 15:52:45 +01:00
Émilie Feral
6cd98a3a48
[apps] AppsContainer::activateExamMode can make the LED blink in orange
...
or red according to the chosen exam mode
2019-12-19 15:52:45 +01:00
Émilie Feral
49d2a248da
[settings] Fix messages for Dutch exam mode
2019-12-19 15:52:45 +01:00
É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