Commit Graph

317 Commits

Author SHA1 Message Date
MX
6abd2b0e9f Add date/time input module
ofw pr 4261 by aaronjamt
2025-12-01 06:06:30 +03:00
MX
fc34205f97 ofw pr 4285 ViewStack: Store View by value to save memory
by CookiePLMonster
2025-10-12 03:34:40 +03:00
MX
93b4ad4595 Merge remote-tracking branch 'OFW/dev' into dev 2025-09-24 22:32:16 +03:00
Anna Antonenko
d0360625d6 [FL-3925] JS views finished (#4155)
* js: value destructuring and tests

* js: temporary fix to see size impact

* js_val: reduce code size 1

* i may be stupid.

* test: js_value args

* Revert "js: temporary fix to see size impact"

This reverts commit f51d726dbafc4300d3552020de1c3b8f9ecd3ac1.

* pvs: silence warnings

* style: formatting

* pvs: silence warnings?

* pvs: silence warnings??

* js_value: redesign declaration types for less code

* js: temporary fix to see size impact

* style: formatting

* pvs: fix helpful warnings

* js_value: reduce .rodata size

* pvs: fix helpful warning

* js_value: reduce code size 1

* fix build error

* style: format

* Revert "js: temporary fix to see size impact"

This reverts commit d6a46f01794132e882e03fd273dec24386a4f8ba.

* style: format

* js: move to new arg parser

* style: format

* feat: all js views done

* js, toolbox: generalize string owning

* toolbox: silence pvs warning

---------

Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-09-24 23:24:28 +04:00
MMX
30077dd512 Fix PVS warnings (#4277)
* Fixing PVS warns

* pvs: additional fixes

---------

Co-authored-by: hedger <hedger@nanode.su>
2025-09-24 21:00:39 +04:00
Alexander Bays
5c54be4d9c Infrared: Add text scroll to remote buttons (#4210)
* Infrared: Add text scroll to universal remote buttons

Replaces center aligned text in the infrared universal remote with scrollable text if wider than the button and is cut off. Allows long descriptive button functions to be seen in some remotes.

* linter fixes

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
2025-09-24 19:45:40 +04:00
MX
1382a6af46 submenu merge all changes
by WillyJL
2025-06-30 19:48:34 +03:00
MX
5471b211d2 Infrared: Add text scroll to remote buttons OFW PR 4210
by 956MB

https://github.com/flipperdevices/flipperzero-firmware/pull/4210/files
2025-05-16 17:48:35 +03:00
MX
8a5129449d fix 2025-04-14 00:24:17 +03:00
Dmitry422
8a0fb5df36 LCD Inversion refactoring 2025-04-13 23:43:43 +07:00
Dmitry422
75c8cb9715 Cosmetic code changes 2025-04-10 00:55:02 +07:00
Dmitry422
224d4e060b LCD Inversion finished by MMX 2025-04-09 23:37:30 +07:00
Dmitry422
4ec8f21e09 still under construction 2025-04-09 22:23:55 +07:00
Dmitry422
7507058870 Start working with LCD color inversion 2025-04-08 18:00:10 +07:00
MX
edb327e50a Merge remote-tracking branch 'OFW/dev' into dev 2025-04-07 18:01:37 +03:00
Anna Antonenko
eb0f5ef8c0 [FL-3947] Pinning of settings options (#4077)
* feat: pinning settings in favorites

* include archive in unit tests fw

* change settings icon

* update text with suggestions from the ui team

* Small touch of constness

---------

Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
2025-04-07 03:17:58 +04:00
WillyJL
3bd6ee03ef GUI: Fix widget text scroll with 256+ lines (#4160)
Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-03-31 19:11:05 +04:00
MX
65b1b943d1 GUI: Fix widget text scroll with 256+ lines [ci skip]
by Willy-JL in OFW PR 4160
2025-03-28 14:05:47 +03:00
MX
ec593e660c Merge remote-tracking branch 'OFW/astra/3934-alarm-improvements' into dev 2025-02-25 02:06:05 +03:00
Aleksandr Kutuzov
00e64e8679 Merge remote-tracking branch 'origin/dev' into astra/3934-alarm-improvements 2025-02-25 06:18:42 +09:00
MX
b887d6af21 Merge remote-tracking branch 'OFW/dev' into dev [ci skip] 2025-02-21 05:18:29 +03:00
WillyJL
404764b660 GUI: Widget view extra options for JS (#4120)
* Fill option for widget frame
* Add widget circle element
* Add widget line element
* Fix missing include for InputType
* Fix missing comment
* Update api symbols
* Load .fxbm from file
* Fix copy pasta
* Add fill param to example
* Fix some comments
* Bump JS SDK 0.3
* Fix free
* Rename widget frame to rect
* Gui: add widget_add_frame_element backward compatibility macros

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2025-02-21 10:47:56 +09:00
MX
f242eef26f Merge remote-tracking branch 'OFW/dev' into dev 2025-02-21 03:08:00 +03:00
Akiva-Cohen
4e9aa3883b Updated Button Panel (#4119)
* updated button panel
* fixed mismateched .c and .h files
* Gui: extra events for ok button handling in button_panel
* Gui: extra events for other buttons handling in button_panel

Co-authored-by: あく <alleteam@gmail.com>
2025-02-21 06:57:28 +09:00
MX
486dc48a7a Merge remote-tracking branch 'OFW/dev' into dev 2025-02-20 03:08:53 +03:00
Anna Antonenko
0f240c4dbc [FL-3949] Universal IR signal selection (#4085)
* feat: universal ir signal selection
* fix: f18, format specifiers
* update labels with suggestions from the ui team

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2025-02-20 08:58:55 +09:00
Astra
701969e334 Fix comments 2024-12-25 18:39:57 +09:00
Astra
31365cb170 Don't use semaphores for lock state tracking 2024-12-25 18:38:32 +09:00
Astra
a47443ed1c Snooze, timeouts, and dismissing from the locked state 2024-11-26 19:26:58 +09:00
MX
04c8093672 Merge remote-tracking branch 'OFW/dev' into dev 2024-10-31 21:17:01 +03:00
Skorpionm
6d823835df FurEventLoop: add support for FuriEventFlag, simplify API (#3958)
* Core: event_flag, removing duplicate code
* event_loop: add support furi_event_flags
* Examples: add missing free in event loop examples
* Furi: fix event flag
* Sync api symbols
* Unit_test: evet_loop_event_flags
* Fix multiple waiting list elements handling
* Unit_test: add event_loop_event_flag test
* FURI: event_loop add restrictions
* Fix multiple waiting lists items for good
* Improve FuriEventLoop unit tests
* Abolish callback return value
* Remove return value from callback signature
* Use bool level value instead of int32_t
* Add unit tests for FuriStreamBuffer
* Add unit tests for FuriSemaphore
* Speed up test execution
* Improve docs
* Add a stub for furi os-level primitives
* Add more checks for edge cases
* Allow event loop notification from ISR
* Bump api version

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
Co-authored-by: Georgii Surkov <georgii.surkov@outlook.com>
Co-authored-by: Georgii Surkov <37121527+gsurkov@users.noreply.github.com>
2024-10-31 10:58:16 +09:00
MX
45bc0e1ce6 after merge fix p1 2024-10-15 00:43:52 +03:00
MX
4b9b1769f7 Merge remote-tracking branch 'OFW/dev' into dev 2024-10-15 00:08:47 +03:00
porta
8a95cb8d6b [FL-3893] JS modules (#3841)
* feat: backport js_gpio from unleashed
* feat: backport js_keyboard, TextInputModel::minimum_length from unleashed
* fix: api version inconsistency
* style: js_gpio
* build: fix submodule ._ .
* refactor: js_gpio
* docs: type declarations for gpio
* feat: gpio interrupts
* fix: js_gpio freeing, resetting and minor stylistic changes
* style: js_gpio
* style: mlib array, fixme's
* feat: js_gpio adc
* feat: js_event_loop
* docs: js_event_loop
* feat: js_event_loop subscription cancellation
* feat: js_event_loop + js_gpio integration
* fix: js_event_loop memory leak
* feat: stop event loop on back button
* test: js: basic, math, event_loop
* feat: js_event_loop queue
* feat: js linkage to previously loaded plugins
* build: fix ci errors
* feat: js module ordered teardown
* feat: js_gui_defer_free
* feat: basic hourglass view
* style: JS ASS (Argument Schema for Scripts)
* fix: js_event_loop mem leaks and lifetime problems
* fix: crashing test and pvs false positives
* feat: mjs custom obj destructors, gui submenu view
* refactor: yank js_gui_defer_free (yuck)
* refactor: maybe_unsubscribe
* empty_screen, docs, typing fix-ups
* docs: navigation event & demo
* feat: submenu setHeader
* feat: text_input
* feat: text_box
* docs: text_box availability
* ci: silence irrelevant pvs low priority warning
* style: use furistring
* style: _get_at -> _safe_get
* fix: built-in module name assignment
* feat: js_dialog; refactor, optimize: js_gui
* docs: js_gui
* ci: silence pvs warning: Memory allocation is infallible
* style: fix storage spelling
* feat: foreign pointer signature checks
* feat: js_storage
* docs: js_storage
* fix: my unit test was breaking other tests ;_;
* ci: fix ci?
* Make doxygen happy
* docs: flipper, math, notification, global
* style: review suggestions
* style: review fixups
* fix: badusb demo script
* docs: badusb
* ci: add nofl
* ci: make linter happy
* Bump api version

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-10-14 19:42:11 +01:00
hedger
57c438d91a heap: increased size (#3924)
* reduced reserved memory size for system stack; added temporary markup to monitor usage
* fbt: relink elf file on linker script change; removed debug memory fill
* Make PVS Happy
* Make doxygen happy

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-10-14 19:26:17 +01:00
RebornedBrain
0902fd49e1 NFC: iso14443_4a improvements. Canvas: extended icon draw. (#3918)
* Now 4a listener invokes upper level callback on Halt and FieldOff
* Added new method for drawing mirrored XBM bitmaps
* iso14443_4a poller logic enhanced
* Function renamed accroding to review suggestions
* Rename #2
* Api adjustements
* Correct API bump

Co-authored-by: あく <alleteam@gmail.com>
2024-10-14 18:22:47 +01:00
MX
2f102e61a9 Merge remote-tracking branch 'RebornedBrain/reborned/some_api_adjustments' into dev 2024-10-14 19:52:41 +03:00
RebornedBrain
0241d8d1e8 Rename #2 2024-10-14 18:30:50 +03:00
MX
a17cbd0419 Merge remote-tracking branch 'RebornedBrain/reborned/some_api_adjustments' into dev 2024-10-12 03:20:32 +03:00
RebornedBrain
676eab29f2 Function renamed accroding to review suggestions 2024-10-11 22:49:54 +03:00
MX
0d8d71ff1c Merge remote-tracking branch 'RebornedBrain/reborned/some_api_adjustments' into dev [ci skip] 2024-10-05 10:19:32 +03:00
RebornedBrain
8027c300c3 Added new method for drawing mirrored XBM bitmaps 2024-09-23 11:16:23 +03:00
MX
eed32aca77 Merge remote-tracking branch 'OFW/dev' into dev 2024-09-06 00:48:44 +03:00
WillyJL
c6326915ae DialogEx: Fix NULL ptr crash (#3878) 2024-09-05 22:13:03 +01:00
MX
56530ee61c Merge remote-tracking branch 'OFW/dev' into dev 2024-09-05 22:10:41 +03:00
porta
c9791a280a [FL-3884] Proper integer parsing (#3839)
* feat: strint_to_uint32 and tests
* fix: permit explicit bases and prefixes
* feat: strint_to_{int32,uint16,int16}
* feat: strint_to_u?int64
* refactor: replace strtol, strtoul, sscanf with strint_to_*
* fix: api symbols
* docs: document parameter `end` of strint_to_uint_32
* style: apply changes requested by hedger
* refactor: fix pvs-studio diagnostic
* style: apply changes requested by CookiePLMonster
* fix: unused var
* fix: pointer type
* refactor: convert atoi to strint_to_*
* fix: strint_to_uint8 doesn't actually exist ._ .
* fix: memory leak
* style: address review comments
* Toolbox: couple small comments in the code and doxygen comment update. SubGhz, Loader: fix strint usage.
* Loader: fix incorrect cast

Co-authored-by: あく <alleteam@gmail.com>
2024-09-05 18:02:42 +01:00
Georgii Surkov
fa2d611652 [FL-3889] 5V on GPIO control for ext. modules (#3830)
* Make file extensions case-insensitive
* Bump protobuf version
* Add support for 5V control via RPC
* Add support for 5V control via Expansion protocol
* Update running instructions
* Update expansion module documentation
* Prettify condition
* Test RPC OTG control as well
* Assets: bump protobuf version
* Disable PVS license expiration check, fix PVS warnings

Co-authored-by: あく <alleteam@gmail.com>
2024-09-05 15:40:14 +01:00
DerSkythe
b040db07f4 Gui: Add up and down button drawing functions to GUI elements (#3804)
* feat: Add up and down button drawing functions to GUI elements
  Two button drawing functions, elements_button_up and elements_button_down, have been added to the GUI elements. These functions allow a button to be drawn at the top left and top right corner of the canvas respectively, with an accompanying string and icon. The underlying layout and design of these buttons is defined within these functions.
* feat: Add null checks for Canvas parameter in button functions
  Added furi_check to ensure the Canvas parameter is not null in elements_button_up and elements_button_down functions. This prevents potential crashes due to dereferencing a null pointer.

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-09-05 14:50:33 +01:00
あく
f353e5708d Gui: change dialog_ex text ownership model (#3831)
* Gui: change dialog_ex text ownership model
* Gui: change text ownership model part 2
* Examples: fix DialogEx usage in number input
* Gui: fix nullptr dereference in DialogEx, proper reset procedure

Co-authored-by: hedger <hedger@users.noreply.github.com>
2024-09-05 14:32:48 +01:00
MX
67dae229a9 merge ofw PR 3840 [ci skip]
GUI: NumberInput small improvements by Willy-JL
2024-08-17 17:54:06 +03:00