Commit Graph

2533 Commits

Author SHA1 Message Date
Willy-JL
16859a41b9 Merge remote-tracking branch 'ofw/dev' into mntm-dev 2024-09-06 02:00:42 +02:00
hedger
feb1b2f349 [FL-3882] Clean up of LFS traces (#3849)
* updater, storage: removed mentions of LFS from public APIs; updated corresponding strings
* rpc: updated include path

Co-authored-by: あく <alleteam@gmail.com>
2024-09-05 18:44:22 +01:00
Willy-JL
f65d4bb233 Merge remote-tracking branch 'ofw/dev' into mntm-dev 2024-09-05 19:17:18 +02: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
Willy-JL
0900ac3520 Merge remote-tracking branch 'ul/dev' into mntm-dev --nobuild 2024-09-04 22:39:32 +02:00
MX
2e787dea47 merge ofw pr 3868 [ci skip]
by zinongli

LFRFID: Fix Guard GProxII False Positive and 36-bit Parsing
2024-09-04 04:46:31 +03:00
MX
d2f0fbad45 Merge remote-tracking branch 'OFW/astra/gproxii-fix-detection' into dev 2024-09-04 03:17:29 +03:00
MX
00a0c6ee1a Merge remote-tracking branch 'OFW/dev' into dev 2024-09-04 03:16:37 +03:00
MX
8fd8e4f3d9 Add marantec24 and gangqi protocols
Protocols by @xMasterX / captures for gangqi by @mishamyte
2024-09-04 03:16:30 +03:00
Astra
a8482984de Fix incorrect parity starting bit 2024-09-03 17:42:49 +09:00
Astra
14a49759ce Fix detection of GProx II cards and false detection of other cards as GProx II 2024-09-03 17:20:49 +09:00
Willy-JL
1146f8a21a SubGHz: Update Oregon 2 and 3 weather info display to new design 2024-09-03 01:32:36 +02:00
Willy-JL
a3e1b66be4 SubGHz: Fix Acurite 986 temperature value conversion 2024-09-03 01:06:20 +02:00
Willy-JL
65d89f2a13 Merge remote-tracking branch 'ofw/dev' into mntm-dev --nobuild 2024-09-02 22:06:49 +02:00
Zinong Li
5272eb7550 Publishing T5577 page 1 block count macro (#3864)
* publishing t5577 page 1 block count macro

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-09-02 18:03:56 +09:00
Willy-JL
eb964fec0c RGB Backlight: Fix config migration 2024-08-27 00:52:00 +02:00
m7i-org
ff0e885fba feat(subghz): added Solight TE44 recognition (#183)
* feat(subghz): added Solight TE44 recognition

Added the Solight TE44 weather station, with a protocol similar to Auriol HG06061A but with a checksum and different sync values.
Updated the tests as well, including a raw and a decoded capture.

* Lint fixes

* Update changelog

---------

Co-authored-by: Willy-JL <49810075+Willy-JL@users.noreply.github.com>
2024-08-22 02:46:08 +02:00
Willy-JL
fadc217b01 RGB Backlight: Load settings on SD insert 2024-08-21 05:40:39 +02:00
Willy-JL
c5f18fadb8 Updater: Fix resources.tgz confusion 2024-08-15 05:33:49 +02:00
Willy-JL
c6320a6a59 Use long hash in dickert mahs protocol 2024-08-13 02:34:15 +02:00
Willy-JL
5f98c5d986 Merge remote-tracking branch 'ofw/dev' into yeet-lfs 2024-08-13 02:27:09 +02:00
Willy-JL
0d96c8d777 Same namespoof file path as Unleashed 2024-08-12 01:17:06 +02:00
Willy-JL
8a6c499e1b Migrate files and load MNTM settings on SD insert
I don't fully like how I made this work, bu I don't see a better way without restructuring a lot of things and losing behavior compatibility
2024-08-12 01:15:33 +02:00
Willy-JL
674956a476 Toolbox: Add run_parallel() util
Runs a self-cleaning-up thread without boilerplate
Same paradigm used in existing code like region and rpc services
Not replaced there to avoid merge conflicts
Not exposed to API for now
2024-08-12 00:29:12 +02:00
MX
821f5bab18 Merge remote-tracking branch 'OFW/dev' into dev 2024-08-10 14:47:38 +03:00
MX
bf6c6c231f [FL-3841] FuriEventLoop Pt.2 (#3703)
* Abstract primitive type from main logic in FuriEventLoop
* Remove message_queue_i.h
* Add stream buffer support for event loop
* Add semaphore support for event loop
* Add temporary unit test workaround
* Make the linter happy
* Add mutex support for event loop
* Implement event subscription and unsubscription while the event loop is running
* Implement edge events
* Fix leftover logical errors
* Add event loop timer example application
* Implement flag-based edge trigger and one-shot mode
* Add event loop mutex example application
* Only notify the event loop if stream buffer is at or above its trigger level
* Reformat comments
* Add event loop stream buffer example application
* Add event loop multiple elements example application
* Improve event loop flag names
* Remove redundant signal handler as it is already handled by the event loop
* Refactor Power service, improve ViewHolder
* Use ViewHolder instead of ViewDispatcher in About app
* Enable ViewDispatcher queue on construction, deprecate view_dispatcher_enable_queue()
* Remove all invocations of view_dispatcher_enable_queue()
* Remove app-scened-template
* Remove missing library from target.json
* Port Accessor app to ViewHolder
* Make the linter happy
* Add example_view_holder application, update ViewHolder docs
* Add example_view_dispatcher application, update ViewDispatcher docs
* Replace FuriSemaphore with FuriApiLock, remove workaround delay
* Fix logical error
* Fix another logical error
* Use the sources directive to speed up compilation
* Use constant define macro
* Improve FuriEventLoop documentation
* Improve FuriEventLoop documentation once more
* Bump API Version
* Gui: remove redundant checks from ViewDispatcher
* Gui: remove dead ifs from ViewDispatcher

Co-authored-by: Silent <CookiePLMonster@users.noreply.github.com>
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-08-10 14:32:27 +03:00
MX
1e5dd001fe after merge fixes 2024-08-10 14:22:33 +03:00
MX
28272f7a7a Storage: remove LFS (#3577)
* Storage: drop internal storage

* Storage: rollback some unnecessary changes

* Storage: rollback some unnecessary changes part 2

* Storage: cleanup various defines and int handling. Ble: allow short connection interval if internal flash is not used.

* Storage: do not return storage if it is not ready

* Save PIN code to RTC, update settings

* Simplify the code, clean up includes

* Rearrange some code

* apps: storage_move_to_sd: conditionally enable with --extra-define=STORAGE_INT_ON_LFS

* Load Desktop settings automatically

* Redirect /any to /ext

* Abolish storage_move_to_sd app

* Remove as many mentions of ANY_PATH as possible

* Fix desktop settings wrongly not loading

* Improve desktop settings handling and strings

* Load BLE settings and keys automatically

* Improve BLE configuration procedure

* Do not load bluetooth keys twice if they were already loaded

* Load dolphin state automatically

* Fix merge artifact

* Load notification settings automatically

* Update desktop settings strings

* Load expansion settings automatically

* Do not use thread signals to reload desktop settings

* Load region data automatically, separate to its own hook

* Improve ble behaviour with no keys

* Fix Dolphin state not resetting correctly

* Add a status check

* Make Desktop save its own settings

* Check result when taking and releasing mutex

* Improve default thread signal handling in FuriEventLoop

* Make bt service in charge of saving settings, add settings api

* Fix a deadlock due to timer thread not receiving time

* Lock core2 when reinitialising bt

* Update clang-format

* Revert "Update clang-format"

This reverts commit d61295ac063c6ec879375ceeab54d6ff2c90a9a1.

* Format sources with clang-format

* Revert old stack size for desktop settings

* Allocate big struct dynamically

* Simplify PIN comparison

* Save pointer to storage in Desktop object

* Fix region provisioning for hardware regions

* Remove stale TODO + siimplify code

* Clean up region.c

* Use sizeof instead of macro define

* Limit PIN length to 10 for consistency

* Emit a warning upon usage of /any

* Add delay after finding flipper

* Remove unnecessary delay

* Remove all mentions of STORAGE_INT_ON_LFS

* Remove littlefs and internal storage

* Remove all possible LittleFS mentions

* Fix browser tab in Archive

* Ble: fix connection interval explanation

* Bump API Symbols

* BLE: Update comments interval connection comments

* Storage: clear FuriHalRtcFlagStorageFormatInternal if set

---------

Co-authored-by: Georgii Surkov <georgii.surkov@outlook.com>
Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: Georgii Surkov <37121527+gsurkov@users.noreply.github.com>
2024-08-10 13:18:51 +03:00
daubsi
4f75d92747 Added protocol for Dickert MAHS garage door remote control (#3826)
* Added Dickert MAHS protocol
* Update protocol_items.c
* Added Dickert MAHS protocol reference
* Update protocol_items.h
* Removed logging and some defines
* Reworked the send code to properly adhere to Dickert timings
* Added subghz unit test for Dickert MAHS
* Minor fix in encoding length
* Added Dickert Decoder Test to subghz unit tests and set repeat=10
* SubGhz: cleanup dickert mahs code and documentation
* SubGhz: correct type in for statement in dickert mahs

Co-authored-by: あく <alleteam@gmail.com>
2024-08-09 17:24:57 +09:00
RebornedBrain
3672efa7da Now fifo size in ST25 chip is calculated properly (#3829)
Co-authored-by: あく <alleteam@gmail.com>
2024-08-09 16:08:05 +09:00
Willy-JL
2b77091cac Desktop settings merge and refactor, keybinds improvements
- Keybinds in own code helper files
- Keybinds as flipper format, loaded only when ran, no limit on length
- Migrate from old keybinds
- Merge desktop settings refactors after LFS removal PR
- Statusbar clock setting in desktop settings like OFW
- Hand orient setting in system settings like OFW
2024-08-08 05:18:20 +02:00
Georgii Surkov
f4122a924a [FL-3841] FuriEventLoop Pt.2 (#3703)
* Abstract primitive type from main logic in FuriEventLoop
* Remove message_queue_i.h
* Add stream buffer support for event loop
* Add semaphore support for event loop
* Add temporary unit test workaround
* Make the linter happy
* Add mutex support for event loop
* Implement event subscription and unsubscription while the event loop is running
* Implement edge events
* Fix leftover logical errors
* Add event loop timer example application
* Implement flag-based edge trigger and one-shot mode
* Add event loop mutex example application
* Only notify the event loop if stream buffer is at or above its trigger level
* Reformat comments
* Add event loop stream buffer example application
* Add event loop multiple elements example application
* Improve event loop flag names
* Remove redundant signal handler as it is already handled by the event loop
* Refactor Power service, improve ViewHolder
* Use ViewHolder instead of ViewDispatcher in About app
* Enable ViewDispatcher queue on construction, deprecate view_dispatcher_enable_queue()
* Remove all invocations of view_dispatcher_enable_queue()
* Remove app-scened-template
* Remove missing library from target.json
* Port Accessor app to ViewHolder
* Make the linter happy
* Add example_view_holder application, update ViewHolder docs
* Add example_view_dispatcher application, update ViewDispatcher docs
* Replace FuriSemaphore with FuriApiLock, remove workaround delay
* Fix logical error
* Fix another logical error
* Use the sources directive to speed up compilation
* Use constant define macro
* Improve FuriEventLoop documentation
* Improve FuriEventLoop documentation once more
* Bump API Version
* Gui: remove redundant checks from ViewDispatcher
* Gui: remove dead ifs from ViewDispatcher

Co-authored-by: Silent <CookiePLMonster@users.noreply.github.com>
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-08-07 12:49:41 +09:00
Willy-JL
1b2d173d63 Start removing CFG_PATH() / .config, add MNT_PATH() macro 2024-08-07 02:35:09 +02:00
Willy-JL
b8a6579379 Merge remote-tracking branch 'ofw/dev' into mntm-dev 2024-08-05 20:05:13 +02:00
あく
4d985ba8f8 Storage: remove LFS (#3577)
* Storage: drop internal storage

* Storage: rollback some unnecessary changes

* Storage: rollback some unnecessary changes part 2

* Storage: cleanup various defines and int handling. Ble: allow short connection interval if internal flash is not used.

* Storage: do not return storage if it is not ready

* Save PIN code to RTC, update settings

* Simplify the code, clean up includes

* Rearrange some code

* apps: storage_move_to_sd: conditionally enable with --extra-define=STORAGE_INT_ON_LFS

* Load Desktop settings automatically

* Redirect /any to /ext

* Abolish storage_move_to_sd app

* Remove as many mentions of ANY_PATH as possible

* Fix desktop settings wrongly not loading

* Improve desktop settings handling and strings

* Load BLE settings and keys automatically

* Improve BLE configuration procedure

* Do not load bluetooth keys twice if they were already loaded

* Load dolphin state automatically

* Fix merge artifact

* Load notification settings automatically

* Update desktop settings strings

* Load expansion settings automatically

* Do not use thread signals to reload desktop settings

* Load region data automatically, separate to its own hook

* Improve ble behaviour with no keys

* Fix Dolphin state not resetting correctly

* Add a status check

* Make Desktop save its own settings

* Check result when taking and releasing mutex

* Improve default thread signal handling in FuriEventLoop

* Make bt service in charge of saving settings, add settings api

* Fix a deadlock due to timer thread not receiving time

* Lock core2 when reinitialising bt

* Update clang-format

* Revert "Update clang-format"

This reverts commit d61295ac063c6ec879375ceeab54d6ff2c90a9a1.

* Format sources with clang-format

* Revert old stack size for desktop settings

* Allocate big struct dynamically

* Simplify PIN comparison

* Save pointer to storage in Desktop object

* Fix region provisioning for hardware regions

* Remove stale TODO + siimplify code

* Clean up region.c

* Use sizeof instead of macro define

* Limit PIN length to 10 for consistency

* Emit a warning upon usage of /any

* Add delay after finding flipper

* Remove unnecessary delay

* Remove all mentions of STORAGE_INT_ON_LFS

* Remove littlefs and internal storage

* Remove all possible LittleFS mentions

* Fix browser tab in Archive

* Ble: fix connection interval explanation

* Bump API Symbols

* BLE: Update comments interval connection comments

* Storage: clear FuriHalRtcFlagStorageFormatInternal if set

---------

Co-authored-by: Georgii Surkov <georgii.surkov@outlook.com>
Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: Georgii Surkov <37121527+gsurkov@users.noreply.github.com>
2024-08-04 10:54:02 +01:00
MX
8189062771 merge fixes 2024-08-02 16:47:12 +03:00
MX
856fe752de Merge remote-tracking branch 'OFW/dev' into dev 2024-08-02 11:09:56 +03:00
Willy-JL
2ee3e6e385 Merge remote-tracking branch 'ofw/dev' into mntm-dev 2024-08-01 03:04:55 +02:00
BarTender NZ
bec6bd381f Add lfrfid GProxII support (#3796)
* Add lfrfid GProxII support
* Add rfid GProxII support and correct linting issues.
* Add GProxII support for 26 and 36 bit cards
* Add GProxII 26 and 36 bit key - fixing minor typos
* Add GProxII 26 and 36 bit key - fix typo
* Add GProxII 26 and 36 Bit support - Change comment to not fail lint checking on XOR Value

Co-authored-by: あく <alleteam@gmail.com>
2024-08-01 07:21:49 +09:00
Willy-JL
10bc24145e Fixes for -Wundef and iButton ID 2024-07-31 23:36:25 +02:00
Willy-JL
b4c24e6e4b Merge remote-tracking branch 'ofw/dev' into mntm-dev 2024-07-31 23:06:48 +02:00
MX
e74e6cdd02 Merge remote-tracking branch 'OFW/dev' into dev 2024-07-31 22:38:15 +03:00
DerSkythe
56fef61c66 fix: Ensure proper closure of variadic function in mjs_array (#3798)
The changes ensure that the `va_end` function is always called after `c_vsnprintf` in `mjs_array.c`

Co-authored-by: あく <alleteam@gmail.com>
2024-08-01 02:12:26 +09:00
Astra
01b402ba2b [FL-3827] iButton ID writing (#3734)
* Function naming corrections and enabled writing ID for all dallas blanks
* Enable ID writing for ds1971 and ds1996
* Sync API Symbols

Co-authored-by: あく <alleteam@gmail.com>
2024-08-01 01:59:41 +09:00
hedger
380ec2ac46 Added -Wundef to compiler options (#3815)
* fbt: added -Wundef to compiler options; libs: various small fixes for missing defines; desktop: proper access to current RTOS config
* apps: fixes for FURI_DEBUG handling
* rpc: unified definition checks
* Cleanup various defines use
* Cleanup configs and move SVCall ISR priority configuration to furi_hal_interrupts

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-08-01 01:38:20 +09:00
Totoo
29df6adb34 Sub-GHz: Added EmosE601x and Acurite 5in1 protocols from WS app (#170)
* Added EmosE601x and Acurite 5in1 WS

* fix descr

* Add string_brief placeholder

* Keep close to other WS protocols

* Update changelog

* Format

---------

Co-authored-by: Willy-JL <49810075+Willy-JL@users.noreply.github.com>
2024-07-27 04:17:15 +02:00
WillyJL
aa6d4de9fe Asset Packs: Optimize icon loader (#164)
* Original pointer can be const

* Back to const icons

* Missed this one

* Simpler string alloc

* Single allocation and header struct for static icons

* Shared allocation and meta struct for animated icons

* Only try to load if dir exists

* Restructure momentum lib

* Use some internal headers

* Swap icons at draw

* Properly init and free, no more original in icon struct
2024-07-18 03:35:21 +01:00
Georgii Surkov
8aa129395f [FL-3871] Infrared: check for negative timings (#3788) 2024-07-16 20:54:09 +09:00
Willy-JL
8004e654a5 Merge remote-tracking branch 'ul/dev' into mntm-dev 2024-07-15 23:26:46 +01:00
MX
3d3a989932 Merge remote-tracking branch 'OFW/gsurkov/3871_ir_negative_timings' into dev 2024-07-16 01:01:24 +03:00