Commit Graph

1307 Commits

Author SHA1 Message Date
Quentin Guidée
df67332880 Fix telemetry 2020-02-17 20:21:42 +01:00
Quentin Guidée
2ae5eecac7 Fix infinite loop 2020-02-17 19:05:18 +01:00
Quentin Guidée
5b2f33c80a Fix conflicts 2020-02-17 17:10:32 +01:00
Romain Goyet
553eaaeac0 [ion] Fix telemetry on iOS and Android 2020-02-17 10:31:24 -05:00
Romain Goyet
670490e642 [ion] Add a telemetry API 2020-02-17 10:31:24 -05:00
Romain Goyet
aa0dbee303 [ion] Console::writeLine can ommit trailing CR/LF 2020-02-17 10:31:24 -05:00
Quentin Guidée
fac5b0c416 ExamMode types 2020-02-16 20:22:05 +01:00
Quentin Guidée
83ea330220 Fix n0110 2020-02-16 18:50:40 +01:00
Quentin Guidée
ab8f731515 Fixed some conflicts 2020-02-12 17:42:58 +01:00
Léa Saviot
b8f65442db [ion/simulator] Keyboard shift + left/right/up/down now works 2020-02-12 15:13:25 +01:00
Émilie Feral
0c55ea4531 [ion] unicode: UTF8Helper::CopyAndRemoveCodePoints returns a boolean
which is true if the whole source was copied
2020-02-12 15:13:24 +01:00
Léa Saviot
ae3fa46191 [escher/text_field] Fix handling of \n
The buffer length did not take into account the \n removal. In fact, we
could just remove the \n while also removing the empty code points,
which is what we do now.
2020-02-12 15:13:24 +01:00
Léa Saviot
b29d014695 [escher/text_field] Fix removing of \n in insertTextAtLocation
Scenario: Copy a text with \n (for instance from a script), then paste
it in a script name -> if \n are replaed with \0 instead of just being
removed, there are problems with the extension
2020-02-12 15:13:23 +01:00
Ruben Dashyan
9b0b4e3096 [ion/unicode] Define and use CodePoint const methods
isLowerCaseLetter
isUpperCaseLetter
isLetter
isDigit

Remove similar ones from UTF8Helper and from Poincare::Tokenizer.
2020-02-12 15:13:23 +01:00
Léa Saviot
244c7b31eb [ion/web] Fix screenshots 2020-02-12 15:13:23 +01:00
Léa Saviot
9d6bab092f [poincare/parser] Identifier is not already function -> symbol
We check the context: if an identifier is already a function, we
interpret it as such, otherwise it is a symbol.
This way, in the Equation app, x(x+1) is interpreted as x*(x+1)
2020-02-12 15:13:21 +01:00
Émilie Feral
a1b2cbb0a9 [ion] Unicode: clean warning 2020-02-12 15:13:19 +01:00
Émilie Feral
b33a778ccb [ion] N0110 linker script: fix symbol name of section
internal_to_external
2020-02-12 15:13:18 +01:00
Léa Saviot
c03c9086b8 [ion/utf8_helper] Add FIXME comment 2020-02-12 15:13:18 +01:00
Léa Saviot
961ba10122 [ion/events] shift+Left/Right/Up/Down can be repeated 2020-02-12 15:13:17 +01:00
Léa Saviot
ab48f8d879 [ion/events] if shift/alpha pressed, it is active
No need to press shift between ezach event -> one long shift press keeps
it active
2020-02-12 15:13:17 +01:00
Léa Saviot
bb69b2c131 [ion/events_modifier] Reindent 2020-02-12 15:13:17 +01:00
Léa Saviot
4ffcace024 [ion/storage] Add TODO about code optimization 2020-02-12 15:13:16 +01:00
Léa Saviot
5853e96947 [apps/code] Remove EditorController::m_areaBuffer
This was a very large buffer that took a lot of RAM space (the size of
the storage). Instead of having it, we just move the available space of
the storage at the end of the edited script, and move it back when the
edition finishes.
This is slower but saves a lot of space.
2020-02-12 15:13:16 +01:00
Léa Saviot
b9bc9008ac [ion] Detect long repeated events
This will be use for instance to sroll faster if the user presses the
directional keys for a long time
2020-02-12 15:13:15 +01:00
Léa Saviot
973c2149d4 [ion/battery] Battery level has some hysteresis
This prevents a blinking battery pictogra wwhen the battery level is at
the limit between two states.
2020-02-12 15:13:15 +01:00
Léa Saviot
78eea601c7 [ion/device] Prevent the user from leaving DFU during software download
We prevent the use of the Back key to leave DFU after a flash erase
operation. This way, we prevent the user from interrupting a software
download. After every software download, the calculator resets, which
unlocks the "exit on pressing back"
2020-02-12 15:13:15 +01:00
Quentin Guidée
5e95afe9e4 Merge remote-tracking branch 'upstream/master' into omega-dev 2020-01-27 23:31:17 +01:00
Émilie Feral
de603befc5 [ion] main_sdl: Update the static sNeedsRefresh when actually refreshing the
screen
2020-01-13 15:44:44 +01:00
M4x1m3
61f214bcb2 Fixed apps dependency in ion. 2020-01-11 17:33:13 +01:00
Quentin Guidée
a44fceb297 Merge remote-tracking branch 'upstream/master' into omega-dev 2020-01-07 16:35:38 +01:00
Léa Saviot
f1f4e43159 [ion/console] Default ion sources have console_stdio, not _display 2020-01-07 13:50:02 +01:00
Léa Saviot
57ceda5ac0 [bench] USBPlugged command 2020-01-06 14:31:37 +01:00
M4x1m3
ba15b793cd [simulator] changed apps id 2019-12-29 20:35:37 +01:00
M4x1m3
9a9ae068ef Reworked exam mode, fixed #106 2019-12-27 16:48:45 +01:00
Quentin Guidée
160adf6bab Fix compilation errors on n0110 2019-12-25 14:40:57 +01:00
Quentin Guidée
85c98cefe5 Fix conflicts 2019-12-24 17:33:32 +01:00
redgl0w
f838d31ec1 Update events_modifier.cpp 2019-12-24 09:21:14 +01:00
Quentin Guidée
a159d80b1c Resolved conflicts 2019-12-24 01:07:22 +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
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
É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
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
9d154e4e97 [ion] Exam mode: add assertion 2019-12-19 15:52:45 +01:00