Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[External apps] Allow access to ITCM RAM and reduce slot size #1869

Open
wants to merge 10,000 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
10000 commits
Select commit Hold shift + click to select a range
393f2c6
[ion/kernel/power] Pause stalling timer when shutting down
GabrielNumworks Jul 19, 2021
f9831ba
[nl] improve translations regression
MartijnNumworks Jun 29, 2021
aa63f1d
[ion] Map the SVCallTable in .rodata (instead of .data)
EmilieNumworks Jul 19, 2021
0dfd51c
[ion] Expose some practical functions in userland ISR for external apps:
EmilieNumworks Jul 20, 2021
e098148
[build] Fix gdb_script to easily debug external app
EmilieNumworks Jul 20, 2021
ad9c94a
[ion] Userland: expose the address oh Board::heapRange function for
EmilieNumworks Jul 20, 2021
72edeca
[app/external_app] Add a folder with useful .c to generate the eadk.s
EmilieNumworks Jul 20, 2021
928fcce
[ion] N0100: fix UserlandStartAddress
EmilieNumworks Jul 20, 2021
d546bf2
[apps] Handle Home event for simulators
HugoNumworks Jul 20, 2021
b7438d4
[apps/graph/values] Check nullptr text before copy
HugoNumworks Jul 21, 2021
c7d35b8
[solver] Equations with undefined unreduced terms are undefined
GabrielNumworks Jul 21, 2021
444e2f5
[ion/device/keyboard] Activate timer TIM5
GabrielNumworks Jul 6, 2021
74e689b
[ion/device/keyboard] Write handler for TIM5
GabrielNumworks Jul 6, 2021
af1497b
[poincare/solver] Cap the step so the solver does not cross zero
GabrielNumworks Jul 21, 2021
21668d2
[apps/graph/values] Fix typo on brackets
HugoNumworks Jul 21, 2021
93761c4
[apps/graph] Prevent reload of unfound intersection banner view
HugoNumworks Jul 21, 2021
f6a439a
[poincare/complex_argument] Rewrite shallowReduce
GabrielNumworks Jul 21, 2021
1944373
[ion/bench] Move bench to n0110 directory
GabrielNumworks Jul 15, 2021
2b7d008
[build] Add bench target
GabrielNumworks Jul 15, 2021
9c30b20
[ion/kernel/led] Factor led code
GabrielNumworks Jul 15, 2021
c92a78d
[ion/bench] Factor boot between bench and flasher
GabrielNumworks Jul 15, 2021
022dac8
[ion/bench] Add board and console drivers
GabrielNumworks Jul 15, 2021
e132ba0
[ion/bench] Update linker script
GabrielNumworks Jul 15, 2021
a8d8654
[ion/bench] Build poincare sources
GabrielNumworks Jul 15, 2021
bd9023d
[ion/bench] Add display driver
GabrielNumworks Jul 15, 2021
2eb5820
[ion/bench] Build ADC test
GabrielNumworks Jul 15, 2021
ac01bfc
[ion/bench] Build backlight test
GabrielNumworks Jul 15, 2021
5beeff9
[ion/bench] Build tests charge and crc, clean up makefile
GabrielNumworks Jul 15, 2021
48859db
[ion/bench] Build display test
GabrielNumworks Jul 15, 2021
538a37d
[ion/bench] Build external flash id test
GabrielNumworks Jul 15, 2021
3f9fc79
[ion/bench] Build exit command
GabrielNumworks Jul 15, 2021
7a9fc3a
[ion/bench] Build jump command
GabrielNumworks Jul 15, 2021
a1ab214
[ion/bench] Build keyboard test
GabrielNumworks Jul 15, 2021
30de2f6
[ion/bench] Build LCD tests
GabrielNumworks Jul 15, 2021
562cac3
[ion/kernel/display] Move method to kernel directory
GabrielNumworks Jul 15, 2021
626e1bd
[ion/bench] Build LED test
GabrielNumworks Jul 15, 2021
7058387
[ion/bench] Build MCU serial test
GabrielNumworks Jul 16, 2021
0aeaf15
[ion/bench] Build ping command
GabrielNumworks Jul 16, 2021
8a3d904
[ion/bench] Build print command
GabrielNumworks Jul 16, 2021
e08df16
[ion/bench] Build screen ID test
GabrielNumworks Jul 16, 2021
51c0577
[ion/bench] Build sleep, standby, and stop tests
GabrielNumworks Jul 16, 2021
66f8eaa
[ion/bench] Build USB plugged test
GabrielNumworks Jul 16, 2021
1a3cb78
[ion/bench] Build vblank test
GabrielNumworks Jul 16, 2021
ec11908
[ion/bench] Build write PCB version command
GabrielNumworks Jul 16, 2021
f8c8386
[ion/bench/board] Init peripherals
GabrielNumworks Jul 19, 2021
02fb318
[build/bench] Add target for bench in internal flash
GabrielNumworks Jul 20, 2021
a39af08
[ion/bench] Build sleep, standby, and stop tests
GabrielNumworks Jul 20, 2021
6c6ade2
[ion/bench] Build liba
GabrielNumworks Jul 20, 2021
725632f
[ion/device] Reorder inclusions
GabrielNumworks Jul 20, 2021
b32ca44
[ion/bench/command/jump] Use main stack
GabrielNumworks Jul 20, 2021
6c99d2a
[ion/device] Factor board driver between bench and flasher
GabrielNumworks Jul 20, 2021
70a566a
[ion/device] Factor display between bench and bootloader
GabrielNumworks Jul 20, 2021
0833fc7
[ion/device] Factor ram linker script
GabrielNumworks Jul 20, 2021
8151ef6
[ion/device/n0110] Refactor Makefile
GabrielNumworks Jul 20, 2021
1caef31
[build/bench] Remove redundant inclusions
GabrielNumworks Jul 21, 2021
ff7c9d3
[ion/device] Clean up ram linker scripts and mover bench in ram
GabrielNumworks Jul 22, 2021
0314aee
[ion] Improve "Third-party apps" warning message
EmilieNumworks Jul 20, 2021
b9045e0
[ion][apps] Check the external app API level before running it
EmilieNumworks Jul 21, 2021
54a3418
[build] gdb_script: fix use_dfu_symbol_file
EmilieNumworks Jul 21, 2021
3b8568f
[ion] Fix DFU driver when relocated in RAM
EmilieNumworks Jul 21, 2021
688aae2
[ion] Power driver: pause event timer when suspending in STOP and
EmilieNumworks Jul 21, 2021
f2b46cc
[ion] N0100: peripheral clocks have already been shut down by
EmilieNumworks Jul 21, 2021
bbbc3fa
[ion] Fix N0100 standby
EmilieNumworks Jul 21, 2021
51dbb3a
[apps] Improve I18n (external app incompatibility)
EmilieNumworks Jul 21, 2021
12879af
[ion] Fix n0110 build
EmilieNumworks Jul 21, 2021
03b335d
[ion] N0100: Fix kernel header location in slot info
EmilieNumworks Jul 21, 2021
90bf84f
[ion] Split usb dfu drivers by model (N0100 requires relocation and no
EmilieNumworks Jul 22, 2021
6bb2b1e
[build] Remove xip flavor: all N0110 targets are XIP
EmilieNumworks Jul 22, 2021
b70caa4
[ion] Fix N0100 building following the split of DFU sources
EmilieNumworks Jul 22, 2021
f548637
[ion] Reset::core is not done via SVC on N0100 as it is required by the
EmilieNumworks Jul 22, 2021
40c9258
[ion] N0100 SerialNumber is not done via SVC since it's needed by DFU
EmilieNumworks Jul 22, 2021
f7cbd08
[ion] N0100: DFU code rely on a Timing::msleep which is not a SVC (since
EmilieNumworks Jul 22, 2021
5b6c2aa
[ion] On N0100 USB::isPlugged and USB::shouldInterruptDFU is not made
EmilieNumworks Jul 22, 2021
79ce916
Update submodule epsilon-bootloader
EmilieNumworks Jul 23, 2021
b010641
[ion] Fix N0100 build after the fix of bench target
EmilieNumworks Jul 23, 2021
70752c9
[build] Fix flasher build
EmilieNumworks Jul 23, 2021
a85e5ac
[ion/device/n0100] Fix issue with dfu sources
HugoNumworks Jul 23, 2021
57f9830
[apps/i18n.py] Compress i18n texts
HugoNumworks Jun 3, 2021
f88ebb6
[apps/i18n.py] Handle \n characters
HugoNumworks Jun 3, 2021
26096e0
[apps/i18n.py] Remove decompression temporary buffer allocated on stack
HugoNumworks Jun 9, 2021
5f1319e
[apps/i18n.py] Apply I18n compression on N0100 only
HugoNumworks Jun 18, 2021
04062f9
[apps/i18n] Handle more combining chars when compresing
HugoNumworks Jul 23, 2021
872819a
[ion] Fix build n0100
EmilieNumworks Jul 23, 2021
f9e5a9e
[ion] Fix N0100 DFU leave
EmilieNumworks Jul 23, 2021
90a8367
[poincare/arithmetic] Ignore arithmetic lock
HugoNumworks Jul 22, 2021
8381e23
[escher] Ignore OnOff in WarningController
HugoNumworks Jul 23, 2021
055b3ba
[apps/apps_container] Reset dimming on checkpoint load
HugoNumworks Jul 22, 2021
e12f26b
[ion] DFU driver should configure the keyboard ready for any
EmilieNumworks Jul 26, 2021
d7dfbfa
[apps] i18n: add message for exam pop-up for software with external apps
EmilieNumworks Jul 26, 2021
0dd70bb
[apps] Exam-mode pop-up: improve message
EmilieNumworks Jul 26, 2021
98cab0b
[escher] Change name: Container::switchTo -->
EmilieNumworks Jul 26, 2021
be668fc
[apps] Initial app depends on the total number of apps and not on the
EmilieNumworks Jul 26, 2021
e523f7a
[apps/home] Change method name: setAppDescriptor -->
EmilieNumworks Jul 26, 2021
46961d5
[apps/home] Fix app_cell to be able to all multiple external apps
EmilieNumworks Jul 26, 2021
8578a36
Update submodule epsilon-bootloader
EmilieNumworks Jul 27, 2021
f3b300a
build: Version 16.2.0
EmilieNumworks Jul 27, 2021
a7e9f78
[ion] Remove unused file
EmilieNumworks Jul 27, 2021
550eb83
[ion] Add CircuitBreaker::lock and CircuitBreaker::unlock to protect
EmilieNumworks Jul 27, 2021
950eb52
[ion] Launch a timer when Ion::CircuitBreaker::unlock to force unlocking
EmilieNumworks Jul 27, 2021
f39189b
[ion] Set Keyboard EXTI interruption priority
EmilieNumworks Jul 27, 2021
d06b85e
[ion] CircuitBreaker: enable nested locks
EmilieNumworks Jul 27, 2021
604733b
[ion] CircuitBreaker: Force unlocking when time is out
EmilieNumworks Jul 28, 2021
e8ab882
[ion] Factorize timers init/shutdown/launch/stop accross drivers
EmilieNumworks Jul 28, 2021
07cc685
[ion] Events: clean timer init/shutdown
EmilieNumworks Jul 28, 2021
559cde9
[ion] Events: use timer API
EmilieNumworks Jul 28, 2021
4611a7e
[ion] CircuitBreaker: add assertion
EmilieNumworks Jul 28, 2021
ef0eba4
[ion] CircuitBreaker on simulator: try to mimic device behaviour
EmilieNumworks Jul 28, 2021
8e3742e
[ion] Clean
EmilieNumworks Jul 28, 2021
2661083
[ion/kernel/keyboard] Queue state as a callback from scan
GabrielNumworks Jul 28, 2021
847d45d
[ion/kernel/keyboard] Stop poll timer when scanning
GabrielNumworks Jul 28, 2021
f9e6a22
Update submodule epsilon-bootloader
EmilieNumworks Jul 29, 2021
912a4ff
[ion] Kernel isr: comment on interruptions and priorities
EmilieNumworks Jul 30, 2021
5e55bae
[poincare/polynomial] Handle failed simplification in QuadraticPolyno…
HugoNumworks Jun 24, 2021
7f9b7e0
[poincare/polynomial] Handle failed simplification in CubicPolynomial…
HugoNumworks Jun 24, 2021
f17f120
[liba] Add UINT_MAX macro implementation
EmilieNumworks Jul 30, 2021
417dd17
Update submodul epsilon-bootloader
EmilieNumworks Jul 30, 2021
357e1fa
[apps/calculation] Fix issues when store was full
HugoNumworks Jul 22, 2021
591792b
[apps/calculation] Minor typo fixes
HugoNumworks Jul 22, 2021
521b375
[apps/calculation] Add unit tests
HugoNumworks Jul 22, 2021
024f21d
[apps/calculation] Improve calculation push
HugoNumworks Jul 28, 2021
a0b9502
[apps/calculation] Add locks in CalculationStore::push
HugoNumworks Jul 28, 2021
ef85510
[apps/calculation] Add more locks
HugoNumworks Jul 28, 2021
17d4681
[apps/calculation] Improve some pointer castings
HugoNumworks Jul 30, 2021
24a4490
[ion/events] Fix key repetition with Shift+Lock active
GabrielNumworks Aug 2, 2021
a2bbb00
[poincare/polynomial] Improve detection of interrupted simplifications
GabrielNumworks Aug 2, 2021
85ab037
[graph/graph_view] Do not draw interrupted curves
GabrielNumworks Jul 30, 2021
2ca9934
[shared] Reset interrupted curves on pan, zoom, auto and navigate
GabrielNumworks Jul 30, 2021
d079d1f
[graph] Do not redraw interrupted curve when the window does not pan
GabrielNumworks Jul 30, 2021
ce0a18c
[graph/graph_view] Add constraints on number of functions
GabrielNumworks Aug 2, 2021
2fe2b91
[poincare/power] Special case for reduction of constant i
GabrielNumworks Aug 3, 2021
ef96e1f
[poincare/division_quotient] Replace setSign by multiplication
GabrielNumworks Aug 3, 2021
9f9fc0f
[poincare/number] Approximate decimal node
GabrielNumworks Aug 3, 2021
e5fdbec
[poincare/expression] Clean up duplicate code
GabrielNumworks Aug 3, 2021
1a16c21
[apps/toolbox/i18n] Fix advanced typo
HugoNumworks Aug 4, 2021
7c6fc71
[workflows] Only trigger public CI on changes to master
GabrielNumworks Jul 22, 2021
eba8429
[quiz] Clean up tests display
GabrielNumworks Jul 26, 2021
79f63e2
[quiz] Stall on quiz_assert(false) on device
GabrielNumworks Jul 26, 2021
16c5902
[workflows] Fix binary-size
GabrielNumworks Jul 27, 2021
980e225
[build] Repair test builds
GabrielNumworks Jul 27, 2021
2e42fbc
[workflows] Update CI with new targets
GabrielNumworks Jul 27, 2021
7ecb6a3
[build] Clean up makefile and add flavors
GabrielNumworks Jul 27, 2021
318765c
[ion/simulator/events] Move logging to the right file
GabrielNumworks Jul 28, 2021
b9bda13
[tests] Use wildcard as version on scenarios
HugoNumworks Jun 14, 2021
2ed6375
[tests] Update screenshots_dataset with wildcard
GabrielNumworks Jul 28, 2021
2f61aaf
[workflows] Compute binary size for n0100
GabrielNumworks Jul 28, 2021
f141a90
[build] CI clean up
GabrielNumworks Aug 4, 2021
6ef0a9a
[poincare] Syntax typo
EmilieNumworks Aug 4, 2021
7ff009c
[poincare/expression] Clone approximation in matrices
GabrielNumworks Aug 4, 2021
fe3befc
[external_apps] Make external apps visible mhen exam mode is deactivated
GabrielNumworks Aug 2, 2021
8c4cbe7
[ion/kernel/warning_display] Tweak scan to dismiss warning
GabrielNumworks Aug 2, 2021
de09e34
[ion/kernel/warning_display] Prevent device from stalling
GabrielNumworks Aug 2, 2021
6f77fdd
[ion/userland/external_apps] Reset visibility when no app exists
GabrielNumworks Aug 4, 2021
ce7ca22
[ion/kernel/warning_display] Clean up wait
GabrielNumworks Aug 4, 2021
044dcef
[poincare/decimal] Explicit templatedApproximate specialisation
HugoNumworks Aug 5, 2021
053c163
[ion] Delete unused file
EmilieNumworks Aug 4, 2021
e578953
[ion] USB: string descriptor is dynamically computed depending on the
EmilieNumworks Aug 5, 2021
7c2e6fd
[ion] DFU: Re-init interruptions before leaving DFU mode
EmilieNumworks Aug 5, 2021
71ff824
Update submodule
EmilieNumworks Aug 5, 2021
95cb557
[apps/apps_container] Enable Spinner even if there is no onboarding
HugoNumworks Aug 6, 2021
79fc7aa
[apps/solver] Add user interruption when solving equations
HugoNumworks Aug 3, 2021
629d970
[poincare] Handle nested exceptions better regarding pool cleanup
HugoNumworks Aug 4, 2021
11ba955
[poincare/tree_pool] Add asserts on checkpoints
HugoNumworks Aug 4, 2021
558dd40
[poincare] Simplify Arithmetic lock to save ExceptionCheckpoints
HugoNumworks Aug 4, 2021
d5a8027
[poincare] Fix initialization of some functions
HugoNumworks Aug 4, 2021
68d8172
[poincare/tree_pool] Update freePoolFromNode's behavior
HugoNumworks Aug 5, 2021
3416d4a
[escher] Remove MemoizedListViewDataSource unsafe system
HugoNumworks Aug 5, 2021
855d839
[poincare] Rename methods
HugoNumworks Aug 6, 2021
6a613d2
[poincare/exception_checkpoint] Use friend class for s_topmostExcepti…
HugoNumworks Aug 6, 2021
7ca47af
[apps/solver] Prevent a useless clone()
HugoNumworks Aug 6, 2021
5fa1781
[poincare/tree_pool] Improve comments
HugoNumworks Aug 6, 2021
d23ea06
[Update submodule
EmilieNumworks Aug 6, 2021
4fc19e6
[ion] DFU: enable to leave on address 0
EmilieNumworks Aug 6, 2021
5971d3c
[ion] Bootloader DFU: leave does Reset on address 0 or 0x08000000
EmilieNumworks Aug 6, 2021
24fa656
[apps/usb] Update workshop URL
HugoNumworks Aug 6, 2021
0178b00
[ion] Fix build of bootloader
EmilieNumworks Aug 9, 2021
7d94fe4
[apps/18n] Handle \x11 on N0100
HugoNumworks Aug 9, 2021
ba96708
[apps] Remove official/non official distinctions
HugoNumworks Aug 6, 2021
b215b88
[build] Remove official target
HugoNumworks Aug 6, 2021
91550f8
[ion/simulator] Protect substantial whitespace
HugoNumworks Aug 6, 2021
e4077c3
[apps/settings/sub_menu] Remove include
HugoNumworks Aug 9, 2021
a17c4fb
[ion] DFU: sRAM is never entirely writable; specify the writable part in
EmilieNumworks Aug 9, 2021
e4e958b
[build] Fix elf2dfu to select the right alternate setting
EmilieNumworks Aug 9, 2021
9983f8c
[apps/external_app] Update SVC codes
HugoNumworks Aug 9, 2021
58c42c5
[ion/kernel/events] Fix logic in getPlatformEvent
GabrielNumworks Aug 10, 2021
f67d483
[ion/kernel/power] Reduce debouncing time in waitUntilOnOffKeyReleased
GabrielNumworks Aug 10, 2021
a6469f8
[ion/kernel/power] Do not wait OnOff realease to wake up
GabrielNumworks Aug 10, 2021
cc73b5e
[ion/kernel/keyboard] Reset memoized state when flushing queue
GabrielNumworks Aug 10, 2021
4444cf0
[python/test] Fix modpyplot_scatter required n_args
LeaNumworks Aug 10, 2021
3e5db89
[python/port] Put Matplotlib's draw inside nlr catchers
LeaNumworks Aug 10, 2021
fbc16fb
[ion] build: add flag DEVELOPMENT to disable authentication in dev
EmilieNumworks Aug 9, 2021
9e6029c
[ion] Fix DFU freezing right after speed enumeration which sometimes …
EmilieNumworks Aug 10, 2021
02f5fb8
[ion] Don't expose lockUnlockedPCBVersion
EmilieNumworks Aug 11, 2021
da43ac7
[ion] Lock the unlocked PCB version in the bootloader instead of in
EmilieNumworks Aug 11, 2021
aaca6cb
Update submodule
EmilieNumworks Aug 11, 2021
9a72650
[build] Silence some warnings
HugoNumworks Aug 11, 2021
de9aef2
[escher/src/expression_view.cpp] Fix layout setter
HugoNumworks Aug 10, 2021
03de21f
[poincare] Tidy contexts after interruptions
HugoNumworks Aug 10, 2021
5131594
[escher] Set cursor layout anyway when not redrawing
HugoNumworks Aug 11, 2021
7c2b083
[ion/kernel/warning_display] Do not turn off interruptions
GabrielNumworks Aug 11, 2021
9eb0f22
Update submodule
EmilieNumworks Aug 11, 2021
30f7c9f
Update submodule
EmilieNumworks Aug 11, 2021
f952ba6
[ion] Remove lockUnlockedPCBVersion
EmilieNumworks Aug 11, 2021
afbd624
[build/n0100] Fix target %_flash
GabrielNumworks Aug 11, 2021
e4ba53c
[exam_pop_up_controller] Close pop up on enumeration
GabrielNumworks Aug 11, 2021
7f4daa5
[apps_container] Reset first enumeration flag on waking up
GabrielNumworks Aug 11, 2021
027d08d
[build] Update all target
HugoNumworks Aug 11, 2021
5068215
epsilon-bootloader: update public key
EmilieNumworks Aug 11, 2021
61a83db
[build/web] Update emscripten whitelist
GabrielNumworks Aug 12, 2021
7edf1d2
[poincare/integer] Prevent buffer overflow in multiplication
GabrielNumworks Aug 11, 2021
cdb66bc
[apps/apps_container] Prevent a segmentation fault
HugoNumworks Aug 12, 2021
2f554a0
[build] all target builds htmlpack instead of epsilon.js
EmilieNumworks Aug 12, 2021
4e94ef4
Update submodule
EmilieNumworks Aug 12, 2021
b705c0b
build: Version 16.3.0
EmilieNumworks Aug 11, 2021
2b27b81
build: Version 16.3.1 (for iOS)
EmilieNumworks Aug 12, 2021
67efa40
[apps/code] Script::Create doesn't expect the auto-importation status
EmilieNumworks Aug 12, 2021
52b9818
build: Version 16.3.2 (for web epsilon.python.js)
EmilieNumworks Aug 12, 2021
327d352
[poincare] Silence static analyzer warnings
HugoNumworks Aug 12, 2021
bbe6a38
[escher] Remove unnecessary assert
HugoNumworks Aug 12, 2021
b5a2d14
[ci] Do not trigger compare_screenshots on push
GabrielNumworks Aug 13, 2021
1ff0dcd
[hot reload] Save state and exit on SIGUSR1
GregNumworks Apr 28, 2021
9ce60d4
[hot reload] open simulator in second display if possible
GregNumworks Apr 29, 2021
b12f5b6
[hot reload] Add reload target for simulator
GregNumworks May 5, 2021
ce5bec6
[hot reload] Rename hidden state file
GregNumworks May 5, 2021
19ec23c
[hot reload] More portable temp file location
GregNumworks May 17, 2021
ca38f27
Cache SDL window location to reopen at same place
GregNumworks May 17, 2021
82c3bcf
[hot reload] More elegant exit
GregNumworks May 17, 2021
493bd0e
[hot reload] Safer checks
GregNumworks May 25, 2021
8165afb
[hot reload] Split implementation for dummy / real
GregNumworks May 25, 2021
8382f15
Factorize common platform_files implementations
GregNumworks May 25, 2021
98e4345
[hot reload] Factoring and cleaning up
GregNumworks May 25, 2021
4dba784
[hot reload] Simplify window API with two symetric callbacks
GregNumworks May 25, 2021
f09c3c3
[hot reload] Small cleanups
GregNumworks Jun 11, 2021
6cfce17
[hot reload] Moved reload target
GregNumworks Jun 25, 2021
7d4648e
[calculation] Clear history by pressing Clear (Shift+Delete) on an em…
GabrielNumworks Aug 13, 2021
a0ec9cb
[math_toolbox] Order temperature units according to the country
GabrielNumworks Aug 13, 2021
ca4c8b8
Update submodule epsilon-bootloader
EmilieNumworks Aug 17, 2021
06e4f7f
[build] Fix whitelist for emscripten
EmilieNumworks Aug 18, 2021
7deb685
Remove submodule
EmilieNumworks Aug 19, 2021
3fd9c99
Add submodule ion/src/device/n0110/epsilon-bootloader
EmilieNumworks Aug 19, 2021
aaf2c1c
[ion][build] Relocate epsilon-bootloader
EmilieNumworks Aug 19, 2021
7bab48b
[ion] DFU driver: fix action following enumeration interruption
EmilieNumworks Aug 20, 2021
3365352
[apps] Update some EN texts
HugoNumworks Aug 27, 2021
47ce7e6
[.github/workflows] Fix public CI
EmilieNumworks Aug 20, 2021
0d8bb7b
[.github/workflows] Fix CI on windows
EmilieNumworks Aug 20, 2021
7f51320
[.github/workflows] Fix CI on windows (python modules)
EmilieNumworks Aug 20, 2021
2415975
[ion] Simulator: SIGUSR1 is not defined on windows arch
EmilieNumworks Aug 20, 2021
fd60b49
[ion] Missing header
EmilieNumworks Aug 30, 2021
37e7686
[.github] CI: add TODO about brew formula
EmilieNumworks Sep 3, 2021
1af67fd
[Ion/kernel] Enable unprivileged access to ITCM RAM
RedGl0w Sep 12, 2021
8bb1eb0
[Ion/slots] Reduce slot size to 1M+500K, in order to have 5M for
RedGl0w Sep 12, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
25 changes: 25 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
name: Bug report
about: Epsilon is not working like it should? Let us know!
labels: 'bug'

---
#### Describe the bug
A clear and concise description of what the bug is. Please describe a **single** bug per issue. Feel free to create multiple issues though!

#### Screenshots
Please provide at least one screenshot of the issue happening. This is by far the best way to quickly show any issue! To attach a screenshot, just go to our [online simulator](https://www.numworks.com/simulator), navigate to reproduce your issue, and click the "screenshot" button. Then drag'n'drop the file here!

#### To Reproduce
Steps to reproduce the behavior:
1. Go to the '...' app
2. Type '....'
3. Scroll down to '....'
4. See error

#### Expected behavior
A clear and concise description of what you expected to happen.

#### Environment
- Epsilon version (Settings > About > Software version).
- The platform(s) on which the problem happens: online simulator, actual device, etc...
22 changes: 22 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
name: Feature request
about: Suggest an idea for an improvement of Epsilon
labels: 'enhancement'

---
#### Problem you'd like to fix
Is your feature request related to a problem? Please provide a clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Please describe a **single** improvement per issue. Feel free to open multiple issues though!

#### Screenshots
If possible, please attach a screenshot. You can go on our [online simulator](https://www.numworks.com/simulator), use the screenshot button, and drag'n'drop the file here.

#### Describe the solution you'd like
A clear and concise description of what you want to happen.

#### Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

#### Additional context
Add any other context or screenshots about the feature request here.
51 changes: 51 additions & 0 deletions .github/workflows/ci-internal.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Internal Continuous Integration
on:
push:
branches:
- master
pull_request:
env:
MAKEFLAGS: '-j32'

jobs:
n0100:
runs-on: self-hosted
steps:
- uses: numworks/setup-arm-toolchain@2020-q4
- uses: actions/checkout@v2
- run: make MODEL=n0100 epsilon.dfu
- run: make MODEL=n0100 epsilon.onboarding.beta.dfu
- run: make MODEL=n0100 epsilon.onboarding.update.dfu
- run: make MODEL=n0100 test.dfu
n0110:
runs-on: self-hosted
steps:
- uses: numworks/setup-arm-toolchain@2020-q4
- uses: actions/checkout@v2
- run: make MODEL=n0110 kernel.A.elf
- run: make MODEL=n0110 userland.A.elf
- run: make MODEL=n0110 userland.onboarding.beta.A.elf
- run: make MODEL=n0110 userland.onboarding.update.A.elf
- run: make MODEL=n0110 userland.test.A.elf
- run: make MODEL=n0110 kernel.B.elf
- run: make MODEL=n0110 userland.B.elf
- run: make MODEL=n0110 userland.test.B.elf
- run: make MODEL=n0110 flasher.dfu
- run: make MODEL=n0110 bench.ram.dfu
linux:
runs-on: self-hosted
steps:
- uses: actions/checkout@v2
- run: make PLATFORM=simulator epsilon.bin test.bin
- run: timeout 5m output/release/simulator/linux/test.bin --headless --limit-stack-usage
web:
runs-on: self-hosted
steps:
- uses: numworks/setup-emscripten@v1
with:
sdk: 1.39.16-fastcomp
- uses: actions/checkout@v2
- run: make PLATFORM=simulator TARGET=web
- run: make PLATFORM=simulator TARGET=web epsilon.zip
- run: make PLATFORM=simulator TARGET=web test.js
- run: timeout 5m node output/release/simulator/web/test.js --headless --limit-stack-usage
137 changes: 137 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
name: Continuous Integration
on:
pull_request:
branches:
- master
push:
branches:
- master

env:
MAKEFLAGS: '-j2'

jobs:
android:
runs-on: ubuntu-latest
steps:
- run: pip3 install lz4
- uses: actions/checkout@v2
- run: make PLATFORM=simulator TARGET=android
- run: make PLATFORM=simulator TARGET=android epsilon.apk
- run: make PLATFORM=simulator TARGET=android test.apk
- uses: actions/upload-artifact@master
with:
name: epsilon-android.apk
path: output/release/simulator/android/epsilon.apk
n0100:
runs-on: ubuntu-latest
steps:
- run: sudo apt-get install build-essential imagemagick libfreetype6-dev libjpeg-dev libpng-dev pkg-config
- run: pip3 install lz4 pypng stringcase
- uses: numworks/setup-arm-toolchain@2020-q2
- uses: actions/checkout@v2
- run: make MODEL=n0100 epsilon.dfu
- run: make MODEL=n0100 epsilon.onboarding.beta.dfu
- run: make MODEL=n0100 epsilon.onboarding.update.dfu
- run: make MODEL=n0100 test.dfu
- uses: actions/upload-artifact@master
with:
name: epsilon-n0100.dfu
path: output/release/device/n0100/epsilon.dfu
n0110:
runs-on: ubuntu-latest
steps:
- run: sudo apt-get install build-essential imagemagick libfreetype6-dev libjpeg-dev libpng-dev pkg-config
- run: pip3 install lz4
- uses: numworks/setup-arm-toolchain@2020-q2
- uses: actions/checkout@v2
- run: make MODEL=n0110 kernel.A.elf
- run: make MODEL=n0110 userland.A.elf
- run: make MODEL=n0110 userland.onboarding.beta.A.elf
- run: make MODEL=n0110 userland.onboarding.update.A.elf
- run: make MODEL=n0110 userland.test.A.elf
- run: make MODEL=n0110 kernel.B.elf
- run: make MODEL=n0110 userland.B.elf
- run: make MODEL=n0110 userland.test.B.elf
- run: make MODEL=n0110 flasher.dfu
- run: make MODEL=n0110 bench.ram.dfu
- uses: actions/upload-artifact@master
with:
name: epsilon-n0110.dfu
path: output/release/device/n0110/epsilon.dfu
windows:
runs-on: windows-latest
defaults:
run:
shell: msys2 {0}
steps:
- uses: msys2/setup-msys2@v2
- uses: actions/checkout@v2
- run: pacman -S --noconfirm mingw-w64-x86_64-gcc mingw-w64-x86_64-freetype mingw-w64-x86_64-pkg-config make mingw-w64-x86_64-python3 mingw-w64-x86_64-libjpeg-turbo mingw-w64-x86_64-libpng mingw-w64-x86_64-imagemagick mingw-w64-x86_64-librsvg mingw-w64-x86_64-inkscape mingw-w64-x86_64-python3-pip
- run: pip3 install lz4
- run: make PLATFORM=simulator
- run: make PLATFORM=simulator epsilon.exe
- run: make PLATFORM=simulator test.exe
- run: cmd /c output\release\simulator\windows\test.exe --headless --limit-stack-usage
- uses: actions/upload-artifact@master
with:
name: epsilon-windows.exe
path: output/release/simulator/windows/epsilon.exe
web:
runs-on: ubuntu-latest
steps:
- uses: numworks/setup-emscripten@v1
with:
sdk: 1.39.16-fastcomp
- run: pip3 install lz4
- uses: actions/checkout@v2
- run: make PLATFORM=simulator TARGET=web
- run: make PLATFORM=simulator TARGET=web epsilon.zip
- run: make PLATFORM=simulator TARGET=web test.js
- run: node output/release/simulator/web/test.js --headless --limit-stack-usage
- uses: actions/upload-artifact@master
with:
name: epsilon-web.zip
path: output/release/simulator/web/epsilon.zip
linux:
runs-on: ubuntu-latest
steps:
- run: sudo apt-get install build-essential imagemagick libfreetype6-dev libjpeg-dev libpng-dev pkg-config
- run: pip3 install lz4
- uses: actions/checkout@v2
- run: make PLATFORM=simulator
- run: make PLATFORM=simulator epsilon.bin
- run: make PLATFORM=simulator test.bin
- run: output/release/simulator/linux/test.bin --headless --limit-stack-usage
- uses: actions/upload-artifact@master
with:
name: epsilon-linux.bin
path: output/release/simulator/linux/epsilon.bin
macos:
runs-on: macOS-latest
steps:
- run: brew install numworks/tap/epsilon-sdk
- run: pip3 install lz4 # TODO: should be part of brew formula
- uses: actions/checkout@v2
- run: make PLATFORM=simulator
- run: make PLATFORM=simulator epsilon.app
- run: make PLATFORM=simulator ARCH=x86_64 test.bin
- run: output/release/simulator/macos/x86_64/test.bin --headless --limit-stack-usage
- uses: actions/upload-artifact@master
with:
name: epsilon-macos.zip
path: output/release/simulator/macos/epsilon.app
ios:
runs-on: macOS-latest
steps:
- run: brew install numworks/tap/epsilon-sdk
- run: pip3 install lz4 # TODO: should be part of brew formula
- uses: actions/checkout@v2
- run: make PLATFORM=simulator TARGET=ios EPSILON_TELEMETRY=0
- run: make PLATFORM=simulator TARGET=ios EPSILON_TELEMETRY=0 epsilon.ipa
- run: make PLATFORM=simulator TARGET=ios EPSILON_TELEMETRY=0 test.ipa
- run: make PLATFORM=simulator TARGET=ios EPSILON_TELEMETRY=0 APPLE_PLATFORM=ios-simulator
- uses: actions/upload-artifact@master
with:
name: epsilon-ios.ipa
path: output/release/simulator/ios/epsilon.ipa
29 changes: 29 additions & 0 deletions .github/workflows/compare_screenshots.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Compare Screenshots
on:
pull_request:
workflow_dispatch:
inputs:
downloadArtifacts:
description: 'Download screenshots and executables'
required: true
default: 'yes'

jobs:
compare_screenshots:
runs-on: self-hosted
steps:
- name: Checkout PR head
uses: actions/checkout@v2
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Compare screenshot images
run: ./build/compare/compare.sh MAKEFLAGS="-j32 PLATFORM=simulator DEBUG=1" tests/screenshots_dataset/scenarii/ tests/screenshots_dataset/reference_images/ ${{ github.event.pull_request.head.sha }}
- name: Gather screenshots
if: ${{ github.event.inputs.downloadArtifacts == 'yes' }}
uses: actions/upload-artifact@v2
with:
name: screenshots
path: compare_output_*/
- name: Cleanup
if: always()
run: rm -rf compare_output_*
54 changes: 54 additions & 0 deletions .github/workflows/metrics-internal.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: Internal Metrics
on: [pull_request_target]
env:
MAKEFLAGS: '-j32'

jobs:
binary-size:
runs-on: self-hosted
steps:
- name: Install ARM toolchain
uses: numworks/setup-arm-toolchain@2020-q4
- name: Checkout PR base
uses: actions/checkout@v2
with:
ref: ${{ github.event.pull_request.base.sha }}
path: base
- name: Build base for N0100
run: make -C base MODEL=n0100 kernel.elf && make -C base MODEL=n0100 userland.elf
- name: Build base for N0110
run: make -C base kernel.A.elf && make -C base userland.A.elf
- name: Checkout PR head
uses: actions/checkout@v2
with:
ref: ${{ github.event.pull_request.head.sha }}
path: head
- name: Build head for N0100
run: make -C head MODEL=n0100 kernel.elf && make -C head MODEL=n0100 userland.elf
- name: Build head for N0110
run: make -C head kernel.A.elf && make -C head userland.A.elf
- name: Retrieve binary size analysis
id: binary_size
run: echo "::set-output name=n0100kernel::$(python3 head/build/metrics/binary_size.py base/output/release/device/n0100/kernel/kernel.elf head/output/release/device/n0100/kernel/kernel.elf --labels Base Head --sections .text .rodata .bss .data --escape)" && echo "::set-output name=n0100userland::$(python3 head/build/metrics/binary_size.py base/output/release/device/n0100/userland/userland.elf head/output/release/device/n0100/userland/userland.elf --labels Base Head --sections .text .rodata .bss .data --escape)" && echo "::set-output name=n0110kernel::$(python3 head/build/metrics/binary_size.py base/output/release/device/n0110/kernel/kernel.A.elf head/output/release/device/n0110/kernel/kernel.A.elf --labels Base Head --sections .text .rodata .bss .data --escape)" && echo "::set-output name=n0110userland::$(python3 head/build/metrics/binary_size.py base/output/release/device/n0110/userland/userland.A.elf head/output/release/device/n0110/userland/userland.A.elf --labels Base Head --sections .text .rodata .bss .data --escape)"
- name: Add comment for N100
uses: actions/[email protected]
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
await github.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.payload.pull_request.number,
body: `# Binary size for N0100 firmware\n### Kernel\n${{ steps.binary_size.outputs.n0100kernel }}\n### Userland\n${{ steps.binary_size.outputs.n0100userland }}`,
});
- name: Add comment for N110
uses: actions/[email protected]
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
await github.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.payload.pull_request.number,
body: `# Binary size for N0110 firmware\n### Kernel\n${{ steps.binary_size.outputs.n0110kernel }}\n### Userland\n${{ steps.binary_size.outputs.n0110userland }}`,
});
51 changes: 51 additions & 0 deletions .github/workflows/metrics.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Internal Metrics
on: [pull_request_target]

jobs:
binary-size:
steps:
- name: Install ARM toolchain
uses: numworks/setup-arm-toolchain@2020-q4
- name: Checkout PR base
uses: actions/checkout@v2
with:
ref: ${{ github.event.pull_request.base.sha }}
path: base
- name: Build base for N0100
run: make -C base MODEL=n0100 kernel.elf && make -C base MODEL=n0100 userland.elf
- name: Build base for N0110
run: make -C base kernel.A.elf && make -C base userland.A.elf
- name: Checkout PR head
uses: actions/checkout@v2
with:
ref: ${{ github.event.pull_request.head.sha }}
path: head
- name: Build head for N0100
run: make -C head MODEL=n0100 kernel.elf && make -C head MODEL=n0100 userland.elf
- name: Build head for N0110
run: make -C head kernel.A.elf && make -C head userland.A.elf
- name: Retrieve binary size analysis
id: binary_size
run: echo "::set-output name=n0100kernel::$(python3 head/build/metrics/binary_size.py base/output/release/device/n0100/kernel/kernel.elf head/output/release/device/n0100/kernel/kernel.elf --labels Base Head --sections .text .rodata .bss .data --escape)" && echo "::set-output name=n0100userland::$(python3 head/build/metrics/binary_size.py base/output/release/device/n0100/userland/userland.elf head/output/release/device/n0100/userland/userland.elf --labels Base Head --sections .text .rodata .bss .data --escape)" && echo "::set-output name=n0110kernel::$(python3 head/build/metrics/binary_size.py base/output/release/device/n0110/kernel/kernel.A.elf head/output/release/device/n0110/kernel/kernel.A.elf --labels Base Head --sections .text .rodata .bss .data --escape)" && echo "::set-output name=n0110userland::$(python3 head/build/metrics/binary_size.py base/output/release/device/n0110/userland/userland.A.elf head/output/release/device/n0110/userland/userland.A.elf --labels Base Head --sections .text .rodata .bss .data --escape)"
- name: Add comment for N100
uses: actions/[email protected]
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
await github.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.payload.pull_request.number,
body: `# Binary size for N0100 firmware\n### Kernel\n${{ steps.binary_size.outputs.n0100kernel }}\n### Userland\n${{ steps.binary_size.outputs.n0100userland }}`,
});
- name: Add comment for N110
uses: actions/[email protected]
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
await github.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.payload.pull_request.number,
body: `# Binary size for N0110 firmware\n### Kernel\n${{ steps.binary_size.outputs.n0110kernel }}\n### Userland\n${{ steps.binary_size.outputs.n0110userland }}`,
});
Loading