1
mirror of https://github.com/DarkFlippers/unleashed-firmware.git synced 2025-12-12 12:42:30 +04:00

Compare commits

...

1654 Commits

Author SHA1 Message Date
MX
36181636c8 quick debug switch 2025-12-11 07:02:07 +03:00
MX
5c539d2346 upd changelog 2025-12-11 00:40:37 +03:00
MX
3bfeea9962 fmt [ci skip] 2025-12-11 00:36:11 +03:00
MX
0a7eb30a15 nfc mf classic upgrades
by noproto
2025-12-11 00:24:50 +03:00
MX
caad1ef268 finish subghz fixes 2025-12-10 23:56:22 +03:00
MX
d10a601109 grand finale? 2025-12-10 03:05:16 +03:00
MX
32a182c439 fix some oops
thx WillyJL
2025-12-10 01:09:34 +03:00
MX
1f676cffea text fixes 2025-12-08 20:16:08 +03:00
MX
a28b2477f9 simplify counter logic and apply more fixes
by @Dmitry422
2025-12-08 12:25:00 +03:00
MX
c08cb33a76 move ofex out of range and fix counter editor
scene fixes by @Dmitry422
2025-12-06 22:59:48 +03:00
MX
59ac0f211c upd changelog 2025-12-03 22:53:01 +03:00
MX
c8e756a3c5 enable winter anims 2025-12-03 22:52:09 +03:00
MX
13b79f0246 upd changelog 2025-12-03 22:50:43 +03:00
MX
05925868d2 upd subremote 2025-12-03 19:59:03 +03:00
MX
e2e839fb2c fmt 2025-12-01 07:04:38 +03:00
MX
0b7c9e2eab update changelog [ci skip] 2025-12-01 06:46:13 +03:00
MMX
6f69f39fa1 Merge pull request #933 from Dmitry422/dev
Subghz signal Counter edit option
2025-12-01 06:43:03 +03:00
MMX
ab593a7a8f Merge pull request #931 from koterba/patch-1
Fix typo in README warning about scammers
2025-12-01 06:42:52 +03:00
MX
7409b51da5 upd changelog [ci skip] 2025-12-01 06:41:00 +03:00
Dmitry422
0f3eb9ae12 Subghz counter edit finished 2025-12-01 10:08:23 +07:00
MX
6abd2b0e9f Add date/time input module
ofw pr 4261 by aaronjamt
2025-12-01 06:06:30 +03:00
MX
a7561bee98 Add Saflok MFUL Parser Support
by aaronjamt
2025-12-01 05:40:27 +03:00
MX
3821c9049e Add MFUL counters to Info page
by aaronjamt
2025-12-01 05:36:10 +03:00
MX
5bd0f642dd ir cli fix
by WillyJL
2025-12-01 05:31:26 +03:00
Dmitry422
b8bec12974 from home to work. one step from the end 2025-11-30 21:57:10 +07:00
Dmitry422
a493612444 From work to home 2025-11-28 20:13:56 +07:00
MX
259efadaea upd changelog 2025-11-25 19:09:11 +03:00
MX
ecbeb658e1 Merge remote-tracking branch 'OFW/dev' into dev 2025-11-25 19:08:15 +03:00
RebornedBrain
cd79d4f689 Fix Felica standard loading from nfc file (#4311) 2025-11-25 17:58:10 +04:00
Dmitry422
7fd30911fe Start working on subghz counter editor 2025-11-21 16:58:38 +07:00
koterba
52b76e2e2e Fix typo in README warning about scammers 2025-11-11 18:33:32 +00:00
MX
b0c1931caf upd changelog 2025-11-11 15:46:15 +03:00
MMX
1c07f94cdd Merge pull request #930 from Dmitry422/dev
FZ interface for SubGHz Counter Experimental Mode
2025-11-11 15:43:44 +03:00
Dmitry422
0351818b75 Rework by review finished 2025-11-11 11:52:42 +07:00
Dmitry422
b391cfc71d Rework by review 2025-11-11 08:46:32 +07:00
Dmitry422
da3a2834d4 Recover accidentally deleted 2025-11-11 08:15:02 +07:00
Dmitry422
d320c4a46b Recover accidentally deleted 2025-11-11 08:14:08 +07:00
Dmitry422
d1f8ddc033 i dont know WTF 2025-11-10 23:23:34 +07:00
Dmitry422
d13b43f193 Merge branch 'DarkFlippers:dev' into dev 2025-11-10 23:15:51 +07:00
Dmitry422
01cc4cc3da finita la comedia 2025-11-10 23:13:28 +07:00
Dmitry422
7ee266752e Subghz signal settings counter edit in progress..... 2025-11-09 22:01:36 +07:00
Dmitry422
48b9dd2cc8 Hide additional settings under gebug mode (commented, not active) 2025-11-09 21:01:19 +07:00
MX
0530eda8d1 Merge remote-tracking branch 'OFW/dev' into dev [ci skip] 2025-11-08 17:51:07 +03:00
Dmitry422
9d1cee6d4c Subghz special signail_settings interface end of development 2025-11-08 04:52:36 +07:00
Dmitry422
b7d2ab7a0c Subghz special signail_settings interface 2025-11-08 04:51:23 +07:00
Dmitry422
a1c48c82f8 subghz signal settings gui (read from file and parse) 2025-11-08 01:30:07 +07:00
Mykhailo Shevchuk
7518dc73c2 Returning fix for reading PWD locked MFUL (#4295)
Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-11-06 23:54:50 +04:00
Nathan N
f4c92dcd76 Fix MIFARE Plus SL1 sector overrun issue in state machine (#4288)
Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-11-06 23:34:21 +04:00
Nathan N
c873eb5e36 Fix Ultralight EV1 regression (#4287)
* Fix EV1 regression introduced in e7634d7

* ./fbt format

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
2025-11-06 23:05:16 +04:00
Zinong Li
a42e30f394 NFC FeliCa Minor Fix: FelicaPollerEventType should only be Incomplete if the tag is FeliCa Lite (#4279)
* poller read is only incomp if in Lite workflow

* another small fix for the "255/28 pages read" bug

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-11-06 22:45:52 +04:00
Zinong Li
6d93a90a0a NFC lib: Expose nfc_common.h (#4283)
* expose nfc_common.h

* Update api_symbols.csv

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-11-06 22:37:33 +04:00
Zinong Li
6c83a67173 NFC FeliCa Improvement: Dump All Systems (#4293)
* polling system code done

* select service done

* select system fixes. works fine now

* clean up select sys by idx

* reading, saving, loading done. render wrong

* render first layer works

* render fixed

* fix Lite Render triage

* regression Lite rendering

* sync API with 1.40 release

* clean up and lint

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-11-06 22:30:02 +04:00
MX
22ee3bdae2 Merge remote-tracking branch 'OFW/dev' into dev 2025-11-06 20:29:16 +03:00
hedger
b54d63037b lib: infrared: fixed doxygen declarations to match implementation (#4305) 2025-11-06 20:40:18 +04:00
MMX
6a5ae6cc0d Infrared Universal remote DBs unit test & move infrared_signal / infrared_brute_force into lib (#4284)
* make infrared db unit tests

* fix the tests, no assets are in asset folder oh no

* fix formate

* ship ir app along with unit_test pkg

* libify ir signal and bruteforce parts

* small cleanup

* api: removed infrared methods (you can link with the lib if needed), unit_tests, infrared: adjusted to link with ir lib; api: added `__aeabi_f2d`

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
2025-11-06 20:23:59 +04:00
an5t
67b906e6ba github: fail submit_sdk on catalog api error (#4294)
Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-11-06 19:31:17 +04:00
Alexey Zakharov
772c944163 Devboard docs update (#4301)
Wi-Fi devboard pinout added, updated devboard hardware image, fixed the schematics link, and corrected typos.

Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-11-06 17:21:44 +04:00
Dmitry422
7f7d1e1d32 Signal settings gui 2025-11-06 17:42:55 +07:00
Dmitry422
4f5ab0b15b Start working with SubGhz_signal_settings menu 2025-11-05 23:15:08 +07:00
MX
f177c0491d subghz counter freeze mode 2025-11-04 19:28:30 +03:00
MX
c87205fe9a upd changelog and readme 2025-11-04 16:12:19 +03:00
MX
79fc832356 subghz implement countermodes 2025-11-04 15:36:34 +03:00
MX
944c5ffb98 anmotors at4 C button 2025-11-02 22:13:16 +03:00
MX
ed2c40de4b to bool 2025-10-31 12:28:08 +03:00
MX
e392bff808 fmt and upd changelog 2025-10-31 12:12:07 +03:00
MMX
c37c5574ba Merge pull request #928 from Dmitry422/dev
Remove display_back_light bug from "DisplayBacklightEnforceOn"
2025-10-31 12:05:11 +03:00
Dmitry422
5db6a03811 Remove display_back_light bug from "DisplayBacklightEnforceOn" 2025-10-30 16:52:25 +07:00
MX
a553bc2f57 add extra check 2025-10-21 04:22:09 +03:00
MX
3e96806962 honeywell read old files with 62-63bits
change them on the fly to new format during reading, files are not replaced, they will contain old format, you can fix them manually by replacing header to FF FE and bits to 64
2025-10-21 04:12:22 +03:00
MX
cf5761860f upd changelog 2025-10-21 01:48:02 +03:00
MX
01c168e351 subghz il100 smart add manually support 2025-10-21 01:44:30 +03:00
MX
a1c8dfb61b subghz overflow experimental mode 2025-10-21 01:32:02 +03:00
MX
bd02e2f53c honeywell fix uint8 array using uint16 values, fix header, fix bits 2025-10-17 19:19:49 +03:00
MX
94076e6c5c honeywell show whole key and loop states instead 2025-10-17 14:05:25 +03:00
MX
d673fd5573 return honeywellsec with some fixes 2025-10-16 10:15:26 +03:00
MX
9506ccde2e upd changelog 2025-10-13 22:56:32 +03:00
MX
dbc5895b30 upd anims 2025-10-13 22:26:31 +03:00
MX
b03316d89d add support for top44rbn remotes 2025-10-13 01:32:43 +03:00
MX
d465877919 upd changelog 2025-10-12 23:36:50 +03:00
MMX
7bbe85c7cd Merge pull request #923 from DarkFlippers/feature/ul-c-keys-to-dictionary
Added UL-C keys to the dictionary
2025-10-12 23:34:12 +03:00
MMX
806143bf29 Merge pull request #922 from DarkFlippers/bug/fix-ul-read-again
Returning fix for reading PWD locked MFUL
2025-10-12 23:34:01 +03:00
Mykhailo Shevchuk
b3a5e2c282 Added UL-C keys to the dictionary 2025-10-12 23:09:14 +03:00
Mykhailo Shevchuk
5a933f13ad Returning fix for reading PWD locked MFUL 2025-10-12 22:53:25 +03:00
MX
c6f26c696c upd changelog 2025-10-12 21:55:06 +03:00
MX
90f446880a Add MIFARE Classic "Show Keys" UI
by aaronjamt
2025-10-12 21:54:34 +03:00
MX
b604c93eb0 fix merge artifact 2025-10-12 21:51:25 +03:00
MX
2efcc8f6cc fmt 2025-10-12 03:58:30 +03:00
MX
eb2bdf7ac2 upd changelog 2025-10-12 03:57:40 +03:00
MMX
3eac28ed05 Merge pull request #921 from hryamzik/ptt-zoom-custom
HID PTT: adding global zoom and google meet shortcuts for MacOS
2025-10-12 03:56:34 +03:00
MX
d8924c02ad upd changelog 2025-10-12 03:54:01 +03:00
MX
eed1d3367a ofw pr 4293 NFC FeliCa Improvement: Dump All Systems
by zinongli
2025-10-12 03:39:38 +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
de35de4e58 ofw pr 4290 Storage: Dont send mount event if SD mounted at boot
by WillyJL
2025-10-12 03:30:31 +03:00
MX
b9feece2c2 ofw pr 4283 NFC lib: Expose nfc_common.h
by zinongli
2025-10-12 03:28:58 +03:00
Roman Belyakovsky
df035ad51c HID PTT: adding global meet shortcuts for macos 2025-10-11 15:50:05 +03:00
Roman Belyakovsky
4d2a08cc11 HID PTT: adding global zoom shortcuts for macos 2025-10-11 11:27:31 +03:00
MX
57dff2aced Merge remote-tracking branch 'OFW/dev' into dev [ci skip] 2025-10-09 21:00:03 +03:00
RebornedBrain
468cc45f90 Fix wrbl command tooltip (#4291)
Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-10-08 17:26:48 +04:00
WillyJL
8ae710edec VSCode: Reduce file watcher resource usage (#4292) 2025-10-08 15:13:36 +04:00
MX
fe31d0cc12 upd changelog
add fix by noproto
2025-10-06 20:31:39 +03:00
MX
d79539c75c upd changelog 2025-10-01 19:48:57 +03:00
MX
40f7c007d9 Merge remote-tracking branch 'OFW/dev' into dev 2025-10-01 19:37:50 +03:00
Zinong Li
85b6b2b896 NFC FeliCa: Service Directory Traverse + Dump All Unencrypted-Readable Services' Blocks (#4254)
* SimpleArray attached to FelicaData

* tx rx done. response parsing done (in log)

* dynamic vector as buffer. rendering begin

* On screen render for directory tree

* flags in render to indicate is_public_readable

* beautify render flags

* format

* offload dynamic vector into individual files

* saving. exposed dir tree writing for double use

* save: additional formatting

* save: clean up and some additional notes

* load done

* delete unnecessary debug log

* Load: safer way to handle backward compatibility

`parsed` being true is only contingent on whether the header (device type, UID, etc) are correctly read. The detailed data can be absent if saved from previous versions.

Side effects:
1. The data format version number must not increment.
2. Newer sections of dumps must be appended in the end of the file.

* format

* handle block reading according to IC type

Old version was aimed for FeliCa Lite dumping, which doesn't apply to FeliCa standard. Thus they need to be diverged in the poller run workflow.

* read block content works. rendering begin

* Render Refactor: dir & dump view from submenu

* Render: show IC type name

* IC parsing function cleanup

* Revert "IC parsing function cleanup"

This reverts commit ee3f7bf125b54b10d238b0aeb657ba15f27f93ba.

* Load: Standard dump. Fully backward compatible

* format

* sync API version

* format saved file

* delete unused variable

* clean ups

* IC type addition

* correction

* beautify attribute parsing

* correction

* Lite save: delete extra line

* correction: FeliCa link in Lite-S mode

* format

* Save: simplify printing

* update IC type parsing

* conform to api standard: const resp ptr to ptr

also slightly faster and more readable block dump loop

* disambiguate workflow type vs ic type

It was too confusing to have the ic name string telling you one thing and ic_type enum saying the other. Might as well use better naming to indicate the use case for the two things

* beautify on device render

* reject dynamic_vector, embrace m-array

* lint

* use full variable name

* partial fix: poller context's data proper init

* edit unit test dump IC code

and a small bug fix for the Lite auth workflow

* unit test felica dump PMm correction

* Fixes for static analysis warnings

---------

Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-10-01 18:54:08 +04:00
MX
05c64d2b1f Merge remote-tracking branch 'OFW/dev' into dev 2025-10-01 17:20:46 +03:00
MMX
fad487df0e SubGHz: Added 9 new protocols, fixes to existing protocols (#4255)
* Fix Typos

* Tune decoders

* Better parsing, show more data in existing protocols

* Add new protocols

* Update keeloqs

* Add unit tests & raws

* Add honeywell unittest

* Comment until better solution is found

Adding GAPs to be sent first to make signal better suitable for decoder (decoding from only one signal sample) does nothing, needs something else
TODO: Fix encoders?

* suppressed missing issue warning

* subghz: re-enabled failing encoder tests

* Fix two?

3 left

* properly do gangqi and marantec for unit test and real use

* fix unit tests now

* fix possible memory leak

* reset decoder step too

* subghz: extra encoder safety; report random signal test results on failure

* unit_tests: subghz: renamed test file for consistency

* subghz: more explicit buffer position resets

* Fix gangqi samples

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
2025-10-01 18:05:50 +04:00
MX
7db92ed1f8 decoders reset step at reset func 2025-10-01 03:00:43 +03:00
MX
a5dedec00a ensure correct byte shifts 2025-10-01 02:34:46 +03:00
MX
1f92d793b9 Merge remote-tracking branch 'OFW/dev' into dev 2025-09-30 19:08:21 +03:00
Null
df4bf69818 IR: Add Onn Roku TV control to universal remote (#4201)
* added ONN brand roku TV to ir lib

* pvs: fixed warning

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
2025-09-30 15:39:58 +04:00
MX
b604514a2b upd readme 2025-09-30 03:30:45 +03:00
MX
fdf532066f upd changelog 2025-09-30 03:03:16 +03:00
MX
5a8a0dff5e if got no luck with seed set it back to zero 2025-09-30 02:54:11 +03:00
MX
a4f5f1e862 add elplast subghz protocol 2025-09-30 02:49:51 +03:00
MX
999afe3f5b post merge fix 2025-09-30 02:16:07 +03:00
MX
3e45fce96d Try to decode BFT 2 buttons remotes on the fly 2025-09-30 02:07:29 +03:00
MX
f4529dc8c1 Merge remote-tracking branch 'OFW/dev' into dev 2025-09-29 23:11:36 +03:00
Ivan Barsukov
1e0f3a606f cli: Buzzer command (#4006)
* Add args_read_float_and_trim function

* Add args_read_duration function

* Add notes_frequency_from_name function

* Add cli_sleep function and sleep CLI command

* Update CLI top command to use cli_sleep

* Add buzzer CLI command

* toolbox: make args_read_duration less convoluted

* notification: make notification_messages_notes_frequency_from_name less convoluted

* unit_tests: better float checking

* fix formatting and f18

---------

Co-authored-by: Anna Antonenko <portasynthinca3@gmail.com>
Co-authored-by: hedger <hedger@nanode.su>
2025-09-29 21:53:10 +04:00
Leptopt1los
f78a8328d1 tm01x dallas write support (#4230)
Co-authored-by: hedger <hedger@nanode.su>
2025-09-29 21:13:33 +04:00
Nathan N
e7634d7563 NFC: Ultralight C App Key Management, Dictionary Attack (#4271)
* Upstream Ultralight C dictionary attack (squashed)

* linter: formatting

* unit_tests: nfc: split nfc data to named var

* Fix mf_ultralight_poller_sync_read_card

* linter: suppressed warnings on TODOs

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
2025-09-29 21:05:06 +04:00
MX
958cc79596 Merge remote-tracking branch 'OFW/dev' into dev 2025-09-29 16:33:57 +03:00
RebornedBrain
eea53491de [FL-3569] NFC CLI commands (#4158)
* feat: FuriThread stdin

* ci: fix f18

* feat: stdio callback context

* feat: FuriPipe

* POTENTIALLY EXPLOSIVE pipe welding

* fix: non-explosive welding

* Revert welding

* docs: furi_pipe

* feat: pipe event loop integration

* update f18 sdk

* f18

* docs: make doxygen happy

* fix: event loop not triggering when pipe attached to stdio

* fix: partial stdout in pipe

* allow simultaneous in and out subscription in event loop

* feat: vcp i/o

* feat: cli ansi stuffs and history

* feat: more line editing

* working but slow cli rewrite

* restore previous speed after 4 days of debugging 🥲

* fix: cli_app_should_stop

* fix: cli and event_loop memory leaks

* style: remove commented out code

* ci: fix pvs warnings

* fix: unit tests, event_loop crash

* ci: fix build

* ci: silence pvs warning

* feat: cli gpio

* ci: fix formatting

* Fix memory leak during event loop unsubscription

* Event better memory leak fix

* feat: cli completions

* Merge remote-tracking branch 'origin/dev' into portasynthinca3/3928-cli-threads

* merge fixups

* temporarily exclude speaker_debug app

* pvs and unit tests fixups

* feat: commands in fals

* move commands out of flash, code cleanup

* ci: fix errors

* fix: run commands in buffer when stopping session

* speedup cli file transfer

* fix f18

* separate cli_shell into modules

* fix pvs warning

* fix qflipper refusing to connect

* remove temp debug logs

* remove erroneous conclusion

* Fix memory leak during event loop unsubscription

* Event better memory leak fix

* unit test for the fix

* improve thread stdio callback signatures

* pipe stdout timeout

* update api symbols

* fix f18, formatting

* fix pvs warnings

* increase stack size, hope to fix unit tests

* cli completions

* more key combos

* commands in fals

* move commands out of flash

* ci: fix errors

* speedup cli file transfer

* merge fixups

* fix f18

* cli: revert flag changes

* cli: fix formatting

* cli, fbt: loopback perf benchmark

* thread, event_loop: subscribing to thread flags

* cli: signal internal events using thread flags, improve performance

* fix f18, formatting

* event_loop: fix crash

* storage_cli: increase write_chunk buffer size again

* cli: explanation for order=0

* thread, event_loop: thread flags callback refactor

* cli: increase stack size

* cli: rename cli_app_should_stop -> cli_is_pipe_broken_or_is_etx_next_char

* cli: use plain array instead of mlib for history

* cli: prepend file name to static fns

* cli: fix formatting

* cli_shell: increase stack size

* Now cli_shell can be customized with another motd and another command set

* Added custom motd callback definition

* Now user can alloc and free his own cli command set

* cli_vcp can now restart shell with another command set

* Help command modified to show available commands from different command sets

* Api adjustement

* Reworked nfc_cli to start new shell with another command set

* Revert custom shell changes from vcp

* Custom motd callback moved to cli_shell

* Cli Shell now can be started from ongoing cli command

* Help command moved to a separate function so it can be used for custom shell

* Now nfc command spawns separate shell for further nfc commands

* cli_shell: give up pipe to command thread

* fix formatting

* cli_shell: separate into toolbox

* speaker_debug: fix

* fix: format

* Merge branch 'portasynthinca3/3928-3929-cli-fals-threads' into portasynthinca3/3965-cli_shell-toolbox

* fix merge

* fix. merge.

* fix formatting

* fix: cmd flags

* fix: formatting

* Added basic command descriptor structs and macros

* Basic nfc commands definitions added

* Nfc cli commands collection and functions added

* Raw skeleton of nfc cli processor added

* cli: increase default stack depth

* New callbacks for ctx alloc / free added

* nfc_cli moved to cli folder

* Some more logic for command processor

* Scanner command no works via command_processor

* plugin manifest adj

* Argument descriptors were removed, now only keys left

* Some helper command function implemented

* Command processor logic now mostly works

* Added all parsers and dummy implementation of raw cmd

* Now processor checks duplicated keys and treat them as errors

* Some renamings

* Arguments processing moved to separate function

* Now command processor can reuse context of previuos command for the next one if it's allowed

* can_reuse callback added for checking if context can be reused

* command processor is now freed on nfc cli exit

* Some cleanups

* First working version of raw command

* Now input data are placed directly to bit buffer

* Added tag

* Introduced request/response structs

* Moved raw command to a separate folder

* Moved some common types to header

* Added protocol specific handlers for iso14a and felica

* Opened felica crc header for referencing

* Added handler for iso14443_3b

* Opened iso15693_3_poller for referencing

* Added iso15693_3 handler for raw command

* NfcCliRawError enum introduced for response result

* Refactored handlers implementation

* Formatting functions now added as helpers

* New printing result logic

* Not present error value added to enum

* Timeout added to raw command

* Command processor now supports multivalue keys

* Apdu command implementation added

* NfcScanner moved to helpers and command now uses it

* Helper now can format protocol names

* Dump command added

* Added some more functions to scanner helper

* Dump main logic simplified

* Dump handlers moved to protocols folder

* Protocol parser added to simplify searching protocol by name

* Protocol and key arguments added to dump command

* Cleanups

* Apdu now parses protocol using helper parser

* Raw now parses protocol using helper parser

* Wrong naming fix

* Emulate command added to cli

* Description added to action descriptor and command macros

* Description field added to all commands

* Removed unnecessary enum for commands

* Added functions for formatting command and action info

* Proper error messages and help added

* Fix for unsupported single action command

* Function renamed to more appropriate

* Field command moved to all other commands

* Cleanups

* Nfc commands modified with new cli shell

* Removed previous nfc_cli.c after merge

* Removed nfc_cli.h header

* Some renamings and cleanups

* Some comments and instructions added

* Some comments and instructions added

* TODOs removed

* Fix for missing parse callback

* Added not implemented dummy for mfu actions, for now

* Fix name mismatch

* Remove unneeded header

* Mfu command moved to separate folder, also raw info action logic added

* Dictionary with id/vendors added to assets. It is used by nfc_cli_mfu_info_get_vendor function

* One more unneeded header removed

* Moved mfu info action to a separate file

* Info action now uses sync mfu poller

* mfu rdbl action added

* wrbl action added for mfu command

* Some formatting for rdbl command

* Function for formatting mfu errors added

* All mfu actions now show errors in the same way

* Fix error with sync poller. Previously when read failed function returned ErrorNone, now it processes iso14a error to get proper value

* Make PVS happy

* Nfc cli now doesn't start if desktop app is running

* Make action description look more common

* Scanner now has -t key and can show detected protocol hierarchies

* Apdu now checks max input payload data

* Proper format

* Proper error handling added to dump command

* Timeout key added dump command

* Fix merge issue

* formatting

* Pragma pack replaced with FURI_PACKED

* Fix felica memory leak

---------

Co-authored-by: Anna Antonenko <portasynthinca3@gmail.com>
Co-authored-by: Georgii Surkov <georgii.surkov@outlook.com>
Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
2025-09-29 14:34:49 +04:00
MX
a357dfd1ad upd changelog 2025-09-28 04:50:50 +03:00
MX
1e431422e7 smol fixes [ci skip] 2025-09-28 02:11:06 +03:00
MX
2dd6b5cdce format [ci skip] 2025-09-28 01:57:13 +03:00
MX
372681553a remove honeywellsec for now [ci skip]
TODO: make proper decoder, current works very unstable, same goes for encoder, current doesnt act as original signal, having no "gap" between packets
2025-09-28 01:55:45 +03:00
MX
46c335ad25 upd nfc OFW PR 4271 [ci skip] 2025-09-28 01:53:21 +03:00
MX
0c1c54c949 Merge remote-tracking branch 'OFW/dev' into dev 2025-09-25 23:42:49 +03:00
Axum
2ef556d456 Update demo_windows.txt (#4211)
Fix for newer version of ai enabled Windows Notepad not able to keep up with default fast input text.

Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-09-25 22:05:29 +04:00
Zinong Li
8c0c7f1bb9 LFRFID: Show ISO-3166 Country Names For Pet Chips (#4091)
* Country list header and printf

* off load country list to asset

* lint

* Field specific getters

* check string length before cutting

* lfrfid: minor iso3166 cleanup

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
2025-09-25 21:22:56 +04:00
MX
2988897a4b Merge remote-tracking branch 'OFW/dev' into dev 2025-09-25 20:18:30 +03:00
WillyJL
013c5ffa52 BadUSB: Fix case sensitive key combos, fix modifiers in HOLD/RELEASE (#4216)
* BadUSB: Fix key combos main keys being case sensitive

* BadUSB: Fix modifier keys with HOLD/RELEASE commands

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-09-25 18:34:06 +04:00
Aerosnail
d17fd8ed7f SubGhz: fix TIM17 config not applied immediately (#4205)
Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-09-25 16:15:43 +04: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
hedger
0d5beedb01 BLE: improved pairing security (#4240)
* ble: use unique root security keys for new pairings after pairing reset; added migrations for existing pairing data; unit_tests: added migration tests

* bt: lower logging level

* hal: bt: updated doxygen strings

* hal: ble: Added checks for root_keys ptr

* service: ble: bt_keys_storage minor cleanup
2025-09-24 22:36:45 +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
MX
2ae03e7d51 Merge remote-tracking branch 'OFW/dev' into dev 2025-09-24 18:55:40 +03: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
minchogaydarov
973fb26f57 Add Daikin FTXN25LV1B9 and Toyotomi KTN22-12R32 (#4232)
Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-09-24 19:23:01 +04:00
Zinong Li
f0d4210d19 NFC: Amusement IC Card Parser (FeliCa Lite & Lite-S) (#4259)
* type/brand parse

* debug

* decryptions

* corrections

* comments

* AIC access code decryption and CRC check

* easier than we thought! only acc_code[0] == 5 needs parsing

* finishing touches

* can't support serial number decode

* Revert "can't support serial number decode"

This reverts commit 7761b31bcf7effb97e608578ab1e090625078784.

* serial number CAN be decrypted

* format

* print fix

* fix CRC check

* delete unnecessary line

* linter fixes

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
2025-09-24 19:14:43 +04:00
MX
905b5726ad Merge remote-tracking branch 'OFW/dev' into dev 2025-09-24 17:58:32 +03:00
LordMZTE
7483069d10 hid_app mouse clicker: make mouse button selectable (#4270)
* hid_app mouse clicker: make mouse button selectable

* hid_app: fixed uninit var warning

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
2025-09-24 18:52:06 +04:00
MMX
7554b32538 SubGHz: Linear and Dickert MAHS protocols fixes & improvements (#4267)
* Linear and dickert mahs fixes

* fix dip pattern

* proper fix

by WillyJL

* Fix unit tests

Linear Decoder now decodes more linear signals

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-09-24 14:45:03 +04:00
Anna Antonenko
6a49131ae9 js_gpio: stop pwm on exit (#4206)
Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-09-24 14:34:28 +04:00
WillyJL
7f0e8f39d3 FuriHalSerial: Fix RXFNE interrupt hang (#4246)
* Expansion: Wake thread on UART error flag

* Expansion: Stop UART async rx early

* FuriHalSerial: Fix RXFNE interrupt hang

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-09-24 14:24:09 +04:00
dogtopus
dfd753703a FeliCa Emulation: Handle certain Polling commands in firmware (#4204)
* FeliCa: Handle non-hardware Polling commands

NFC TagInfo and possibly other readers rely on Polling commands with Request Code of 1 (default System Code request) or non-FFFF System Code to detect card type. Since the NFC controller doesn't seem to handle them in hardware and simply bubbles them up, and then the Flipper firmware will just ignore them and refuse to respond afterwards, this causes the reading operation to fail.

This commit adds a simple handler for such Polling commands so that readers behaving like NFC TagInfo could read the emulated card without failing.

* Only handle cases when System Code is not FFFF

The NFC controller should handle Polling commands with the System Code set to FFFF, so it's not necessary for the firmware to handle it.

* Remove system code logging

* More cleanups

* Remove the claim that we need a poller change

We already have enough information to determine whether or not the card supports NDEF since SYS_OP register value is included in all current Lite-S card dumps.

* Respond to 12FC polling command when needed

* Handle Polling with NDEF and Lite-S Service Code

This allows the reader to specifically select the service by naming the Service Code.

* Introduce API for manual handling of Polling commands

Introduce nfc_felica_listener_timer_anticol_start() and nfc_felica_listener_timer_anticol_stop(). These are for now just wrappers around the block_tx timer that can be used to delay the response until the desired Time Slot. Thanks to the loose timing constraints of FeliCa collision resolution protocol, no compensation seems to be necessary. Also enabled the block_tx timer for FeliCa listener, but with both compensation and fdt set to 0 to keep the original behavior of not using the timer during normal data exchange.

This API is now being used for handling Polling commands that are not handled by the NFC controller on the hardware side.

* Document target_time_slot

* Implement changes suggested by @RebornedBrain

* api: f18 version sync

* nfc: added stubs for `nfc_felica_listener_timer_anticol` for unit tests

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
2025-09-24 14:08:40 +04:00
WillyJL
ad94694fbd CLI: Fix long delay with quick connect/disconnect (#4251)
* CLI: Fix long delay with quick connect/disconnect

noticeable with qflipper, for some reason it sets DTR on/off/on again
so flipper starts CLI, stops it, then starts again
but cli shell is trying to print motd, and pipe is already broken
so each character of motd times out for 100ms
changing pipe timeout to 10ms works too, but is just a workaround

it didnt always happen, i think that variable time of loading ext cmds
made it so on ofw it usually manages to print motd before pipe is broken
on cfw with more ext commands it always hung, on ofw only sometimes

important part is bailing early in cli shell
in cli vcp i made it cleanup cli shell on disconnect so it doesnt stay
around after disconnecting usb, might free a little ram maybe

* cli_shell: possibly more robust fix?

* Fix use after free crash

* cli_shell: waste even less time

Co-Authored-By: WillyJL <me@willyjl.dev>

---------

Co-authored-by: Anna Antonenko <portasynthinca3@gmail.com>
Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-09-24 13:19:18 +04:00
MX
bea8d41c8b Merge remote-tracking branch 'OFW/dev' into dev 2025-09-24 01:38:43 +03:00
WillyJL
8bd66c9920 JS: Expose button event type in gui/widget button callback (#4252)
* JS: Expose button event type in gui/widget button callback --nobuild

* js_sdk: bump major version

* unit_tests: fix js test

* js: fix gui widget demo

---------

Co-authored-by: Anna Antonenko <portasynthinca3@gmail.com>
Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-09-24 02:16:47 +04:00
MX
a0c85ed737 upd changelog 2025-09-24 00:46:35 +03:00
MX
dc8fc9fbe0 Merge remote-tracking branch 'OFW/dev' into dev 2025-09-24 00:45:00 +03:00
MX
d791711b09 Fix FaacSLH 868 add manually crash 2025-09-24 00:44:19 +03:00
Zinong Li
f4138e5999 NFC: MFC 1k Banapass Parser (#4260)
* seems to be working

* faster reading

* clone detection

* linter: fixes

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
2025-09-24 00:47:22 +04:00
WillyJL
7380eacf0e NFC: Fix read crash with unexpectedly large MFC AUTH(0) response (#4265)
This was noticeable with Chameleon Ultra NTAG emulation

Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-09-23 14:43:45 +01:00
Zinong Li
d19ad60c1a GUI Bug Fix: Number Input Save Icon (#4273)
* Update KeySaveBlockedSelected_24x11.png

* assets: formatted images

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
2025-09-23 14:02:45 +01:00
Amy Grace
5932dbe70a Add an old JVC model to universal remotes (#4274)
Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-09-22 22:27:59 +04:00
WillyJL
470f6a679d CLI: Fix crash with unexpected plugin files (#4243) 2025-09-22 22:08:29 +04:00
MX
d45048fc5d upd changelog 2025-09-21 16:46:14 +03:00
MX
2c2228a4b9 merge ofw pr 4271
also thanks WillyJL
link to PR
https://github.com/flipperdevices/flipperzero-firmware/pull/4271/files
2025-09-21 16:45:31 +03:00
MX
3efa40b079 upd changelog 2025-09-10 00:10:55 +03:00
MMX
bbb33c1d75 Merge pull request #920 from WillyJL/fix/linear-again-again
Sub-GHz: Actually fix Linear display for real now
2025-09-10 00:09:50 +03:00
MX
55d2348171 fix mfkey [ci skip] 2025-09-09 22:07:40 +03:00
MX
efc608cf32 upd changelog [ci skip] 2025-09-09 18:59:02 +03:00
MX
19bb5cb0d9 upd subghz remote 2025-09-09 17:22:35 +03:00
MX
b07cb9401f subghz raw protocol fixes
by WillyJL
2025-09-09 16:48:08 +03:00
MX
40c6c8b59c format 2025-09-09 15:34:19 +03:00
MX
ffb8eb7cff upd mfkey 2025-09-09 15:31:43 +03:00
WillyJL
d06d3684e5 Sub-GHz: Actually fix Linear display for real now 2025-09-06 04:41:15 +02:00
MX
c091a58486 fix linear again 2025-08-27 03:42:01 +03:00
MX
8e650f0688 upd changelog 2025-08-27 03:11:01 +03:00
MX
5f7aaf2a04 NFC: Fix read crash with unexpectedly large MFC AUTH(0) response
by WillyJL
https://github.com/flipperdevices/flipperzero-firmware/pull/4265/files
2025-08-27 03:09:52 +03:00
MX
db4a613f6c upd changelog 2025-08-27 02:59:00 +03:00
MMX
c2296902e2 Merge pull request #919 from WillyJL/fix/linear-kostyli
Sub-GHz: Only fix Linear inverted bits in user interface, keep old remotes compatible
2025-08-27 02:57:57 +03:00
WillyJL
828a73bbd1 Sub-GHz: Only fix Linear inverted bits in user interface, keep old remotes compatible 2025-08-26 02:11:36 +02:00
MX
efcaf96d07 upd changelog 2025-08-15 00:55:58 +03:00
MX
f2bfed6bbc Avoid false positives for dickert mahs 2025-08-15 00:40:01 +03:00
MX
eb9b84e0c0 Linear 10bit EZCode remotes support 2025-08-15 00:28:49 +03:00
MX
c610caea9b upd changelog 2025-08-11 21:31:09 +03:00
MX
40e56bc862 subghz add zkteco support, fbt format 2025-08-11 21:30:22 +03:00
MX
46e7912d94 Fix branch&manifest 2025-08-11 21:16:16 +03:00
MX
e8ce86917a upd changelog 2025-08-11 15:45:18 +03:00
MX
801d6ae71c upd subghz remote 2025-08-11 15:44:28 +03:00
MX
27a572d45c upd changelog 2025-08-01 17:26:48 +03:00
MMX
2124edf914 Merge pull request #914 from MrLego8-9/fix/counter-datasize-geninfo-struct
[SubGHz] [Fix] Use the correct size of the counter values in the GenInfo struct
2025-08-01 17:26:16 +03:00
MX
0acb014719 oops fix merge artifact [ci skip] 2025-08-01 17:25:58 +03:00
Louis D
71eafcdd6c fix: use the datasize of the generation functions in the protocols geninfo struct 2025-08-01 14:47:40 +02:00
MX
7c3e874716 upd changelog 2025-08-01 01:08:40 +03:00
MMX
fbb7a879f7 Merge pull request #911 from MrLego8-9/fix/add-manually-advanced-byte-swap
[SubGHz] [Fix] Restore the original byte order of values in the GenData struct
2025-08-01 01:08:03 +03:00
Louis D
4ecfd63759 fix: restore the original byte order in the GenData struct 2025-07-31 22:39:53 +02:00
MX
2c0b7caf55 Better add manually advanced 2025-07-31 00:26:31 +03:00
MX
9ab4fcb256 fmt 2025-07-30 06:03:25 +03:00
MX
979e428ad8 upd changelog 2025-07-30 06:01:45 +03:00
MMX
e69e8fcdf3 Merge pull request #909 from MrLego8-9/feature/subghz-nice-custom-buttons
[SubGHz] Add variant of 'Add Manually' menu with manual editing for each value
2025-07-30 06:01:15 +03:00
MX
7646902fdc JS: Expose button event type in gui/widget button callback
by WillyJL
2025-07-30 05:04:02 +03:00
MX
610fd68b75 RFID: Add additional procotols supported by EM4305 chipset
by jamisonderek
2025-07-30 04:59:05 +03:00
MX
3aa75341d6 NFC: Fix incorrect Saflok year formula
by Eltrick
2025-07-30 04:39:04 +03:00
MX
c189283329 simplify Bad USB BLE profile
by aaronjamt & WillyJL
2025-07-30 04:37:49 +03:00
MX
59a823cbcd BT Remote: Add Rename Option
by aaronjamt & WillyJL
2025-07-30 04:32:54 +03:00
MX
3b7d837e48 fmt 2025-07-30 04:30:01 +03:00
MX
fb41c6c20c Input Settings: Add Vibro Trigger option
by 956MB & WillyJL
2025-07-30 04:28:22 +03:00
MX
6a2f062234 OFW PR. 4251 CLI: Fix long delay with quick connect/disconnect
by WillyJL
2025-07-30 03:43:36 +03:00
Louis D
115734373b feat: add variation of 'Add Manually' menu with manual value selection for all entries 2025-07-24 14:56:00 +02:00
Louis D
e6cc2852fd WIP: add sub-menu for all manual additions 2025-07-22 19:19:40 +02:00
Louis D
8887cbff88 feat: add option for custom button when creating a new Nice Flor-S or Nice One remote 2025-07-17 00:27:23 +02:00
MX
ac6621cdcb upd changelog 2025-07-16 02:38:19 +03:00
MX
3b29bd6508 Roger decoder allow bigger gap and extend buttons functionality 2025-07-12 03:57:14 +03:00
MX
269cbd66e1 A little better naming for display in v2phox 2025-07-09 08:14:31 +03:00
MX
bddebff134 upd changelog 2025-07-09 08:03:03 +03:00
MX
3c3d06bae0 Roger that 2025-07-09 08:02:05 +03:00
MX
1bed4d29cb Nero Radio static - better parsing 2025-07-09 08:01:36 +03:00
MX
30621b2fd7 Update keeloq keys, motorline add manually support, readme spoiler alert
Add keeloq keys:
by @xMasterX & @RocketGod-git
2025-07-09 05:47:38 +03:00
MX
06b29ddc1b upd changelog 2025-07-09 04:59:01 +03:00
MX
8ef9a07608 Subghz V2 Phoenix fully supported now
With big thanks to all contributors
 2022.08 - @Skorpionm
 2025.07 - @xMasterX & @RocketGod-git
2025-07-09 04:54:34 +03:00
MX
74f6ee1e7c badusb fix modifier keys with HOLD/RELEASE commands
by WillyJL
2025-07-07 17:55:14 +03:00
MX
a547c946ab reduce less popular freqs in default hopper preset, make it faster
also add 303 mhz freq to default list
2025-07-07 04:16:58 +03:00
MX
e025c57425 Update marantec24 protocol info 2025-07-06 18:47:12 +03:00
MX
43b35019ed subghz marantec protocol implement crc verification and add manually
fix crc function, add valid/invalid display (does not affect TX) and use new crc sum in add manually menu
2025-07-06 18:43:34 +03:00
MX
6ae1ce6861 upd api symbols 2025-07-06 01:36:26 +03:00
MX
9517104626 Update doorhan programming instructions
by @li0ard
2025-07-05 19:14:48 +03:00
MX
e003a19edc add 868 46 mhz to default freq list 2025-07-05 17:59:27 +03:00
MX
aad07ed943 expansion and serial fixes and new api
by HaxSam & WillyJL
2025-07-05 17:57:30 +03:00
MX
8f203f47d9 comunello add manually support 2025-07-05 17:48:30 +03:00
MX
1448a70393 upd changelog 2025-06-30 21:00:50 +03:00
MX
03676e90b9 Merge branch 'mergingnfctyp4' into dev [ci skip] 2025-06-30 20:49:32 +03:00
MX
c81c136121 merge all nfc app changes
by WillyJL
2025-06-30 20:39:27 +03:00
MX
fa6839d283 nfc lib 2025-06-30 19:53:45 +03:00
MX
1382a6af46 submenu merge all changes
by WillyJL
2025-06-30 19:48:34 +03:00
MX
91a235b395 upd changelog 2025-06-27 21:22:52 +03:00
MX
5ee3f7c68d fix lfrfid write very strange issue with lcd backlight 2025-06-27 21:17:13 +03:00
MX
9cfa400ff4 upd changelog 2025-06-25 02:57:45 +03:00
MX
1b754c1482 Fix possible frequency analyzer deadlock when holding Ok
by WillyJL
2025-06-25 02:57:05 +03:00
MX
0b53be5cbd Add DEZ10
by realcatgirly

https://github.com/Next-Flip/Momentum-Firmware/pull/418/files
2025-06-25 02:50:18 +03:00
MX
98a4477999 upd changelog 2025-06-11 18:10:38 +03:00
MMX
ab5b155d96 Merge pull request #905 from WillyJL/fix/loader-events
Loader: Fix misplaced ApplicationBeforeLoad events
2025-06-11 18:08:49 +03:00
WillyJL
d0e5dbe63e Power: Arm auto-poweroff when app chaining finished 2025-06-11 04:03:17 +01:00
WillyJL
407e482566 Loader: Fix misplaced ApplicationBeforeLoad events 2025-06-11 04:02:42 +01:00
MX
f1f1a89204 fix links [ci skip] 2025-06-02 00:54:30 +03:00
MX
54c3c67728 upd changelog 2025-05-24 19:58:10 +03:00
MX
3aa3098d47 subghz better ignore lists 2025-05-24 19:49:31 +03:00
MX
4c00313157 upd changelog 2025-05-24 00:03:20 +03:00
MMX
09514ae179 Merge pull request #903 from luu176/dev
Fix clipper date timestamp
2025-05-24 00:01:38 +03:00
MX
5365cfcb04 fix links 2025-05-23 22:57:45 +03:00
Luu
ff8c3540eb Fix clipper date timestamp 2025-05-22 19:12:22 +02:00
MX
92ca0cf1a8 upd changelog 2025-05-22 01:14:40 +03:00
MX
350dea6535 show cnt value in phox 2025-05-22 01:09:33 +03:00
MX
5392c6e3f8 Merge remote-tracking branch 'OFW/dev' into dev 2025-05-21 17:34:44 +03:00
MX
b352342434 rename and extend ignore alarms option in subghz 2025-05-21 17:34:37 +03:00
GameLord2011
d1c3b0bc68 Fixed inverted logic condition in subghz chat cli (#4212) 2025-05-21 01:50:47 +04:00
MX
82c7231c57 upd changelog 2025-05-20 03:04:57 +03:00
MMX
fbed9994fb Merge pull request #900 from Dmitry422/dev
display backlight option "always on" and rgb bug removed
2025-05-20 03:03:45 +03:00
Dmitry422
08205f9ff9 RGB backlight bug removed. 2025-05-19 23:43:40 +07:00
Dmitry422
d399d3d7e5 Merge branch 'dev' of https://github.com/Dmitry422/unleashed-firmware into dev 2025-05-19 00:40:04 +07:00
Dmitry422
ee3e7bc3bf RGB vibro control tune + Display backlight always ON option. 2025-05-19 00:37:28 +07:00
MX
04d66f7162 upd changelog 2025-05-16 17:50:24 +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
fdab87795f upd changelog 2025-05-14 18:37:22 +03:00
MMX
0f713bc6e4 Merge pull request #899 from Leptopt1los/tm01x-dallas-write-support
TM01x Dallas write support
2025-05-14 18:36:02 +03:00
Methodius
e538bd7c8e tm01x dallas write support 2025-05-14 16:32:17 +03:00
MX
069d0435b1 upd changelog 2025-05-14 01:55:55 +03:00
MX
e108405fe4 add 462750000 to default subghz freqs 2025-05-14 01:55:18 +03:00
MX
02bc2f0ce7 upd changelog 2025-05-12 01:06:44 +03:00
MX
78e2adbf5c fix desktop anim switch override by favourites 2025-05-12 01:06:13 +03:00
MX
604141cac3 update changelog 2025-05-11 19:44:29 +03:00
MX
c5d077fc7a various fixes
by WillyJL
2025-05-11 19:38:34 +03:00
MX
d5c6933b35 upd readme [ci skip] 2025-05-09 15:29:10 +03:00
MX
341246038a upd changelog 2025-05-09 15:25:11 +03:00
MX
32d104c591 add il100 smart copy cloner support 2025-05-09 15:24:07 +03:00
MX
ee80ea115d upd changelog 2025-05-06 13:14:15 +03:00
MX
6c798a5d4b fix subghz rename scene bug (or hidden feature) 2025-05-06 13:13:16 +03:00
MX
b16bca1b60 upd changelog 2025-05-06 04:13:09 +03:00
MX
fb02568fab tune holtek to decode holtek only and not conflict with came 12bit 2025-05-06 04:11:46 +03:00
MX
760079ee2c better came decoder 2025-05-06 04:11:01 +03:00
MX
5ca63ff1a4 update came atomo docs 2025-05-06 03:38:34 +03:00
MX
e46c5cb650 upd changelog 2025-05-04 21:11:40 +03:00
MX
70a4731874 Remove stupid "!" that broke subghz chat cli ofw pr4212
by GameLord2011
2025-05-04 21:10:49 +03:00
MX
f87102362b upd changelog 2025-05-03 00:30:02 +03:00
MX
1a4d197e38 log level none after update 2025-05-01 00:17:12 +03:00
MX
c1dbfd351e upd changelog 2025-04-29 18:40:27 +03:00
MMX
0321a56ee7 Merge pull request #898 from mishamyte/feature/ul-c-try-auth-with-default-pass
[NFC]: Ultralight C. Attempt of authentication with default key
2025-04-29 18:37:06 +03:00
MX
79450ff3cb upd changelog 2025-04-29 15:51:35 +03:00
MX
5a0c4e6678 ofw pr 4205 fix sample durations when using external CC1101
https://github.com/flipperdevices/flipperzero-firmware/pull/4205/files

by Aerosnail
2025-04-29 15:49:43 +03:00
Mykhailo Shevchuk
c0e169a229 Attempt to auth with default 3DES key 2025-04-29 02:31:41 +03:00
Mykhailo Shevchuk
ef3d17ea4e Extracted TDES auth to separate method 2025-04-29 00:07:54 +03:00
MX
5bba71e2cb upd changelog 2025-04-28 18:41:52 +03:00
MX
ae2b305701 Merge remote-tracking branch 'OFW/porta/3990-js-pwm-stop' into dev 2025-04-28 18:04:23 +03:00
Anna Antonenko
0c7500399e js_gpio: stop pwm on exit 2025-04-28 14:14:20 +04:00
MX
8cbf9a40a7 upd docs [ci skip] 2025-04-27 11:51:05 +03:00
MX
05e21c7158 upd docs [ci skip] 2025-04-24 21:50:03 +03:00
MX
384cd47b1b upd changelog 2025-04-23 03:16:53 +03:00
MMX
f800a94dd5 Merge pull request #896 from Dmitry422/dev
Code cleanup
2025-04-22 10:43:20 +03:00
Dmitry422
925b95007a Code cleanup 2025-04-22 10:23:05 +07:00
MX
9f2b202b7d fix nightshift settings lock bug 2025-04-22 01:22:02 +03:00
MX
e4e8f18a94 upd changelog 2025-04-21 20:03:02 +03:00
MX
c5d8bdf500 add feron protocol [ci skip] 2025-04-21 19:23:51 +03:00
MX
1935165591 move to the last position 2025-04-19 17:31:16 +03:00
MX
a92400b9b6 upd changelog 2025-04-18 20:45:48 +03:00
MX
2e4a838202 Merge remote-tracking branch 'OFW/dev' into dev 2025-04-18 20:45:06 +03:00
Anna Antonenko
5b911f5405 RC fixes (#4192)
* cli_shell: fix FL-3983

* fix formatting and submodules

* loader: fix FL-3986

* fix submodules

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-04-18 16:41:13 +04:00
WillyJL
c420cbb1a5 Desktop: Fix freeze on boot if PIN set (#4193) 2025-04-18 05:52:15 +01:00
MX
3fd059a45f upd changelog and docs 2025-04-18 01:06:10 +03:00
MX
1d4db1ee2c unhide rgb from debug 2025-04-18 00:59:24 +03:00
MX
eee082f103 Merge remote-tracking branch 'OFW/dev' into dev 2025-04-17 00:57:05 +03:00
Anna Antonenko
34a3222ec4 [FL-3979] USB-UART bridge fix (#4189)
* cli_vcp: make enable/disable requests synchronous

* usb_uart_bridge: open and close vcp record once
2025-04-16 04:20:31 +01:00
MX
008c5a8828 upd changelog 2025-04-15 04:38:01 +03:00
MX
5f3d510f34 Merge remote-tracking branch 'OFW/porta/3979-usb-uart-vcp-fix' into dev 2025-04-15 03:05:16 +03:00
Anna Antonenko
086a9185fc usb_uart_bridge: open and close vcp record once 2025-04-15 03:45:37 +04:00
Anna Antonenko
63cfa2d684 cli_vcp: make enable/disable requests synchronous 2025-04-15 03:45:16 +04:00
MX
e8e87c66e3 upd changelog 2025-04-14 00:29:39 +03:00
MMX
04c2b17f47 Merge pull request #893 from Dmitry422/dev
LCD Inversion refactoring
2025-04-14 00:24:40 +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
MX
535afc41f3 fix subghz cli 2025-04-13 00:37:20 +03:00
MX
ab26469a05 upd changelog 2025-04-12 20:15:54 +03:00
MMX
1e1f6b079e Merge pull request #891 from mishamyte/feature/pre-populate-default-ul-keys-to-input
Use default UL/UL-C pwd/key as default value for key input
2025-04-12 19:46:31 +03:00
Mykhailo Shevchuk
d542d7d75f Use default UL/UL-C pwd/key as default value for key input 2025-04-12 19:25:45 +03:00
MX
9a57b19bfb Merge remote-tracking branch 'OFW/dev' into dev [ci skip] 2025-04-12 19:08:58 +03:00
WillyJL
1eb57ba462 FBT: Fix for Python 3.13 (#4187)
Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-04-12 15:35:19 +04:00
hedger
ddf77f58e3 sdk: bump API to force re-upload for the catalog (#4186) 2025-04-12 15:27:58 +04:00
WillyJL
868eb10381 SDK: Fix missing RECORD_CLI define (#4185)
* SDK: Fix missing RECORD_CLI define

* sdk: added compatibility `cli.h` header

* cli: updated porting comments

---------

Co-authored-by: hedger <hedger@nanode.su>
2025-04-12 07:21:39 +04:00
MX
a72c5238fa oops 2025-04-12 03:19:57 +03:00
MX
d5935dc814 fmt 2025-04-12 03:11:35 +03:00
MX
75f5d6fec7 force only default mods 2025-04-12 03:11:03 +03:00
MX
455bb8ab1f upd changelog 2025-04-12 03:07:04 +03:00
MX
ad23d77f0e Merge remote-tracking branch 'OFW/dev' into dev 2025-04-12 03:04:17 +03:00
MX
d67734674e ci fix ? 2025-04-12 03:04:04 +03:00
MX
66a7050221 free up some ram for now, use settings user 2025-04-12 03:03:50 +03:00
Anna Antonenko
e1bccf66b3 Fix NULL dereference in CLI completions (#4184)
* cli_completions: fix null dereference

* cli: mark free_blocks as parallel safe

* codeowners: add me to co-owners of cli
2025-04-11 23:38:28 +01:00
MX
638182a5ff Merge remote-tracking branch 'OFW/porta/cli-deref-fix' into dev 2025-04-12 00:59:58 +03:00
Anna Antonenko
936096d2fc cli_completions: fix null dereference 2025-04-12 01:58:28 +04:00
MX
fe5ed640af Merge remote-tracking branch 'OFW/dev' into dev 2025-04-11 14:34:48 +03:00
Anna Antonenko
096c088bf1 vcp, cli: Handle Tx/Rx events before Connect/Disconnect + extra fixes (#4181)
* cli_vcp: handle tx/rx before connext/disconnect

* cli_vcp: disable trace

* cli_perf: advanced error reporting

* cli_vcp: reset tx flag directly in event handler

* fix formatting

* cli_vcp: make tx flag volatile

* storage_settings: fix scene ids

* cli_shell: add safety check to set_prompt

* cli_registry: move from bptree to dict, fix memory leak

* cli_vcp: go back to message queue for event signaling

* loader: move BeforeLoad event even earlier

* fix formatting
2025-04-11 14:53:10 +04:00
MX
837abd7d51 upd changelog 2025-04-11 03:00:03 +03:00
MX
025fd03a5a Merge remote-tracking branch 'OFW/porta/cli-event-ordering' into dev 2025-04-11 02:59:00 +03:00
Anna Antonenko
1b5a2496f5 fix formatting 2025-04-11 03:23:38 +04:00
Anna Antonenko
3c25c29dec loader: move BeforeLoad event even earlier 2025-04-11 03:21:53 +04:00
MX
98728fe93c fix api to ofw 2025-04-10 21:03:59 +03:00
MX
b4450946a4 upd changelog 2025-04-10 20:01:08 +03:00
MMX
37eae30f06 Merge pull request #890 from Dmitry422/dev
Moving RGB backlight back to Notification service
2025-04-10 19:59:43 +03:00
MX
1135cce5c5 Merge remote-tracking branch 'OFW/porta/cli-event-ordering' into dev 2025-04-10 19:56:39 +03:00
Dmitry422
3c18097025 Moving RGB backlight back to Notification service finished. 2025-04-10 23:44:57 +07:00
Anna Antonenko
c88eaffa66 cli_vcp: go back to message queue for event signaling 2025-04-10 17:52:19 +04:00
Dmitry422
5eacafa16d Start moving RGB backlight back to Notification service 2025-04-10 18:01:47 +07:00
MX
1b8e87ad53 upd changelog 2025-04-10 03:26:01 +03:00
MX
5e7a8cf94f bump desktop setting ver [ci skip] 2025-04-10 03:08:36 +03:00
MMX
e6d1d19a19 Merge pull request #887 from Dmitry422/dev
LCD Color Inversion
2025-04-10 03:07:04 +03:00
MMX
0e723cfa69 Merge pull request #886 from DrEverr/fav-app-ok-long
add support for Favorite App - Ok Long
2025-04-10 03:06:53 +03: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
d467798b43 Merge branch 'DarkFlippers:dev' into dev 2025-04-09 21:17:12 +07:00
MX
7286560c23 upd changelog 2025-04-08 17:52:27 +03:00
MX
d1f9921f83 Merge remote-tracking branch 'OFW/porta/cli-event-ordering' into dev 2025-04-08 17:50:48 +03:00
MX
bdf2c4ce24 more order changes 2025-04-08 17:50:30 +03:00
Anna Antonenko
4140952605 cli_registry: move from bptree to dict, fix memory leak 2025-04-08 18:05:08 +04:00
MX
c77c2d2bb0 fix order 2025-04-08 16:49:08 +03:00
Anna Antonenko
9a6aa17bee cli_shell: add safety check to set_prompt 2025-04-08 16:02:33 +04:00
Dmitry422
7507058870 Start working with LCD color inversion 2025-04-08 18:00:10 +07:00
Anna Antonenko
6b7a7c5709 storage_settings: fix scene ids 2025-04-08 00:25:31 +04:00
Anna Antonenko
e712375edc cli_vcp: make tx flag volatile 2025-04-07 23:59:10 +04:00
Anna Antonenko
c8cf76f75e fix formatting 2025-04-07 23:56:09 +04:00
Anna Antonenko
29b865ed21 cli_vcp: reset tx flag directly in event handler 2025-04-07 23:54:13 +04:00
MX
33fa903f7a fix swapped settings 2025-04-07 22:33:56 +03:00
Anna Antonenko
b39912af11 cli_perf: advanced error reporting 2025-04-07 23:30:39 +04:00
Anna Antonenko
7f45050c87 cli_vcp: disable trace 2025-04-07 20:40:34 +04:00
Anna Antonenko
16e48c8994 cli_vcp: handle tx/rx before connext/disconnect 2025-04-07 20:39:58 +04:00
MX
c4c5148992 upd changelog 2025-04-07 19:34:32 +03:00
MX
b2fadccd3c Merge remote-tracking branch 'OFW/dev' into dev 2025-04-07 19:33:46 +03:00
Pablo Mazzini
5f66425671 SubGhz: added support for 42-bit Prastel variation (#4178)
Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-04-07 20:13:45 +04:00
MX
b90e7ab43c fmt [ci skip] 2025-04-07 18:54:09 +03:00
MX
efcad3a118 ofw pr 4178 [ci skip]
add prastel 42 by pmazzini
2025-04-07 18:53:52 +03:00
MX
cca87e3c0a Merge remote-tracking branch 'OFW/dev' into dev [ci skip] 2025-04-07 18:24:49 +03:00
MX
fa0962efeb integrate mfkey to system apps 2025-04-07 18:24:33 +03:00
Eric Betts
4dd123fd8a BLE: Slightly increase mfg_data size (#4177)
Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-04-07 19:16:42 +04:00
MX
00dde53304 Merge remote-tracking branch 'OFW/dev' into dev 2025-04-07 18:02:16 +03:00
MX
edb327e50a Merge remote-tracking branch 'OFW/dev' into dev 2025-04-07 18:01:37 +03:00
Anna Antonenko
3d02063bce fbt: Deterministic STARTUP order & additional checks (#4179)
* unit_tests: clear startup order

* fam: ensure unique STARTUP order

* fbt: warn on same .order values within a group leading to non-determinitic builds

* fbt: better formatting for app order warning

---------

Co-authored-by: hedger <hedger@nanode.su>
2025-04-07 16:45:09 +04: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
MX
ada8473932 upd changelog 2025-04-07 01:06:14 +03:00
MX
7c44bd1cbe Merge remote-tracking branch 'OFW/dev' into dev 2025-04-07 01:04:52 +03:00
RebornedBrain
f07048d1b0 [FL-3902] NFC app now can launch MFKey32 (#4117)
* feat: app chaining

* add `launch_current_app_after_deferred`, remove `get_referring_application`

* fix naming

* new api

* fix f18

* Added new function which enqueues external app from nfc app

* Added path to MFKey32 app

* Button "Crack nonces in MFKey32" added to ReadMenu scene

* SaveConfirm scene adjusted to move to different scenes depending on state

* SaveSuccess scene now moves to different scenes depending on SaveConfirm scene state

* MfKeyComplete scene shows different text when MFKey.fap present on the device

* Now MfKeyClassic scene can run external app

* fix deferred launches after errors

Co-authored-by: Anna Antonenko <portasynthinca3@gmail.com>
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
Co-authored-by: hedger <hedger@nanode.su>
2025-04-07 01:49:22 +04:00
MX
831e46c052 upd changelog 2025-04-06 06:18:30 +03:00
MX
3745ae2241 merge ofw pr 4136 [ci skip]
BadUSB: Full USB/BLE parameter customization, UI improvements, and more
by Willy-JL
2025-04-06 04:57:58 +03:00
MX
324b8ddb95 oops 2025-04-06 04:44:09 +03:00
MX
1385ea0ea0 some code cleanup
by Willy-JL
2025-04-06 03:00:37 +03:00
MX
a57f9e22b5 fix nfc 2025-04-06 01:57:23 +03:00
MX
c8fc2fa7b3 Merge remote-tracking branch 'OFW/dev' into dev 2025-04-06 01:54:22 +03:00
MX
4f5cba4cd1 Revert "Merge remote-tracking branch 'OFW/gsurkov/vcp_break_support' into dev [ci skip]"
This reverts commit fc25c9fba0, reversing
changes made to 41ae5d8981.
2025-04-05 23:41:23 +03:00
MX
380402a55c revert cli changes before apply of new ones 2025-04-05 23:40:13 +03:00
Anna Antonenko
6b5d006690 [FL-3953] Application chaining (#4105)
* feat: app chaining

* add `launch_current_app_after_deferred`, remove `get_referring_application`

* fix naming

* new api

* fix f18

* fix deferred launches after errors

* fix: memory leak

* Updater: MIN_GAP_PAGES = 0

* loader: loader_get_application_launch_path doc

* loader: fix freeze

* loader: reject mlib, reduce code size

* loader: generic synchronous call, reduce size

* loader: reject furi_string, reduce size

* apps: debug: removed order field from manifests since it is no longer meaningful

---------

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
Co-authored-by: hedger <hedger@nanode.su>
2025-04-05 20:22:05 +04:00
Anna Antonenko
dac1457f0a [FL-3963] Move JS modules to new arg parser (#4139)
* 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

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-04-05 03:17:30 +04:00
Anna Antonenko
7192c9e68b [FL-3965] Separate cli_shell into toolbox (#4175)
* cli_shell: separate into toolbox

* fix: cmd flags

* fix formatting

* cli: increase default stack depth

* cli_shell: fix loader lock logic

* cli: fix command flags

* fix f18

* speaker_debug: fix

* cli_registry: fix docs

* ufbt: rename cli target back

* cli: rename app and record

* cli: fix and simplify help command

* cli_master_shell: fix ext commands

* fix formatting

* cli: rename master to main

* fix formatting

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-04-05 02:58:58 +04:00
Anna Antonenko
6f852e646c docs: badusb arbitrary modkey chains (#4176) 2025-04-03 23:48:09 +01:00
hedger
09c61ecbde cli: fixed free_blocks command (#4174)
* cli: fixed free_blocks command - regression after new heap implementation

* github: updated codeowners
2025-04-03 20:42:40 +01:00
Anna Antonenko
5dcf6b55ef [FL-3928, FL-3929] CLI commands in fals and threads (#4116)
* feat: FuriThread stdin

* ci: fix f18

* feat: stdio callback context

* feat: FuriPipe

* POTENTIALLY EXPLOSIVE pipe welding

* fix: non-explosive welding

* Revert welding

* docs: furi_pipe

* feat: pipe event loop integration

* update f18 sdk

* f18

* docs: make doxygen happy

* fix: event loop not triggering when pipe attached to stdio

* fix: partial stdout in pipe

* allow simultaneous in and out subscription in event loop

* feat: vcp i/o

* feat: cli ansi stuffs and history

* feat: more line editing

* working but slow cli rewrite

* restore previous speed after 4 days of debugging 🥲

* fix: cli_app_should_stop

* fix: cli and event_loop memory leaks

* style: remove commented out code

* ci: fix pvs warnings

* fix: unit tests, event_loop crash

* ci: fix build

* ci: silence pvs warning

* feat: cli gpio

* ci: fix formatting

* Fix memory leak during event loop unsubscription

* Event better memory leak fix

* feat: cli completions

* Merge remote-tracking branch 'origin/dev' into portasynthinca3/3928-cli-threads

* merge fixups

* temporarily exclude speaker_debug app

* pvs and unit tests fixups

* feat: commands in fals

* move commands out of flash, code cleanup

* ci: fix errors

* fix: run commands in buffer when stopping session

* speedup cli file transfer

* fix f18

* separate cli_shell into modules

* fix pvs warning

* fix qflipper refusing to connect

* remove temp debug logs

* remove erroneous conclusion

* Fix memory leak during event loop unsubscription

* Event better memory leak fix

* unit test for the fix

* improve thread stdio callback signatures

* pipe stdout timeout

* update api symbols

* fix f18, formatting

* fix pvs warnings

* increase stack size, hope to fix unit tests

* cli completions

* more key combos

* commands in fals

* move commands out of flash

* ci: fix errors

* speedup cli file transfer

* merge fixups

* fix f18

* cli: revert flag changes

* cli: fix formatting

* cli, fbt: loopback perf benchmark

* thread, event_loop: subscribing to thread flags

* cli: signal internal events using thread flags, improve performance

* fix f18, formatting

* event_loop: fix crash

* storage_cli: increase write_chunk buffer size again

* cli: explanation for order=0

* thread, event_loop: thread flags callback refactor

* cli: increase stack size

* cli: rename cli_app_should_stop -> cli_is_pipe_broken_or_is_etx_next_char

* cli: use plain array instead of mlib for history

* cli: prepend file name to static fns

* cli: fix formatting

* cli_shell: increase stack size

* cli_shell: give up pipe to command thread

* fix formatting

* fix: format

* fix merge

* fix. merge.

* cli_shell: fix detach ordering

* desktop: record_cli -> record_cli_vcp

* cli: fix spelling, reload/remove ext cmds on card mount/unmount

* cli: fix race conditions and formatting

* scripts: wait for CTS to go high before starting flipper

* scripts: better race condition fix

* REVERT THIS: test script race condition fix

* Revert "REVERT THIS: test script race condition fix"

This reverts commit 3b028d29b07212755872c5706c8c6a58be551636.

* REVERT THIS: test script fix

* scripts: sleep?

* cli: updated oplist for CliCommandTree

* Revert "REVERT THIS: test script fix"

This reverts commit e9846318549ce092ef422ff97522ba51916163be.

* cli: mention memory leak in FL ticket

---------

Co-authored-by: Georgii Surkov <georgii.surkov@outlook.com>
Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: hedger <hedger@nanode.su>
2025-04-03 21:39:53 +04:00
Francesco Pompò
fa09a18483 Added Vivax and Sansui under Elitelux section (#4173)
Apparently both the mentioned Elitelux and Vivax models are the same, so they share the same codes. Sansui is a brand that is also associated with them as one of the available Sansui codes is the same as this one. This code might also work for the non-smart version of the Vivax TV, the TV-32LE114T2S2, but it has not been tested.

Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-04-03 17:14:47 +04:00
Anna Antonenko
24fbfd1663 [FL-3956] CLI autocomplete and other sugar (#4115)
* feat: FuriThread stdin

* ci: fix f18

* feat: stdio callback context

* feat: FuriPipe

* POTENTIALLY EXPLOSIVE pipe welding

* fix: non-explosive welding

* Revert welding

* docs: furi_pipe

* feat: pipe event loop integration

* update f18 sdk

* f18

* docs: make doxygen happy

* fix: event loop not triggering when pipe attached to stdio

* fix: partial stdout in pipe

* allow simultaneous in and out subscription in event loop

* feat: vcp i/o

* feat: cli ansi stuffs and history

* feat: more line editing

* working but slow cli rewrite

* restore previous speed after 4 days of debugging 🥲

* fix: cli_app_should_stop

* fix: cli and event_loop memory leaks

* style: remove commented out code

* ci: fix pvs warnings

* fix: unit tests, event_loop crash

* ci: fix build

* ci: silence pvs warning

* feat: cli gpio

* ci: fix formatting

* Fix memory leak during event loop unsubscription

* Event better memory leak fix

* feat: cli completions

* Merge remote-tracking branch 'origin/dev' into portasynthinca3/3928-cli-threads

* merge fixups

* temporarily exclude speaker_debug app

* pvs and unit tests fixups

* feat: commands in fals

* move commands out of flash, code cleanup

* ci: fix errors

* fix: run commands in buffer when stopping session

* speedup cli file transfer

* fix f18

* separate cli_shell into modules

* fix pvs warning

* fix qflipper refusing to connect

* remove temp debug logs

* remove erroneous conclusion

* Fix memory leak during event loop unsubscription

* Event better memory leak fix

* unit test for the fix

* improve thread stdio callback signatures

* pipe stdout timeout

* update api symbols

* fix f18, formatting

* fix pvs warnings

* increase stack size, hope to fix unit tests

* cli completions

* more key combos

* cli: revert flag changes

* cli: fix formatting

* cli, fbt: loopback perf benchmark

* thread, event_loop: subscribing to thread flags

* cli: signal internal events using thread flags, improve performance

* fix f18, formatting

* event_loop: fix crash

* storage_cli: increase write_chunk buffer size again

* cli: explanation for order=0

* thread, event_loop: thread flags callback refactor

* cli: increase stack size

* cli: rename cli_app_should_stop -> cli_is_pipe_broken_or_is_etx_next_char

* cli: use plain array instead of mlib for history

* cli: prepend file name to static fns

* cli: fix formatting

* cli_shell: increase stack size

* fix merge

* fix merge

* cli_shell: fix autocomplete up/down logic

* cli_shell: don't add empty line to history

* cli_shell: fix history recall

* cli_shell: find manually typed command in history

* cli_shell: different up/down completions navigation

* fix formatting

* cli_shell: fix memory leak

* cli_shell: silence pvs warning

* test_pipe: fix race condition

* storage_cli: terminate on pipe broken

---------

Co-authored-by: Georgii Surkov <georgii.surkov@outlook.com>
Co-authored-by: あく <alleteam@gmail.com>
2025-04-03 17:07:47 +04:00
Anna Antonenko
13333edd30 [FL-3954, FL-3955] New CLI architecture (#4111)
* feat: FuriThread stdin

* ci: fix f18

* feat: stdio callback context

* feat: FuriPipe

* POTENTIALLY EXPLOSIVE pipe welding

* fix: non-explosive welding

* Revert welding

* docs: furi_pipe

* feat: pipe event loop integration

* update f18 sdk

* f18

* docs: make doxygen happy

* fix: event loop not triggering when pipe attached to stdio

* fix: partial stdout in pipe

* allow simultaneous in and out subscription in event loop

* feat: vcp i/o

* feat: cli ansi stuffs and history

* feat: more line editing

* working but slow cli rewrite

* restore previous speed after 4 days of debugging 🥲

* fix: cli_app_should_stop

* fix: cli and event_loop memory leaks

* style: remove commented out code

* ci: fix pvs warnings

* fix: unit tests, event_loop crash

* ci: fix build

* ci: silence pvs warning

* feat: cli gpio

* ci: fix formatting

* Fix memory leak during event loop unsubscription

* Event better memory leak fix

* feat: cli completions

* Merge remote-tracking branch 'origin/dev' into portasynthinca3/3928-cli-threads

* merge fixups

* temporarily exclude speaker_debug app

* pvs and unit tests fixups

* feat: commands in fals

* move commands out of flash, code cleanup

* ci: fix errors

* fix: run commands in buffer when stopping session

* speedup cli file transfer

* fix f18

* separate cli_shell into modules

* fix pvs warning

* fix qflipper refusing to connect

* remove temp debug logs

* remove erroneous conclusion

* Fix memory leak during event loop unsubscription

* Event better memory leak fix

* unit test for the fix

* improve thread stdio callback signatures

* pipe stdout timeout

* update api symbols

* fix f18, formatting

* fix pvs warnings

* increase stack size, hope to fix unit tests

* cli: revert flag changes

* cli: fix formatting

* cli, fbt: loopback perf benchmark

* thread, event_loop: subscribing to thread flags

* cli: signal internal events using thread flags, improve performance

* fix f18, formatting

* event_loop: fix crash

* storage_cli: increase write_chunk buffer size again

* cli: explanation for order=0

* thread, event_loop: thread flags callback refactor

* cli: increase stack size

* cli: rename cli_app_should_stop -> cli_is_pipe_broken_or_is_etx_next_char

* cli: use plain array instead of mlib for history

* cli: prepend file name to static fns

* cli: fix formatting

* cli_shell: increase stack size

* cli: fix rpc lockup

* cli: better lockup fix

* cli: fix f18

* fix merge

---------

Co-authored-by: Georgii Surkov <georgii.surkov@outlook.com>
Co-authored-by: あく <alleteam@gmail.com>
2025-04-02 22:10:10 +04:00
MX
c9201a3bde Merge remote-tracking branch 'OFW/dev' into dev 2025-04-01 22:55:16 +03:00
Eric Betts
5786066512 BLE advertising improvements (#4151)
* Support longer advertised BLE UUID

* BLE: support manufacturer data

* Don't pair when GapPairingNone

* Add PR feedback

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-04-01 22:37:40 +04:00
DrEverr
d08d38f3b2 fix 2025-04-01 18:48:14 +02:00
DrEverr
f783e0b3ab add support for Favorite App Ok Long 2025-04-01 18:39:42 +02:00
WillyJL
bd1e395b08 Docs: Fix doxygen references from PR 4168 (#4169)
* Docs: Fix doxygen references from PR 4168

* Update JS GUI adapter table

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-04-01 20:16:14 +04:00
Anna Antonenko
0103b8c7c5 [FL-3961] New JS value destructuring (#4135)
* 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

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-04-01 18:50:08 +04:00
MX
74e10f5854 Merge remote-tracking branch 'OFW/dev' into dev 2025-04-01 16:16:07 +03:00
WillyJL
d34ff3310d JS: Update and fix docs, fix Number.toString() with decimals (#4168)
* Update and fix JS docs

This could really use some automation, atleast for API reference
There are TypeScript definitions and typedocs, we don't need to be monkeys copying and reformatting this to API reference by hand

* Fix bugged character

* JS: Fix Number.toString() with decimals

* Fix

* Forgot this one

* docs: mention per-view child format

* Added @portasynthinca3 to docs' codeowners

* Updated CODEOWNERS

---------

Co-authored-by: Anna Antonenko <portasynthinca3@gmail.com>
Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-04-01 15:02:12 +04:00
Anna Antonenko
933134ed94 [FL-3962] BadUSB arbitrary key combinations (#4156)
* badusb: arbitrary modifier key combinations

* badusb: format code

* badusb: add const

* Revert "badusb: add const"

This reverts commit 6ae909fd5d3a5b614712fc92fadda98a6ced2893.

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-04-01 14:35:11 +04:00
MX
d6f9d7e994 upd changelog 2025-04-01 00:18:09 +03:00
MX
518878ce43 Merge remote-tracking branch 'OFW/dev' into dev 2025-04-01 00:15:59 +03:00
WillyJL
0eb3fc33dd NFC: Fix NDEF parser for MIFARE Classic (#4153)
* Add div() to API

* Revert "Add div() to API"

This reverts commit e03b5c42449365735ce3d2fc73a4e801c4d5f91f.

* Use / and %

* NFC: More MFC NDEF fixes

* Simplify duplicated code in MFC data generator

* NFC: Print NDEF hex data with pretty format

* NFC: Consider NDEF strings with last \0 byte as text

* Pretty Format: Add padding to last line to keep table width

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-04-01 00:34:54 +04:00
MX
48ef579ee6 Merge remote-tracking branch 'OFW/dev' into dev 2025-03-31 22:04:08 +03:00
Yukai Li
f6916fe616 Fix DWARF dead code elimination and linking (#4144)
Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-03-31 22:32:58 +04:00
Konstantin Volkov
a0645bc6f4 HID Ble: increased stack and improvements (#4149)
* increased hid remote stack, increased swipe speed, added enterprise sleep

* decreased extra stack by 256b

* app: remote: bumped version and increased stack sizes

---------

Co-authored-by: doomwastaken <k.volkov@flipperdevices.com>
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
2025-03-31 21:33:17 +04:00
WillyJL
8871df863b NFC: Support DESFire Transaction MAC file type (#4159)
* NFC: Support DESFire Transaction MAC file type

* Fix typo

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-03-31 21:22:16 +04:00
WillyJL
17759a9e4b NFC: Fix crash on ISO15693-3 save when memory is empty or cannot be read (#4165)
* NFC: Possibly fix ISO15693-3 save crash with no data

* Also prevent malloc(0) if block size or count is 0

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-03-31 20:59:12 +04:00
WillyJL
6962e9ce34 Infrared: Fix universals sending (#4132)
Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-03-31 20:52:15 +04:00
hedger
5fcaef25b0 Stricter constness for const data (#4126)
* libs: stricter constness for saving RAM with .rodata section; fbt: sdk: fixed signature generation for nested const params

* hal: additional fixes for constness in USB subsystem

* debug apps: additional usb-related fixes

* mjs: more consts for token parser

* fatfs: const driver struct

* hal: more consts for ble & nfc vars

* hal: made FuriHalSpiBusHandle static

* hal: made FuriHalI2cBusHandle static

* usb: restored previous api

* linter fixes

* API fixes
2025-03-31 19:23:32 +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
Konstantin Volkov
cf63b38ce0 [FL-3972]: Added Doom animation (#4164)
* added new doom animation, updated manifests, re-enabled some animations

* added doom animation to manifest

* reverted manifest to original, new animation added

* fixed metadata and images

* removed old holiday animation

---------

Co-authored-by: doomwastaken <k.volkov@flipperdevices.com>
Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-03-31 18:36:17 +04:00
Evgeny E
bcbf78a45d github: support bound and symlinked devices (#4163)
* Fix unaccessible flipper for binded access points

workaround to work with symlinked devices

* Fix return None if Flipper not started

* exception handling

* decreased timeouts

* Check environment variables for flipper path
2025-03-31 17:20:25 +04:00
MX
9384dedb88 Merge remote-tracking branch 'OFW/dev' into dev 2025-03-31 15:03:59 +03:00
Anna Antonenko
79bb24406e Reduced ieee754 parser size (#4154)
Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-03-31 08:24:27 +04:00
MX
7f135dae03 little checks for timers 2025-03-28 14:47:33 +03:00
MX
d267665310 upd changelog 2025-03-28 14:39:58 +03:00
MX
dd009e38df Merge remote-tracking branch 'OFW/doom/3972-add-doom-animation' into dev 2025-03-28 14:39:47 +03:00
doomwastaken
0563697eab fixed metadata and images 2025-03-28 14:32:47 +03:00
MX
2828ffb0f4 add nfc apdu cli command back [ci skip]
by leommxj in OFW PR 4133
2025-03-28 14:18:34 +03:00
doomwastaken
1c080ecc63 reverted manifest to original, new animation added 2025-03-28 14:15:36 +03:00
MX
dd3a3a02c9 NFC: Support DESFire Transaction MAC file type [ci skip]
by Willy-JL in OFW PR 4159
2025-03-28 14:13:31 +03:00
doomwastaken
bfe9f20650 added doom animation to manifest 2025-03-28 14:11:22 +03:00
MX
6cc4976568 NFC: Fix NDEF parser for MIFARE Classic [ci skip]
by Willy-JL in OFW PR 4153
2025-03-28 14:10:16 +03:00
doomwastaken
0c5cab9f1a added new doom animation, updated manifests, re-enabled some animations 2025-03-28 14:09:32 +03: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
17db4dcdac upd changelog 2025-03-28 14:03:10 +03:00
MX
82489cf8eb fmt 2025-03-28 14:02:12 +03:00
MX
3e9bb38cd7 just in case 2025-03-28 14:01:54 +03:00
MX
02aa4041a6 Merge remote-tracking branch 'OFW/dev' into dev 2025-03-28 13:58:59 +03:00
MMX
a9aac8a1a9 Merge pull request #885 from Dmitry422/dev
Night Shift Feature (dimming backlight in selected time interval)
2025-03-28 13:58:07 +03:00
Dmitry422
31b7c4a34f Night shift done. 2025-03-28 13:48:32 +07:00
Dmitry422
cd28f7d232 current working, need find and remove 1 bug 2025-03-28 01:14:57 +07:00
knrn64
54adc38b3a Documentation: new doc on Storage module and JS cleanup (#4161)
- Add new doc on Storage module
- Improve formatting in the JS section for better readability
2025-03-26 18:29:26 +04:00
Dmitry422
77865586e1 Start working with "Night Shift" option 2025-03-26 18:51:36 +07:00
Dmitry422
c86b6e4b56 Bump settings for new auto recreation after update 2025-03-26 10:43:45 +07:00
Dmitry422
a9288da9ba RGB backlight bags and code cleanup 2025-03-26 08:11:52 +07:00
Dmitry422
8df48988f5 Revert "Small rgb_backlight settings menu changes"
This reverts commit ca2765a3fb.
2025-03-25 22:34:03 +07:00
Dmitry422
ca2765a3fb Small rgb_backlight settings menu changes 2025-03-25 18:23:18 +07:00
Dmitry422
23d2bed66a Remove Rainbow timer bug (after last code cleanup) 2025-03-25 15:52:38 +07:00
MX
b792e094fb bump version 2025-03-24 05:08:29 +03:00
MX
e196999b4a upd changelog 2025-03-24 03:36:26 +03:00
MX
4d19ffb31c Merge remote-tracking branch 'OFW/dev' into dev 2025-03-24 03:34:09 +03:00
MMX
472f7e76f3 Merge pull request #881 from Dmitry422/dev
RGB BACKLIGHT refactoring.
2025-03-24 03:32:56 +03:00
Dmitry422
f52c9855d6 Cosmetic code changes and removing unused parts. 2025-03-23 19:36:38 +07:00
Dmitry422
dc7e96d185 Code cleanup 2025-03-21 06:33:27 +07:00
Dmitry422
f751b28532 Reboot screen color cosmetic changes. 2025-03-19 19:18:19 +07:00
Dmitry422
5eb38b786b RGB BACKLIGHT refactoring finished.
- rgb_backlight by @Quen0n
- rgb_backlight_settings and effects (like rainbow) idea by @Willy-JL

For access to rgb backlight settings enable Debug mode and go to Settings-LCD and Notification-RGB backlight
2025-03-19 18:53:02 +07:00
Dmitry422
a629118aaa Rainbow mode in progress 2025-03-19 00:46:00 +07:00
Ruslan Nadyrshin
02dedd60f3 Add guides on Getting Started with JS (#4150)
- Get started section added to the JS docs
- Small fixes in the JS modules docs
2025-03-19 02:08:23 +10:00
Dmitry422
a4d0c467f9 End of static colors settings, next rainbow 2025-03-18 18:41:50 +07:00
Dmitry422
c66b332a7d refactor rgb_backlight 2025-03-17 23:56:39 +07:00
Dmitry422
05423d5cb3 Start rgb backlight settings refactoring and adding new options; 2025-03-16 22:42:22 +07:00
MX
b48e00928a remove overkill service 2025-03-16 05:24:20 +03:00
MX
edd75a9b01 init rgb only once on boot if mod is not present
testing required!!!
2025-03-16 04:21:02 +03:00
MX
94b369657d upd changelog and add fix 2025-03-15 09:32:19 +03:00
MX
c04ce78fcd fix messages [ci skip] 2025-03-15 09:02:21 +03:00
MX
16b8ec5a9c upd changelog 2025-03-15 08:37:37 +03:00
MX
21e2e9c148 fmt and return settings to original value [ci skip] 2025-03-15 08:14:00 +03:00
MX
7f1c8684c6 remove build [ci skip] 2025-03-15 08:10:25 +03:00
MMX
b5fd8953f9 Merge pull request #877 from Dmitry422/dev
Сombining rgb_backlight (by @quen0n) and original_backlight in one firmware
2025-03-15 07:59:51 +03:00
MX
9da510389a small fixes 2025-03-15 07:58:51 +03:00
MX
8ca3581fb0 subghz bugfixes and experimental options 2025-03-15 07:23:23 +03:00
MX
ab8ea27200 Merge remote-tracking branch 'OFW/doom/hid_fap_fixes' into dev 2025-03-15 03:12:34 +03:00
MX
ed1f4000e6 Merge remote-tracking branch 'OFW/dev' into dev 2025-03-15 03:11:19 +03:00
doomwastaken
61a54a1b06 decreased extra stack by 256b 2025-03-14 20:25:38 +03:00
doomwastaken
b2185594f2 increased hid remote stack, increased swipe speed, added enterprise sleep 2025-03-14 20:19:24 +03:00
Dmitry422
cf63e9c036 Restore Input_vibro_touch compability with rgb_backlight.
rgb_backlight driver litle bit improvements
2025-03-14 18:40:19 +07:00
Dmitry422
9b3d737693 Moving RGB Backlight setings and effect to rgb service finished. 2025-03-14 02:18:14 +07:00
Dmitry422
c9313c6f52 still fucking )) 2025-03-13 18:06:39 +07:00
Dmitry422
e589cf7246 Still working 2025-03-13 00:42:03 +07:00
Evgeny E
9a8dcc340f fix: flipper detected before it was rebooted (#4146) 2025-03-12 13:25:37 +00:00
Dmitry422
7a19c9e549 Still in progress 2025-03-12 18:15:38 +07:00
Dmitry422
4045628ac6 Working on moving RGB routines from Notification to RGB service 2025-03-12 02:19:17 +07:00
Dmitry422
9e6593c09e Start moving RGB MOD from Notification to RGB MOD service. 2025-03-11 18:54:12 +07:00
Dmitry422
687a6fd630 User Interface bug removed. 2025-03-11 15:11:01 +07:00
Dmitry422
b5bfe7085d Merge branch 'DarkFlippers:dev' into dev 2025-03-11 10:12:30 +07:00
Dmitry422
82d3f452cd Code cosmetic changes. 2025-03-10 21:02:37 +07:00
Dmitry422
5e6c238389 RGB mod rainbow effect done. 2025-03-10 20:51:09 +07:00
MX
8fd5a26e3e Merge remote-tracking branch 'OFW/dev' into dev [ci skip] 2025-03-06 22:13:35 +03:00
Dmitry422
bf50f0cd20 Cosmetic changes. 2025-03-05 22:47:28 +07:00
WillyJL
cef20b3a5e JS: Fix gui.js stopwatch example borders (#4131) 2025-03-05 18:11:51 +04:00
Dmitry422
82fd6b2130 RGB Rainbow still in development. 2025-03-04 23:34:11 +07:00
Dmitry422
7ac1452618 Start working on RGB mod Rainbow effect (inspired by Willy-JL idea). 2025-03-04 22:13:59 +07:00
Dmitry422
08304ccff5 Small usability changes 2025-03-01 23:58:07 +07:00
Dmitry422
bb170140e2 Сombining rgb_backlight and original_backlight finished.
- RGB Colors settings available only when Settings-Notification-RGB_MOD_Installed swithed ON
- RGB_MOD_Installed switch (ON|OFF) available in Notification only with Debug mode swithed ON.
2025-03-01 22:55:25 +07:00
Dmitry422
3c7d9e63fb Start working on combining rgb_backlight and original_backlight. 2025-02-28 23:14:18 +07:00
MX
be4b049417 Merge remote-tracking branch 'OFW/dev' into dev 2025-02-27 00:59:17 +03:00
Tyler Crumpton
0d99e54a17 Fix PWM-supported logic on pwmStop() (#4129) 2025-02-26 19:34:54 +04:00
MX
edd42d34c6 upd changelog 2025-02-25 02:58:14 +03:00
MX
248666be2b fix 2025-02-25 02:13:44 +03:00
MX
ec593e660c Merge remote-tracking branch 'OFW/astra/3934-alarm-improvements' into dev 2025-02-25 02:06:05 +03:00
Evgeny E
0d53cb2c48 test: fix timeout for flashing step (#4127) 2025-02-24 22:00:51 +00:00
Aleksandr Kutuzov
00e64e8679 Merge remote-tracking branch 'origin/dev' into astra/3934-alarm-improvements 2025-02-25 06:18:42 +09:00
MX
0a924974c0 Merge remote-tracking branch 'OFW/dev' into dev 2025-02-25 00:08:57 +03:00
Zinong Li
145184f0f2 NFC: FeliCa Protocol Expose Read Block API and Allow Specifying Service (#4074)
* add one parameter to the rdbl and expose
* Bump api version and format sources

Co-authored-by: あく <alleteam@gmail.com>
2025-02-25 06:07:45 +09:00
MX
d783204d20 upd changelog 2025-02-25 00:02:23 +03:00
MX
fec1ecedc7 Merge remote-tracking branch 'OFW/dev' into dev 2025-02-24 23:48:34 +03:00
Zinong Li
9f5e93bed8 LFRFID: Fix Detection Conflict Between Securakey and Noralsy Format (#4125)
* Securakey added parity check
* Format Sources

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2025-02-25 04:59:05 +09:00
MX
8505aab0c3 upd changelog 2025-02-24 21:41:04 +03:00
MX
5b2582930f classic poller fix early key reuse in dictionary attack state machine
by noproto
2025-02-24 21:40:21 +03:00
MX
fc96bf2a2e upd changelog 2025-02-24 21:21:19 +03:00
MX
b38d239eb8 Merge remote-tracking branch 'OFW/hedger/more-constness' into dev [ci skip] 2025-02-24 21:18:11 +03:00
MX
248341ac0a merge ofw pr 4125
by zinongli
2025-02-24 20:57:43 +03:00
MX
9fe149960e upd changelog 2025-02-24 11:14:43 +03:00
MX
6579b4195e add manually 2025-02-24 11:12:45 +03:00
MX
326eff734d fmt 2025-02-24 10:59:03 +03:00
MX
dd2388e40d discard wrong hollarms if bytesum is invalid 2025-02-24 10:57:27 +03:00
MX
0e8a0228be add revers rb2 subghz protocol 2025-02-24 10:56:57 +03:00
MX
c71ea3aee4 upd changelog 2025-02-23 19:14:13 +03:00
MX
9f4b1aead7 Merge remote-tracking branch 'OFW/dev' into dev [ci skip] 2025-02-23 18:35:22 +03:00
hedger
acc90d0ac3 linter fixes 2025-02-22 20:43:11 +00:00
hedger
15a5e652e0 usb: restored previous api 2025-02-22 20:40:52 +00:00
hedger
6c17b785ec hal: made FuriHalI2cBusHandle static 2025-02-22 19:23:30 +00:00
hedger
251565e9d3 hal: made FuriHalSpiBusHandle static 2025-02-22 19:12:12 +00:00
hedger
d7221f1b0d hal: more consts for ble & nfc vars 2025-02-22 18:39:52 +00:00
hedger
bf84daf0d9 fatfs: const driver struct 2025-02-22 18:28:37 +00:00
hedger
7d000abfc4 mjs: more consts for token parser 2025-02-22 18:15:37 +00:00
hedger
5d7b63b162 debug apps: additional usb-related fixes 2025-02-22 16:35:22 +00:00
hedger
b99f65dd9a hal: additional fixes for constness in USB subsystem 2025-02-22 16:32:24 +00:00
hedger
b0835220ac libs: stricter constness for saving RAM with .rodata section; fbt: sdk: fixed signature generation for nested const params 2025-02-22 16:05:56 +00:00
Anna Antonenko
ef024e8086 [FL-3958] Stdio API improvements (#4110)
* improve thread stdio callback signatures
* pipe stdout timeout
* update api symbols

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2025-02-22 08:11:27 +09:00
MX
4c47b9baed upd changelog 2025-02-21 20:57:55 +03:00
MMX
91bcff606b Merge pull request #872 from m-xim/dev
Update README: fix
2025-02-21 20:56:48 +03:00
m-xim
d8b32d74ab docs: delete duplicate Keeloq manufacturers 2025-02-21 16:07:16 +03:00
m-xim
92818a07a2 docs: remove link underline from badges 2025-02-21 13:06:21 +03:00
MX
1292742538 upd missing parts [ci skip] 2025-02-21 06:41:25 +03:00
MMX
e70ee30f6e Merge pull request #871 from m-xim/dev
README Update: Enhanced Visuals & Navigation
2025-02-21 06:24:58 +03:00
MMX
c4c2fe7e1e Merge pull request #865 from mi-lrn/patch-1
Update FAQ.md
2025-02-21 06:24:46 +03:00
m-xim
8b8d9c9d94 Merge branch 'DarkFlippers:dev' into dev 2025-02-21 05:53:01 +03:00
m-xim
cf73481310 docs: sort manufacturers list alphabetically and distribute in table columns 2025-02-21 05:52:17 +03:00
MX
476e8f22d0 upd changelog 2025-02-21 05:25:44 +03:00
m-xim
5ac9ff3256 Merge branch 'DarkFlippers:dev' into dev 2025-02-21 05:24:05 +03:00
m-xim
0214e176c2 docs: rearrange badges layout and remove link underline from badges 2025-02-21 05:22:25 +03: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
m-xim
f94800b220 docs: add icons 2025-02-21 04:39:30 +03:00
MX
13dd10182e Merge remote-tracking branch 'OFW/dev' into dev 2025-02-21 04:11:41 +03:00
Anna Antonenko
16d18a79a9 [FL-3900] Update heap implementation (#4123)
* furi: update heap4 to latest
* debug: heap under/overflow testing app
* fix formatting
* silence pvs warnings
* Linker: symbols without type
* Infrared: fix crash in universal remotes on long back press
* Infrared: properly fix incorrect input handling behavior and crash in universal remote. Fix same issue in hid_app.
* FreeRTOSConfig: explicit cast to uint in configTOTAL_HEAP_SIZE
* Format sources
* C and C++ compatible version of stm32wb55_linker.h

Co-authored-by: あく <alleteam@gmail.com>
2025-02-21 10:04:02 +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
Anna Antonenko
7c5c5d4749 [FL-3734] UART framing mode selection (#4121)
* HAL: feat: uart framing
* JS: feat: uart framing
* fix formatting
* fix pvs warning
* HAL: flash impact reduction attempt 1
* HAL: flash impact reduction attempt 2
* fix compile error
* HAL: finalize flash impact reduction
* HAL: remove user-facing magic numbers

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2025-02-21 04:54:38 +09:00
Nathan Perry
290a6dc1eb gpio: clear irq status before calling user handler (#4118)
* gpio: clear irq status before calling user handler
* Format sources

Co-authored-by: あく <alleteam@gmail.com>
2025-02-21 03:42:31 +09:00
MX
aef8a97ab4 Merge remote-tracking branch 'OFW/dev' into dev 2025-02-20 18:40:54 +03:00
m-xim
f0b20efbc9 docs: remove redundant <br/> tags 2025-02-20 18:02:49 +03:00
m-xim
56853161e2 docs: update README with modernized design and enhanced navigation
- Updated header image
- Added emojis to headings for visual variety
- Introduced collapsible sections (details) for a more compact layout
- Included links to community channels (Telegram)
- Restructured document for improved readability
2025-02-20 17:46:32 +03:00
Astra
2817666eb9 [FL-3774] Fix 5V on GPIO (#4103)
* Move OTG controls to the power service
* Accessor: add missing power service import
* Power: add is_otg_enabled to info and properly handle OTG enable with VBUS voltage present
* Power: method naming
* Power: add backward compatibility with old-style use of furi_hal_power
* Scripts: lower MIN_GAP_PAGES to 1
* SubGhz: fix incorrect logging tag
* SubGhz: delegate OTG management to power service
* Power: fix condition race, various improvements

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2025-02-20 12:37:52 +09:00
MX
d7df3f38b7 upd changelog 2025-02-20 06:04:35 +03:00
MX
536ebe3efc came atomo button hold simulation half cycle 2025-02-20 06:03:30 +03:00
MX
f37044de18 upd changelog 2025-02-20 05:33:44 +03:00
MX
9378a6f5c4 fix text pos 2025-02-20 05:29:38 +03:00
MX
9ff141acbb fix infrared 2025-02-20 05:28:44 +03:00
MX
fa2af5a826 fix naming 2025-02-20 04:41:02 +03:00
MX
cd94db3b91 FIX GANG QI 2025-02-20 04:39:28 +03:00
MX
1e3100e26e Merge remote-tracking branch 'OFW/dev' into dev 2025-02-20 04:22:42 +03:00
Justin Nesselrotte
3698fc8d02 Fixed repeat in subghz tx_from_file command (#4099)
* Fixed repeat in subghz tx_from_file command
* Fix PVS warnings

Co-authored-by: あく <alleteam@gmail.com>
2025-02-20 10:10:41 +09:00
Zinong Li
04fa7a9a7f LFRFID: Noralsy Format/Brand (#4090)
* beta version
* Working. No parsing yet. No checksum yet.
* T5 config caveat
* parsings

Co-authored-by: あく <alleteam@gmail.com>
2025-02-20 09:36:39 +09:00
Eric Betts
77445fd2f5 Faster di card reading (#4087)
Co-authored-by: あく <alleteam@gmail.com>
2025-02-20 09:22:01 +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
hedger
93b0277938 vscode: disabled auto-update for clangd since correct version is in the toolchain (#4122)
Co-authored-by: あく <alleteam@gmail.com>
2025-02-20 08:32:20 +09:00
Ryan Peel
1541c36b14 BadUSB: Mouse control (#4004)
* add usb hid mouse functions, add mouse functions to BadUsbHidApi
* add ble mouse functionality
* add hid_usb_mouse_release_all
* ducky mouse command skeleton
* implement mouse click functions
* corrected missing semicolon
* added mouse functionality
* corrected mouse scroll functionality
* mouse key functionality, removed mouse commands, supporting get_mouse_keycode function, added mouse buttons as Keys for HOLD function
* add mouse commands
* removed mouse middle click
* Format sources and fix bunch of mistakes in nfc and subghz
* added HID_MOUSE_NONE: added to help with better readability
* added script for mouse movement test
* Fix: hold and release, imrpove readability
* simplified the mouse demo/test
* Format sources

Co-authored-by: あく <alleteam@gmail.com>
2025-02-20 08:24:34 +09:00
MX
ca527a0183 upd changelog 2025-02-18 00:51:19 +03:00
MX
0849aec661 Merge remote-tracking branch 'OFW/dev' into dev 2025-02-18 00:50:48 +03:00
あく
3a42bf812d Furi, USB, BLE, Debug: various bug fixes and improvements (#4114)
* Furi, USB, BLE: extra stack space for some threads, small code cleanup.

* Furi: thread watermark check on exit, explicitly crash if built with LIB_DEBUG=1

* Debug: color logging in apps/furi gdb helper, check and show crash message in gdb console.
2025-02-17 22:16:14 +04:00
MX
17417a487a upd changelog 2025-02-17 20:16:26 +03:00
MX
2ff9e34082 Merge remote-tracking branch 'OFW/dev' into dev 2025-02-17 20:15:26 +03:00
Anna Antonenko
4895ae5d0d [FL-3957] EventLoop unsubscribe fix (#4109)
* Fix memory leak during event loop unsubscription
* Event better memory leak fix
* unit test for the fix

Co-authored-by: Georgii Surkov <georgii.surkov@outlook.com>
2025-02-17 06:57:23 +09:00
MX
9f1eca2260 upd readme [ci skip]
badge counters are broken
2025-02-16 20:49:54 +03:00
MX
96dc1af1e8 upd changelog 2025-02-13 20:27:31 +03:00
MX
7e1dae67a3 remove from api [ci skip] 2025-02-13 20:24:24 +03:00
MX
dea16b7055 add missing api [ci skip] 2025-02-13 20:20:25 +03:00
MX
d4830270a4 fix 2025-02-13 20:14:59 +03:00
MX
95483fb56f add findmy to system apps [ci skip]
autoload by Willy-JL
2025-02-13 20:12:23 +03:00
MX
85cba9fd8d Merge remote-tracking branch 'OFW/dev' into dev 2025-02-13 19:58:15 +03:00
Demae
429c0dd387 Added naming for DESFire cards + fix MF3ICD40 cards unable to be read (#4058)
* Fixed MF3ICD40 DESFire cards soft-locking NFC application due to read free memory being an unsupported function, added naming for DESFire cards
* NFC: slightly more granular desfire card type resolution

Co-authored-by: あく <alleteam@gmail.com>
2025-02-13 19:49:53 +09:00
Yukai Li
59fe896ce8 nfc: Enable MFUL sync poller to be provided with passwords (#4050)
* nfc: Enable MFUL sync poller to be provided with passwords
* Sync targret api versions

Co-authored-by: あく <alleteam@gmail.com>
2025-02-13 19:31:56 +09:00
RebornedBrain
de85cc7a8e ST25TB poller mode check (#4084)
Co-authored-by: あく <alleteam@gmail.com>
2025-02-13 19:07:03 +09:00
Anna Antonenko
e27f82f041 [FL-3925, FL-3942, FL-3944] JS features & bugfixes (SDK 0.2) (#4075)
* feat: JS GPIO PWM, JS GUI Widget view; fix: JS EvtLoop stop on request, JS EvtLoop stop on error
* fix: f18 build
* docs: widget
* fix: js unit test
* change feature naming

Co-authored-by: あく <alleteam@gmail.com>
2025-02-13 17:50:38 +09:00
MX
45529e76e9 fix 2025-02-13 04:13:00 +03:00
MX
9042294837 upd changelog 2025-02-13 04:06:39 +03:00
MX
36327877ba move seasonal anims to temp folder
todo: make automatic selection???
2025-02-13 04:04:36 +03:00
MX
f5c59e0f91 upd changelog 2025-02-13 03:59:41 +03:00
MMX
9d9a46f49f Merge pull request #867 from Dmitry422/dev
Additional options for Input and Power service
2025-02-13 03:58:03 +03:00
MX
d57e2c9ef7 fmt 2025-02-13 03:56:22 +03:00
MX
e22669da96 fixes and corrections 2025-02-13 03:56:04 +03:00
MX
00f332eaf1 Merge branch 'dev' into dmitry_dev 2025-02-13 03:44:00 +03:00
MX
18e2d8d2f4 upd changelog 2025-02-13 03:33:49 +03:00
MX
2919105bdb Merge remote-tracking branch 'OFW/dev' into dev [ci skip] 2025-02-13 01:01:02 +03:00
あく
ac1b723436 Infrared: increase max carrier limit (#4070)
Co-authored-by: Georgii Surkov <37121527+gsurkov@users.noreply.github.com>
2025-02-13 03:53:14 +09:00
Astra
00f287e297 [FL-2754, FL-3945] EM4305 support (#4069)
* Initial EM4305 write support
* Support for writing EM4100 data to EM4305 blank tags
* F18 API version bump
* Satisfy pvs
* Lib: cleanup em4305 code
* Mask size fix
* Electra
* Fix leftovers from a previous implementation
* Viking
* Gallagher
* LFRFID: cleanup em4305

Co-authored-by: あく <alleteam@gmail.com>
2025-02-13 03:04:24 +09:00
MX
f25224d79d Merge remote-tracking branch 'OFW/dev' into dev 2025-02-11 22:36:46 +03:00
David Coles
8059959624 Ensure that furi_record_create is passed a non-NULL data pointer (#4078)
* Ensure that `furi_record_create` is passed a non-NULL data pointer
  It's currently possible to use `furi_record_create` to create and initialize a `FuriRecordData` pointing to NULL.
  This means its potentially possible for `furi_record_open` to return a NULL pointer which besides not being particularly useful means the Rust wrapper for `Record` can't assume that the returned record is always a non-NULL value.
  If by chance this is the intended behaviour, then we can just have the Rust wrapper do a `furi_check` itself, but it seems like it would be better to eliminate this potential corner-case at the source.
* Furi: update furi_record_create documentation

Co-authored-by: あく <alleteam@gmail.com>
2025-02-12 01:01:12 +09:00
jay candel
a2b81e4e37 Infrared: Update TV universal (#4080)
* Update tv.ir
* Infrared: cleanup tv.ir merge artifacts

Co-authored-by: あく <alleteam@gmail.com>
2025-02-11 23:54:11 +09:00
A0i
f05302813a Add new AC for Fujitsu ASTG12LVCC (#4095)
* Add new AC for Fujitsu ASTG12LVCC
* Updated timeout settings in GitHub Actions workflow
* Revert CI changes

Co-authored-by: Banana Blue <bananablue@Banana-no-Air.local>
Co-authored-by: あく <alleteam@gmail.com>
2025-02-11 19:58:19 +09:00
MX
a3ffdac763 Merge remote-tracking branch 'OFW/dev' into dev 2025-02-10 21:55:03 +03:00
Anna Antonenko
7a92fd359c [FL-3950] Update mbedtls & expose AES (#4092)
* update mbedtls
* expose mbedtls/aes.h
* update f18

Co-authored-by: あく <alleteam@gmail.com>
2025-02-10 20:57:16 +09:00
hedger
490e66b21f ufbt: bumped action version in example github workflow for project template (#4097)
Co-authored-by: あく <alleteam@gmail.com>
2025-02-10 19:44:44 +09:00
Astra
5bd35f435b [FL-3951] Add the Showtime animation (#4100)
* Add the Showtime animation
* Format images
2025-02-10 18:35:39 +09:00
Dmitry422
92b58bc99f Litle bit cahnges in RGB led driver for compatibility with VibroTouch.
Shell files for buil firmware.
2025-02-05 16:31:26 +07:00
Dmitry422
3029f0d6d6 Litle bit mistakes cleanup. 2025-02-04 00:53:28 +07:00
Dmitry422
724c4ca445 SafeCharging (charging supress) finished. 2025-02-04 00:42:52 +07:00
Dmitry422
cce8a7c413 Begin work with SafeCharging (charging supress) 2025-02-03 19:18:53 +07:00
Dmitry422
8c31d8a682 Source code cosmetic changes 2025-02-02 21:41:30 +07:00
Dmitry422
a5c241139d Source code C\C++ formating 2025-02-02 15:13:55 +07:00
Dmitry422
eef2441af9 InputSettings complete. Added VibroTouchLevel 2025-02-02 14:57:41 +07:00
mi-lrn
d0a33b22f4 Update FAQ.md
Hi! Great project. Made some minor grammar and clarity changes to FAQ.md to make it easier to read.
2025-01-31 18:46:31 -07:00
Dmitry422
a5f62f756a Begin work with Input_service settings (edit,save) for vibro_touch option 2025-01-31 19:25:52 +07:00
MX
1acc814b2a upd changelog 2025-01-17 14:59:10 +03:00
MX
0112a733c4 Merge remote-tracking branch 'OFW/aku/g4067_infrared_carrier' into dev 2025-01-17 14:57:59 +03:00
MMX
fbcf39a990 Merge pull request #860 from Dmitry422/dev
Auto_power_off and Auto_lock improvements
2025-01-17 14:57:38 +03:00
Dmitry422
e809e3ddbb Cosmetic menu changes 2025-01-17 13:12:20 +07:00
Dmitry422
fbc29f519f Disable autopoweroff if charger connected. 2025-01-17 13:01:38 +07:00
Dmitry422
0a2b47c7e1 Autolock disarm by active USB connection instead of USB charging connection. 2025-01-17 12:12:27 +07:00
Aleksandr Kutuzov
5096b9c88b Infrared: increase max carrier limit 2025-01-16 23:51:10 +09:00
MX
633f5d7c57 fbt format and naming fix 2025-01-15 17:23:38 +03:00
MMX
8872b13d54 Merge pull request #858 from Dmitry422/dev
fix errors
2025-01-15 17:22:01 +03:00
Dmitry422
818a47085e fix errors 2025-01-15 18:37:35 +07:00
MX
d09bbd18fa upd changelog 2025-01-15 00:53:47 +03:00
MX
1666c4d04f upd settings to see release version only and current 2025-01-15 00:42:43 +03:00
MMX
b4c7cde261 Merge pull request #857 from Dmitry422/dev
Auto_poweroff_timer moved to power service. Power service have own config file.
2025-01-15 00:34:46 +03:00
Dmitry422
cf50875c5c *POWER*
- serice:
    renamed function and variable
- settings:
    add test value 5 sec for auto_power_off timer

*DESKTOP*
- settings|service
    add USB_inhibit for desktop_auto_lock
    (dont autolock desktop with different condition)
    PS. RPC condition now working now.
2025-01-15 01:33:49 +07:00
Dmitry422
ec75de0320 Auto_poweroff_delay correction (removed test delay value) 2025-01-14 02:08:35 +07:00
Dmitry422
c73495767c Auto_poweroff option moved from desktop to power.
Add settings for power service (load|save).
2025-01-14 02:01:54 +07:00
MX
f054d05269 Merge remote-tracking branch 'OFW/dev' into dev 2025-01-13 15:12:51 +03:00
あく
5c56d9ab27 Merge branch 'dev' into astra/3934-alarm-improvements 2025-01-13 04:13:10 +09:00
NotLukas
7291e6bd46 Rename FuriHalDebuging.md to FuriHalDebugging.md (#4047)
Fixed Typo

Co-authored-by: あく <alleteam@gmail.com>
2025-01-13 04:12:59 +09:00
Yukai Li
a0d1d3fa0f nfc: Fix MIFARE Plus detection (#4049)
* nfc: Fix MIFARE Plus detection
  MIFARE Plus original doesn't have GetVersion support, so detection for SL2 has been moved. Also, SL2 only exists in MIFARE Plus X, so despite it not being specified in the type identification procedure chart, it's safe to call it for what it is.
* Fix spelling
* TODO: mark as non flipper one

Co-authored-by: あく <alleteam@gmail.com>
2025-01-13 03:15:52 +09:00
MX
535dd8357b Merge remote-tracking branch 'OFW/dev' into dev 2025-01-11 02:04:14 +03:00
あく
35c1bfc057 Github: update doxygen workflow to use exact version (#4065)
* Github: update doxygen workflow to use exact version
* Github: inject DOXY_CONFIG_DIR into doxygen execution env
* Github: use fbt to build doxygen docs
2025-01-10 20:03:47 +09:00
Yukai Li
5efdab863b u2f: Fix leaking message digest contexts (#4052)
* u2f: Fix leaking message digest contexts
* Github: fix doxygen version to 1.12

Co-authored-by: あく <alleteam@gmail.com>
2025-01-10 17:39:39 +09:00
Yukai Li
668500e985 nfc: Fix MFUL PWD_AUTH command creation (#4051) 2025-01-10 17:20:34 +09:00
MX
f2c84e0510 docker image source 2025-01-05 17:14:41 +03:00
Astra
c1c2bca850 F18 API 2024-12-25 18:41:50 +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
MX
1a95757a75 upd changelog 2024-12-24 14:23:07 +03:00
MX
7fc34db57b use event system 2024-12-24 14:04:34 +03:00
MX
189c87cb08 Merge remote-tracking branch 'OFW/dev' into dev 2024-12-24 14:04:07 +03:00
Astra
93d2120e55 Fix snooze and next day alarm behavior 2024-12-24 19:26:31 +09:00
あく
f68f125071 Merge branch 'dev' into astra/3934-alarm-improvements 2024-12-24 11:24:41 +09:00
dependabot[bot]
5fb9558dbb Bump cross-spawn in /applications/system/js_app/packages/create-fz-app (#4043)
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.6.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.6)

---
updated-dependencies:
- dependency-name: cross-spawn
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-12-24 11:24:01 +09:00
Anna Antonenko
5fd423951b [FL-3933] Pipe (#3996)
* feat: FuriThread stdin
* ci: fix f18
* feat: stdio callback context
* feat: FuriPipe
* POTENTIALLY EXPLOSIVE pipe welding
* fix: non-explosive welding
* Revert welding
* docs: furi_pipe
* feat: pipe event loop integration
* update f18 sdk
* f18
* docs: make doxygen happy
* fix: event loop not triggering when pipe attached to stdio
* fix: partial stdout in pipe
* allow simultaneous in and out subscription in event loop
* refactor: move pipe out of furi and decouple from event loop
* chore: api versioning
* Bump api versions
* refactor: rename pipe_set_pipe_broken_callback
* Toolbox: add missing pragma once

Co-authored-by: あく <alleteam@gmail.com>
2024-12-24 10:58:27 +09:00
MX
1739f57c7a enable anim 2024-12-24 01:02:05 +03:00
MX
4694492ed4 upd changelog 2024-12-23 21:03:53 +03:00
MX
38326877ea add input events sub check [ci skip] 2024-12-23 19:19:12 +03:00
MX
9c5341edb1 Merge remote-tracking branch 'OFW/dev' into dev 2024-12-23 15:56:12 +03:00
Astra
a0c087c557 Merge branch 'dev' into astra/3934-alarm-improvements 2024-12-23 14:27:45 +09:00
Sanghee Park
519b89665f Fix invalid path errors while deploying SDK by enforcing toolchain to use UTF-8 on initial SDK Extraction (#4036)
* Fix invalid path errors for non-Latin characters by enforcing UTF-8 (#4024)
  Due to cryillic alphabet on `/openocd/scripts/target/1986ве1т.cfg`, If the system codepage is handling `WideChar` for cryillic properly, It would cause jumbled characters and fail to decompress via System.IO.Compression.ZipFile without Encoding enforcement. (See https://github.com/flipperdevices/flipperzero-firmware/issues/4024#issuecomment-2545385580)
* Scripts: fix line endings

Co-authored-by: あく <alleteam@gmail.com>
2024-12-23 11:55:58 +09:00
Jan Wiesemann
e11a62694e Added flipper_format_write_empty_line(...) (#4029)
* Added flipper_format_write_empty_line(...)
* Format sources

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-12-23 11:32:53 +09:00
ru-asdx
dc73096966 using GITHUB_TOKEN to make API requests in scripts/get_env.py (#4033)
Co-authored-by: あく <alleteam@gmail.com>
2024-12-23 11:05:19 +09:00
Eric Betts
626d7ef509 Fix skylander ID reading (#4038)
* Read skylanders faster
* Correct parsing ID from skylanders

Co-authored-by: あく <alleteam@gmail.com>
2024-12-23 10:56:19 +09:00
Anna Antonenko
631d7a40dd [FL-3940] Work around incorrect serial port handling by the OS (#4040)
* fix: js sdk flipper detection
* chore: bump ver

Co-authored-by: あく <alleteam@gmail.com>
2024-12-23 10:34:05 +09:00
Astra
6d20bc7e50 [FL-3938] Add winter animations (#4032)
* Add winter animations
* Format images

Co-authored-by: あく <alleteam@gmail.com>
2024-12-23 10:09:40 +09:00
WillyJL
33f1a16094 FBT: Don't lint JS packages (#4030)
Co-authored-by: あく <alleteam@gmail.com>
2024-12-23 09:52:37 +09:00
Astra
a02781b936 [FL-3920] Fix lost BadBLE keystrokes (#3993)
* WIP: fix lost BadBLE keystrokes
* Switch to semaphores for synchronization
* Move checking to the gap level
* Remove leftovers from hid_service
* Remove more leftovers from hid_service
* De-allocate the semaphore after use
* Change the timeout to account for unforeseen situation
* Update F18 API
* Fix naming and unbump api version
* Move away from semaphores
* Remove the left over include
* Ble: cleanup error handling in ble_gatt_characteristic_update
* Fix PVS warning

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-12-23 09:18:14 +09:00
MX
bd348cf72d Merge remote-tracking branch 'OFW/dev' into dev 2024-12-21 17:37:08 +03:00
Evgeny E
8dd5e64c03 Move updater and unit tests to dockerized runner (#4028)
* extended unit_tests and changed to dockerized runner
* added branch to run units
* fixing unit-tests-output
* online output
* command not found fix
* added stm logging
* cleaned output
* Updated updater test to work on dockerized runner
* Test run for changed actions
* small refactor of run_unit_tests
* Final test of jobs
* Checked
* On-failure actions runs only on fail
* Set action trigger to pull request
* Bumped timeout a little
* Removed extra steps
* Removed stm monitor, as it's now part of docker-runner
* fix: testops without stm_monitoring
* fix: timeout extended


Co-authored-by: あく <alleteam@gmail.com>
2024-12-20 02:52:37 +09:00
WillyJL
a7b3a13581 Loader: Fix BusFault in handling of OOM (#3992)
* Loader: Fix BusFault in handling of OOM
* Furi: fix crash in aligned_alloc, cleanup aligned_alloc use

Co-authored-by: あく <alleteam@gmail.com>
2024-12-19 06:33:59 +09:00
RebornedBrain
9c96bbfc54 [NFC] Fix ISO15693 stucking in wrong mode. (#3988)
Co-authored-by: あく <alleteam@gmail.com>
2024-12-19 06:01:20 +09:00
Emmanuel Ferdman
8c4922a322 Update infrared_test.c reference (#3983)
Signed-off-by: Emmanuel Ferdman <emmanuelferdman@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-12-19 05:55:21 +09:00
Anna Antonenko
8d078e4b8c [FL-3927] FuriThread stdin (#3979)
* feat: FuriThread stdin
* ci: fix f18
* feat: stdio callback context

Co-authored-by: Georgii Surkov <37121527+gsurkov@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-12-19 05:38:43 +09:00
Astra
9917579619 Increase system stack's reserved memory size (#4025)
Co-authored-by: あく <alleteam@gmail.com>
2024-12-19 04:23:29 +09:00
MX
d60c034c92 Merge remote-tracking branch 'OFW/dev' into dev 2024-12-18 10:48:30 +03:00
Astra
256c1a1140 [FL-3917] Add the ability to send a signal once via RPC (#4000)
* Add the ability to send a signal once

* Update protobuf

* Fix sending infrared signals

* Review changes

* Update protobuf

* Separate sending an IR signal once into a function

* Update protobuf module

---------

Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: Georgii Surkov <georgii.surkov@outlook.com>
2024-12-17 13:12:55 +00:00
MX
306b728587 fix wrong order 2024-12-08 13:39:34 +03:00
MX
53fa3f85b3 upd changelog 2024-12-06 12:51:06 +03:00
MX
d566f650bd fix order [ci skip] 2024-12-06 12:20:41 +03:00
MX
c9bc05199e add auto power off timer setting [ci skip]
by @Dmitry422 with little fixes by @xMasterX
2024-12-06 12:18:51 +03:00
MX
dd6e0a9b72 keeloq jolly motors add full support with add manually
thanks @pkooiman !
2024-12-06 11:53:09 +03:00
MX
0d61de4584 Merge remote-tracking branch 'OFW/astra/3936-usb-uart-crash' into dev 2024-12-03 11:33:05 +03:00
MX
599bb5f6f5 Merge remote-tracking branch 'OFW/dev' into dev 2024-12-03 11:32:28 +03:00
あく
bc54364352 Merge branch 'dev' into astra/3936-usb-uart-crash 2024-12-03 15:31:32 +09:00
Ondřej Nový
7d5358b9d3 Replace mf_classic_dict.nfc with Proxmark3 version (#4013)
Co-authored-by: あく <alleteam@gmail.com>
2024-12-03 15:30:25 +09:00
Astra
0fd26ee148 Increase system stack's reserved memory size 2024-12-02 19:24:20 +09:00
ted-logan
3d6fd9b00d nfc/clipper: (#3991)
* nfs/clipper: BART station ids for San Lorenzo, Bay Fair

Update the BART station ids for the San Lorenzo and Bay Fair stations in
the East Bay of the San Francisco Bay Area.

* nfc/clipper: Update MUNI station ids

Add MUNI station ids for the T line "Central Subway" project, which
opened three new underground stations in 2022.

---------

Co-authored-by: あく <alleteam@gmail.com>
2024-12-02 18:51:57 +09:00
mxcdoam
8629c61dc9 NFC: Plantain parser Last payment amount fix (#3998)
Co-authored-by: あく <alleteam@gmail.com>
2024-12-02 17:08:17 +09:00
WillyJL
2f30817dc9 Settings: More granularity for LCD and Notification (#4010)
Co-authored-by: あく <alleteam@gmail.com>
2024-12-02 16:54:50 +09:00
Luu
c3dc9e1ec2 Fix typo for mf_classic_key_cahce_get_next_key() function (#4015)
* Update mf_classic_key_cache.c
* Update mf_classic_key_cache.h
* Update mf_classic.c
* Update nfc_scene_mf_classic_update_initial.c

Co-authored-by: あく <alleteam@gmail.com>
2024-12-02 16:27:16 +09:00
Nicolas Marie-Magdelaine PhD
399bcdcc13 Add IR command for NAD DR2 D7050 D3020 (#4020)
Co-authored-by: あく <alleteam@gmail.com>
2024-12-02 16:15:29 +09:00
Ruslan Nadyrshin
0ef9f7d308 JS packages folder included to the doxygen's exclude list (#4021) 2024-12-02 15:58:13 +09:00
Astra
905f9498aa F18 api 2024-11-26 19:31:37 +09:00
Astra
a47443ed1c Snooze, timeouts, and dismissing from the locked state 2024-11-26 19:26:58 +09:00
MX
7e0f292615 upd changelog 2024-11-26 05:46:32 +03:00
MX
fc25c9fba0 Merge remote-tracking branch 'OFW/gsurkov/vcp_break_support' into dev [ci skip] 2024-11-26 05:19:11 +03:00
Georgii Surkov
07426b6df2 Add SendBreak event to waiting mask 2024-11-18 11:29:54 +00:00
Georgii Surkov
e3c3edcc7e Add send break support 2024-11-17 21:01:15 +00:00
MX
41ae5d8981 fix changelog link in dev builds 2024-11-11 21:10:12 +03:00
MX
7ef1a705be fix ci 2024-11-11 19:49:20 +03:00
MX
24e7cfc16f upd changelog 2024-11-11 16:58:34 +03:00
MX
bc4881aa12 fix discord changelog posting [ci skip] 2024-11-11 16:52:52 +03:00
MX
3d74f4e1dc Loader: Fix BusFault in handling of OOM ofw PR 3992
by Willy-JL
2024-11-11 14:22:55 +03:00
Anna Antonenko
51aafd1b5e fix: bump fz-sdk to 0.1.2 (#3989) 2024-11-05 20:58:19 +09:00
WillyJL
b86b9b87b8 JS: Add die() typedoc (#3985)
* JS: Add die() to typedocs

* JS: Never type for die()

---------

Co-authored-by: Anna Antonenko <portasynthinca3@gmail.com>
2024-11-05 14:41:03 +03:00
Anna Antonenko
c741727b96 I am own the JS (#3982)
* fix: js app template
* i am own the js
* farewell
2024-11-05 19:53:24 +09:00
MX
462ab255a1 upd examples 2024-11-05 09:52:24 +03:00
MX
79caf7bf72 Add js sdk changes
With type declarations and various missing parts added by Willy-JL
2024-11-05 09:49:46 +03:00
MX
8a2cf4dc3d Merge remote-tracking branch 'OFW/dev' into dev 2024-11-03 20:50:10 +03:00
WillyJL
69aa4cd254 JS: Fix merge of 3963 and 3961 (#3980)
* toString() was moved, not duplicated
* These had gotten lost
* This is now implemented
* Add missing version doctags
2024-11-01 13:52:54 +09:00
MX
eae8ef23df move things in changelog 2024-11-01 07:43:07 +03:00
MX
4479cd489b nice one key doesnt fit in display fully 2024-11-01 07:35:53 +03:00
MX
e8dc0ea5d8 upd changelog 2024-11-01 06:53:02 +03:00
MX
2d601651c6 some subghz cleanup 2024-11-01 06:49:59 +03:00
MX
9180364e42 upd readmes [ci skip] 2024-11-01 06:02:46 +03:00
MX
91af1cdd46 restore require func 2024-11-01 06:00:46 +03:00
MX
7ce036fd9b missing parts [ci skip] 2024-11-01 05:42:49 +03:00
MX
3c6a621da2 merge fix [ci skip]
with some parts from PR by Willy-JL
https://github.com/flipperdevices/flipperzero-firmware/pull/3980/files
2024-11-01 05:30:33 +03:00
MX
04c8093672 Merge remote-tracking branch 'OFW/dev' into dev 2024-10-31 21:17:01 +03:00
Anna Antonenko
f4887ed31c fix: npm deps (#3978) 2024-10-31 19:52:32 +04:00
あく
561b4e947a 目覚め時計 (#3906)
* FuriHal: add RTC alarm support

* FuriHal: RTC alarm API. Alarm settings app. Alarm app.

* FuriHal: remove unnecessery init mode enters in RTC

* Update targets/f7/furi_hal/furi_hal_rtc.h

Co-authored-by: Silent <CookiePLMonster@users.noreply.github.com>

* Update targets/f7/furi_hal/furi_hal_rtc.c

Co-authored-by: Silent <CookiePLMonster@users.noreply.github.com>

* Update targets/f7/furi_hal/furi_hal_rtc.h

Co-authored-by: Silent <CookiePLMonster@users.noreply.github.com>

* FuriHal: add seconds in rtc alarm getter

* Alarm & Clock: redesign and cleanup setting and alarm apps, cleanup API

* Spelling and time separator in alarm

* Api Symbols: hide rtc alarm related methods

* Clock alarm: new thread cleanup routine, hour/minute separator in alarm

* Clock: move clock_settings_start into clock_settings fam

* Seettings: update clock and alarm UI according to figma

* Format icons

---------

Co-authored-by: Silent <CookiePLMonster@users.noreply.github.com>
2024-10-31 15:42:03 +04:00
Mykhailo Shevchuk
4b8a1a4b11 Fixed bug with reading pwd locked MFULs (#3959)
* Fixed bug with reading pwd locked MFULs
* Format sources

Co-authored-by: あく <alleteam@gmail.com>
2024-10-31 20:01:00 +09:00
WillyJL
c807ffc324 JS: Backport³ and more additions & fixes (#3961)
* JS: Fix file select for fbt launch js_app
* JS: badusb: Add numpad keys
  Co-authored-by: oldip <oldip@users.noreply.github.com>
* JS: badusb: Layout support
* JS: badusb: altPrint() and altPrintln()
  Co-authored-by: oldip <oldip@users.noreply.github.com>
* JS: badusb: quit()
* JS: serial: readAny()
* JS: serial: end()
* JS: serial: Auto disable expansion service
* JS: storage: Add example script
* JS: gui: text_input: Fix NULL ptr when no prop given
* JS: gui: text_input: Default text props
  Co-authored-by: xMasterX <xMasterX@users.noreply.github.com>
* JS: gui: byte_input
  Co-authored-by: xMasterX <xMasterX@users.noreply.github.com>
* JS: gui: file_picker
* JS: gui: viewDispatcher.currentView
* JS: gui: view.hasProperty()
* JS: gui: Add some missing typedefs comments
* JS: globals: Fix toString() with negative numbers
* JS: globals: parseInt()
  Co-authored-by: Spooks4576 <Spooks4576@users.noreply.github.com>
* JS: globals: toUpperCase() and toLowerCase()
  Co-authored-by: Spooks4576 <Spooks4576@users.noreply.github.com>
* JS: globals: Add some missing typedefs
* JS: Add example for string functions
  Co-authored-by: Spooks4576 <Spooks4576@users.noreply.github.com>
* JS: globals: __dirpath and __filepath
  Co-authored-by: jamisonderek <jamisonderek@users.noreply.github.com>
* JS: globals: load() typedef missing scope param
* JS: Add interactive REPL script example
* JS: Add missing icon for file picker
* JS: Rename to __filename and __dirname
* JS: Move toUpperCase() and toLowerCase() to string class
* JS: parseInt() refactor
* JS: Typedef base param for parseInt()
* Revert "JS: gui: view.hasProperty()"
  This reverts commit 1967ec06d4f2e9cafc4e18384ad370f7a7c44468.
* JS: Move toString() to Number class
* JS: Fix duplicate plugin files
  in plugins, `requires` is used to determine which app to distribute the .fal under `apps_data/appid/plugins`
* JS: math: Missing typedefs, use camelCase
* JS: badusb: layoutPath is optional in typedef
* Fix ASS scoping
* Rename mjs term prop type value
* Change load() description
* Enlarge buffers in default prop assign
* More checks for default data/text size
* Make PVS happy
* Fix icon symbol
* Update types for JS SDK
* toString() was moved to number class

Co-authored-by: oldip <oldip@users.noreply.github.com>
Co-authored-by: xMasterX <xMasterX@users.noreply.github.com>
Co-authored-by: Spooks4576 <Spooks4576@users.noreply.github.com>
Co-authored-by: jamisonderek <jamisonderek@users.noreply.github.com>
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-10-31 14:22:05 +09:00
WillyJL
1907f23e5f NFC: Add NDEF Parser for MFUL, MFC and SLIX (#3973)
* NFC: Add NDEF Parser for MFUL, MFC and SLIX
* Fix inefficiency in MAD checking
* NFC: NDEF parser less RAM waste for contact vcards
* Fix typo
* Make PVS Happy
* NFC: hide TODO in 3rd party plugin

Co-authored-by: あく <alleteam@gmail.com>
2024-10-31 14:09:13 +09:00
mxcdoam
054efbbb03 NFC: Plaintain parser fix (#3975)
* Quck fix for Plantain 4K tickets: now the balance, trips, dates are available. To do: get rid of mem size check, fix number parsing  for 4B UID cards,  fix validator info and last payment parsing
* 4B UID Quick'n'Dirty fix
* remove unnecessary variables, fbt format

Co-authored-by: あく <alleteam@gmail.com>
2024-10-31 13:33:51 +09:00
tomholford
55d1588356 nfc: add Caltrain zones for Clipper (#3969)
Co-authored-by: tomholford <tomholford@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-10-31 13:27:04 +09:00
Anna Antonenko
cb8c1e3364 Update unit tests docs (#3977)
Co-authored-by: あく <alleteam@gmail.com>
2024-10-31 13:21:10 +09:00
Anna Antonenko
72272b3b34 [FL-3922] Fix JS memory corruption (#3971)
Co-authored-by: あく <alleteam@gmail.com>
2024-10-31 13:15:52 +09:00
Anna Antonenko
85e5642b2a [FL-3918] Full-fledged JS SDK + npm packages (#3963)
* feat: js sdk
* refactor: move js back where it belongs
* docs: generate docs using typedoc
* feat: sdk versioning scheme
* ci: silence pvs warning
* docs: bring back old incomplete js docs
* style: readAnalog naming
* fix: rename script compatibility screens

Co-authored-by: あく <alleteam@gmail.com>
2024-10-31 11:42:57 +09:00
MMX
e4c8270824 SubGHz Keeloq Monarch decode (#3967)
Co-authored-by: あく <alleteam@gmail.com>
2024-10-31 11:27:54 +09: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
Nathan N
8427ec0098 MIFARE Classic Key Recovery Improvements (#3822)
* Initial structure for nonce collection
* Nonce logging
* Dictionary attack structure
* Fix compilation
* Identified method to reduce candidate states
* Use EXT_PATH instead of ANY_PATH
* Use median calibrated distance, collect parity bits
* Modify parity collection
* Fixed parity bit collection
* Add note to fix nonce logging
* Fix nonce logging
* Clean redundant code
* Fix valid_nonce
* First attempt disambiguous nonce implementation
* FM11RF08S backdoor detection
* Initial accelerated dictionary attack for weak PRNGs
* Refactor to nested dictionary attack
* Renaming some variables
* Hard PRNG support for accelerated dictionary attack
* Update found keys, initial attempt
* Update found keys, second attempt
* Code cleanup
* Misc bugfixes
* Only use dicts in search_dicts_for_nonce_key if we have them
* Collect nonces again
* Should be detecting both backdoors now
* Relocate backdoor detection
* Hardnested support
* Fix regression for regular nested attack
* Backdoor read
* Backdoor working up to calibration
* Backdoor nested calibration
* Don't recalibrate hard PRNG tags
* Static encrypted nonce collection
* Update TODO
* NFC app UI updates, MVP
* Bump f18 API version (all functions are NFC related)
* Add new backdoor key, fix UI status update carrying over from previous read
* Clear TODO line
* Fix v1/v2 backdoor nonce collection
* Speed up backdoor detection, alert on new backdoor
* Add additional condition to backdoor check
* I'll try freeing memory, that's a good trick!
* Do not enter nested attack if card is already finished
* Do not reset the poller between collected nonces
* Clean up various issues
* Fix Hardnested sector/key type logging
* Add nested_target_key 64 to TODO
* Implement progress bar for upgraded attacks in NFC app
* Typo
* Zero nested_target_key and msb_count on exit
* Note TODO (malloc)
* Dismiss duplicate nonces
* Fix calibration (ensure values are within 3 standard deviations)
* Log static
* No nested dictionary attack re-entry
* Note minor inefficiency
* Uniformly use crypto1_ prefix for symbols in Crypto1 API
* Fix include paths
* Fix include paths cont
* Support CUID dictionary
* Fix log levels
* Avoid storage errors, clean up temporary files
* Handle invalid key candidates
* Fix memory leak in static encrypted attack
* Fix memory leak, use COUNT_OF macro
* Use single call to free FuriString
* Refactor enums to avoid redefinition
* Fix multiple crashes and state machine logic
* Fix inconsistent assignment of known key and known key type/sector
* Backdoor known key logic still needs the current key
* Larger data type for 4K support
* Fix typo
* Fix issue with resume logic
* Mark TODOs for next PR
* Remove redundant assignment
* Fix size_t format specifier
* Simplify auth_passed condition

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
Co-authored-by: gornekich <n.gorbadey@gmail.com>
2024-10-31 09:53:58 +09:00
MX
86813d1b60 Merge remote-tracking branch 'noproto/nestednonces' into dev 2024-10-31 02:27:33 +03:00
noproto
907019c136 Simplify auth_passed condition 2024-10-29 15:35:40 -04:00
noproto
c24007755a Fix size_t format specifier 2024-10-29 15:19:30 -04:00
noproto
eb1aabbec4 Remove redundant assignment 2024-10-29 14:56:40 -04:00
noproto
2282587c15 Mark TODOs for next PR 2024-10-29 14:07:16 -04:00
MX
b462329dd5 upd changelog [ci skip] 2024-10-29 02:51:49 +03:00
MX
bb922de569 upd changelog 2024-10-29 02:36:44 +03:00
MX
ed57ddb14b NFC: Plaintain parser fix
by mxcdoam
https://github.com/flipperdevices/flipperzero-firmware/pull/3975/files
2024-10-29 02:28:33 +03:00
MX
e87356af72 Merge remote-tracking branch 'OFW/portasynthinca3/3922-gpio-crash' into dev [ci skip] 2024-10-28 23:20:13 +03:00
MX
e7b64c843c upd manifest 2024-10-28 22:50:07 +03:00
MX
3d52187aa9 ndef parser updates
by luu176 and Willy-JL
2024-10-28 22:45:02 +03:00
MX
e630f44afd merge p2 2024-10-28 22:22:21 +03:00
MX
6b6d98da2a merge js changes
changes by Willy-JL
spi module by jamisonderek
2024-10-28 22:21:42 +03:00
noproto
6dbb46a81d Fix issue with resume logic 2024-10-25 18:38:11 -04:00
MX
e7239f6e8b Merge remote-tracking branch 'noproto/nestednonces' into dev 2024-10-26 01:37:44 +03:00
Anna Antonenko
91fcddc205 Merge branch 'dev' into portasynthinca3/3922-gpio-crash 2024-10-24 12:56:54 +03:00
Anna Antonenko
d0214c7b27 fix: incorrect usage of mjs_own 2024-10-23 20:07:03 +03:00
noproto
bf7b91f45f Fix typo 2024-10-23 05:21:43 -04:00
MX
cf0a6ae2d0 Merge remote-tracking branch noproto-nestednonces into dev 2024-10-22 17:10:08 +03:00
Nathan N
47637621a7 Merge branch 'dev' into nestednonces 2024-10-22 09:52:25 -04:00
noproto
92aa70ba9d Larger data type for 4K support 2024-10-22 09:54:46 -04:00
MX
3374ed1dad upd changelog 2024-10-22 03:49:34 +03:00
MX
b0e591601c upd ndef parser
by jaylikesbunda and Willy-JL
2024-10-22 02:37:04 +03:00
MX
fc16978be5 Merge remote-tracking branch 'OFW/dev' into dev [ci skip] 2024-10-22 02:28:24 +03:00
Zinong Li
f8fa71c575 NFC TRT Parser: Additional checks to prevent false positives (#3966)
* additional checks to prevent false positives
* Update trt.c

Co-authored-by: あく <alleteam@gmail.com>
2024-10-20 16:58:33 +01:00
Ruslan Nadyrshin
1822221c69 Minor change in the dev docs (#3962)
- The main page title of the Dev docs has been changed

Co-authored-by: あく <alleteam@gmail.com>
2024-10-20 16:40:20 +01:00
Kris Bahnsen
ea2757908b lib: digital_signal: digital_sequence: add furi_hal.h wrapped in ifdefs (#3964)
Per the comment at the top of the file, defining DIGITAL_SIGNAL_DEBUG_OUTPUT_PIN
to be a GpioPin variable name should allow additional debug output on
that pin. However, this would not work without modifying the file as
well to add the furi_hal.h header. Wrap including that header in the
same macro define to automatically include it when used.

Fixes: d92b0a82cc ("NFC refactoring (#3050)")

Signed-off-by: Kris Bahnsen <Kris@KBEmbedded.com>
Co-authored-by: hedger <hedger@users.noreply.github.com>
2024-10-20 16:31:40 +01:00
MX
75625ffd5e merge mjs 2024-10-20 16:02:15 +03:00
MX
48acd9f075 merge examples 2024-10-20 16:01:21 +03:00
MX
8c960a990c merge js upds
by jamisonderek & Willy-JL
2024-10-20 16:00:10 +03:00
MX
2441643ac6 subghz monarch add manually 2024-10-19 15:40:35 +03:00
MX
8cdb5619f5 keeloq add key 2024-10-19 15:19:57 +03:00
MX
0b7f174162 fix icon 2024-10-19 12:33:57 +03:00
MX
8ed1dc2289 merge p3 2024-10-18 20:23:05 +03:00
MX
fe3228b63e merge p2 2024-10-18 20:22:21 +03:00
MX
bc73b13b1b merge js stuff
https://github.com/Next-Flip/Momentum-Firmware/commits/js-backport-of-backport/
2024-10-18 20:21:09 +03:00
MX
3ba530555d Merge remote-tracking branch 'noproto/nestednonces' into dev 2024-10-18 14:30:43 +03:00
MX
37f76374a2 Merge remote-tracking branch 'OFW/dev' into dev 2024-10-18 14:30:37 +03:00
noproto
db26c85b23 Backdoor known key logic still needs the current key 2024-10-18 00:46:24 -04:00
noproto
897817a829 Fix inconsistent assignment of known key and known key type/sector 2024-10-18 00:33:49 -04:00
Nathan N
2be0cfb04b Merge branch 'dev' into nestednonces 2024-10-17 19:16:17 -04:00
noproto
1101748a21 Merge branch 'nestednonces' of https://github.com/noproto/flipperzero-firmware into nestednonces 2024-10-17 19:17:39 -04:00
noproto
4be9e79342 Fix multiple crashes and state machine logic 2024-10-17 19:16:30 -04:00
porta
b723d463af Revert "[FL-3909] CLI improvements, part I (#3928)" (#3955)
This reverts commit 0f831412fa.

Co-authored-by: あく <alleteam@gmail.com>
2024-10-17 17:12:27 +01:00
Ivan Barsukov
ca68c953c0 Add warning about stealth mode in vibro CLI (#3957) 2024-10-17 16:57:10 +01:00
MX
e2d0a86d3e merge js stuff
by Willy-JL
2024-10-17 17:06:51 +03:00
MX
f305f6efa9 upd changelog 2024-10-17 13:26:20 +03:00
MMX
c4d997084a Merge pull request #826 from mishamyte/bug/incorrect-ul-read
Fixed bug with UL reading
2024-10-17 13:25:42 +03:00
Mykhailo Shevchuk
c39edce7c6 Fixed bug with UL reading 2024-10-17 01:41:27 +03:00
あく
2bc02c0962 Merge branch 'dev' into nestednonces 2024-10-16 18:07:13 +01:00
MX
9c20bdc287 upd changelog 2024-10-16 19:55:25 +03:00
MMX
d72fad45e0 Merge pull request #825 from mishamyte/fix-read-pwd-protected-ul
Read Ultralight block by block
2024-10-16 19:48:04 +03:00
MX
5434405c34 Merge remote-tracking branch 'OFW/dev' into dev 2024-10-16 19:46:06 +03:00
MX
4e5abdadff fix cli breaking web flipper lab, remove color tags 2024-10-16 19:35:52 +03:00
Zinong Li
1dd7ebd059 NFC Parser for Tianjin Railway Transit (#3954) 2024-10-16 16:38:07 +01:00
MX
1df18417fa upd changelog 2024-10-16 18:23:54 +03:00
MX
8d2476733e Merge remote-tracking branch 'OFW/dev' into dev 2024-10-16 18:21:22 +03:00
porta
c2c288b9ad [FL-3916] Require PIN on boot (#3952)
Co-authored-by: hedger <hedger@users.noreply.github.com>
2024-10-16 16:12:58 +01:00
MX
521b793011 merge js 2 2024-10-16 18:09:02 +03:00
MX
38fb892cbb merge js upds 1 2024-10-16 18:07:58 +03:00
MX
fdbeefa0a9 Merge remote-tracking branch 'OFW/dev' into dev 2024-10-16 18:05:16 +03:00
Ruslan Nadyrshin
960e0bf545 Small fixes in the wifi devboard docs (#3953)
* Small fixes in the wifi devboard docs

- Several broken numbered lists fixed
- Added a skipped link to the uFBT
- The Devboard naming fixed
2024-10-16 18:38:53 +04:00
MX
cd46d8ca07 more js stuff
https://github.com/Next-Flip/Momentum-Firmware/commits/js-backport-of-backport/
2024-10-16 15:09:51 +03:00
MX
f37799e0f4 merge examples fixes [ci skip]
by Willy-JL
p2
2024-10-16 14:50:05 +03:00
MX
63d1890156 merge missing js backports of backports by Willy-JL
p1
2024-10-16 12:03:31 +03:00
MX
2aff3bca73 fix zero issues in princeton 2024-10-16 11:37:41 +03:00
Mykhailo Shevchuk
d3f192ac36 Read Ultralight block by block 2024-10-16 02:24:43 +03:00
MX
7415873449 add new nfc key [ci skip] 2024-10-16 01:30:19 +03:00
MX
a1993a528d badusb js paritally fix 2024-10-16 01:11:34 +03:00
MX
ac3c6dc4f9 move examples 2024-10-16 01:07:03 +03:00
MX
7de26fb99b Merge remote-tracking branch 'OFW/dev' into dev 2024-10-16 01:06:19 +03:00
MX
004d8382d3 implement byte input, add missing args in text input
TODO: add missing filebrowser dialog
2024-10-16 00:57:44 +03:00
Kowalski Dragon
c917135c94 [BadUSB] Improve ChromeOS and GNOME demo scripts (#3948)
* [BadUSB] Gnome Demo: Support most terminals and force sh shell when not using Bash as default
* [BadUSB] ChromeOS Demo: Minor improvements, such as exit overview, select omnibox and add a page title

Signed-off-by: Kowalski Dragon (kowalski7cc) <5065094+kowalski7cc@users.noreply.github.com>
Co-authored-by: Kowalski Dragon (kowalski7cc) <5065094+kowalski7cc@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-10-15 18:23:49 +01:00
Zinong Li
dc9548d0dc New Static Keys for Mifare Classic Dictionary (#3947)
Co-authored-by: あく <alleteam@gmail.com>
2024-10-15 18:17:33 +01:00
Astra
a34e09094b [FL-3914] BackUSB (#3951)
* Revert "[FL-3896] Split BadUSB into BadUSB and BadBLE (#3931)"
  This reverts commit 0eaad8bf64.
* Better USB-BLE switch UX
* Format sources
* Format images

Co-authored-by: あく <alleteam@gmail.com>
2024-10-15 18:11:41 +01:00
porta
a6cf08523c Small JS fixes (#3950) 2024-10-15 18:03:15 +01:00
MX
8233534d6a merge p3 2024-10-15 03:27:04 +03:00
MX
edc58c5a0e merge p2 2024-10-15 03:16:21 +03: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
あく
02f7c6b421 Merge branch 'dev' into nestednonces 2024-10-14 21:06:56 +01:00
Zinong Li
fbc3b494b7 NFC: H World Hotel Chain Room Key Parser (#3946)
* quick and easy implementation
* delete debug artifacts
* log level correction (warning -> info)
2024-10-14 21:05:24 +01: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
Nathan N
f530eeed47 Merge branch 'dev' into nestednonces 2024-10-14 12:08:36 -04:00
RebornedBrain
ddd0fc80f8 Merge branch 'reborned/some_api_adjustments' of github.com:RebornedBrain/flipperzero-firmware into reborned/some_api_adjustments 2024-10-14 18:33:15 +03:00
RebornedBrain
fccb893bed Merge branch 'flipperdevices:dev' into reborned/some_api_adjustments 2024-10-14 18:32:05 +03:00
RebornedBrain
9839db70f5 Api adjustements 2024-10-14 18:31:48 +03:00
RebornedBrain
0241d8d1e8 Rename #2 2024-10-14 18:30:50 +03:00
MX
e3f393e505 Merge remote-tracking branch 'OFW/dev' into dev 2024-10-14 18:00:10 +03:00
porta
0f831412fa [FL-3909] CLI improvements, part I (#3928)
* fix: cli top blinking
* feat: clear prompt on down key
* feat: proper-er ansi escape sequence handling
* ci: fix compact build error
* Make PVS happy
* style: remove magic numbers
* style: review suggestions

Co-authored-by: あく <alleteam@gmail.com>
2024-10-14 15:50:18 +01:00
Nathan N
889b19be92 Merge branch 'dev' into nestednonces 2024-10-14 10:42:21 -04:00
SUMUKH
d9d3867ce1 Fixes Mouse Clicker Should have a "0" value setting for "as fast as possible" #3876 (#3894)
* fixes mouse clicking rate
* Hid: limit max clicks to 100/s, rewrite code to make it more robust

Co-authored-by: あく <alleteam@gmail.com>
2024-10-14 15:33:51 +01:00
あく
edafd70d84 Merge branch 'dev' into reborned/some_api_adjustments 2024-10-14 14:59:52 +01:00
MX
ce32463b3e Merge remote-tracking branch 'OFW/dev' into dev 2024-10-14 16:50:56 +03:00
Ruslan Nadyrshin
421bd3e1f9 Wi-Fi Devboard documentation rework (#3944)
* New step-by-step documentation structure for Wi-Fi Devboard
* Added a description of working under Windows
* Added a description of switching Devboard operation mode (Black Magic, DAPLink)
* The images for the documentation are uploaded to the CDN
* The text in the sidebar, near the dolphin logo, changed from blue to black/white

Co-authored-by: knrn64 <25254561+knrn64@users.noreply.github.com>
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-10-14 14:47:12 +01:00
あく
5190aace88 Furi: A Lot of Fixes (#3942)
- BT Service: cleanup code
- Dialog: correct release order in file browser
- Rpc: rollback to pre #3881 state
- Kernel: fix inverted behavior in furi_kernel_is_running
- Log: properly take mutex when kernel is not running
- Thread: rework tread control block scrubbing procedure, ensure that we don't do stupid things in idle task, add new priority for init task
- Timer: add control queue flush method, force flush on stop
- Furi: system init task now performs thread scrubbing
- BleGlue: add some extra checks
- FreeRTOSConfig: fix bunch of issues that were preventing configuration from being properly applied and cleanup
2024-10-14 14:39:09 +01:00
MX
9799a07db6 remove serial check ui in gangqi [ci skip] 2024-10-12 23:16:02 +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
38889a434c Merge remote-tracking branch 'noproto/nestednonces' into dev 2024-10-11 21:13:50 +03:00
Nathan N
540478855c Merge branch 'dev' into nestednonces 2024-10-11 10:00:44 -04:00
noproto
a7c0819034 Refactor enums to avoid redefinition 2024-10-11 10:01:30 -04:00
MX
2c70dd51a1 upd changelog 2024-10-09 23:14:06 +03:00
MX
1030574187 Merge remote-tracking branch 'noproto/nestednonces' into dev 2024-10-09 23:13:22 +03:00
noproto
3976f128dc Use single call to free FuriString 2024-10-09 16:03:29 -04:00
noproto
b843856976 Fix memory leak, use COUNT_OF macro 2024-10-09 15:51:21 -04:00
MX
af86cb2b83 Merge remote-tracking branch 'OFW/dev' into dev [ci skip] 2024-10-09 20:01:34 +03:00
ted-logan
344118c346 nfc/clipper: Update BART station codes (#3937)
In the NFC Clipper card plugin, update the BART station codes for two
newer East Bay stations (Milpitas, and Berryessa/North San Jose), and
correct the station code for Castro Valley. These station ids come from
visiting the stations and checking what id they presented as in the
Clipper card data.
2024-10-09 10:47:19 +01:00
MX
3ee8e3b18b Merge remote-tracking branch 'noproto/nestednonces' into dev 2024-10-09 10:49:54 +03:00
Nathan N
56febb12b1 Merge branch 'dev' into nestednonces 2024-10-08 18:48:47 -04:00
noproto
bcc8d3ee3d Merge branch 'nestednonces' of https://github.com/noproto/flipperzero-firmware into nestednonces 2024-10-08 18:48:02 -04:00
noproto
a1590fc74a Fix memory leak in static encrypted attack 2024-10-08 18:46:59 -04:00
Silent
5b36c5465d FuriThread: Improve state callbacks (#3881)
State callbacks assumed they were invoked from the thread that changed
its state, but this wasn't true for FuriThreadStateStarting in the past,
and now it's not true for FuriThreadStateStopped either.

Now it is safe to release the thread memory form the state callback
once it switches to FuriThreadStateStopped. Therefore, pending deletion
calls can be removed.

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-10-08 20:50:31 +01:00
jay candel
369e19def3 [IR] Heavily Expand Universal Remotes (#3929)
* expand all universal remotes
  AC: 26.04% increase
  Audio: 277.05% increase
  Projector: 43.36% increase
  TV: 35.54% increase
* formatted with flipper infrared script
* Delete applications/main/infrared/tv.ir
* Delete applications/main/infrared/ac.ir
* Delete applications/main/infrared/audio.ir
* Delete applications/main/infrared/projector.ir
* more ac additions
* updated universal files: all buttons have same capitalization now, ran through infrared script again.
* improved raw signal checks on ac file
* updated ac.ir
* update ac.ir
* Infrared: remove duplicate data from projector.ir

Co-authored-by: あく <alleteam@gmail.com>
2024-10-08 14:07:05 +01:00
Ruslan Nadyrshin
41c35cd59e Documentation: update and cleanup (#3934)
* Developers Docs editing

* Logo underline removed

The underline has been removed when hovering over the logo.

* proofread docs

* application -> app in several files

---------

Co-authored-by: knrn64 <25254561+knrn64@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-10-08 15:27:16 +04:00
MX
d2226bd383 upd changelog 2024-10-07 06:09:16 +03:00
MMX
069161c638 Merge pull request #816 from amec0e/dev
Updated IR assets
2024-10-07 06:01:29 +03:00
MX
7eac8fbbb4 Merge remote-tracking branch 'noproto/nestednonces' into dev 2024-10-07 04:48:23 +03:00
MX
306e34c64b Merge remote-tracking branch 'OFW/dev' into dev 2024-10-07 04:47:24 +03:00
MX
86b8c8d859 LED universal remote
DB by amec0e
other things by me
2024-10-07 04:03:07 +03:00
Nathan N
f346412e27 Merge branch 'dev' into nestednonces 2024-10-06 16:22:03 -04:00
noproto
a905c1492d Handle invalid key candidates 2024-10-06 16:19:26 -04:00
Astra
0eaad8bf64 [FL-3896] Split BadUSB into BadUSB and BadBLE (#3931)
* Remove BLE from BadUSB
* Add the BadBLE app
* Format images to 1-bit B/W
* BadUsb: remove dead bits and pieces

Co-authored-by: あく <alleteam@gmail.com>
2024-10-06 20:21:31 +01:00
あく
0469ef0e55 FuriHal, drivers: rework gauge initialization routine (#3912)
* FuriHal, drivers: rework gauge initialization, ensure that we can recover from any kind of internal/external issue
* Make PVS happy
* Format sources
* bq27220: add gaps injection into write operations
* Drivers: bq27220 cleanup and various fixes
* Drivers: bq27220 verbose logging and full access routine fix
* Drivers: better cfg mode exit handling in bq27220 driver
* Drivers: rewrite bq27220 based on bqstudio+ev2400, experiments and guessing. Fixes all known issues.
* PVS: hello license check
* Drivers: minimize reset count in bq27220 init sequence
* Drivers: bq27220 hide debug logging, reorganize routine to ensure predictable result and minimum amount of interaction with gauge, add documentation and notes.
* Drivers: more reliable bq27220_full_access routine
* Drivers: replace some warning with error in bq27220
* Drivers: move static asserts to headers in bq27220
* Fix PVS warnings
* Drivers: simplify logic in bq27220

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
2024-10-06 22:36:05 +04:00
RebornedBrain
8c14361e6a [FL-3830] Emulation freeze (#3930)
Co-authored-by: あく <alleteam@gmail.com>
2024-10-06 17:55:13 +01:00
assasinfil
c3dc0ae6b9 Plantain parser improvements (#3469)
* Refactored card nubmer and balance
* Podorozhnik refactor
* Balance fix and BSK card support added

Co-authored-by: あく <alleteam@gmail.com>
2024-10-06 17:48:12 +01:00
assasinfil
6ead328bb7 Moscow social card parser (#3464)
* Updated troyka layout (full version)
* Changed to furi func
* Small refactor
* Bitlib refactor
* Moved to API
* Rollback troyka parser
* Fix functions
* Added MSK Social card parser
* Parser func refactor start
* Layout E3 refactored
* Layout E4 refactored
* Layout 6 refactored
* Layout E5 refactored
* Layout 2 refactored
* Layout E5 fix
* Layout E6 refactored, valid_date need fix
* Layout E6 fix
* Layout FCB refactored
* Layout F0B refactored
* Layout 8 refactored
* Layout A refactored
* Layout C refactored
* Layout D refactored
* Layout E1 refactored
* Layout E2 refactored
* Old code cleanup
* Memory cleanup
* Unused imports cleanup
* Keys struct refactor
* Keys struct refactor
* Layout E1 fix
* Added debug info for layout and department
* Fix social card parse validation
* Added card number validation
* Added transport data ui improvements from Astrrra's troyka render func.

Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-10-06 17:33:07 +01:00
Nikolay Marchuk
cfb9c991cb furi_hal_random: Wait for ready state and no errors before sampling (#3933)
When random output is not ready, but error state flags are not set,
sampling of random generator samples zero until next value is ready.
2024-10-06 16:56:35 +01:00
amec0e
f53a0d29be Update audio.ir
Removed additional whitespaces
2024-10-05 15:41:07 +01:00
amec0e
ffd0da1457 Update fans.ir
Removed additional whitespaces
2024-10-05 15:40:42 +01:00
amec0e
f858949372 Update projectors.ir
Removed additional whitespaces
2024-10-05 15:39:39 +01:00
amec0e
6814fe8fb3 Update tv.ir
Removed additional whitespaces
2024-10-05 15:38:33 +01:00
amec0e
58bac2571b Update audio.ir
New addition
2024-10-05 15:26:46 +01:00
amec0e
74c8a2b7b6 Update fans.ir
New addition
2024-10-05 15:26:23 +01:00
amec0e
b4c230f955 Update projectors.ir
New addition
2024-10-05 15:25:58 +01:00
amec0e
5c99477c1e Update tv.ir
New additions
2024-10-05 15:25:31 +01:00
MX
2e241f56eb rename everywhere 2024-10-05 14:55:09 +03:00
MX
09d6e4ee30 fix idle states 2024-10-05 12:16:37 +03:00
MX
ae14e8d3f0 upd changelog 2024-10-05 10:32:24 +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
MX
1ceb1eb256 Allow to disable control of GPIO pin on rx/tx states in subghz [ci skip]
in radio settings with debug ON, settings is saved on microsd, please don't use unless you know what you are doing
2024-10-05 08:44:21 +03:00
MX
54ad331c4c rename extract mf keys to extract MFC keys
because its used only for mifare classic, not for plus etc..
2024-10-05 07:04:21 +03:00
MX
94492eaa5e Merge remote-tracking branch 'OFW/astra/3896-bad-usble' into dev 2024-10-05 06:05:33 +03:00
MX
9bb3853c80 Merge remote-tracking branch 'noproto/nestednonces' into dev 2024-10-05 05:02:08 +03:00
MX
6b9d5d786b Merge remote-tracking branch 'RebornedBrain/reborned/scene_freeze' into dev 2024-10-05 04:47:24 +03:00
MX
83b0e46ccd merge ofw PR 3933
furi_hal_random: Wait for ready state and no errors before sampling

by n1kolasM

https://github.com/flipperdevices/flipperzero-firmware/pull/3933/files
2024-10-05 04:46:43 +03:00
noproto
4f722a00c0 Avoid storage errors, clean up temporary files 2024-10-04 18:41:29 -04:00
Astra
0aefb1c0f2 Format images to 1-bit B/W 2024-10-04 22:12:32 +09:00
Astra
3baadf976b Merge branch 'dev' into astra/3896-bad-usble 2024-10-04 22:08:36 +09:00
Astra
8bd1c598de Add the BadBLE app 2024-10-04 22:08:08 +09:00
Astra
97bf92e9b9 Remove BLE from BadUSB 2024-10-04 22:07:51 +09:00
noproto
00f356469e Fix log levels 2024-10-03 19:27:20 -04:00
Nathan N
232560f8e9 Merge branch 'dev' into nestednonces 2024-10-03 11:38:09 -04:00
MX
d91e390690 Merge remote-tracking branch 'OFW/dev' into dev 2024-10-02 23:18:30 +03:00
Astra
00c1611c33 Improve bit_buffer.h docs (#3783)
* Improve bit_buffer.h docs
* Toolbox: update doxygen comments fix spelling
* Toolbox: update bit lib docs

Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: gornekich <n.gorbadey@gmail.com>
2024-10-02 18:51:07 +01:00
Silent
56d2923f1f Prevent idle priority threads from potentially starving the FreeRTOS idle task (#3909)
* FuriThread: Make FuriThreadPriorityIdle equal to the FreeRTOS one, remove FuriThreadPriorityNone
  This magic constant was meaningless,
  FuriThreadPriorityNormal is now assigned by default instead.
* Make furi_thread_list_process private
  Its 'runtime' parameter is to be obtained from FreeRTOS,
  which means apps cannot do it.
* DirectDraw: Remove an useless include and fix memory leak
  Makes this debug app compileable with uFBT out of the box

Co-authored-by: あく <alleteam@gmail.com>
2024-10-02 18:11:13 +01:00
IRecabarren
7fc209f001 New layout for BadUSB (es-LA) (#3916)
* Add files via upload
* Readme: add SAST section

Co-authored-by: あく <alleteam@gmail.com>
2024-10-02 17:41:40 +01:00
jay candel
3c93761d1d [IR] universal remote additions (#3922)
* multiple new additions
  Hisense K321UW, Soniq E55V13A, Soniq E32W13B and 2 others
* updated with proper names
  Viano STV65UHD4K
  Hisense K321UW
  Hisense EN2B27
  Soniq E55V13A
  Soniq E32W13B
* format tv.ir
* Update tv.ir
* new universal ac additions
  Maytag M6X06F2A
  Panasonic CS-E9HKR
* new universal audio additions
  Sony MHC_GSX75
  Elac EA101EQ-G
  Philips FW750C
  Pioneer VSX-D1-S
* remove final # audio.ir
* Scripts: update deprecated methods use in python scripts
* Scripts: add comment reading support to fff, preserve comments in infrared cleanup script
* Scripts: improved infrared files cleanup script
* Scripts: add missing new line at the end of file in infrared file cleanup script
* Infrared: cleanup universal remotes

Co-authored-by: あく <alleteam@gmail.com>
2024-10-02 17:28:24 +01:00
Astra
09a7cc2b46 [FL-3805] Fix EM4100 T5577 writing block order (#3904) 2024-10-02 13:10:19 +01:00
RebornedBrain
79dc467ded New state added to avoid moving to blank screen 2024-10-01 13:26:35 +03:00
MX
73172b1090 upd changelog 2024-09-29 04:11:53 +03:00
MMX
93b94c68b3 Merge pull request #813 from amec0e/dev
Updated Infrared Assets
2024-09-29 04:10:13 +03:00
MX
bdb402b068 frequency analyzer multiple fixes
fix scenes crash, fix button logic
fix wrong calls to int module
make worker more OFW like, remove ext module unused code
2024-09-29 04:05:09 +03:00
RebornedBrain
180d1f0471 iso14443_4a poller logic enhanced 2024-09-28 22:19:18 +03:00
amec0e
6507f6870e Update tv.ir
Updated tvs with new additions
2024-09-27 21:19:59 +01:00
amec0e
1df959fecd Update projectors.ir
Updated projectors + temp fix still
2024-09-27 21:18:34 +01:00
amec0e
21f69d74f4 Update fans.ir
Updated fans with new additions
2024-09-27 21:16:55 +01:00
amec0e
9e046c116f Update audio.ir
Updated audio.ir with new additions
2024-09-27 21:13:43 +01:00
MX
50ae431a48 upd changelog 2024-09-26 21:59:07 +03:00
MX
e407c623e0 Revert "Merge remote-tracking branch 'OFW/portasynthinca3/3332-autolock-fixes' into dev"
This reverts commit ba4c4e528a, reversing
changes made to 16e4b9219a.
2024-09-26 21:58:50 +03:00
MX
b03d9f313b upd changelog 2024-09-26 19:44:29 +03:00
MX
d2a8e9fb5e princeton add support for different button coding type [ci skip] 2024-09-26 19:06:39 +03:00
noproto
ba672e775f Support CUID dictionary 2024-09-25 10:27:32 -04:00
MX
1932bd35a5 upd readme 2024-09-25 05:31:21 +03:00
noproto
099bb4071a Fix include paths cont 2024-09-24 22:21:15 -04:00
noproto
61e24fcb13 Fix include paths 2024-09-23 21:55:39 -04:00
noproto
0ba8ac4ed0 Uniformly use crypto1_ prefix for symbols in Crypto1 API 2024-09-23 19:44:08 -04:00
noproto
cd76926c74 Note minor inefficiency 2024-09-23 19:13:20 -04:00
noproto
6ae950673e No nested dictionary attack re-entry 2024-09-23 19:06:08 -04:00
noproto
4eb0f2a21b Log static 2024-09-23 18:03:15 -04:00
noproto
901bdf9692 Fix calibration (ensure values are within 3 standard deviations) 2024-09-23 15:54:50 -04:00
noproto
6a77ab77b0 Dismiss duplicate nonces 2024-09-23 14:26:19 -04:00
RebornedBrain
8027c300c3 Added new method for drawing mirrored XBM bitmaps 2024-09-23 11:16:23 +03:00
RebornedBrain
b0c4600115 Now 4a listener invokes upper level callback on Halt and FieldOff 2024-09-23 11:13:24 +03:00
MX
42ab90b19b upd changelog 2024-09-21 04:10:17 +03:00
MX
ba4c4e528a Merge remote-tracking branch 'OFW/portasynthinca3/3332-autolock-fixes' into dev 2024-09-21 03:54:08 +03:00
MX
16e4b9219a merge ofw pr 3885 - Add API to enforce ISO15693 mode [ci skip]
by aaronjamt

https://github.com/flipperdevices/flipperzero-firmware/pull/3885/files
2024-09-21 03:50:03 +03:00
noproto
c21b35951a Note TODO (malloc) 2024-09-20 13:09:04 -04:00
noproto
6eccdc8f93 Zero nested_target_key and msb_count on exit 2024-09-20 11:53:04 -04:00
MX
0df33899eb Frequency analyzer fixes and improvements
disable ext module due to lack of required hardware on them and incorrect usage of freq analyzer, like trying to receive "signals" with it (from the space??), while it should be used only to get frequency of the remote placed around 1-10cm around flipper's left corner

Also fix possible GSM mobile towers signal interference by limiting upper freq to 920mhz max

Fix dupliacted freq lists and use user config for nearest freq selector too (finally)
2024-09-20 06:35:46 +03:00
noproto
96606dc36f Typo 2024-09-18 12:52:22 -04:00
noproto
c1cdd491a6 Implement progress bar for upgraded attacks in NFC app 2024-09-18 12:51:48 -04:00
noproto
d8864a490b Add nested_target_key 64 to TODO 2024-09-17 17:40:17 -04:00
noproto
8eae5c0608 Fix Hardnested sector/key type logging 2024-09-17 17:07:31 -04:00
noproto
3ab752b7a0 Clean up various issues 2024-09-17 14:38:14 -04:00
Anna Antonenko
ea9a5f42e0 style: fix linter error(?) 2024-09-17 13:26:28 +03:00
Anna Antonenko
4a8202514d style: fix linter errors 2024-09-16 19:29:55 +03:00
MX
31df2c0655 upd changelog 2024-09-16 19:17:05 +03:00
MX
2826382970 fix check [ci skip] 2024-09-16 18:31:02 +03:00
MX
2af87cdb70 hollarm button codes and gangqi validator allow more serials [ci skip] 2024-09-16 18:01:51 +03:00
MX
521de2bc04 Merge remote-tracking branch 'OFW/dev' into dev 2024-09-16 18:00:02 +03:00
Anna Antonenko
1a9aca2d8c fix: always autolock if pin set 2024-09-16 17:11:31 +03:00
Anna Antonenko
15b271bd92 fix: cli autolock inhibit 2024-09-16 16:27:24 +03:00
Anna Antonenko
a5b3d71e59 feat: cli icon on the desktop 2024-09-16 15:37:40 +03:00
Nathan N
4836a54847 Merge branch 'flipperdevices:dev' into nestednonces 2024-09-16 05:27:52 -04:00
noproto
18f8cfbef0 Do not reset the poller between collected nonces 2024-09-16 05:28:04 -04:00
EntranceJew
913a86bbec kerel typo (#3901)
Co-authored-by: あく <alleteam@gmail.com>
2024-09-15 16:07:04 +01:00
porta
19a3736fe5 [FL-3891] Folder rename fails (#3896)
* fix, refactor: storage is_subdir API
* docs: fix incorrect comment
* test: new storage apis
* test: use temporary path
* style: fix formatting
* UnitTest: storage path macros naming
* UnitTest: storage path macros naming part 2

Co-authored-by: あく <alleteam@gmail.com>
2024-09-15 16:01:42 +01:00
MX
891a6c047a Merge remote-tracking branch 'OFW/dev' into dev 2024-09-13 22:26:58 +03:00
porta
b670d5b6e2 [FL-3885] Put errno into TCB (#3893)
* feat: thread-safe errno
* ci: fix pvs warning
* ci: silence pvs warning
* fix: 🤯
* test: convert test app into a unit test
2024-09-13 18:31:07 +01:00
noproto
8edafa3f39 Do not enter nested attack if card is already finished 2024-09-12 14:28:18 -04:00
porta
0428e82b14 Fix USB-UART bridge exit screen stopping the bridge prematurely (#3892)
* fix: exit screen stopping bridge prematurely
* refactor: merge exit confirmation scene into main usb uart scene
2024-09-12 17:32:07 +01:00
noproto
13411da449 I'll try freeing memory, that's a good trick! 2024-09-11 16:22:52 -04:00
Nathan N
8d26636fba Merge branch 'flipperdevices:dev' into nestednonces 2024-09-10 20:13:20 -04:00
MX
c2f6ce7e54 upd readme [ci skip] 2024-09-11 03:00:09 +03:00
MX
f9f2938bd4 upd changelog 2024-09-11 02:28:00 +03:00
noproto
ab0debba02 Add additional condition to backdoor check 2024-09-10 19:20:53 -04:00
MX
1ca240b624 princeton custom buttons support [ci skip] 2024-09-11 01:59:41 +03:00
MMX
69598746bc Merge pull request #805 from chrostino/patch-1
Update SubGHzRemoteProg.md to improve BFT Mitto steps
2024-09-11 01:58:56 +03:00
MX
2aa4797b12 Merge remote-tracking branch 'OFW/portasynthinca3/usbuart-stay-fix' into dev 2024-09-11 01:44:29 +03:00
chrostino
117e1789c1 Update SubGHzRemoteProg.md
Improved the description steps to create a new remote BFT Mitto with more detailed and accurate instructions
2024-09-10 22:30:58 +02:00
noproto
c43806b5db Speed up backdoor detection, alert on new backdoor 2024-09-10 14:10:09 -04:00
Anna Antonenko
c1a009aed0 fix: exit screen stopping bridge prematurely 2024-09-10 19:58:44 +03:00
noproto
d7484ee840 Fix v1/v2 backdoor nonce collection 2024-09-10 09:03:11 -04:00
MX
c1d31edda1 upd changelog 2024-09-10 06:12:13 +03:00
MX
ce53ed2a7c fix wrong menu order [ci skip] 2024-09-10 06:03:54 +03:00
MX
876cbc40b7 Merge remote-tracking branch 'OFW/dev' into dev 2024-09-10 05:48:55 +03:00
noproto
ab8bc3e21c Clear TODO line 2024-09-09 20:51:51 -04:00
noproto
cba58ed437 Add new backdoor key, fix UI status update carrying over from previous read 2024-09-09 20:50:15 -04:00
RebornedBrain
5f4f4fcc60 FeliCa anti-collision fix (#3889)
* System code added to felica hal config functions
* Felica sensf_res setup logic adjusted with new struct
* Set api symbols version to 73.0
* Felica unit tests fix
* Furi: prevent use after free on xEventGroupSetBits call

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-09-09 22:11:53 +01:00
Zinong Li
78c5dd95d8 LFRFID GProxII Fix Writing and Rendering Conflict (#3888) 2024-09-09 18:23:18 +01:00
gornekich
9558a5fa08 Merge branch 'dev' into nestednonces 2024-09-09 13:34:47 +01:00
MX
533fe10738 upd changelog 2024-09-09 05:15:29 +03:00
MX
80ad381eef extra checks [ci skip] 2024-09-09 05:13:02 +03:00
MX
b6644d7727 merge fixes [ci skip] 2024-09-09 04:13:10 +03:00
MX
7711b2daae Merge remote-tracking branch 'OFW/dev' into dev 2024-09-09 04:11:35 +03:00
MX
5da447a2b0 more chance to generate working remote at gangqi 2024-09-09 04:11:00 +03:00
Silent
70d8951fb7 FuriTimer: Use an event instead of a volatile bool to wait for deletion (#3887)
Co-authored-by: あく <alleteam@gmail.com>
2024-09-09 00:04:56 +01:00
christhetech131
543f6058e5 Infrared: add TCL 75S451 to TV universal remote (#3880)
* Update tv.ir
* Infrared: mark TCL 75S451 block in universal remote, cleanup extra spaces

Co-authored-by: あく <alleteam@gmail.com>
2024-09-08 23:54:38 +01:00
Eric Betts
75f4782fab Rename 'Detect Reader' to 'Extract MF Keys' (#3874)
* Rename 'Detect Reader' to 'Collect Nonces'
* Updated name
* Updated name
* Format Sources

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-09-08 23:43:14 +01:00
Zinong Li
a122ee75f6 LFRFID: Guard GProxII Wiegand Check Against False Positive and Correct 36-bit Parsing (#3868)
* Update protocol_gproxii.c
* 36 bit format parsing fix
* Update protocol_gproxii.c
* wiegand checks as single function
* LfRfid: simplify gprox wiegand payload validation flow
* LfRfid: extra furi_check in gprox wiegand validation code

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-09-08 11:25:31 +01:00
MX
6911ba12ad Merge remote-tracking branch 'OFW/dev' into dev 2024-09-07 22:31:11 +03:00
Silent
8c2223df5d Threading, Timers improvements (#3865)
* FuriTimer: Use a local variable to wait for deletion

This combines the current synchronous behaviour
(as we could have deferred the free call too) with
a smaller FuriTimer - it's safe to pass a pointer to
a local variable to this pending timer call, because we
know it'll be finished before the caller returns

* Tighten the use of FuriThread* vs FuriThreadId

Event loop and Loader mixed those two,
but the fact those are aliases should be an implementation detail.
For this reason, thread.c is still allowed to mix them freely.
2024-09-07 19:18:51 +01:00
Silent
8672a1d94c Replace all calls to strncpy with strlcpy, use strdup more, expose strlcat (#3866)
strlcpy doesn't zero the buffer and ensures null termination,
just like snprintf

strlcat is already used by mjs and it's a safe alternative to strcat,
so it should be OK to expose to apps
2024-09-07 17:16:56 +01:00
Aleksandr Kutuzov
9ea7a4671a Merge remote-tracking branch 'origin/dev' into nestednonces 2024-09-07 13:47:07 +01:00
Thomas Nemer
9bdf41d8ff feat: add linux/gnome badusb demo resource files (#3846)
* feat: add linux/gnome badusb demo resource files
* doc: use latest appimage package and install icon and desktop file

Co-authored-by: Thomas N <atom@fortytwo.fr>
Co-authored-by: あく <alleteam@gmail.com>
2024-09-07 13:25:13 +01:00
porta
266d4b3234 [FL-3897] Happy mode (#3863)
* feat: happy mode
* feat: remove sad dolphin when powering off in happy mode
* style: address review comments
* Dolphin: add missing furi_checks
* Komi: add missing region initialization on startup

Co-authored-by: あく <alleteam@gmail.com>
2024-09-07 12:54:23 +01:00
Astra
3c75356b49 Fix detection of GProx II cards and false detection of other cards (#3869)
* Fix detection of GProx II cards and false detection of other cards as GProx II
* Fix incorrect parity starting bit

Co-authored-by: あく <alleteam@gmail.com>
2024-09-07 12:12:06 +01:00
MX
3f8a92bc86 Merge remote-tracking branch 'OFW/dev' into dev 2024-09-06 19:13:51 +03:00
Silent
8caa861cc7 Exposed view_dispatcher_get_event_loop (#3858)
* Exposed view_dispatcher_get_event_loop
* Bump api symbols

Co-authored-by: あく <alleteam@gmail.com>
2024-09-06 14:11:05 +01:00
Astra
ad27713f0d [FL-3766] Fix crash on Ultralight unlock (#3855)
* Fix crash on Ultralight unlock
* Infrared: safe macroses

Co-authored-by: あく <alleteam@gmail.com>
2024-09-06 12:44:32 +01:00
MX
6adf4919c7 upd changelog 2024-09-06 13:06:05 +03:00
MX
4098ee927e Merge remote-tracking branch 'OFW/dev' into dev [ci skip] 2024-09-06 12:56:52 +03:00
MX
ad1c9045af use global counter 2024-09-06 12:56:35 +03:00
RebornedBrain
e0654fe409 [FL-3890] Infrared button operation fails now shows more informative messages (#3859)
* Error codes enum added
* Adjusted signal api to return error codes instead of bool
* Remote api adjusted to work with error codes
* Brute force logic adjusted to work with error codes
* Other application functions adjust to work with error codes
* All task callbacks now return ErrorCode through int32t, which belongs to thread
* All scenes now work with error codes
* More api functions now return error code
* Now signal names are buffered and restored in case of error.
* New error code enumeration added. Now least significant byte is left for the button index
* Some macro to simplify error setup and error check
* Error code checks replaced by macro
* Different message is now shown when move failed
* Comments updated
* Fixed error check
* Fixed navigation issue while openning broken files from Favorites
* Now search by index also returns index in addition to error code
* Remote loading logic adjusted
* New error codes added and numbers adjusted
* New error message when loading library file instead of signal one
* Some more remote loading logic adjusted
* New error message on rename fail
* Grammar mistake fix
* Function signature changed
* Function usage adjusted according to new signature

Co-authored-by: あく <alleteam@gmail.com>
2024-09-06 10:52:00 +01:00
MX
80a555a232 Merge remote-tracking branch 'OFW/dev' into dev 2024-09-06 12:50:15 +03:00
MX
64e231ae8d fix logic 2024-09-06 12:47:43 +03:00
WillyJL
6a1c27ef93 Loader: Warn about missing SD card for main apps (#3875)
Co-authored-by: あく <alleteam@gmail.com>
2024-09-06 10:43:07 +01:00
MX
5198cd25ef upd changelog 2024-09-06 12:40:51 +03:00
MX
2927e211a7 Merge remote-tracking branch 'OFW/dev' into dev 2024-09-06 12:40:06 +03:00
WillyJL
4fd76524c9 Desktop: Sanity check PIN length for good measure (#3879)
* Desktop: Sanity check PIN length for good measure
* Desktop: replace hardcoded values with macros in desktop_view_pin_input.c

Co-authored-by: あく <alleteam@gmail.com>
2024-09-06 10:33:17 +01:00
MX
910380559b move logic 2024-09-06 12:16:34 +03:00
MX
4d8777d3a0 deduplicated
per @mishamyte request :))
2024-09-06 12:14:02 +03:00
MX
8d731f3b1b hay21 add 3rd button 2024-09-06 11:52:03 +03:00
MX
7333c550d2 hay21 small ui fix 2024-09-06 11:46:11 +03:00
MX
58a167586e upd changelog 2024-09-06 11:37:23 +03:00
MX
2e0cebc4f8 add hay21 dynamic protocol [ci skip] 2024-09-06 11:23:02 +03:00
MX
2762ff2def gangqi serial validator and fix add manually 2024-09-06 10:11:43 +03:00
MX
0ad8c67ab6 one byte 2024-09-06 00:55:29 +03:00
MX
eed32aca77 Merge remote-tracking branch 'OFW/dev' into dev 2024-09-06 00:48:44 +03:00
MX
a4eebd7ad6 Add hollarm 42bit protocol and more
custom button support and add manually support for new protocols
2024-09-06 00:46:29 +03:00
WillyJL
c6326915ae DialogEx: Fix NULL ptr crash (#3878) 2024-09-05 22:13:03 +01:00
Valera Olexienko
20aff7320f Infrared: Add Airwell AW-HKD012-N91 (#3856)
Co-authored-by: あく <alleteam@gmail.com>
2024-09-05 21:14:57 +01:00
RebornedBrain
49e1ae6e87 [FL-3895] Broken file interaction fixes (#3852)
* Show error screen if corrupted filed has been loaded
* Added rpc error codes and error processing to NFC
* Made iButton scene on_enter handler clear to prevent showing scene before file is loaded
* Added rpc error codes and error processing to iButton
* Made lfRfid scene on_enter handler clear to prevent showing scene before file is loaded
* Added rpc error codes and error processing to lfRfid
* Made SubGHz scene on_enter handler clear to prevent showing scene before file is loaded. Also moved file_name_tmp formatting logic to a separate function
* Now function returns loading status and starts rx only if load succeeded
* Added show error logic on tx_button start
* Introduced rpc error codes for infrared
* Adjusted rpc scene logic to show scene only when
loading is fine
* Added new  list of rpc errors which are common within several applications
* Removed same enums from apps
* Same rpc error in different apps replaced with common value from rpc error code list
* SubGHz error codes now start from RpcAppSystemErrorCodesReserved value
* Infrared error codes now start from RpcAppSystemErrorCodesReserved value
* Removed unused enum
* Now all rpc error codes are more generalized and can be used among all apps without any specific enums
* Removed specific error codes, now rpc error codes are used instead
* RPC: no plurals in enums

Co-authored-by: あく <alleteam@gmail.com>
2024-09-05 20:54:49 +01:00
MX
2683f950a7 return back after merge 2024-09-05 22:14:40 +03:00
MX
56530ee61c Merge remote-tracking branch 'OFW/dev' into dev 2024-09-05 22:10:41 +03:00
あく
62bbf406be Debug: use proper hook for handle_exit in flipperapps (#3842)
* Debug: use proper hook for handle_exit in flipperapps
* fbt: flash firmware for `blackmagic` target

Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: Georgii Surkov <37121527+gsurkov@users.noreply.github.com>
2024-09-05 19:55:43 +01: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
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
Skorpionm
6a48dd28f5 SubGhz: Fix RPC status for ButtonRelease event (#3838)
Co-authored-by: あく <alleteam@gmail.com>
2024-09-05 16:10:12 +01:00
Filipe Paz Rodrigues
4a58930247 CCID: App changes (#3837)
- Keep ccid_callback and buffer as private to the iso7816_handler
- set usb ccid callback from iso7816_handler (to ensure the right structure is being passed)
- make iso7816 related code independent from furi related code (goal is to make it independently testable)
- rename vars

Co-authored-by: あく <alleteam@gmail.com>
2024-09-05 16:04:32 +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
24325e4418 gangqi add button parsing 2024-09-05 03:54:16 +03:00
MX
b5a22512be upd changelog 2024-09-04 04:47:56 +03: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
ed4c5eb7bf saflok parser improvements [ci skip]
by @zinongli & @xtruan & @zacharyweiss & @evilmog & @Arkwin
2024-09-04 04:35:02 +03:00
MX
b7bc060ad5 Merge remote-tracking branch 'OFW/astra/3766-unlock-crash-fix' into dev 2024-09-04 04:28:51 +03:00
noproto
b09d5a0069 Bump f18 API version (all functions are NFC related) 2024-09-03 20:20:49 -04: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
Nathan N
7bb33497ae Merge branch 'flipperdevices:dev' into nestednonces 2024-09-03 15:18:23 -04:00
noproto
92122b2cdf NFC app UI updates, MVP 2024-09-03 15:19:12 -04:00
noproto
3cb3eab118 Update TODO 2024-09-03 11:36:19 -04:00
noproto
2e0cd320c7 Static encrypted nonce collection 2024-09-03 09:26:14 -04:00
noproto
6e9fe1edd8 Don't recalibrate hard PRNG tags 2024-09-03 05:54:59 -04: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
noproto
2cb2f05ea9 Backdoor nested calibration 2024-09-02 22:34:44 -04:00
noproto
9c7120ec91 Backdoor working up to calibration 2024-09-02 18:53:39 -04:00
noproto
ccc4326574 Backdoor read 2024-09-02 12:45:39 -04:00
noproto
2abeb071fd Fix regression for regular nested attack 2024-09-02 10:28:50 -04: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
noproto
90d0c3d095 Hardnested support 2024-09-01 22:30:37 -04:00
Nathan N
144424e04a Merge branch 'flipperdevices:dev' into nestednonces 2024-08-30 10:25:42 -04:00
Astra
7c88a4a8f1 [FL-3899] Add the Procrastination animation (#3860)
* Add the Procrastination animation: sorry been putting off doing this for a while
* Reformat images
2024-08-29 21:21:25 +09:00
noproto
4c14594ebb Relocate backdoor detection 2024-08-28 09:26:59 -04:00
noproto
c0331ba2e2 Should be detecting both backdoors now 2024-08-27 19:35:33 -04:00
noproto
0b33c85b8b Collect nonces again 2024-08-27 16:16:38 -04:00
noproto
5235592054 Only use dicts in search_dicts_for_nonce_key if we have them 2024-08-27 06:32:00 -04:00
Astra
0e71813749 Fix crash on Ultralight unlock 2024-08-26 20:46:49 +09:00
noproto
26845cbdc5 Misc bugfixes 2024-08-21 00:50:27 -04:00
noproto
c1f01ce66a Code cleanup 2024-08-20 18:04:07 -04:00
noproto
75a0e4bc9d Update found keys, second attempt 2024-08-20 16:33:13 -04:00
noproto
bbc10cdfaf Update found keys, initial attempt 2024-08-20 16:31:39 -04:00
noproto
b7e63bf499 Hard PRNG support for accelerated dictionary attack 2024-08-19 23:00:36 -04:00
noproto
08ca794b7d Renaming some variables 2024-08-19 07:37:21 -04:00
noproto
0af28fb221 Refactor to nested dictionary attack 2024-08-19 07:33:17 -04:00
noproto
79bc887f95 Initial accelerated dictionary attack for weak PRNGs 2024-08-18 20:38:24 -04:00
MX
889c80e900 upd changelog 2024-08-18 01:09:44 +03:00
MX
a6d0efef83 fix any path for badusb favourites 2024-08-18 01:01:14 +03:00
MX
6a93494506 Settings: Show free flash amount in internal storage info [ci skip]
by Willy-JL
2024-08-18 00:45:12 +03:00
MX
02553d0c6b upd changelog 2024-08-17 18:02:56 +03:00
MX
67dae229a9 merge ofw PR 3840 [ci skip]
GUI: NumberInput small improvements by Willy-JL
2024-08-17 17:54:06 +03:00
MX
6a689d29ce Merge branch 'OFW/skorp/subghz_fix_rpc' into dev [ci skip] 2024-08-17 16:11:31 +03:00
noproto
cc8cae770f FM11RF08S backdoor detection 2024-08-15 17:58:37 -04:00
noproto
8d1a2203ae Merge remote-tracking branch 'origin/dev' into nestednonces 2024-08-15 10:58:32 -04:00
noproto
01b19483c5 First attempt disambiguous nonce implementation 2024-08-14 02:25:57 -04:00
SkorP
e15a56c988 SubGhz: Fix RPC status for ButtonRelease event 2024-08-12 15:47:45 +04:00
MX
f6ebc13342 Merge remote-tracking branch 'OFW/dev' into dev 2024-08-12 12:41:59 +03:00
hedger
99655c15e4 scripts: improved size validator for updater image (#3834)
* scripts: update.py: reduced reservation size for flash memory; improved error messages; added checks for updater images
* scripts: update: fixed imports

Co-authored-by: あく <alleteam@gmail.com>
2024-08-12 10:09:41 +09:00
あく
702db8925f Desktop: seaprate callbacks for dolphin and storage subscriptions (#3836)
* Desktop: seaprate callbacks for dolphin and storage subscriptions
* dolphin: renamed local variable to prevent unintended overrides

Co-authored-by: hedger <hedger@nanode.su>
2024-08-12 09:51:43 +09:00
noproto
6332ec7478 Fix valid_nonce 2024-08-11 14:30:26 -04:00
MX
98af4f4a71 upd changelog 2024-08-10 20:55:44 +03:00
MX
c211803076 upd subremote [ci skip] 2024-08-10 15:33:50 +03:00
MX
19c13baa48 fix rgb patch [ci skip] 2024-08-10 15:06:39 +03:00
MX
7b56945538 oops 2024-08-10 14:50:48 +03:00
MX
821f5bab18 Merge remote-tracking branch 'OFW/dev' into dev 2024-08-10 14:47:38 +03:00
MX
6c0dadad3f after merge fixes 2024-08-10 14:42:11 +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
MX
6c6d64f1bd ifdef fixes for subremote 2024-08-10 12:13:21 +03:00
noproto
3acba77070 Clean redundant code 2024-08-09 22:08:35 -04:00
noproto
5feeae8972 Fix nonce logging 2024-08-09 22:01:43 -04:00
noproto
4b44288c96 Add note to fix nonce logging 2024-08-09 20:38:45 -04:00
noproto
8dd3daf625 Fixed parity bit collection 2024-08-09 20:22:19 -04: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
Georgii Surkov
d2ff2825ca [FL-3888] Make file extensions case-insensitive (#3828)
Co-authored-by: あく <alleteam@gmail.com>
2024-08-09 16:14:40 +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
Georgii Surkov
235cb649a6 [FL-3883] Remove internal storage folder if corresponding flag set (#3824)
* Remove the .int directory when the flag is set
* Improve error handling and variable naming
* Cleanup the code
* Fix updater build

Co-authored-by: あく <alleteam@gmail.com>
2024-08-09 15:40:42 +09:00
David Lee
741329a743 Added a text input that only accepts full numbers (int) (#3350)
* Added a text input that only accepts full numbers (int)
* Added to Gui sdk_headers and api_symbols in f7 and f18
* Fixed _Bool declarations in symbols csv
* renamed int_input to number_input
* Changed name & added example fap
* Added a text input that only accepts full numbers (int)
* Added to Gui sdk_headers and api_symbols in f7 and f18
* Changed name & added example fap
* update for clearing views
* GUI: Fix array out of bounds in menu exit (#3604)
* GUI: Fix array out of bounds in menu exit
* Gui: fix incorrect empty menu handling
* Gui: add missing item check in menu ok handling
* Gui: remove dead code from menu module
* nfc app: add legacy keys for plantain cards (#3602)
* refactoring test app, part 1
* Refactor test app, part 2
* Minor updates while travelling
* Switched from const char to FuriString. Using Temp module copy for development to spare compile time
* Option to limit number output with min and max values
* Preparations for option to change number sign from + to -
* Preparations for option to change number sign from + to -
* Preparing for testing
* counter automatic API version change
* added trailing comma in application.fam ... because the lint check wants it¿
* removed unused callback NumberChangedCallback
* change uint8_t to size_t in number_input_backspace_cb
* Removal of unused view_stack in demo app
* copied module to app folder for faster development (remove later)
* Replaced all uint8_t with size_t... removed unused logic for selected_row < 0
* Optimize use of canvas_set_color
* Remove alloc/free of furistring that actually is a pointer
* Dynamic Header text with min/max in Example
* Removed the need of useSign in Model
* Number_input Removed sign from model, started transfer from text to int32_t
* number_input FuriString in input_show_number
* number_input FuriString in input_show_number
* limiting inputs for min/max values
* limiting inputs for min/max values
* number_input change save button on invalid numbers
* input_number update demo app to allow change of min/max
* number input fine tuning
* number_input, Remove temp development folder
* number_input, fbt format
* Bump CSV Files
* Clear input if value is zero
* number_input: handle null on header text
* number_input: change keyboard values to char
* number input: Remove static on char for header text, change numbers to INT32_MIN/INT32_MAX
* number_input: removal of dead code
* number_input: fix for crash if number_input not opened before free
* number_input: added icon for example app
* number_input: Replaced view for show_number with DialogEx
* Number_input: FBT Format
* number_input: bump csv versions
* number_input: allow negative input if max_value is 0
* Number_input: linting / format
* Removed dead code, fbt format
* Examples: cleanup number input code
* Examples: moar code cleanup in number input, simplify as much as possible, highlight incorrect input handling
* Gui: correctly handle INT_MAX and INT_MIN
* Gui: fix memory leak in number input module

Co-authored-by: David Lee <david.lee@arcmedia.ch>
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
Co-authored-by: WillyJL <49810075+Willy-JL@users.noreply.github.com>
Co-authored-by: gornekich <n.gorbadey@gmail.com>
2024-08-08 15:05:48 +09: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
Georgii Surkov
0b19fd29e6 [FL-3880] Fix cumulative error in infrared signals (#3823)
* Correct for pulse duration cumulative discrepancy
* Add infrared test application
* Build infrared_test_app for f7 only

Co-authored-by: あく <alleteam@gmail.com>
2024-08-07 12:05:53 +09:00
Sean Skyhawk
41fcead710 Images linting: ensure that all images conform specification (#3802)
* Change all icons to be white background
* assets: re-processed all *.png images to 1-bit
* assets: also stripped profile data from .pngs
* assets: also stripped datetime from metadata (`-define png:exclude-chunks=date,time`)
* scripts: added image linter and formatter; fbt: added `lint_img` && `format_img` targets; github: integrated image lint step into CI
* scripts: imglint: fixed deprecation warning
* images: applied `format_img`
* fbt: added `lint_all` and `format_all` targets; docs: updated for new targets

Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: hedger <hedger@users.noreply.github.com>
2024-08-07 11:57:32 +09:00
noproto
7d2cab5d77 Modify parity collection 2024-08-05 10:29:54 -04:00
noproto
09f8a73751 Use median calibrated distance, collect parity bits 2024-08-04 23:53:21 -04:00
Nathan N
e61b543da4 Merge branch 'flipperdevices:dev' into nestednonces 2024-08-04 08:29:21 -04:00
noproto
6d666389fb Use EXT_PATH instead of ANY_PATH 2024-08-04 08:30:02 -04: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
noproto
9ba78bf085 Identified method to reduce candidate states 2024-08-03 21:35:52 -04:00
MX
8189062771 merge fixes 2024-08-02 16:47:12 +03:00
noproto
213ec1dfb0 Fix compilation 2024-08-02 08:15:53 -04:00
Nathan N
d3bf372ba3 Merge branch 'flipperdevices:dev' into nestednonces 2024-08-02 07:03:59 -04:00
noproto
ef16770f5e Dictionary attack structure 2024-08-02 07:04:43 -04:00
MX
856fe752de Merge remote-tracking branch 'OFW/dev' into dev 2024-08-02 11:09:56 +03:00
Astra
4f46032d32 [NFC] Change the plantain last number display from "?" to "X" (#3819) 2024-08-02 15:03:12 +09:00
noproto
b15460315e Nonce logging 2024-08-01 22:16:10 -04:00
noproto
cf6d6bb9af Initial structure for nonce collection 2024-08-01 09:10:02 -04: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
Filipe Paz Rodrigues
53cf700521 CCID App: Refactor (#3808)
- Move iso7816 related code to its own folder
- Refactor Iso7816Callback into Iso7816Handler
- Created new file for CCID commands
- Renamed variables according to standard

Co-authored-by: あく <alleteam@gmail.com>
2024-08-01 06:44:04 +09:00
Astra
f73d60cba8 [FL-3766] Refactor detected protocols list (#3809)
* Refactor detected protocols list
* nfc app: fix detect protocols file name
* nfc app: fix function naming
* nfc app: fix detected protocol menu selection

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: gornekich <n.gorbadey@gmail.com>
2024-08-01 06:37:37 +09:00
Astra
59eb749b2b [FL-3879] Fix plantain balance string (#3813)
* Fix balance string
* nfc app: remove ? in plantain

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: gornekich <n.gorbadey@gmail.com>
2024-08-01 05:57:00 +09: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
hedger
afc4e299a1 toolchain: v39 (#3793)
* toolchain: v39
* vscode, sublime: re-enabled clangd binary from toolchain as language server
* Sublime project: update for toolchain v39

Co-authored-by: あく <alleteam@gmail.com>
2024-07-30 11:30:25 +09:00
あく
360005c1d5 Furi: update string documentation (#3803)
Co-authored-by: hedger <hedger@nanode.su>
2024-07-29 17:06:08 +04:00
Liam Hays
a403e5f543 Fix typo in "charge me" screen. (#3812) 2024-07-28 23:21:56 +03:00
MX
b2305ce5c7 upd changelog 2024-07-28 19:55:18 +03:00
MX
30c2676d60 subghz fix crash and wrong states 2024-07-28 19:46:35 +03:00
MX
09597ca898 Merge remote-tracking branch 'OFW/dev' into dev 2024-07-28 19:09:49 +03:00
Jan Wiesemann
0223c23cfb Reordered VS-Code Tasks to follow the [Release] > [Debug] schema (#3810)
Co-authored-by: hedger <hedger@users.noreply.github.com>
2024-07-28 01:03:35 +03:00
Leonid Meleshin
173ecc800e Remove unused entries from .editorconfig (#3811) 2024-07-28 00:57:39 +03:00
MMX
121b5e045f Merge pull request #782 from derskythe/feat/frequency-analyzer-refactor
feat: Refactor frequency analyzer code for better readability
2024-07-27 06:30:29 +03:00
MMX
6a86a1390a Merge pull request #783 from derskythe/fix/docs-formating
fix: remove not printable symbols and update FAQ and BadUSB documenta…
2024-07-27 06:30:06 +03:00
MMX
b604ec61f7 Merge pull request #785 from eltociear/patch-2
Debug: update QueueTools.py
2024-07-27 06:29:54 +03:00
Ikko Eltociear Ashimine
f8b0eab063 Debug: update QueueTools.py
availabe -> available
2024-07-27 00:57:58 +09:00
DerSkythe
74527d97b9 Update fbt.md
Signed-off-by: DerSkythe <31771569+derskythe@users.noreply.github.com>
2024-07-24 19:40:28 +04:00
DerSkythe
012796d113 Update FuriHalBus.md
Signed-off-by: DerSkythe <31771569+derskythe@users.noreply.github.com>
2024-07-24 19:33:22 +04:00
DerSkythe
0286a336a1 Update FAQ.md
Signed-off-by: DerSkythe <31771569+derskythe@users.noreply.github.com>
2024-07-24 19:32:38 +04:00
DerSkythe
f8ad2b556b Update BadUsbScriptFormat.md
Signed-off-by: DerSkythe <31771569+derskythe@users.noreply.github.com>
2024-07-24 19:13:47 +04:00
DerSkythe
63351f3fb6 Update Reading logs via the Dev Board.md
Signed-off-by: DerSkythe <31771569+derskythe@users.noreply.github.com>
2024-07-24 19:12:40 +04:00
DerSkythe
6947efae27 Update Firmware update on Developer Board.md
Signed-off-by: DerSkythe <31771569+derskythe@users.noreply.github.com>
2024-07-24 19:05:14 +04:00
DerSkythe
a1f961ea2a Update Get started with the Dev Board.md
Signed-off-by: DerSkythe <31771569+derskythe@users.noreply.github.com>
2024-07-24 19:01:47 +04:00
DerSkythe
5d82ecfed5 Update Get started with the Dev Board.md
Signed-off-by: DerSkythe <31771569+derskythe@users.noreply.github.com>
2024-07-24 19:00:38 +04:00
DerSkythe
4b4e9cab8b Update Get started with the Dev Board.md
Signed-off-by: DerSkythe <31771569+derskythe@users.noreply.github.com>
2024-07-24 18:47:36 +04:00
DerSkythe
4ed19b518b fix: remove not printable symbols and update FAQ and BadUSB documentation links for clarity
This commit improves the documentation by converting raw URLs into descriptive text links in the FAQ and BadUSB documentation. This enhances readability and navigation for users looking for specific information. Additionally, minor formatting adjustments were made for better consistency and clarity.
2024-07-24 18:39:47 +04:00
DerSkythe
23903e7e8d feat: Refactor frequency analyzer code for better readability
Refactor to improve structure and readability of the frequency analyzer code. This includes added comments, updating variable names, and reorganizing the frequency list for clarity. The changes also address initialization issues and clean up repetitive code blocks.
2024-07-24 18:12:50 +04:00
MX
72af00ecc1 add qr codes [ci skip] 2024-07-24 01:48:03 +03:00
MX
bcdc4c9ed6 upd changelog 2024-07-22 01:47:55 +03:00
MX
69c780fddb subghz update hopping config text
by Willy-JL
2024-07-22 01:47:19 +03:00
MX
3d46a62f71 Merge remote-tracking branch 'OFW/dev' into dev [ci skip] 2024-07-21 03:34:45 +03:00
Astra
4258db3888 [FL-3752] HID/BLE Keyboard UI refactoring (#3777)
* HID app new keyboard WIP
* Shift logic for special cases
* Fix apostrophe button
* Satisfy PVS
* Review changes
* Fix shift text
* Satisfy PVS

Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: hedger <hedger@users.noreply.github.com>
2024-07-18 16:13:53 +09:00
Filipe Paz Rodrigues
703ed83fd8 CCID: Add CCIDWorker (#3785)
* CCID: Add CCIDWorker
  This new thread allows for Flipper to receive CCID messages bigger than CCID_EPSIZE
  by receiving multiple packaged in a row and adding them to the buffer
* Fixed data types
* Format sources
* Review feedback
* Variable names
* FuriHal: cleanup and fortify code in furi_hal_usb_ccid
* Review feedbacks (also added extra checks)
* Fixed use after free
* Fix lint
* Sync API Symbols version
* Sync API Symbols version again
* FuriHal: fix clangd warnings, add doxygen comments for furi_hal_usb_ccid.h

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-07-18 16:04:38 +09:00
MX
9dc97807a0 upd changelog 2024-07-17 00:55:07 +03:00
MX
3ed62e334f Merge remote-tracking branch 'OFW/dev' into dev 2024-07-16 21:43:04 +03:00
hedger
79d82da9b2 Disabled ISR runtime stats collection for updater builds (#3791)
* furi: disabled runtime stats collection for updater builds
* added comment for potential space saving optimization

Co-authored-by: あく <alleteam@gmail.com>
2024-07-16 23:51:28 +09:00
hedger
31919965a1 VSCode fixes: .gitignore & clangd (#3790)
* vscode: fine-tuned .gitignore to allow extra untracked files in .vscode folder
* vscode: temporary disabled toolchain-provided clangd
* Update sublime project to match vscode config

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-07-16 23:41:30 +09:00
GreenBean
03221e990f Update tv.ir (#3789)
Adds definitions for Emerson TV Universal Remote

Co-authored-by: あく <alleteam@gmail.com>
2024-07-16 21:27:33 +09:00
hedger
05a0d0105b ufbt: synced .clang-format rules with main (#3787)
Co-authored-by: あく <alleteam@gmail.com>
2024-07-16 21:17:38 +09:00
Georgii Surkov
8aa129395f [FL-3871] Infrared: check for negative timings (#3788) 2024-07-16 20:54:09 +09:00
MX
4a23ed7716 fix rgb patch 2024-07-16 01:31:26 +03:00
MX
7db7726f05 upd changelog 2024-07-16 01:06:51 +03:00
MX
3d3a989932 Merge remote-tracking branch 'OFW/gsurkov/3871_ir_negative_timings' into dev 2024-07-16 01:01:24 +03:00
MX
57f3bce8e3 merge manually formatted stuff too 2024-07-16 01:01:17 +03:00
MX
a9f050f367 Merge remote-tracking branch 'OFW/dev' into dev 2024-07-15 20:03:35 +03:00
MX
726cb770d0 formatting 2024-07-15 20:02:45 +03:00
hedger
deeb9dcb15 Code formatting update
clang-format
2024-07-15 19:59:48 +03:00
Georgii Surkov
b7f1995948 Check for rogue minus sign when parsing unsigned numbers 2024-07-15 17:04:37 +01:00
hedger
ffa3996a5e [FL-3867] Code formatting update (#3765)
* clang-format: AllowShortEnumsOnASingleLine: false
* clang-format: InsertNewlineAtEOF: true
* clang-format: Standard:        c++20
* clang-format: AlignConsecutiveBitFields
* clang-format: AlignConsecutiveMacros
* clang-format: RemoveParentheses: ReturnStatement
* clang-format: RemoveSemicolon: true
* Restored RemoveParentheses: Leave, retained general changes for it
* formatting: fixed logging TAGs
* Formatting update for dev

Co-authored-by: あく <alleteam@gmail.com>
2024-07-15 13:38:49 +09:00
hedger
a5e89315ae scripts: runfap: fixed starting apps with spaces in path (#3782)
Co-authored-by: あく <alleteam@gmail.com>
2024-07-15 13:32:45 +09:00
MX
b21439968e Merge remote-tracking branch 'OFW/dev' into dev 2024-07-15 05:19:50 +03:00
hedger
1a8f6dbed8 toolchain: v38; clangd as default language server (#3774)
* libs: removed cxxheaderparser submodule, expecting one from toolchain
* toolchain: v38
* vscode: now using clangd from toolchain
* vscode: clangd path in config is now generated by fbt
* vscode, fbt: improved clangd path generation
* fbt: fixed LANG_SERVER handling; switched to clangd as default
* vscode: removed deprecated options from config
* ufbt: project template: updated clang-format, added clangd config
* ufbt: now using clangd as default language server
* ufbt: now using clangd as default language server
2024-07-15 10:56:21 +09:00
MX
6c9b544240 upd changelog 2024-07-15 04:47:21 +03:00
MX
01a1767f61 upd subghz js module
by Willy-JL
2024-07-15 04:45:45 +03:00
MX
039274f718 Sub-GHz: Choose RSSI threshold for Hopping mode
by Willy-JL
2024-07-15 04:40:23 +03:00
MX
365159c11a update mf classic keys dict
from
810f085aae/client/dictionaries/mfc_default_keys.dic

and

2a623b4ff3/NFC/mf_classic_dict/mf_classic_dict_user.nfc
2024-07-15 04:31:32 +03:00
MX
743444310a fix formatting 2024-07-14 22:58:55 +03:00
MX
9d8e2828af cleanup icons, update text 2024-07-14 22:53:38 +03:00
MX
cf6e4d341c add warning 2024-07-14 22:14:28 +03:00
MX
8e58da2be1 Merge remote-tracking branch 'OFW/dev' into dev 2024-07-14 05:50:53 +03:00
Zinong Li
5f9d68f3ad NFC: ISO15693 Render Typo Fix (#3784)
* Fixed the bug showing IC reference value as DSFID.
2024-07-14 00:05:54 +04:00
MX
9b7fb01e52 upd readme 2024-07-12 01:34:18 +03:00
MX
39a9703606 upd changelog 2024-07-11 02:51:34 +03:00
MX
74f14a0b71 Merge remote-tracking branch 'OFW/dev' into dev 2024-07-10 23:52:05 +03:00
Sergei Gavrilov
fcf60e35a3 tar archive: fix double free (#3781)
Co-authored-by: hedger <hedger@nanode.su>
2024-07-10 22:45:52 +03:00
MX
ce1ac07fbe Merge remote-tracking branch 'OFW/dev' into dev 2024-07-10 21:18:49 +03:00
hedger
d879b254d6 ufbt: added ARGS to commandline parser (#3770)
Co-authored-by: あく <alleteam@gmail.com>
2024-07-10 17:28:22 +01:00
hedger
3d7cd57371 [FL-3553] lib: sconscript todo cleanup (#3769)
Co-authored-by: あく <alleteam@gmail.com>
2024-07-10 16:51:19 +01:00
MMX
848e6e6efa SubGHz: Keeloq - Add Novoferm remotes decode support (#3768)
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-07-10 16:45:47 +01:00
MMX
d5a790e25b SubGHz: Hormann HSM static - Fix button decode (#3767)
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-07-10 13:10:54 +01:00
Astra
d60ce6edde [FL-3866] Intruder animation (#3779) 2024-07-10 13:02:07 +01:00
MX
55d6711a80 Merge remote-tracking branch 'OFW/dev' into dev 2024-07-10 01:07:40 +03:00
あく
075381b7c6 [FL-3870] Desktop: allow to close blocking bad sd animation (#3776)
* Desktop: allow to close blocking bad sd animation
* Desktop: pack booleans
2024-07-10 01:56:38 +04:00
MX
8b3b1fbc2c upd changelog 2024-07-08 17:43:29 +03:00
MX
b11f18c553 hormann hsm static code btn decode fix??? [ci skip] 2024-07-08 17:21:06 +03:00
MX
54192afe56 hormann_ecostar add manually support and custom button 2024-07-08 09:40:09 +03:00
MX
4b7875376b keeloq custom buttons improvements 2024-07-08 09:08:48 +03:00
MX
0390bd3ff9 subghz add manually fixes and improvements 2024-07-08 09:08:23 +03:00
MX
94cbaed655 remove broken preset mod 2024-07-08 08:42:59 +03:00
MX
f21ba616cd fm238 mod for sommer add manually for rare cases 2024-07-08 08:41:45 +03:00
MX
92c997b9a7 fix decoderaw scene 2024-07-08 08:20:42 +03:00
MX
96b1ca97dc subghz add novoferm support 2024-07-08 08:10:00 +03:00
MX
ed767b8286 oops 2024-07-08 08:01:12 +03:00
MX
3b74c0733f js subghz module fixes and improvements
by @Willy-JL
2024-07-08 07:51:20 +03:00
MX
e4f315188b fbt format 2024-07-08 07:37:28 +03:00
MX
646bc7db23 Merge remote-tracking branch 'OFW/dev' into dev 2024-07-08 00:47:05 +03:00
Konstantin Volkov
9161af293a Increase github action timeouts (#3763)
Co-authored-by: doomwastaken <k.volkov@flipperdevices.com>
2024-07-07 16:56:08 +01:00
あく
aeabf0447d [FL-3704] Updater: reset various debug flags on production build flash (#3762) 2024-07-07 13:00:39 +01:00
MX
a7ca56cf4e Merge remote-tracking branch 'OFW/dev' into dev 2024-07-07 02:22:08 +03:00
あく
d39c3b3776 Fix PVS Warnings (#3760) 2024-07-06 15:05:29 +01:00
WillyJL
a0eab5a371 NFC: Cache plugin name not full path, saves some RAM (#3737)
* NFC: Cache plugin name not full path, saves some RAM
* Remove file_path FuriString from context

Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: gornekich <gornekich@users.noreply.github.com>
2024-07-06 13:18:48 +01:00
Filipe Paz Rodrigues
1510d8773b CCID: Improve request and response data handling (#3741)
* CCID: Improve request and response data handling
  - Add iso7816_set_response function: serves a helpers to set SW1 and SW2 values
  - improved iso7816_read_response_apdu by correctly parsing Lc and Le values
  - add client script to make testing easier
* lint and rename
* Format
* Review changes: pragma once, typedef
* Move command/response data and datalen into respective structures
* Remove conditional for Lc=0
* Fix comment: Le
* Make PVS happy and fix spelling

Co-authored-by: あく <alleteam@gmail.com>
2024-07-06 12:08:44 +01:00
Konstantin Volkov
248e926a82 Updating bench flipper search algorithm (#3742)
* initial commit, changed flipper search function and unit test runner script
* increased timeouts due to new unpacking delays
* python formatting fixes
* fixed flipper name

Co-authored-by: doomwastaken <k.volkov@flipperdevices.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-07-06 11:49:56 +01:00
あく
cf0cc4fa8d Furi: count ISR time. Cli: show ISR time in top. (#3751)
* Furi: count ISR time. Cli: show ISR time in top.
* hal: interrupt: macros for interrupt accounting; split FURI_ALWAYS_STATIC_INLINE -> FURI_ALWAYS_INLINE static

Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: hedger <hedger@users.noreply.github.com>
2024-07-06 11:44:25 +01:00
hedger
7879876ba1 [FL-3863] toolchain: v37 (#3746)
* toolchain: v36
* toolchain: fixed cert path; lib: nanopb: updated to 0.4.8
* fbtenv: rolled back cert path for 3.11
* clang-format: updated config for v18
* linter fixes
* clang-format: properly regenerated config (`clang-format -style=file:.clang-format -dump-config > .clang-format-new; mv .clang-format-new .clang-format`)
* clang-format: AllowShortLoopsOnASingleLine: false
* toolchain: v37
* fbt: compilation_db.py: fixes for Windows
2024-07-05 18:27:21 +01:00
MX
923130ffdb upd changelog 2024-07-05 05:53:20 +03:00
MMX
b8921920c2 Merge pull request #777 from mishamyte/patch-1
Updated display info to DEZ 8 (actual one)
2024-07-05 05:52:14 +03:00
Mykhailo Shevchuk
6436235f41 Update CHANGELOG.md 2024-07-05 01:07:46 +03:00
Mykhailo Shevchuk
9c8ab2bf3b Updated to DEZ 8 2024-07-05 01:05:48 +03:00
MX
f7a393ffdb upd changelog 2024-07-04 22:58:16 +03:00
MX
223de97d8c NFC: Cache plugin name not full path, saves some RAM [ci skip]
by Willy-JL
2024-07-04 22:53:47 +03:00
Leptopt1los
bd6b2166ce Merge pull request #776 from korden32/korden32-patch-2
LFRFID: add DEZ 10 display form for EM4100
2024-07-04 22:48:04 +03:00
KorDen
379d3c2008 LFRFID: add DEZ 10 display form for EM4100 2024-07-04 22:42:55 +03:00
MX
460b17e23b upd changelog 2024-07-04 06:24:46 +03:00
MMX
36e227d24d Merge pull request #774 from korden32/patch-1
LFRFID: Update t5577 passwords
2024-07-04 06:24:33 +03:00
MX
842922f018 Merge remote-tracking branch 'OFW/dev' into dev [ci skip] 2024-07-04 04:56:04 +03:00
hedger
8c380ebe94 copro: bumped to 1.20.0 (#3727)
* copro: bumped to 1.19.1
* copro: bumped to 1.20.0
2024-07-03 19:31:55 +01:00
Silent
6e0115c2e1 input_srv: Put input state data on the stack of the service (#3748)
* input_srv: Put input state data on the stack of the service
* input_srv: Use post-increment on the global counter

Co-authored-by: あく <alleteam@gmail.com>
2024-07-03 13:09:37 +01:00
Silent
7e0849b44e Coalesce some allocations (#3747)
* View: Coalesce view model allocations
* SceneManager: Coalesce AppScene allocations
* BufferStream: Coalesce Buffer allocations
* ProtocolDict: Coalesce dict allocations
* DigitalSignal: Coalesce buffer allocations

Co-authored-by: あく <alleteam@gmail.com>
2024-07-03 12:56:13 +01:00
Astra
2715d9a0e1 [FL-3752] Fix iButton/LFRFID Add Manually results being discarded (#3749)
Co-authored-by: あく <alleteam@gmail.com>
2024-07-03 12:44:17 +01:00
RebornedBrain
3224401479 [FL-3835] Ultralight C authentication with des key (#3720)
* Update api_symbols.csv
* Ultralight C 3des implementation added
* Access check for Ultralight cards is now splitted into 2 functions one for ULC card and another for common
* Ultralight C authentication command handlers added
* Update api_symbols.csv and api_symbols.csv
* Length added to ultralight encrypt function
* New structure for storing 3des key added
* Reseting of 3des_key added
* des_context init/deinit added to poller
* New poller step for ultralight c auth added
* Added ultralight c des key to application
* Renamed felica unlock scenes to more generic des auth scenes, because they are now used also for ultralight c
* Show different menus for different ultralight card types
* Update api_symbols.csv and api_symbols.csv
* Some macro defines added
* Different amount of pages will be now read for ultralight C and others
* New unit test for ultralight C
* Some comments and macro replacements
* New function added to api
* Now all data read checks mfulC separately
* Adjusted listener to handle missing 3des_key properly
* Now poller populates 3des_key after reading with auth to card data
* Nfc: rename _3des_key to tdes_key
* Bump API Symbols
* Mute PVS Warnings

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-07-03 12:38:30 +01:00
MX
3dfd907245 Merge remote-tracking branch 'OFW/dev' into dev 2024-07-02 16:25:34 +03:00
MX
d1755a46f9 Merge remote-tracking branch 'OFW/dev' into dev 2024-07-02 16:17:40 +03:00
hedger
95658063af updater: slightly smaller image (#3740)
Co-authored-by: あく <alleteam@gmail.com>
2024-07-02 13:17:05 +01:00
Georgii Surkov
139660d206 [FL-3846] Event Loop Timers (#3721)
* Implement POC event loop tmers (not all edge cases are handled)
* Use a separate ready list to allow for (re)starting and stopping of timers from callback
* Improve the test application
* Improve timer API and test application
* Improve timeout calculation logic
* Improve timer API, update documentation
* Fix API usage error
* Update doxygen comments
* Revert the old (correct) check
* Improve function naming
* Check whether a timer was on the expired list before processing it
* Implement tick callback
* Add critical sections to improve timer consistency
* Simplify event loop timer API
* Remove redundant search
* Refactor timer logic, use message queue
* Simplify FuriEventLoopTimer API
* Improve event loop timer logic
* Update the f18 target
* Remove superfluous clears
* Correct f18 api symbols
* Fix doxygen comments
* Update .pvsconfig
* Use a double push list instead of deque
* Update .pvsconfig
* Add pending callback functionality
* Restore unprocessed flags when applicable
* Refactor Dolphin app to use FuriEventLoop
* Improve naming
* Update naming some more
* Fix a typo Co-authored-by: Silent <CookiePLMonster@users.noreply.github.com>
* Fix wait time in example
* Bump API version
* Debug: multiple of 25 timings in event loop blink test
* Separate FuriEventLoopTimer to its own set of files
* Improve start time calculation for periodic timers
* Do not use dynamic allocations for timer requests
* Split the tick functionality in separate files, rearrange code
* Improve timer queue handling
* Properly reset GPIO pins in the test app
* Properly initialise GPIO pins in the test app too
* Furi: variable naming in event loop
* Furi: fix spelling in event loop

Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: Silent <CookiePLMonster@users.noreply.github.com>
2024-07-02 13:09:50 +01:00
WillyJL
bf90843f25 Updater: Fix double dir cleanup (#3743) 2024-07-02 11:54:28 +04:00
MX
0812cd30b2 Merge remote-tracking branch 'OFW/dev' into dev 2024-07-01 22:18:36 +03:00
hedger
14b37a68b2 cli: storage: minor subcommand lookup refactor (#3739)
Co-authored-by: あく <alleteam@gmail.com>
2024-06-30 19:20:12 +01:00
Zinong Li
d36396f35b LFRFID Securakey: Add Support for RKKTH Plain Text Format (#3728)
* Create protocol_securakey.c
* decode and render done
* Support for Radio Key Securakey
  Support both 26- and 32-bit format
  Solves issue #2619
* debugs and improvements
* Formatting in response to requested changes
* fixed wiegand parity bit calculation
* format
* debug unnecessary assert
* LfRfid: swap vendor and protocol names in securakey
* fixed manually generated keys issues
* fix bit length render error caused by bit length fix
* 1.0
* edit the citation in comments
* backward compatibility
* debug
* debug preamble false positives
* temporary fix: writing RKKTH causes second to last byte not encoded. unknown reason
* slightly more elegant solution to the weird bug
* plausible solution, much more elegant
* finally fixed it. stupid mistake
* clean up and format. ready for new PR

Co-authored-by: あく <alleteam@gmail.com>
2024-06-30 19:11:49 +01:00
Astra
2b0b5b02b5 [NFC] Add mf_classic_set_sector_trailer_read function (#3733)
Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-06-30 18:54:55 +01:00
Astra
81e2736145 [FL-3831] Separate editing and renaming in iButton and LFRFID (#3735)
Co-authored-by: あく <alleteam@gmail.com>
2024-06-30 12:34:13 +01:00
Ruslan Nadyrshin
9a02e23dc7 New js modules documentation added (#3736)
* New js modules documentation added
* Documentation: Spelling and formatting

Co-authored-by: ElectronicsInFocus <rnadyrshin@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-06-30 12:18:46 +01:00
Astra
0b2827836d [FL-3860] Update link to mfkey32 (#3738)
Co-authored-by: あく <alleteam@gmail.com>
2024-06-30 11:54:59 +01:00
hedger
fcbcb6b5a8 Updater: resource compression (#3716)
* toolbox: compress: moved decompressor implementation to separate func
* toolbox: compress: callback-based api; cli: storage unpack command
* toolbox: compress: separate r/w contexts for stream api
* targets: f18: sync API
* compress: naming fixes & cleanup
* toolbox: compress: using hs buffer size for stream buffers
* toolbox: tar: heatshrink stream mode
* toolbox: compress: docs & small cleanup
* toolbox: tar: header support for .hs; updater: now uses .hs for resources; .hs.tar: now rewindable
* toolbox: compress: fixed hs stream tail handling
* updater: reworked progress for resources cleanup; rebalanced stage weights
* updater: single-pass decompression; scripts: print resources compression ratio
* updater: fixed warnings
* toolbox: tar: doxygen
* docs: update
* docs: info or tarhs format; scripts: added standalone compression/decompression tool for heatshrink-formatted streams
* scripts: tarhs: fixed parameter handling
* cli: storage extract command; toolbox: tar: guess type based on extension
* unit_tests: added test for streamed raw hs decompressor `compress_decode_streamed`
* unit_tests: compress: added extraction test for .tar.hs
* rpc: autodetect compressed archives
* scripts: minor cleanup of common parts
* scripts: update: now using in-memory intermediate tar stream
* scripts: added hs.py wrapper for heatshrink-related ops (single object and directory-as-tar compression)
* scripts: naming fixes
* Toolbox: export compress_config_heatshrink_default as const symbol
* Toolbox: fix various types naming
* Toolbox: more of types naming fixes
* Toolbox: use size_t in compress io callbacks and structures
* UnitTests: update to match new compress API
* Toolbox: proper path_extract_extension usage

Co-authored-by: あく <alleteam@gmail.com>
2024-06-30 11:38:48 +01:00
KorDen
3b4183f4dd LFRFID: Update t5577 passwords
Removed duplicates; added few more China cloners pw
2024-06-30 10:09:19 +03:00
MX
160d6c319c upd changelog 2024-06-27 14:18:09 +03:00
MMX
2b25c14374 Merge pull request #771 from Willy-JL/emv-transactions-restructure
NFC: EMV Transactions less nested, hide if unavailable
2024-06-27 14:14:14 +03:00
MMX
c93eb07213 Merge pull request #770 from Willy-JL/js-widget-keyboard-refactor
JS: Refactor widget and keyboard modules, fix crash
2024-06-27 14:14:01 +03:00
MX
a91a4af053 Merge remote-tracking branch 'OFW/dev' into dev 2024-06-27 04:36:00 +03:00
Willy-JL
1d41944182 NFC: EMV Transactions less nested, hide if unavailable 2024-06-26 03:21:37 +02:00
Willy-JL
8148c9b5a9 JS: Refactor keyboard with ViewHolder
Based on submenu refactor by nminaylov
2024-06-26 03:17:22 +02:00
Willy-JL
681b1cd069 JS: Refactor widget with ViewHolder, fix crash
Based on textbox refactor by nminaylov
2024-06-26 03:17:20 +02:00
Zinong Li
a881816673 NFC: Desfire Renderer Minor Debug (#3731)
* Update mf_desfire_render.c

Co-authored-by: あく <alleteam@gmail.com>
2024-06-25 14:37:50 +01:00
WillyJL
ecf38cd30a RPC: Fix input lockup on disconnect (#3732)
* RPC: Fix input lockup on disconnect
* Rpc: minor GUI module cleanup

Co-authored-by: あく <alleteam@gmail.com>
2024-06-25 14:26:36 +01:00
IRecabarren
653423145b Add support for Sony RM-SC3 remote control (#3724)
Commands:
Power
Vol_up
Vol_dn
Play
Pause

Co-authored-by: hedger <hedger@users.noreply.github.com>
2024-06-25 13:40:40 +01:00
MX
115a8e5ea2 Merge remote-tracking branch 'OFW/dev' into dev 2024-06-23 17:39:44 +03:00
MX
b65741d625 upd changelog 2024-06-22 19:16:50 +03:00
MX
ed2cef5eb0 merge ofw PR 3728 [ci skip]
by zinongli

https://github.com/flipperdevices/flipperzero-firmware/pull/3728/files
2024-06-22 17:17:27 +03:00
MX
632627b2d5 set idle state when running read from main menu 2024-06-22 17:14:55 +03:00
MX
6d967d71b2 upd changelog 2024-06-22 02:31:23 +03:00
MX
b8bd0b9f3e better message for api mismatch
by Willy-JL
2024-06-22 02:11:11 +03:00
MX
e403860e61 js add storage module
(without virtual mount api calls)

by Willy-JL
2024-06-22 02:01:26 +03:00
MX
cc7fc099bd merge ofw commit - a0036d10fc 2024-06-22 01:40:04 +03:00
Georgii Surkov
4cf98867a0 [FL-3847, FL-3513] Thread Signals (#3730)
* Add signal API
* Add signal support to loader
* Add signal support to ViewDispatcher
* Remove extra signal definitions
* Fix typos
  Co-authored-by: Silent <CookiePLMonster@users.noreply.github.com>
* scripts: runfap: close current app pre-launch
* loader: enable backlight when starting an app
* scripts: removed distfap.py
* Do not expose signal API via ViewDispatcher
* scripts: runfap: iterative retry to launch
* Add a loader signal subcommand
* Furi, Gui: move signal handling from View Dispatcher to Event Loop

Co-authored-by: Silent <CookiePLMonster@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-06-21 21:44:36 +01:00
あく
a0036d10fc ReadMe: update outdated bits and pieces (#3726) 2024-06-20 18:18:31 +01:00
MX
6ea91ee760 Merge remote-tracking branch 'OFW/aku/ble_mac_fix' into dev 2024-06-20 17:14:25 +03:00
MX
9af8af7fe1 Merge remote-tracking branch 'OFW/dev' into dev 2024-06-20 17:13:07 +03:00
Aleksandr Kutuzov
6d36889fe1 FuriHal: fixed platform id for all wb targets 2024-06-18 16:33:25 +01:00
Aleksandr Kutuzov
b7ad1b454d FuriHal: fix chip id used in BLE MAC address 2024-06-18 16:23:47 +01:00
あく
3859646e13 Debug: backup openocd work area, fix crash after fresh debugger connect and continue (#3722) 2024-06-18 18:11:40 +03:00
MX
5c3e64bd0b upd chaneglog 2024-06-18 00:38:26 +03:00
MX
e52d5ab579 upd changelog 2024-06-18 00:37:44 +03:00
MX
990d80e5b9 Merge remote-tracking branch 'OFW/dev' into dev [ci skip] 2024-06-17 23:59:15 +03:00
Sergei Gavrilov
d8ef0991fb ELF, Flipper application: do not crash on "out of memory" (#3664)
* ELF, Flipper application: do not crash on "out of memory"
* loader: better error messages
* typo
* fix position
* Loader: QR code for common errors
* NFC: error message
* Loader: error descriptions
2024-06-17 16:40:47 +01:00
gornekich
729db7fa98 [FL-3857] NFC Ultralight Original write support (#3718)
* mf ultralight: rename ultralight unknown to origin
* nfc app: add write to origin support for origin ultralights
* mf ultralight: add orig write support on lib level
* targets: bump major API version
2024-06-17 15:20:35 +01:00
MMX
039faf02f1 SubGHz: Princeton - Add check for wrong guard_time values and show guard time in UI (#3719)
Co-authored-by: あく <alleteam@gmail.com>
2024-06-17 14:49:09 +01:00
MX
9abe245026 Merge remote-tracking branch 'OFW/dev' into dev 2024-06-17 16:40:15 +03:00
MX
30b376f4e3 subghz sync delete scene with ofw 2024-06-17 16:40:10 +03:00
Astra
ecd324dd1c [FL-3856] Don't crash on reading weird cards (#3717)
* Don't crash on reading weird cards
* mf plus: fix incorrect read fail event handler

Co-authored-by: gornekich <n.gorbadey@gmail.com>
2024-06-17 14:18:53 +01:00
MX
47c1031dc7 Merge remote-tracking branch 'OFW/astra/mfp-crash-fix' into dev 2024-06-17 15:33:41 +03:00
MX
2a163db3ad fix add manually and fix check 2024-06-17 15:33:08 +03:00
gornekich
0b8ddb6173 mf plus: fix incorrect read fail event handler 2024-06-17 12:59:28 +01:00
Astra
a3356ad208 Don't crash on reading weird cards 2024-06-17 20:30:37 +09:00
MX
b48c6dd7f8 princeton reject guard time more than 900 and show guard time in UI 2024-06-17 02:17:05 +03:00
MX
0770578d49 fix incorrect state in decode raw exit
causing keys to be not removed from history and showing up in Read menu after exit from decode raw
2024-06-17 02:16:20 +03:00
MX
0bb2738d36 remove outdated sdk install files due to fbt 2024-06-17 01:18:39 +03:00
MX
60847e2791 Merge remote-tracking branch 'OFW/dev' into dev 2024-06-17 01:16:19 +03:00
Skorpionm
bda6d4f75a [FL-3853] SubGhz: fix Missed the "Deleted" screen when deleting RAW Subghz (#3715) 2024-06-16 13:39:26 +01:00
MX
f027c15e37 upd changelog 2024-06-16 14:37:37 +03:00
MX
5da3ab440f Merge remote-tracking branch 'OFW/skorp/subghz_fix_3853' into dev 2024-06-16 14:23:52 +03:00
SkorP
cdc7e36d5c [FL-3853] SubGhz: fix Missed the "Deleted" screen when deleting RAW Subghz 2024-06-15 21:10:59 +04:00
MX
df8c4c168a Revert "disable mjs logging +2k free flash"
This reverts commit d7330c7c2b.
2024-06-15 18:22:25 +03:00
MX
01c6269365 Merge remote-tracking branch 'OFW/dev' into dev 2024-06-15 18:22:14 +03:00
MMX
ba014e873b [FL-3854] Disable logging in mjs +2k free flash (#3713)
* disable logging in mjs
* mjs: alternative way to disable logging

Co-authored-by: hedger <hedger@nanode.su>
2024-06-15 16:20:53 +01:00
MX
78948d38ec upd changelog 2024-06-15 16:41:36 +03:00
MX
d7330c7c2b disable mjs logging +2k free flash
thanks hedger !

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
2024-06-15 16:38:42 +03:00
MX
b35444e188 upd changelog 2024-06-15 16:15:16 +03:00
MX
5d4ed946cb move part of the CLI to microsd to free up space for COMPACT 0 builds
CLI wrapper and idea by Willy-JL
2024-06-15 15:12:50 +03:00
MX
dac9ff6c13 upd changelog 2024-06-14 22:13:54 +03:00
MX
8b46e1c202 fix check [ci skip] 2024-06-14 19:38:50 +03:00
MX
899614fece fix path [ci skip] 2024-06-14 19:01:50 +03:00
MX
5d6e105d03 possible fix for issue with subrem maps [ci skip]
subremote maps being unknown in favourites in rare cases
2024-06-14 18:31:37 +03:00
MX
b718a2eba1 Merge branch 'nfcfast' into dev 2024-06-14 18:30:41 +03:00
MX
d69d52f1df Merge remote-tracking branch 'OFW/dev' into dev 2024-06-14 18:17:09 +03:00
あく
a47a55bfee Archive: fix memory leak in favorites add/remove (#3712) 2024-06-15 01:06:59 +10:00
MX
e6c240d363 Merge remote-tracking branch 'OFW/dev' into dev 2024-06-14 17:43:34 +03:00
WillyJL
12c1d10246 Furi: Fix EventLoop state persisting on same thread after free (#3711)
* Furi: Fix EventLoop state persisting on same thread after free
* Furi: clear event loop notification state and value on allocation, report unprocessed events on free
* UnitTests: add multiple event loop runs in one thread test

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-06-14 15:00:34 +01:00
MX
f6e9dcbc01 load plugins only when needed, show loading anim 2024-06-14 16:49:09 +03:00
MX
f0a56af7fa Revert "make NFC emulation loading from favourites faster"
This reverts commit 2cbd058dc2.
2024-06-14 14:15:49 +03:00
MX
2cbd058dc2 make NFC emulation loading from favourites faster 2024-06-14 03:48:39 +03:00
MX
c40a63ecec upd changelog 2024-06-14 02:31:03 +03:00
MX
ec747892c9 Merge remote-tracking branch 'OFW/dev' into dev [ci skip] 2024-06-13 23:27:27 +03:00
あく
ca8517a1b0 Cli: top (#3707)
* Cli: top command to replace ps. Furi: ThreadList and thread enumeration routine.
* Sync API Symbols
* Cli: cleanup top output, add memory section. Furi: thread enumeration code cleanup. Fix doxygen and make pvs happy.
* Furi: iterator in thread_list instead of M_EACH, fix memory leak
* Update documentation
* Cli: customizable refres interval for top command
* Furi: add consistentency into float declaration in thread list
* FreeRTOSConfig: remove invalid comment

Co-authored-by: Sergei Gavrilov <who.just.the.doctor@gmail.com>
2024-06-13 18:07:13 +01:00
あく
5a8a13639b [FL-3842] Desktop lockup fix, GUI improvements (#3710)
* Gui: increase ViewDispatcher messages queues size, improves event processing with blocking operations.
* Gui: fix log message text in view dispatcher, loosen some mutexes in view port
2024-06-14 02:47:43 +10:00
Zinong Li
e7d0afdc50 [LFRFID] Added Support for Securakey Protocol (#3697)
* Create protocol_securakey.c
* decode and render done
* Support for Radio Key Securakey
  Support both 26- and 32-bit format
  Solves issue #2619
* debugs and improvements
* Formatting in response to requested changes
* fixed wiegand parity bit calculation
* format
* debug unnecessary assert
* LfRfid: swap vendor and protocol names in securakey
* fixed manually generated keys issues
* fix bit length render error caused by bit length fix

Co-authored-by: あく <alleteam@gmail.com>
2024-06-13 12:55:51 +01:00
Sergei Gavrilov
730026c87a [FL-3844] Loader: fix crash on "locked via cli loader" (#3706) 2024-06-13 12:38:24 +01:00
MX
295271ec8b better install links in release 2024-06-12 19:56:40 +03:00
SG
4f6aff4bd1 Loader: fix crash on locked via cli loader 2024-06-12 19:55:42 +03:00
MX
198059e76c Merge remote-tracking branch 'OFW/dev' into dev 2024-06-12 19:52:16 +03:00
MX
fab79f2840 rework messages test 2024-06-12 19:26:45 +03:00
あく
70d2453bbc VA Fixes: USB IRQ Handling and EP configuration, Thread handler shenanigans. (#3705)
* FuriHal: properly handle high priority USB IRQ, change CDC decriptor to use separate TX/RX endpoints
* Furi: drop task handle, cleanup casts and memory corrupt in threads
* FuriHal: update max power in USB descriptors
* Furi: properly handle thread free if thread was not started
* Furi crash: meaningful interrupt name instead of id

---------

Co-authored-by: SG <who.just.the.doctor@gmail.com>
2024-06-13 01:07:29 +10:00
MX
ab55a9405c upd changelog 2024-06-12 14:05:08 +03:00
MX
798be4589a Revert "revert usb cdc config changes to verify issue 3452"
This reverts commit eb013ab6ec.
2024-06-12 12:31:24 +03:00
MX
ceaf2d4153 add js adc
by jamisonderek

https://github.com/Next-Flip/Momentum-Firmware/pull/143/files
2024-06-12 12:31:10 +03:00
MX
949b55f31a Merge remote-tracking branch 'OFW/dev' into dev 2024-06-12 12:27:29 +03:00
Skorpionm
798e0c3e78 [FL-3840] SubGhz: fix navigation GUI (#3702) 2024-06-11 14:19:22 +01:00
MX
d4d5b1b55a fix typo 2024-06-11 16:15:18 +03:00
MX
b1519ef58f Merge remote-tracking branch 'OFW/skrorp/subghz_3840' into dev 2024-06-11 16:14:19 +03:00
SkorP
8d845e4563 SubGhz: fix navigation GUI 2024-06-11 15:46:44 +04:00
MX
181c59b30f Merge remote-tracking branch 'OFW/dev' into dev 2024-06-10 22:55:02 +03:00
Astra
cf8c82c451 [FL-3746] Mifare Plus detection support (#3607)
* Initial MFPlus draft
* Proper detection (WIP)
* Mifare Plus detection done
* Bump F18 API
* Alloc takes no arguments
* Fixes from code review
* Remove leftover logging
* Remove stray reminder comment
* Review changes and extra logging
* Fix atqa detection
* Fix incorrect comparison
* ATQA byte swap fix
* mf plus: code clean up
* mf plus: remove unused code
* mf plus: fix read fail event handling
* mf plus: fix return error codes
* mf plus: handle load and save errors
* mf plus: assert -> check in public API funxtion
* Bump API Symbols version
* Fix wrong feature mask
* Skylanders plugin separation
* Fix navigation
* Fix info box size

Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-06-10 20:36:46 +01:00
あく
6d8b050eda [FL-3833] Furi: event loop (#3675)
* Furi: epoll prototype

* Gui: simplify view_dispatcher custom event processing

* Furi: add missing critical sections to epoll

* Furi: add epoll unit tests, fully implement level processing for in and out events

* Furi: properly trigger epoll item event on adding mq, update tests.

* Unit tests: cleanup defines

* Furi: protect epoll from modification in callback

* Furi: rename epoll into event_loop, cleanup api naming

* Sync API Symbols

* Furi: add event loop contract and link api, port mq to new api, cleanup code

* Format Sources

* Furi: cleanup mq and event loop code

* Furi: remove unused staff from message queue

* ApiSymbols: remove event loop from public APIs.

* Fix furi unit tests

---------

Co-authored-by: Georgii Surkov <georgii.surkov@outlook.com>
Co-authored-by: Georgii Surkov <37121527+gsurkov@users.noreply.github.com>
2024-06-10 20:53:08 +03:00
あく
0bc400a3ae Code Cleanup: unused includes, useless checks, unused variables, etc... (#3696)
* Remove unnecessary checks
* Sublime: never insert missing headers
* Cleanup furi defines use
* Cleanup startup. Cleanup linker scripts. Explicitly define all interrupts hadlers, including uninmplemented one.
* Startup routine in C
* Drop assembler startup
* Move linker defines to stm32wb55_linker.h, cleanup naming, unify usage. Mpu: protect last 32b of main stack. Document various obscure things.
* Move furi_hal_switch documentation to appropriate place, use 0x0 for updater jump.
* UnitTests: move all temporary test files into tmp folder

---------

Co-authored-by: SG <who.just.the.doctor@gmail.com>
2024-06-11 03:04:29 +10:00
MX
7f05a224be Merge remote-tracking branch 'OFW/dev' into dev 2024-06-09 16:05:06 +03:00
Skorpionm
ef0300d239 [FL-3840] SubGhz: fix gui "No transition to the "Saved" menu when deleting a SubGHz RAW file" (#3695)
* SubGhz: fix gui "No transition to the "Saved" menu when deleting a SubGHz RAW file"
* SubGhz: remove dead code

Co-authored-by: あく <alleteam@gmail.com>
2024-06-08 15:45:31 +01:00
RebornedBrain
467e973da2 [FL-3810] Felica emulation (#3673)
* Moved some structs and defs from poller to generic felica
* Buffer size increased for transferring more data
* Felica HAL Tx function implemented
* Some structs and fields for listener
* Raw listener implementation
* Added new event for felica activation
* Proper config fot listener added
* Moved some structs from poller in order to use them in listener too
* New function for calculating MAC
* Listener data structures and function definitions
* Private listener functions implementation added
* Raw felica listener logic implementation added
* Fix total sector count both for poller and listener
* Defined type for write handlers
* New logic for write operations added
* Removed old commented code
* Splitted read logic into several separate functions
* New type added and some fields to instance
* New logic of read command implemented
* Defines added for response codes
* Functions moved to private namespace
* Function visibility changed and some cleanups
* Update felica_listener.c, felica_listener_i.c, and felica_listener_i.h
* Some type adjustments
* Moved frame_exchange function to private namespace
* Error handling added
* Function to get data_ptr for write request added
* Missing declaration added
* Add processing of nfc errors
* write_with_mac is a local variable now
* Adjustments to MAC calculation logic
* Values replaced with defines
* Update nfc_transport.c with felica logic
* Sync felica poller added for unit tests
* Felica unit_tests and data dump added
* Fixed proper reading of MAC_A block when it is 1st
* Macro definitions for MC added
* Function simplified
* More defines
* CRC check for incomming packets added
* Readonly logic adjusted
* Block write validation adjusted
* New logic for ID block writing
* Some cleanups
* New logic of moving across the block list with different element length
* Some cleanups
* Adjusted requires_mac logic to cover all blocks needed
* Cleanups and renaming
* New block list validation logic
* Block list logic iteration simplified
* Some asserts and checks added
* Replaced MC[2] checks with macros
* Marked def values as unsigned
* Removed old code
* Removed commented function declarations
* Changed protected block in felica test card dump and adjusted tests
* Fixes after merge
* Moved defines to header
* Now we allocate memory for max possible response pack in any case
* Some renaming and documentation
* Bump api symbols
* Set feature to emulate full for felica
* Removed 'More' button and added MoreInfo feature which adds this button back
* Types renamed
* Removed unnecessary code
* Reformat comments
* Fixing missing signatures
* Replaced crash with error log and return value
* Format doxygen comments

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-06-08 15:24:51 +01:00
RebornedBrain
ba3beeddeb [FL-3811] Write to ultralight cards is now possible (#3684)
* Added new function which returns end block for write operation
* Enabled write menu item also for Ultralight 11 and 21
* Fix api_symbols.csv for f18
* Bump Api Symbols

Co-authored-by: あく <alleteam@gmail.com>
2024-06-08 14:38:02 +01:00
WillyJL
2f9ca172e3 RPC: Add TarExtract command, some small fixes (#3685)
* RPC: Add TarExtract command
* Tar: Fix unpack when not at FS root
* RPC: Add missing storage state resets
* Fix dupe state reset
* Bump pb submodule
* Switch to latest protobuf release
* RPC: cleanup excessive furi_record calls in rpc_storage

Co-authored-by: Georgii Surkov <37121527+gsurkov@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-06-08 14:15:12 +01:00
RebornedBrain
7ff785d71f [FL-3786] Fixed infinite loop in dictionary attack scene (#3686)
Co-authored-by: あく <alleteam@gmail.com>
2024-06-08 12:51:54 +01:00
Georgii Surkov
418a98c299 [FL-3808] Fix renaming directories with dots in archive (#3692) 2024-06-08 12:32:30 +01:00
MMX
ef97bd3cbe Merge pull request #761 from nicou/bad-usb-add-finnish-keyboard-layout
BadUSB: Add Finnish keyboard layout
2024-06-06 20:51:27 +03:00
Nico Hagelberg
c81d7666a9 BadUSB: Add Finnish keyboard layout 2024-06-06 20:02:02 +03:00
MX
62ab6b7026 cleanup 2024-06-06 02:10:23 +03:00
MX
8dad9468d5 fix deprecated 2024-06-06 01:34:35 +03:00
MX
8938cbfc6e add subghz protocol - legrand
by user890104

https://github.com/Next-Flip/Momentum-Firmware/pull/120/files
2024-06-06 01:33:47 +03:00
MX
0ea0416733 Merge branch 'nfc_mfplus' into dev 2024-06-06 01:13:27 +03:00
MX
05457b41e4 Merge remote-tracking branch 'OFW/astra/3746-mfp-detect' into nfc_mfplus 2024-06-06 01:12:34 +03:00
MX
bde889c338 Reapply "Merge remote-tracking branch 'OFW/astra/3746-mfp-detect' into dev"
This reverts commit 6bfa383cea.
2024-06-06 00:55:29 +03:00
MX
528636c814 Merge remote-tracking branch 'RebornedBrain/reborned/infinite_dict_attack_fix' into dev 2024-06-06 00:49:26 +03:00
MX
373f61459a Merge remote-tracking branch 'RebornedBrain/reborned/ultralight_write' into dev 2024-06-06 00:48:46 +03:00
MX
305bf7273c fix clock 2024-06-06 00:41:57 +03:00
MX
17dbb4105d Merge remote-tracking branch 'OFW/dev' into dev 2024-06-06 00:35:40 +03:00
MX
71b072b50c no server :( 2024-06-06 00:24:55 +03:00
MX
1db05ed2c6 Revert "add temp fix since no proper fix exist at the moment"
This reverts commit 75ece9b697.
2024-06-05 22:18:09 +03:00
Georgii Surkov
20c4121f25 [FL-3832] Use static synchronisation primitives (#3679)
* Use static mutex
* Add static_assert checks
* Use static semaphore
* Fix formatting
* Use static stream buffer
* Use static timer
* Use static event group
* Increase allocation size for stream buffer
* Remove recursive bit from the mutex before freeing
* Prevent service tasks from ever returning
* Use static threads
* Do not realloc memory when changing stack size
* Use FuriSemaphore instead of raw FreeRTOS one in rpc_test
* Remove redundant includes
* Abolish FreeRTOS dynamic allocation
* Improve FuriMutex
* Improve FuriMessageQueue
* Remove redundant comments and parentheses
* Clean up code more
* Create service threads via a dedicated constructor
* Minor code improvements
* Update docs for FuriThread, FuriTimer
* Fix doxygen typo
* Use a bigger buffer for static StreamBuffer
* Furi: remove timer control block only when timer thread have completed all operations
---------

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-06-05 18:04:03 +01:00
RebornedBrain
e817f1c381 Fix api_symbols.csv for f18 2024-06-05 15:14:45 +03:00
Astra
6db3c0c6bc Merge branch 'dev' into astra/3746-mfp-detect 2024-06-05 18:55:41 +09:00
Astra
9bcd2ecd9b Fix navigation 2024-06-05 18:51:15 +09:00
Astra
4357a1e9d2 Skylanders plugin separation 2024-06-05 18:11:57 +09:00
RebornedBrain
bbece015e0 Fixed infinite loop in dictionary attack scene 2024-06-04 15:37:31 +03:00
RebornedBrain
78f8835cac Merge branch 'dev' into reborned/ultralight_write 2024-06-03 19:38:15 +03:00
hedger
03196fa110 cleanup of various warnings from clangd (#3682)
* cleanup of various warnings from clangs
* lfrfid_debug: cast fixes
* subghz: binraw: round->roundf
* furi: thread: updated internal stack size variable to size_t
* github: fail faster on unsuccessful build
* unit_tests: double trouble
2024-06-03 14:43:23 +01:00
RebornedBrain
06d44550d9 Enabled write menu item also for Ultralight 11 and 21 2024-06-03 16:26:39 +03:00
RebornedBrain
3d41590090 Added new function which returns end block for write operation 2024-06-03 16:25:58 +03:00
Astra
8decc8052e Fix wrong feature mask 2024-06-03 19:28:25 +09:00
MX
303313669a Merge remote-tracking branch 'OFW/dev' into dev 2024-06-01 22:17:17 +03:00
Aleksandr Kutuzov
ed057594f5 Bump API Symbols version 2024-06-01 17:55:56 +01:00
あく
1d3ee57a02 Merge branch 'dev' into astra/3746-mfp-detect 2024-06-01 17:49:49 +01:00
Filipe Paz Rodrigues
0d4ead8fbd Add initial ISO7816 support (#3681)
* Add initial ISO7816 support
* Format sources and sync API Symbols version
* Debug: change VID/PID in ccid test app to opensc detectable generic one

Co-authored-by: あく <alleteam@gmail.com>
2024-06-01 17:45:27 +01:00
MX
4b5e7d90d6 Merge remote-tracking branch 'OFW/dev' into dev 2024-06-01 16:55:04 +03:00
hedger
c93d164785 fbt, vscode: tweaks for cdb generation for clangd (#3680)
* fbt, vscode: tweaks for cdb generation for clangd
* .clangd: updated config
* vscode: disabled auto header insertion for clangd
* .clangd: updated config, ignoring format warnings
* Add sublime text project
* vscode: enabled clang-tidy for clangd
* clangd: strict include checks for sources only

Co-authored-by: あく <alleteam@gmail.com>
2024-06-01 13:20:51 +01:00
Skorpionm
83e4bcc35a SubGhz: Princeton protocol add custom guard time (#3671)
* SubGhz: Princeton protocol add custom guard time
* SubGhz: fix type var
* SubGhz: fix syntax
* SubGhz: add define PRINCETON_GUARD_TIME_DEFALUT
* Update princeton.c

Co-authored-by: あく <alleteam@gmail.com>
2024-06-01 12:15:24 +01:00
MX
64799b7b10 Merge remote-tracking branch 'OFW/dev' into dev 2024-05-31 12:29:42 +03:00
あく
3b83604fb7 Updater: fix inability to update with bigger updater.bin (#3676) 2024-05-30 20:11:03 +04:00
gornekich
03f242618c mf plus: assert -> check in public API funxtion 2024-05-30 13:55:59 +01:00
gornekich
fd90567f0e mf plus: handle load and save errors 2024-05-30 13:49:27 +01:00
gornekich
cdcff2faef Merge branch 'dev' into astra/3746-mfp-detect 2024-05-30 13:04:53 +01:00
あく
3f04d6dd46 Furi: wrap message queue in container, prepare it for epoll. Accessor: disable expansion service on start. (#3672)
* Furi: wrap message queue in container, prepare it for epoll. Accessor: disable expansion service on start.
* Furi: one allocation, smaller message queue struct, type compatibility with FreeRTOS.
2024-05-30 12:58:03 +01:00
gornekich
5f7a139cff mf plus: fix return error codes 2024-05-30 12:54:05 +01:00
gornekich
bf41cc43a1 mf plus: fix read fail event handling 2024-05-29 18:23:34 +01:00
gornekich
ba0051967c mf plus: remove unused code 2024-05-29 17:01:14 +01:00
gornekich
6ccbc16e74 mf plus: code clean up 2024-05-29 16:53:12 +01:00
gornekich
8cdb8aafac Merge branch 'dev' into astra/3746-mfp-detect 2024-05-28 17:11:43 +01:00
Konstantin Volkov
f309844ee0 [FL-3797] Favorite apps navigation fix and text fixes (#3670)
* fixed navigation in dummy mode, fixed wording for button presses and menus
* suppress PVS warnings

Co-authored-by: doomwastaken <k.volkov@flipperdevices.com>
2024-05-28 12:57:03 +01:00
Leptopt1los
a6139b01ce Electra non-initialized encoded epilogue on render fix (#3666) 2024-05-27 12:31:26 +01:00
MX
7ac189aa2a fix link [ci skip] 2024-05-25 00:58:53 +03:00
MX
f18f1f54e0 upd changelog [ci skip] 2024-05-25 00:57:26 +03:00
MX
83d85ec0e2 upd changelog 2024-05-25 00:24:44 +03:00
MX
3ab0a26e1d update changelog 2024-05-25 00:03:56 +03:00
SG
e31fbb061a SubGHz: fix memory corrupt in read raw view [ci skip] 2024-05-24 23:19:02 +03:00
Methodius
ba8dd58dee electra non-initialized encoded epilogue on render fix 2024-05-24 21:37:17 +03:00
MX
e8cbce6e1d Merge remote-tracking branch 'OFW/dev' into dev [ci skip] 2024-05-24 20:25:40 +03:00
gornekich
ab2fcaf4ab [FL-3829] NFC App: fix changing UID (#3663)
* nfc app: fix changing uid on each byte change
* nfc app: remove unused code
2024-05-23 13:46:00 +01:00
MX
8a58fc1ca7 Merge remote-tracking branch 'OFW/dev' into dev 2024-05-23 00:33:57 +03:00
hedger
807bec14b1 Replaced obsolete-format delay (#3660) 2024-05-22 19:13:28 +01:00
あく
8ba938cec1 [FL-3775] Archive: fix condition race on exit (#3659)
* Archive: fix condition race on exit

* Format sources and remove debug logging

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
2024-05-22 21:35:59 +04:00
gornekich
11070c9e5e Text Box: fix displaying text with end text focus (#3658)
* text box: fix reset text offset state after initial text iteration
* debug: add tests for text box view debug app
* hal: flash: removed redundant #else

Co-authored-by: hedger <hedger@nanode.su>
2024-05-22 18:14:33 +01:00
Astra
060a488ae9 ATQA byte swap fix 2024-05-22 19:55:12 +09:00
Astra
d3d483e60f Fix incorrect comparison 2024-05-22 19:10:26 +09:00
Astra
514fd244fa Fix atqa detection 2024-05-22 18:29:57 +09:00
Astra
c8a779da3f Review changes and extra logging 2024-05-21 19:30:05 +09:00
MX
6a91588f52 Merge remote-tracking branch 'OFW/dev' into dev 2024-05-21 01:34:05 +03:00
あく
e0797131ec FuriHal: add flash ops stats, workaround bug in SHCI_C2_SetSystemClock (#3657)
* FuriHal: add flash ops stats, workaround bug in SHCI_C2_SetSystemClock
* hal: flash: added FLASH_OP_DEBUG to enable latency measurement

Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: hedger <hedger@users.noreply.github.com>
2024-05-20 19:17:01 +01:00
hedger
9e42e00ead Icons: compression fixes & larger dimension support (#3564)
* toolbox, gui: fixes for compressed icon handling
* ufbt: fixes for generated vscode project
* scripts: increased max dimensions for image converter
* icon type changes
* linter fixes; api sync
* gui: docs fix
* toolbox: fixed potential decoder buffer overflow
* minor cleanup
* fbt: sdk: suppressed deprecation warnings in API table
* toolbox: compress: added unit tests
   vscode: now installs resources for unit_tests
   unit_tests: now loads subghz region data
* toolbox: compress: review fixes, pt 1
* compress: now passes decoder buffer size as constructor argument; auto-resize decoder buffer; crash on failed icon decompression
* PVS fixes
* pvs fixes, pt2
* doxygen fixes
* investigating unit test failures
* investigating unit test failures
* investigating unit test failures
* investigating unit test failures
* investigating unit test failures
* UnitTests: move all tests into plugins, brakes testing
* UnitTests: add plugin API and update plugin entrypoints
* UniTests: Test runner that works with plugins
* fbt: extra filtering for extapps to include in build
* UnitTests: filter tests by name
* loader: restored API table for unit_test build config
* Add various missing symbols to API table
* UnitTest: fail on plugin load error
* UnitTests: cleanup plugin api and reporting
* unit_tests: composite resolver
* UnitTests: remove unused declaration
* unit_tests, nfc: moved mock nfc implementation to libnfc
* unit_tests: api: removed redundant #define
* toolbox: compress: removed size_hint for icons; triggering furi_check on oversized icons
* gui: icon, icon_animation: removed size hit APIs
* Format Sources. Cleanup code.
* loader: refuse to start .fal as app
* toolbox: compress: fixed memory corruption in operations with small destination buffer; added unit tests for that case
* unit_tests: proper test skipping; better selective test interface
* unit_tests: moved 'loading' logging to proper location

Co-authored-by: あく <alleteam@gmail.com>
2024-05-20 18:23:47 +01:00
gornekich
d638b9b1a4 Merge branch 'dev' into astra/3746-mfp-detect 2024-05-20 16:23:54 +01:00
gornekich
d5339f8270 [FL-3816] Text Box rework (#3642)
* text box: rework text box to use less memory
* text box: optimize lines iteration
* text box: fix back scrolling
* text box: add end focus support
* text box: allocate index buffer on stack instead of heap
* text box: fix index decrement
* apps: add text box debug app
* debug: rework text box view app with view stack
* debug app: rename text_box_test app to text_box_element_test
* text box: rework text box module
* debug: update text box view test
* text box: fix end focus initial offset
* debug: fix memory leak in text box view test app

Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: hedger <hedger@users.noreply.github.com>
2024-05-20 16:13:20 +01:00
Astra
68eb196645 Merge branch 'astra/3746-mfp-detect' of https://github.com/flipperdevices/flipperzero-firmware into astra/3746-mfp-detect 2024-05-20 19:19:22 +09:00
Astra
2929955a3c Remove stray reminder comment 2024-05-20 19:19:11 +09:00
Astra
915304b986 Merge branch 'dev' into astra/3746-mfp-detect 2024-05-20 19:14:30 +09:00
Astra
cf9b09042e Remove leftover logging 2024-05-20 19:12:18 +09:00
Astra
54f63e06ec Fixes from code review 2024-05-20 19:08:54 +09:00
MX
e909818f65 fix stealth jiggler icon with ble 2024-05-19 04:53:30 +03:00
MMX
e4ed15ba23 Merge pull request #753 from Willy-JL/hid-app-merge-fix
Hid app merge fix
2024-05-19 04:50:29 +03:00
MX
8275140fe6 rename 2024-05-19 03:57:19 +03:00
MX
4f6c98dc0d move js examples to examples subfolder 2024-05-19 03:56:22 +03:00
MX
21abcb56fd merge ofw dev missing parts 2024-05-19 03:54:21 +03:00
MX
fb6070f29d Merge remote-tracking branch 'OFW/dev' into dev 2024-05-19 03:45:07 +03:00
WillyJL
de4b086083 Fix calling both view_free_model() and view_free() (#3655) 2024-05-18 19:40:01 +01:00
Willy-JL
7c013c0534 HID App: Add few missing things from last merge 2024-05-18 08:31:36 +01:00
Willy-JL
23ca7e7b48 Some formatting to match upstream 2024-05-18 08:28:45 +01:00
Willy-JL
c4709a5b6b HID App: Update icons 2024-05-18 08:26:36 +01:00
Willy-JL
276feac73f HID App: Update to scene based startscreen 2024-05-18 08:24:29 +01:00
WillyJL
0d456aa550 JS: Add textbox module (#3597)
* JS: Add textbox module
* Using view_holder instead of view_dispatcher, more checks in js_textbox_show
* API version sync
* Rename emptyText() to clearText()
* Keeping view_holder allocated for thread sefety
* Js: proper comparision with 0 in js_math_sign
* Js: add comments and fix condition race in textbox

Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: nminaylov <nm29719@gmail.com>
2024-05-17 18:43:52 +01:00
WillyJL
c673b53e21 JS: Add math module (#3598)
* JS: Add math module
* Double constants
* Error on argument type mismatch
* Fix missing returns
* Using sin, exp from c library
* asin, acos, pow, sqrt too
* Js: tests for math module and various fixes.

Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: nminaylov <nm29719@gmail.com>
2024-05-17 17:45:40 +01:00
MX
51bb9c0a0a Merge remote-tracking branch 'OFW/dev' into dev 2024-05-17 17:15:48 +03:00
gornekich
217bfac2fc NFC: add Slix capabilities (#3652)
* iso15693 listener: fix inventory cmd and buffer overflow
* iso15 listener: fix read multiple blocks command
* slix: print password
* slix: add capabilities field
* slix listener: skip password validation for special capability
* slix: fix capability name
* slix: add capabilities handler to verify and reset
* nfc test: introduce slix tests
* fbt: change toolchain back to 33 version
* slix: fix saving capablities comment
* unit tests: add slix files to resources
* slix: fix set passwrd signature
* nfc tests: add set correct password test
* nfc test: complete slix password tests
* nfc test: add slix file test
* nfc test: handle errors in worker callback
* iso15693_3: code clean up
* iso15693_listener: fix incorrect afi handling
* slix: chage capabilities format to one word camel case
* unit tests: update nfc files with new slix format

Co-authored-by: あく <alleteam@gmail.com>
2024-05-17 12:58:32 +01:00
Astra
603a86dbe6 [FL-3797] Settings refactor fixes (#3654) 2024-05-17 12:52:42 +01:00
MX
7c5111e29f Merge remote-tracking branch 'OFW/dev' into dev 2024-05-16 23:37:03 +03:00
WillyJL
63403bbae2 JS: Add submenu module (#3601)
* JS: Add submenu module
* Using view_holder instead of view_dispatcher

Co-authored-by: nminaylov <nm29719@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-05-16 18:55:08 +01:00
あく
7c63bf7574 Revert "TLSF memory allocator. Less free flash, moar free ram. (#3572)" (#3651)
* Revert "TLSF memory allocator. Less free flash, moar free ram. (#3572)"

This reverts commit 1d17206e23.

* Fix PVS warnings

* github: logging for ticket number checks to stdout

* memgr: removed offending todo

---------

Co-authored-by: hedger <hedger@nanode.su>
2024-05-16 18:43:27 +04:00
MX
0ae78dfcdd Revert TLSF
This reverts commit 5dddb075ac
2024-05-16 05:41:16 +03:00
MX
97d5b8b6f6 subghz plugin ext only load 2024-05-16 03:54:20 +03:00
MX
33daa960cf Merge remote-tracking branch 'OFW/dev' into dev 2024-05-16 03:53:59 +03:00
Sergei Gavrilov
5dddb075ac TLSF memory allocator. Less free flash, moar free ram. (#3572)
* add tlsf as submodule
* libs: tlsf
* Furi: tlsf as allocator
* Furi: heap walker
* shmal fixshesh
* f18: tlsf
* PVS: ignore tlsf
* I like to moving
* merge upcoming changes
* memmgr: alloc aligned, realloc
* Furi: distinct name for auxiliary memory pool
* Furi: put idle and timer thread to mem2
* Furi: fix smal things in allocator
* Furi: remove aligned_free. Use free instead.
* aligned_malloc -> aligned_alloc
* aligned_alloc, parameters order
* aligned_alloc: check that alignment is correct
* unit test: malloc
* unit tests: realloc and test with memory fragmentation
* unit tests: aligned_alloc
* update api
* updater: properly read large update file

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-05-16 03:51:45 +03:00
Eric Betts
6d1a5c71e6 Skylanders plugin (#3315)
* PoC skylanders plugin
* based on db0c7e4fad
* More figures
* Fix util methods

Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: gornekich <n.gorbadey@gmail.com>
2024-05-16 03:44:40 +03:00
Eric Betts
50bee67748 Skylanders plugin (#3315)
* PoC skylanders plugin
* based on db0c7e4fad
* More figures
* Fix util methods

Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: gornekich <n.gorbadey@gmail.com>
2024-05-15 19:09:08 +01:00
MX
3005f6cd9a Hid app improvements
- Move new mouse jiggler into mouse jiggler stealth
- Set stealth jiggler max time default value to 4 min and min value to 1 min
- Various UI fixes
- Merge changes from OFW commit 11d7f53854

([FL-3770, FL-3680] HID App improvements and little extra (3518))
2024-05-15 19:08:10 +03:00
MX
fb8f59fa1d fix merge issues 2024-05-15 19:04:37 +03:00
Sergei Gavrilov
1d17206e23 TLSF memory allocator. Less free flash, moar free ram. (#3572)
* add tlsf as submodule
* libs: tlsf
* Furi: tlsf as allocator
* Furi: heap walker
* shmal fixshesh
* f18: tlsf
* PVS: ignore tlsf
* I like to moving
* merge upcoming changes
* memmgr: alloc aligned, realloc
* Furi: distinct name for auxiliary memory pool
* Furi: put idle and timer thread to mem2
* Furi: fix smal things in allocator
* Furi: remove aligned_free. Use free instead.
* aligned_malloc -> aligned_alloc
* aligned_alloc, parameters order
* aligned_alloc: check that alignment is correct
* unit test: malloc
* unit tests: realloc and test with memory fragmentation
* unit tests: aligned_alloc
* update api
* updater: properly read large update file

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-05-15 16:47:21 +01:00
MX
548d370ab9 Merge remote-tracking branch 'OFW/dev' into dev 2024-05-15 18:25:03 +03:00
MX
5efbd36bb8 sync anims 2024-05-15 18:23:19 +03:00
MX
1afa3f7ef3 Merge remote-tracking branch 'OFW/dev' into dev 2024-05-15 18:22:54 +03:00
Max Andreev
3d3db9f5b0 Add new map analyser (#3648)
* Add new map analyser
* Fix typos

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-05-15 12:25:02 +01:00
Astra
e3f95a326b [FL-3797] Settings menu refactoring (#3632)
* Settings menu refactoring
* Update F18 api
* Wording changes
* Update certification icon
* Desktop: optimize settings save routine, fix navigation lag
* Gui: add submenu position getter. Desktop: proper menu index preservation.
* Gui: proper index getter for submenu. Desktop: cleaner settings navigation.

Co-authored-by: あく <alleteam@gmail.com>
2024-05-14 19:58:09 +01:00
gornekich
988b9cf155 Merge branch 'dev' into astra/3746-mfp-detect 2024-05-14 17:12:37 +01:00
Leptopt1los
a86aeface5 electra lfrfid protocol implemented (#3640) 2024-05-15 00:27:35 +10:00
gornekich
5f9b300ab2 NFC: Mf Desfire fix reading big files (#3616)
* mf desfire: fix incorrect long files reading
* nfc app: trim record size for mf desfire render
* mf desfire: rework reading long record files
* mf desfire: more robust size check

Co-authored-by: あく <alleteam@gmail.com>
2024-05-14 13:34:27 +01:00
hakuyoku2011
a7715704f8 Infrared: Add Toshiba RAS-2518D (#3635)
* Infrared: Add Toshiba RAS-2518D
* Infrared: cleanup AC universal remote

Co-authored-by: あく <alleteam@gmail.com>
2024-05-14 13:15:30 +01:00
fatale69
98c51d13a1 vscode: config fixes (#3587)
* Update extensions.json

* vscode: fixed extensions config for clangd; updated paths for current toolchain location convention

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
2024-05-13 23:33:20 +04:00
あく
b9966a50d9 Ble: new connection parameters negotiation scheme (#3644)
* Ble: new connection parameters negotiation scheme

* Ble: finer connection parameters negotiation flow

* Ble: naming and grammar

* gap: typo fix & field init

---------

Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: hedger <hedger@users.noreply.github.com>
2024-05-13 21:54:59 +04:00
あく
9648da951a FuriHal: move version init to early stage (#3647) 2024-05-13 21:32:28 +04:00
Samar Sunkaria
8ffee678c6 Add support for R_ARM_REL32 relocations. (#3631)
It is fairly straightforward to correctly resolve an R_ARM_REL32 relocation as described in
in the "Relocation types" section of ARM ELF Specification
(https://developer.arm.com/documentation/espc0003/1-0/?lang=en). The documentation provides
the following formula:

```
S - P + A
```

where `S` is the value of the symbol (symAddr), `P` is the address of the place being
relocated (relAddr), and `A` is the addend (value extracted from the storage unit being
relocated, in this case).

I encountered the R_ARM_REL32 relocation type as part of my work for building apps written
in Swift for the Flipper Zero. I have manually tested that this relocation works correctly
by building and running multiple apps that depend on this relocation.

Co-authored-by: あく <alleteam@gmail.com>
2024-05-13 16:21:28 +01:00
WillyJL
e1cb69d046 Remove unused DolphinWait_61x59 icon (#3645)
Co-authored-by: あく <alleteam@gmail.com>
2024-05-13 16:11:46 +01:00
Astra
b60e6042a5 [FL-3813] Add the Akira animation (#3636)
* Add the Akira animation
* Dolphin: adjust weight for new animation

Co-authored-by: あく <alleteam@gmail.com>
2024-05-13 15:47:07 +01:00
MX
96db11a0d6 Merge remote-tracking branch 'OFW/dev' into dev 2024-05-11 00:54:32 +03:00
あく
b12d43b765 Desktop: fix crash on autolock after restart in locked state (#3643)
* Desktop: fix crash on autolock after restart in locked state
* Desktop: switch to clock model to fix condition race in desktop lock.
2024-05-10 16:01:33 +01:00
MX
a89a67d103 fix naming 2024-05-03 23:04:58 +03:00
MX
9656331618 update changelogus 2024-05-03 22:31:56 +03:00
MMX
a8dcec0dad Merge pull request #750 from DarkFlippers/electra
Electra intercom lfrfid protocol
2024-05-03 22:25:05 +03:00
Methodius
d73832a5dd Merge remote-tracking branch 'origin/dev' into electra 2024-05-03 22:17:14 +03:00
MMX
a27aa0336a Merge pull request #746 from gushmazuko/feature/random_mouse_jiggler
Enhance Random Interval and Movement Functionality in HID Mouse Jiggler for Improved Stealth and Human-Like Behavior
2024-05-03 22:04:55 +03:00
MX
887f6a20fc We already using furi random, cleanup unused parts, format code 2024-05-03 21:28:18 +03:00
MX
786dbfe0c3 Merge branch 'dev' into feature/random_mouse_jiggler 2024-05-03 21:09:21 +03:00
MX
374e96bb7d ibutton and lfrfid small ui improvements 2024-05-03 20:59:28 +03:00
MX
c9d23a9d1d update changelog 2024-05-03 19:02:09 +03:00
MX
6bfa383cea Revert "Merge remote-tracking branch 'OFW/astra/3746-mfp-detect' into dev"
This reverts commit 9b377e6f80, reversing
changes made to 1736a8a7c2.
2024-05-03 14:50:58 +03:00
Methodius
bf721d7a5f Merge remote-tracking branch 'origin/dev' into electra 2024-05-01 21:12:14 +03:00
Methodius
7077d588c7 electra protocol rename. again 2024-05-01 21:12:06 +03:00
MX
75ece9b697 add temp fix since no proper fix exist at the moment 2024-05-01 19:07:57 +03:00
MX
a57dbe446e update DS1420 for latest ibutton changes 2024-05-01 16:53:49 +03:00
MX
9b377e6f80 Merge remote-tracking branch 'OFW/astra/3746-mfp-detect' into dev 2024-05-01 16:49:53 +03:00
MX
1736a8a7c2 Merge remote-tracking branch 'OFW/dev' into dev 2024-04-30 22:31:39 +03:00
Astra
7414e6d4df [FL-3817] iButton: fix crash when deleting some keys (#3617)
* iButton: fix crash when deleting some keys
* Fix cyfral crashes
* Better data formatting
* Remove void returns
2024-04-29 19:56:15 +09:00
MX
e7ef923729 Merge remote-tracking branch 'OFW/astra/3817-ibutton-crash' into dev 2024-04-27 15:09:25 +03:00
MX
c157ca9879 Merge remote-tracking branch 'OFW/gornek/desfire_long_files' into dev 2024-04-27 15:09:21 +03:00
MX
4965215c8d Merge remote-tracking branch 'OFW/dev' into dev 2024-04-27 14:44:18 +03:00
Astra
379e8d2a6a Fix cyfral crashes 2024-04-27 15:53:19 +09:00
Astra
42c69b076a iButton: fix crash when deleting some keys 2024-04-26 19:07:51 +09:00
gornekich
d13017a7fe Merge branch 'dev' into gornek/desfire_long_files 2024-04-25 20:13:20 +01:00
gornekich
0e3cbb4911 mf desfire: rework reading long record files 2024-04-25 20:01:32 +01:00
gornekich
f544aa8eb6 nfc app: trim record size for mf desfire render 2024-04-25 19:55:35 +01:00
gornekich
e5f9af3b43 mf desfire: fix incorrect long files reading 2024-04-25 18:13:52 +01:00
あく
43c4381820 [FL-3814] Desktop: cleanup error popups (#3615)
* Desktop: cleanup error popups, add missing factory keys notification
* Desktop: enclave warning wording
2024-04-25 08:39:38 +09:00
Astra
1559ee6293 [Fl-3809] Troika parser visual fixes (#3614)
Co-authored-by: あく <alleteam@gmail.com>
2024-04-24 21:47:40 +09:00
Astra
34abaa7e27 [FL-3815] Fix the retry/exit confirmation prompts in iButton (#3613) 2024-04-24 21:35:15 +09:00
MX
3108f07a4b faac rc add button B 2024-04-23 15:04:20 +03:00
MX
c3b59a9dba add todo 2024-04-23 14:54:56 +03:00
MX
3269f751cd js vgm module and widget fix
VGM js module by jamisonderek
Js fixes by jamisonderek
2024-04-23 12:24:07 +03:00
Astra
2987a46322 Alloc takes no arguments 2024-04-23 11:00:37 +09:00
Astra
fb018ec170 Bump F18 API 2024-04-23 10:54:11 +09:00
Astra
85fc0a2dd3 Merge branch 'dev' into astra/3746-mfp-detect 2024-04-23 10:39:34 +09:00
Astra
83ff6fb8bf Mifare Plus detection done 2024-04-22 21:09:06 +09:00
Methodius
70cdd26855 electra cleanup, protocol description added 2024-04-21 21:03:10 +03:00
Methodius
0a7e258c1a Merge remote-tracking branch 'origin/dev' into electra 2024-04-21 12:31:55 +03:00
MX
f88a916ccc Merge remote-tracking branch 'OFW/dev' into dev [ci skip] 2024-04-21 11:42:57 +03:00
gushmazuko
6cb9ad12f1 Enhance Random Interval and Movement Functionality 2024-04-21 02:14:46 +02:00
Methodius
5bf16e7e0e no more hardcoded epilogue (for now, whitelist will be great if it is possible) 2024-04-19 23:17:18 +03:00
Methodius
7b99f0b0bb Merge remote-tracking branch 'origin/dev' into electra 2024-04-19 18:07:23 +03:00
gornekich
c87683596a nfc app: add legacy keys for plantain cards (#3602)
Co-authored-by: あく <alleteam@gmail.com>
2024-04-19 23:22:07 +09:00
WillyJL
9bef2aaec6 GUI: Fix array out of bounds in menu exit (#3604)
* GUI: Fix array out of bounds in menu exit
* Gui: fix incorrect empty menu handling
* Gui: add missing item check in menu ok handling
* Gui: remove dead code from menu module

Co-authored-by: あく <alleteam@gmail.com>
2024-04-19 23:10:48 +09:00
Leopold
286fd796e7 add support for S(WTX) request in iso14443_4a_poller (#3590)
Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-04-19 21:11:22 +09:00
Astra
0d73a58123 Mosgortrans parser output fixes (#3554)
* Fix mosgortrans/troika newlines and mark unused variables
* Supress warnings for TODOs that don't need a ticket

Co-authored-by: あく <alleteam@gmail.com>
2024-04-19 21:01:57 +09:00
Astra
9042009b0b Proper detection (WIP) 2024-04-19 20:43:18 +09:00
MX
8eba6e18ff Merge remote-tracking branch 'OFW/dev' into dev 2024-04-18 17:24:48 +03:00
MX
4422a03ae9 Merge remote-tracking branch 'OFW/dev' into dev 2024-04-18 17:22:36 +03:00
WillyJL
12112e70bc BLE: Add GapPairingNone support (#3596)
* BLE: Add GapPairingNone support
* FuriHal: cleanup naming in ble gap, remove useless config options

Co-authored-by: あく <alleteam@gmail.com>
2024-04-18 10:26:58 +09:00
gornekich
be43e49869 nfc app: fix false positive verification in bip plugin (#3595)
Co-authored-by: あく <alleteam@gmail.com>
2024-04-18 09:56:39 +09:00
MMX
00970a4b12 Allow setting view_dispatcher callbacks to NULL again (#3580)
Co-authored-by: あく <alleteam@gmail.com>
2024-04-18 09:34:33 +09:00
KRukus9
94c2d7a4e3 Update tv.ir (#3584)
Co-authored-by: あく <alleteam@gmail.com>
2024-04-18 08:12:02 +09:00
Astra
4883383b20 [FL-3679] iButton new UI (#3471)
* iButton new UI
* UI final touches
* Satisfy PVS

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-04-18 08:05:37 +09:00
あく
70f93a48f5 [FL-2969] FuriHal: add ADC API (#3583)
* Examples: remove unused context
* FuriHal: add simple ADC API
* Examples: add ADC example app
* FuriHal: add extended configuration options for ADC API
* FuriHal: add ADC clock configuration, fix calibration routine for single ended mode, new optimized parameters, documentation.
* FuriHal: add FuriHalAdcChannelTEMPSENSOR sampling time note
* FuriHal: update FuriHalAdcChannelVBAT description.
* FuriHal: use insomnia while ADC is acquired.
* Examples: cleanup example_adc a little bit
2024-04-18 00:17:40 +09:00
Astra
7189026335 Initial MFPlus draft 2024-04-17 11:00:51 +09:00
MX
b079b46681 Merge remote-tracking branch 'OFW/dev' into dev 2024-04-16 22:46:32 +03:00
gornekich
1a40fae003 [FL-3750] Mf Desfire multiple file rights support (#3576)
* mf desfire: remove unused type
* mf desfire: continue reading after failed get free mem cmd
* mf desfire: fix processing read master key settings command
* mf desfire: don't read applications if they are auth protected
* mf desfire: handle multiple rights
* mf desfire: fix PVS warnings
* mf desfire: fix print format
* mf desfire: fix logs
* mf classic: add send frame functions to poller
* unit tests: add test from mfc crypto frame exchange
* mf classic: add documentation
* mf classic: fix incorrect name
* target: fix api version
2024-04-16 14:55:24 +09:00
MX
f4ffd29bbc Allow no prefix usage of name_generator_make_detailed_datetime
Remove extra check for NULL since check is present in code already
2024-04-12 20:16:42 +03:00
MX
b299604932 js fix badusb double free crash with quit()
by Willy-JL
2024-04-12 20:02:38 +03:00
MX
6bb605f8ce Allow setting view dispatcher callbacks to NULL 2024-04-11 01:20:39 +03:00
MX
c1e8cbf3fd update changelog 2024-04-10 15:46:20 +03:00
MX
2443a702c9 update nfc parser
by zacharyweiss
2024-04-10 15:38:57 +03:00
MX
744ef8138e subghz add manually fixes 2024-04-10 15:26:47 +03:00
MX
b3151c563f Merge remote-tracking branch 'OFW/dev' into dev 2024-04-10 15:18:09 +03:00
RebornedBrain
fb9728d570 [FL-3772] Felica poller (#3570)
* New types for felica poller
* New functions for felica data transmissions
* Felica memory map extended with new fields
* Init/deinit of mbedtls context added for felica encryption
* Functions for session key and mac calculations added
* Raw felica_poller implementation added
* Removed MAC type parameter from check_mac function
* Replaced all data fields needed for auth with context structure
* Clean up felica_poller.c
* Now RC block is filled with random numbers
* New parameter for counting well-read blocks
* Some cleanups
* Felica file save and load logic added
* Now we use card key from context for session key calculation
* Copying card key to card block from auth context when both authentications succeeded, otherwise decrement blocks count by 1
* New felica poller event added
* Moved some data structions to public namespace
* FelicaAuthenticationContext struct moved to felica.h
* Field type and name changed for better ones
* Helper functions for felica_auth added to the app
* New scene for felica card key input added
* Logic for felica key input added
* Auth context request processing added
* Added block index definitions and replaced all index numbers with them
* More macro defines
* Replace nesting with do while block
* New function for write operations mac calculation added
* Replace nesting with do while block
* Make functions static for now because they are used internally
* Wrote some comments
* Raw felica render implementation
* New felica scenes
* Adjusted felica dump rendering according design requirements
* New felica scene added
* Helper for switching scene during unlock added
* Added warning scene and transfer to it
* Moved unlock scene logic to separate files
* Magic number changed
* New felica render logic
* Felica scenes adjusted according to design requirements
* Felica poller cleanups
* Some asserts added and some fixed
* Replcaed asserts to checks in public api
* Fixed pvs warnings in felica_poller
* New event for felica_poller added for incomplete read actions
* Handling of new poller event added
* Update SConscript with felica files
* Update api_symbols.csv with felica functions
* Sync API versions

Co-authored-by: あく <alleteam@gmail.com>
2024-04-10 18:51:36 +09:00
MX
c144611609 update changelog 2024-04-10 01:44:41 +03:00
MX
95da39ba88 Merge remote-tracking branch 'OFW/dev' into dev 2024-04-09 20:33:52 +03:00
Victor Nikitchuk
db14ca964b Status output !TX/RX on the GDO2 CC1101 pin (#3571)
* Status output !TX/RX on the GDO2 CC1101 pin\
* Fix PVS warnings

Co-authored-by: あく <alleteam@gmail.com>
2024-04-10 00:05:30 +09:00
WillyJL
e3ca293eee Desktop/Loader: Unload animations before loading FAPs (#3573)
* Desktop: Unload animations before FAP is loaded
* Loader: Add API to start detached (returns instantly, queues event)
* Desktop: Fix early animation unload deadlocks
* Loader: remove redundant event
* Bump api symbols

Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: SG <who.just.the.doctor@gmail.com>
2024-04-09 22:42:03 +09:00
Nikolay Minaylov
58da27fa91 JS Documentation (#3535)
* Initial JS documentation
* Spelling fix

Co-authored-by: あく <alleteam@gmail.com>
2024-04-09 18:06:37 +09:00
あく
88a6860913 Update radio stack to v1.19.0 (#3545)
* Update radio stack to v1.19.0
* Ble: set max connection interal same as min, kinda speedups everything
2024-04-09 16:01:55 +09:00
MX
c9909467f9 Merge remote-tracking branch 'OFW/dev' into dev 2024-04-09 03:24:16 +03:00
Astra
27e61eb808 Move crypto1 to helpers, add it to the public API (#3567)
* Move crypto1 to helpers, add it to the public API
* F18 API version bump

Co-authored-by: あく <alleteam@gmail.com>
2024-04-07 23:47:48 +09:00
WillyJL
16b34c6e4d Explain RNG differences, add FURI_HAL_RANDOM_MAX (#3565)
* Explain RNG differences, add FURI_HAL_RANDOM_MAX
* Mark FURI_HAL_RANDOM_MAX unsigned

Co-authored-by: あく <alleteam@gmail.com>
2024-04-07 23:11:23 +09:00
WillyJL
6b120a3b09 Furi: Add "out of memory" and "malloc(0)" crash messages (#3574)
Co-authored-by: あく <alleteam@gmail.com>
2024-04-07 22:49:00 +09:00
WillyJL
c31b60c7b7 IR: Fix crash on duty_cycle=1 (#3568)
* IR: Fix crash on duty_cycle=1
* Infrared: use float around duty_cycle

Co-authored-by: あく <alleteam@gmail.com>
2024-04-07 22:21:25 +09:00
MX
d1c75dc57b update changelog 2024-04-06 07:08:55 +03:00
MX
52d97b9329 update readme and fix hex uppercase 2024-04-06 06:44:08 +03:00
MX
294df5d1d4 desktop animations unload apilock revert
+ js layout fix and lfrfid ui fix
by Willy-JL
2024-04-06 05:40:53 +03:00
MX
344b624efc fix apps loading logic 2024-04-05 08:57:34 +03:00
MX
1e324a7314 fix favorites lockup 2024-04-05 08:02:38 +03:00
MX
6e4d32b941 js add badusb layout support
by Willy-JL
2024-04-05 08:01:53 +03:00
MX
22cf19dcef format 2024-04-05 06:42:05 +03:00
MX
7787845479 cleanup unused debug, set proper log levels 2024-04-05 06:41:31 +03:00
MX
ef29ed149d better subghz settings and more anim unload fixes
by Willy-JL
2024-04-05 06:36:35 +03:00
MX
a830d6b511 rework subghz settings, enable tx-rx state on unused gpio pin by default 2024-04-05 04:02:33 +03:00
MMX
f8d4d9397e Merge pull request #742 from quen0n/patch-1
Status output !TX/RX on the GDO2 CC1101 pin
2024-04-05 03:28:14 +03:00
MX
5ba6e3225b allow external apps to use infrared settings
by Willy-JL
2024-04-05 02:46:04 +03:00
MX
ec4b8b8f5e Various fixes
fixes by Willy-JL
nfc parser by zacharyweiss
js widget and path globals by jamisonderek
2024-04-05 01:25:03 +03:00
MX
45e7913435 after merge fixes
add void
2024-04-04 22:55:39 +03:00
Victor Nikitchuk
f5ca3ed2a1 Status output !TX/RX on the GDO2 CC1101 pin 2024-04-04 22:36:44 +03:00
MX
7c6541e513 Merge remote-tracking branch 'OFW/dev' into dev 2024-04-04 21:11:59 +03:00
Sergei Gavrilov
5431257470 [FL-3765][FL-3737] Desktop: ensure that animation is unloaded before app start (#3569)
* Desktop: ensure that animation is unloaded before app start
* Desktop: unload animation only if it is loaded
2024-04-04 21:42:58 +09:00
Eric Betts
5793d5271c Hide unlock with reader for MFU-C (#3553)
Co-authored-by: あく <alleteam@gmail.com>
2024-04-04 19:01:41 +09:00
MX
3ccb2956f3 Merge remote-tracking branch 'OFW/dev' into dev 2024-04-02 17:02:56 +03:00
hedger
d32f195557 fbt: fixed missing FBT_FAP_DEBUG_ELF_ROOT to dist env (#3563) 2024-04-02 20:30:42 +09:00
hedger
096a26b07d fbt: added -Wstrict-prototypes for main firmware (#3557)
* fbt: added -Wstrict-prototypes for main firmware (excludes extapps)
* unit_tests: fixed declarations using strict prototypes
* furi_hal: ble: changed gap stop log level to debug

Co-authored-by: あく <alleteam@gmail.com>
2024-04-02 02:02:45 +09:00
RebornedBrain
f426c44811 [FL-3801] Mifare Ultralight naming fix (#3551)
* Fixed some UI mismatches in plugin and nfc app
* Fixed nameing mismatches in mosgortrans_util
* Fix ultralight naming display
* Fix naming for Ultralight on read screen
* fbt: fixed regression with pvs-reports autoopen
* Revert st25tb_render.c

Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: hedger <hedger@nanode.su>
2024-04-02 00:02:11 +09:00
WillyJL
9f71be6fef IR: Remember OTG state (#3549)
Co-authored-by: あく <alleteam@gmail.com>
2024-04-01 22:42:47 +09:00
Guacamolie
002e5cd9de Bad USB: fix crash when selecting a keyboard layout (#3555)
Commit 6de2934 (BadUSB: BLE, media keys, Fn/Globe key commands (#3403),
2024-03-25) changed the life-cycle of the bad_usb_script object, so that
the bad_usb_script is allocated when entering the work scene, and freed
when going to the config scene. It also made it so that the keyboard
layout always gets reloaded when entering the work scene.

The logic of the layout config scene, however, assumes that it still
needs to reload the keyboard layout after selecting it. The keyboard
layout data is stored within bad_usb_script however, which is NULL when
within the layout config scene.

The fix is simple. Since we are now reload the keyboard layout anyway
when entering the work scene, we can just remove this extra call.

Resolves: #3552
2024-04-01 21:49:51 +09:00
MX
e436ea275a Merge remote-tracking branch 'OFW/dev' into dev 2024-03-29 14:05:07 +03:00
Kuronons
3084469d83 L1_Mods animation update : adding VGM visual (#3502)
* Update images
* Update meta.txt
* Reverting to MOD 9999

Co-authored-by: あく <alleteam@gmail.com>
2024-03-29 12:40:26 +09:00
Georgii Surkov
64bd2f9c84 [FL-3677, FL-3798] RFID Improvements (#3524)
* Update saved_info and read_success scenes
* Update EM4100 rendering
* Update HIDExt rendering
* Update Gallagher rendering
* Update HidProx rendering
* Update IOProx rendering
* Update H10301 rendering
* Update PAC/Stanley rendering
* Add strcasecmp() to API, better manufacturer/name handling
* Update Viking rendering
* Update FDX-A rendering
* Update Pyramid rendering
* Update Indala26 rendering
* Update Idteck rendering
* Update Keri rendering
* Update Nexwatch rendering
* Update Jablotron rendering
* Update Paradox rendering
* Truncate long Hex string on scene_read_suceess
* Fix formatting
* Update AWID rendering
* Update FDX-B rendering
* Tweak string formatting in various screens
* More read_success view tweaks
* Fix formatting
* Fix Pyramid brief rendering
* Reset saved key menu when going back
* Reset other menus on back where applicable
* Update confirmation scenes
* Update emulation scene
* Update delete scene
* Update raw read info screen
* Update raw read scene, fix crash
* Update raw read success scene
* Update write scene
* Always return to SceneSelectKey after saving
* Update SceneWriteSuccess and SceneDeleteSuccess
* Replace closing parens with dots
* FL-3798: Fix special formatting in text_box
* Simplify SceneReadSuccess
* Fix crash when having a trailing newline in text_box
* Bump API symbols version
* Make PVS happy
* Format sources

Co-authored-by: あく <alleteam@gmail.com>
2024-03-29 12:32:43 +09:00
RebornedBrain
c353182353 [FL-3800, FL-3801] Fixed plugins and UI (#3543)
* Fixed some UI mismatches in plugin and nfc app
* Fixed nameing mismatches in mosgortrans_util
* Fix ultralight naming display

Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-03-29 11:45:01 +09:00
hedger
538422e2a9 ufbt: fixes for generated vscode project (#3547)
Co-authored-by: あく <alleteam@gmail.com>
2024-03-29 10:47:43 +09:00
gornekich
74cda02368 [FL-3803] NFC: Fix mf desfire detect (#3548) 2024-03-29 10:32:15 +09:00
MX
f02b03172a Merge remote-tracking branch 'OFW/dev' into dev 2024-03-26 13:54:06 +03:00
superKoder
21e7c46033 infrared_transmit.h was missing #pragma once (#3541)
Co-authored-by: superKoder <superKoder@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-03-26 16:24:28 +09:00
FireFly7386
f5dff83595 Show the wrong PIN Attempt count on the login screen (#3495)
* now shows failed login attempt count
* fixed the memory leaking
* made some text changes
* removed second allocation of the furi string
* cleaned up code
* Changed Position of the Wrong Attempts Text + It removes if you typed an arrow
* aligned text to the center and switched to furi_string_reset insted of furi_string_set_str("")
* fixed weird behavior
* Desktop: cleanup pin scene code, better reporting on transition between states

Co-authored-by: あく <alleteam@gmail.com>
2024-03-26 16:18:44 +09:00
MX
175db7baa3 fix patch 2024-03-25 23:56:32 +03:00
MX
a6aa441edc add missing void 2024-03-25 23:20:48 +03:00
MX
ae84992f25 Merge remote-tracking branch 'OFW/dev' into dev 2024-03-25 23:20:46 +03:00
Silent
8ec1c74baf SavedStruct: Introduce saved_struct_get_metadata (#3392)
* SavedStruct: Replace saved_struct_get_payload_size with saved_struct_get_metadata
  This new function can obtain the magic value, version and payload size
  all at once. This makes the function useful e.g.
  for backwards compatibility.
* SavedStruct: const-qualify saved_struct_save
* Toolbox: add saved struct documentation

Co-authored-by: あく <alleteam@gmail.com>
2024-03-26 03:48:18 +09:00
Nikolay Minaylov
84beb9b23e JS CLI command (#3539)
* js command
* made the js command exit when there's an error
* JS CLI: moved to js_app
* JS: abortable cli invocations
* JS: less debug logging in console logs, fix storage descriptor leak in cli

Co-authored-by: Milk-Cool <milan-pl@mail.ru>
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-03-26 01:35:38 +09:00
MX
fda8370255 post merge fixes p2 [ci skip] 2024-03-25 15:47:34 +03:00
MX
7c0939ad52 Merge remote-tracking branch 'OFW/dev' into dev 2024-03-25 14:23:44 +03:00
MX
01f3192957 post merge fix 2024-03-25 14:08:51 +03:00
MX
9961dadee7 Gui: unicode support, new canvas API
merge ofw commit
2024-03-25 14:04:07 +03:00
MX
585b7f963d Api Symbols: replace asserts with checks
merge ofw commit
2024-03-25 13:53:32 +03:00
Brandon Weeks
bb439a9761 Fix DIP decoding for Linear Delta-3 (#3528)
Since my original PR (#2239) DIP values produced have been inverted.

Co-authored-by: あく <alleteam@gmail.com>
2024-03-25 18:24:57 +09:00
Kowalski Dragon
8762629276 Add ChromeOS Bad USB demo (#3486)
Signed-off-by: Kowalski Dragon (kowalski7cc) <kowalski7cc@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-03-25 18:03:20 +09:00
Georgii Surkov
adafe96924 [FL-3762] Configurable Infrared TX output (#3484)
* Implement Gui for the feature
* Implement furi_hal side
* Implement IR module detection
* Fix PVS warnings
* Add comments

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-03-25 17:56:56 +09:00
Nikolay Minaylov
6de2934394 BadUSB: BLE, media keys, Fn/Globe key commands (#3403)
* BadUSB: media keys, GLOBE command
* f18 api table fix
* BadUSB over BLE
* Made PVS happy

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-03-25 17:39:33 +09:00
gornekich
f633f476c8 [FL-3787] NFC: Slix privacy password reveal and Desfire detect fix (#3504)
* slix: fix incorrect default privacy passwords
* slix poller: add check privacy password state
* mf desfire: change detect algorithm
* mf desfire: change detection algorithm to check master key version
* mf desfire: change assert to check
* Update api symbols and cleanup code

Co-authored-by: あく <alleteam@gmail.com>
2024-03-25 16:18:28 +09:00
Georgii Surkov
11d7f53854 [FL-3770, FL-3680] HID App improvements and little extra (#3518)
* FL-3680: change capitalisation
* Replace D-Pad graphic
* Fix the bluetooth indicator not showing
* Remove exit confirm scene
* Fix wrong back button durations
* Improve application structure
* Improve mouse clicker view
* Improve mouse jiggler view
* Improve media view
* Improve mouse and media views
* Improve tiktok view
* Reset mouse jiggler state on view exit
* Use alpha in mouse and tiktok views
* Reset mouse left button state on view exit
* Improve button graphics
* Improve mouse graphics

Co-authored-by: あく <alleteam@gmail.com>
2024-03-25 16:00:35 +09:00
hedger
763e2f5bab github: additional pre-upload checks for doxygen workflow (#3526)
Co-authored-by: あく <alleteam@gmail.com>
2024-03-25 15:51:09 +09:00
Protik Banerji
bf769ee398 Add Dutch Originals Sound Bar IR codes to infrared app (#3529)
* Add Dutch Originals Soundbar IR codes
* Switch change_input button to next and prev

Co-authored-by: あく <alleteam@gmail.com>
2024-03-25 15:42:42 +09:00
gornekich
23940bff81 [FL-3796], [FL-3795] NFC UI fixes (#3532)
* nfc app: fix navigation in select protocol scene
* nfc app: fix text box position and size on emulation screen

Co-authored-by: あく <alleteam@gmail.com>
2024-03-25 15:36:17 +09:00
WillyJL
c52f28efa4 GUI: Fix textbox overflow/crash/hang with 256+ lines (#3536)
* GUI: Fix textbox overflow/crash/hang with 256+ lines
* GUI: Textbox calculate lines based on font height
* Gui: proper types in text_box

Co-authored-by: あく <alleteam@gmail.com>
2024-03-25 15:28:20 +09:00
MX
81a16e5a28 update changelog 2024-03-25 01:04:33 +03:00
MX
8d75af8457 update changelog 2024-03-24 00:17:02 +03:00
MX
aaa7c81f99 js modules updates 2
by Willy-JL
2024-03-23 23:48:55 +03:00
MX
385c3c1c01 Sync textbox changes with OFW PR 3536
by Willy-JL
https://github.com/flipperdevices/flipperzero-firmware/pull/3536/files
2024-03-23 23:32:47 +03:00
MX
c323656037 js modules updates
by Willy-JL
2024-03-23 23:18:26 +03:00
WillyJL
0a48658a9a GUI: Fix elements module for new canvas API (#3527)
* GUI: Fix elements module for new canvas API
* Update symbols
* Update f18 symbols
* Gui: update elements for new canvas

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-03-23 14:54:01 +09:00
MX
46a90ec97f BLE/GAP fixes
by hedger
https://github.com/flipperdevices/flipperzero-firmware/pull/3533/files
2024-03-22 23:43:09 +03:00
Egor Koleda
d1d3c43939 Add support for Pioneer SR IR remotes (#3308)
* add support for Pioneer SR IR remotes
* fix minor issues
* fix repeat
* Fix protocol enumeration order
* Add unit tests for Pioneer IR protocol
* Clean up raw test data
* Add encoder/decoder tests, modify parser
* Remove dead code
* Use loops where appropriate

Co-authored-by: Georgii Surkov <37121527+gsurkov@users.noreply.github.com>
Co-authored-by: Georgii Surkov <georgii.surkov@outlook.com>
2024-03-22 23:37:37 +03:00
gornekich
34fac96ef6 nfc app: fix text box position and size on emulation screen 2024-03-22 23:37:29 +03:00
gornekich
c1441b1331 nfc app: fix navigation in select protocol scene 2024-03-22 23:37:22 +03:00
MX
6d73b266d5 Fixes for text box and uart echo
thanks Willy-JL !
2024-03-22 22:47:24 +03:00
hedger
6947d3dea2 BLE/GAP fixes (#3533)
* hal: fixed ble_gap race on queue init
* fbt: removed deprecated path_as_posix
* hal: fixed inconsistencies between f7/f18 APIs
* hal: fixed excessively strict event handler re-init checks

Co-authored-by: あく <alleteam@gmail.com>
2024-03-22 21:36:05 +09:00
Egor Koleda
2aa2dcc71b Add support for Pioneer SR IR remotes (#3308)
* add support for Pioneer SR IR remotes
* fix minor issues
* fix repeat
* Fix protocol enumeration order
* Add unit tests for Pioneer IR protocol
* Clean up raw test data
* Add encoder/decoder tests, modify parser
* Remove dead code
* Use loops where appropriate

Co-authored-by: Georgii Surkov <37121527+gsurkov@users.noreply.github.com>
Co-authored-by: Georgii Surkov <georgii.surkov@outlook.com>
2024-03-22 21:25:52 +09:00
MX
09c46a3381 Fix DIP decoding for Linear Delta-3
by brandonweeks

https://github.com/flipperdevices/flipperzero-firmware/pull/3528/files
2024-03-22 11:30:55 +03:00
MX
6d9a2cc699 fbt/ufbt: Ensure POSIX paths are passed to GDB on all platforms
https://github.com/flipperdevices/flipperzero-firmware/pull/3360/files
2024-03-22 11:27:48 +03:00
Jaroslav Nesterov
760deb66c5 Add support for DEFAULT_STRING_DELAY in Bad USB App (#3476)
* Add support for `DEFAULT_STRING_DELAY` in bad_usb
* Format Sources

Co-authored-by: あく <alleteam@gmail.com>
2024-03-22 11:26:30 +03:00
MX
e0469ae1ed Adding F13-F24 function key support to BadUSB
https://github.com/flipperdevices/flipperzero-firmware/pull/3468/files
2024-03-22 11:26:00 +03:00
Silent
4039ccbcca fbt/ufbt: Ensure POSIX paths are passed to GDB on all platforms (#3360)
* fbt/ufbt: Ensure POSIX paths are passed to GDB on all platforms
  GDB heavily dislikes forward slashes from Windows paths and strips
  them internally instead of normalizing them. Account for this by
  passing POSIX paths explicitly.
* fbt: different approach for posix path handling
* fbt, ufbt: further fixes for path handling
* fbt: explicit path stringification
* linter fixes

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: あく <alleteam@gmail.com>
2024-03-21 07:36:38 +09:00
小兽兽
0c465f7eb3 Added new IR commands (#3480)
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-03-21 07:24:33 +09:00
Jaroslav Nesterov
1bef579b82 Add support for DEFAULT_STRING_DELAY in Bad USB App (#3476)
* Add support for `DEFAULT_STRING_DELAY` in bad_usb
* Format Sources

Co-authored-by: あく <alleteam@gmail.com>
2024-03-21 07:18:02 +09:00
Gabe
702ab672bb Adding F13-F24 function key support to BadUSB (#3468)
* Adding F13-F24 function key support to BadUSB
* Adding F13-F24 function key support to JS version of BadUSB

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-03-21 06:45:16 +09:00
Nikolay Minaylov
7d50c4a742 it-IT-mac layout (#3401)
Co-authored-by: あく <alleteam@gmail.com>
2024-03-21 06:35:48 +09:00
MX
139cc3c93d upd changelog 2024-03-20 22:02:13 +03:00
MX
3b83d8b825 the biggest update ever 2024-03-20 21:47:01 +03:00
MX
8c0ba4de9f add icon 2024-03-20 20:17:16 +03:00
hedger
ee36c66572 fbt: doxygen target (#3510)
* fbt: doxygen target
* github: adjustments for doxygen
* github: always generate docs, only upload for dev
* doxygen: fixed exclusion path for awesome-css
* github: stricter check for push ref
* github: bumped action version to fix node.js deprecation
* github: added PVS report url to workflow summary
* github: pvs: reworked report URL handling
* github: added size report to summary
* docs: added `doxygen` target
* fbt: common naming scheme for COMSTR
* Documentation: fix warnings and errors
* Doxygen: stricter warning checks
* fbt: "doxy" target, opens generated doxygen documentation in browser
* github: doxygen: now using edge (1.10) version

Co-authored-by: あく <alleteam@gmail.com>
2024-03-21 01:32:53 +09:00
Astra
4a673397b3 [FL-3760] NFC Parsers cosmetic fixes (#3511)
* NFC Parsers cosmetic fixes
* Clarify the unknown digit indication

Co-authored-by: あく <alleteam@gmail.com>
2024-03-20 18:10:51 +03:00
Astra
a5bb1ead68 NFC wording fixes (#3512)
* NFC wording fixes
* Fix filename

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-03-20 18:10:34 +03:00
Astra
558f75672f [FL-3760] NFC Parsers cosmetic fixes (#3511)
* NFC Parsers cosmetic fixes
* Clarify the unknown digit indication

Co-authored-by: あく <alleteam@gmail.com>
2024-03-21 00:08:35 +09:00
Georgii Surkov
7987917d85 [FL-3496, FL-3523, FL-3767, FL-3790] Infrared fixes and more (#3515)
* FL-3496: do not hardcode universal library names in CLI
* FL-3523: remove TODO, no changes necessary
* FL-3767: remove TODO, no changes necessary
* FL-3790: fix laggy TextInput by not adding it into a ViewStack
* Improve documentation
* Fix logical error in documentation

Co-authored-by: あく <alleteam@gmail.com>
2024-03-20 23:54:07 +09:00
Astra
1c033e2afe NFC wording fixes (#3512)
* NFC wording fixes
* Fix filename

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-03-20 23:44:48 +09:00
Georgii Surkov
169522cbe8 [FL-3792] Fix iButton emulation regression (#3519)
Co-authored-by: あく <alleteam@gmail.com>
2024-03-20 23:37:16 +09:00
MX
7c607abfe6 fix module load 2024-03-20 14:48:54 +03:00
MX
6f560ef210 js updates
by Willy-JL , oldip
2024-03-20 13:13:04 +03:00
MX
71111b0d2f sync anims with OFW
[FL-3776] Add the Freedom_2_dolphins animation
2024-03-20 12:48:50 +03:00
Astra
8bd984ff81 [FL-3151] Update the WiFi devboard developer documentation (#3520)
Co-authored-by: あく <alleteam@gmail.com>
2024-03-20 18:44:31 +09:00
MX
2276432745 Merge remote-tracking branch 'OFW/gsurkov/3792_onewire_fix' into dev 2024-03-20 12:42:15 +03:00
Astra
ff0952d66a [FL-3776] Add the Freedom_2_dolphins animation (#3521)
* Add the Freedom_2_dolphins animation
* Dolphin: rebalance animation weights

Co-authored-by: あく <alleteam@gmail.com>
2024-03-20 18:37:07 +09:00
あく
bcde0aefbd [FL-3729] Gui: unicode support, new canvas API (#3322)
* Revert "Rollback #3305 and #3297 fix various rendering issues (#3307)"

This reverts commit 531ba24e9a.

* Gui: refactor canvas to use proper coordinate system types. Furi: new furi_break check macros. Desktop: proper types for negative offset.

* Desktop: proper types in desktop_view_locked_doors_draw

* Examples: update images example, off it goes

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
2024-03-19 19:23:06 +04:00
あく
acc39a4bc0 Api Symbols: replace asserts with checks (#3507)
* Api Symbols: replace asserts with checks
* Api Symbols: replace asserts with checks part 2
* Update no args function signatures with void, to help compiler to track incorrect usage
* More unavoidable void
* Update PVS config and code to make it happy
* Format sources
* nfc: fix checks
* dead code cleanup & include fixes

Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
2024-03-19 23:43:52 +09:00
Georgii Surkov
c541227483 Merge branch 'dev' into gsurkov/3792_onewire_fix 2024-03-19 12:45:38 +03:00
Anna Prosvetova
a09ec4d976 Infrared: Add Fujitsu ASYG24KMTB (#3513) 2024-03-19 18:19:31 +09:00
Georgii Surkov
a0dc2b5cfc Fix DS1990 emulation 2024-03-18 20:59:35 +03:00
MX
7e9ecdf394 the real update 2024-03-16 02:56:55 +03:00
MX
ce67472dc4 use non prefixed names for regular files with random name 2024-03-15 09:33:27 +03:00
MX
f88da8b0c3 test swap em4100 t5577 blocks (issue 3463 ofw) 2024-03-15 09:32:42 +03:00
MX
d573cc06da js modules updates
by Willy-JL and Sil333033
2024-03-15 07:09:16 +03:00
MX
17dd089b5a sync scenes 2024-03-15 04:27:37 +03:00
MX
eb013ab6ec revert usb cdc config changes to verify issue 3452 2024-03-15 04:08:52 +03:00
MX
d7711d729f Merge branch 'slix_test' into dev 2024-03-15 04:08:43 +03:00
MX
375eb55d33 Merge remote-tracking branch 'OFW/gsurkov/infrared_miscellany' into dev 2024-03-15 04:08:39 +03:00
MX
6e52c591e5 Merge remote-tracking branch 'OFW/gornek/3787_nfc_slix_issues' into slix_test 2024-03-15 04:04:31 +03:00
MX
c5bf29cb8c Merge remote-tracking branch 'OFW/ktq/ac_contrib' into slix_test 2024-03-15 04:04:18 +03:00
Georgii Surkov
2aa85347ee Fix logical error in documentation 2024-03-13 12:28:08 +03:00
Georgii Surkov
75432346de Improve documentation 2024-03-12 19:54:45 +03:00
Georgii Surkov
98c328f93f FL-3790: fix laggy TextInput by not adding it into a ViewStack 2024-03-12 19:45:22 +03:00
Georgii Surkov
3f7a070397 FL-3767: remove TODO, no changes necessary 2024-03-12 16:18:48 +03:00
Georgii Surkov
b27066b508 FL-3523: remove TODO, no changes necessary 2024-03-12 16:14:21 +03:00
Georgii Surkov
5cfc773b7b FL-3496: do not hardcode universal library names in CLI 2024-03-12 15:09:35 +03:00
Anna Prosvetova
2da05bfa6c Infrared: Add Fujitsu ASYG24KMTB 2024-03-12 00:24:29 +01:00
MX
9050a242e6 Merge branch 'ofw_dev' into dev 2024-03-11 21:10:01 +03:00
Georgii Surkov
022fccf0d7 [FL-3783] Asynchronous Infrared remote manipulation (#3503)
* Introduce ConcurrentRunner, load universal and regular remotes concurrently
* Perform all lengthy operations in a ConcurrentRunner
* Fix python formatting
* Clean up code
* Add usage warning
* Remove ConcurrentRunner, use a plain FuriThread instead
* Load remotes asynchronously in RPC mode as well
* Reorder code for clarity
* Clean up, use thread return code to report errors
* Improve wording
* Fix logical error
2024-03-12 02:35:51 +09:00
あく
adbe4d44f4 DateTime: fix missing weekday in datetime_timestamp_to_datetime conversion (#3508) 2024-03-11 17:09:39 +04:00
MX
79a286fe1a upd changelog 2024-03-11 03:53:32 +03:00
MMX
2f5be8f695 Merge pull request #719 from amec0e/dev
Update ac.ir
2024-03-11 02:51:28 +03:00
MMX
e8e596e4c9 Merge pull request #721 from MizumasuShoichi/patch-3
Update subghz_setting.c
2024-03-11 02:51:04 +03:00
MX
7b09a22a5c fix bipki [ci skip] 2024-03-11 02:37:37 +03:00
MX
c9434492b8 Various changes, in expansion, rgb, js
by Willy-JL , Spooks4576 , Sil333033 , HaxSam
2024-03-11 00:37:29 +03:00
Methodius
1bd56fb190 bip parser refactor 2024-03-11 00:24:55 +03:00
MX
25d4c4f829 upd subremote 2024-03-10 23:56:23 +03:00
MX
175f603678 Merge branch 'ofw_dev'
Conflicts:
	.gitmodules
	ReadMe.md
2024-03-10 23:38:56 +03:00
MX
df57ecd786 rem module that is not used in UL for now 2024-03-10 23:37:30 +03:00
MX
58cd56a439 Merge branch 'ofw_dev' into dev p1 2024-03-10 23:35:44 +03:00
gornekich
b1a9904ea5 mf desfire: change detection algorithm to check master key version 2024-03-07 19:29:18 +00:00
gornekich
43d1659200 Merge branch 'dev' into gornek/3787_nfc_slix_issues 2024-03-07 18:55:18 +00:00
gornekich
8f9fbc3a79 mf desfire: change detect algorithm 2024-03-07 18:48:14 +00:00
gornekich
bf97209c9b slix poller: add check privacy password state 2024-03-07 17:38:42 +00:00
gornekich
2961ad5ee1 slix: fix incorrect default privacy passwords 2024-03-07 15:59:27 +00:00
Astra
4f7eb77071 Fix troika 4K keys (#3499) 2024-03-07 15:57:32 +09:00
Astra
ecab4d53d2 [FL-870] Auto-generated firmware documentation take two (#2944)
* Add doxygen and doxygen-awesome css, cleanup docs files
* Ignore more libraries and remove leftover local variables
* Create an actual intro page
* .md files linting
* Add doxygen action
* Fix Doxygen path
* Fix doxyfile path
* Try to upload
* Change docs branch
* Add submudules checkout
* Disable doxygen on PR
* Mention the firmware docs in the readme
* More dev docs mentions in the readme
* Fix runner group, add tags
* Test dev in PR
* Disable running on PR
* Fix a typo in the doxyfile
* Try upload to S3
* Fix local path
* Fix S3 ACL
* Add delete flag, unifying dev and tags
* Update ignored directories
* More ignored directories
* Even more ignored directories
* Fix submodule
* Change S3 uploader
* Change S3 uploader version
* Fix aws sync flags
* Fix ACL
* Disable ACL
* Improve ignores, add WiFi devboard docs
* TEMP: generate dev docs
* TEMP: generate 0.89.0 docs
* Disabling PR trigger
* Enable submodules and test build
* Enable test build
* Disable test build
* Change docs directory structure
* Fix accidentally committed submodule
* Fix submodules
* Update links to the developer documentation
* Markdown linting
* Update workflow, enable test build
* Fix doxygen dir path
* Update Doxyfile-awesome.cfg
* Change paths
* Fix upload docs path
* Disable pull_request debug trigger
* Disable tags building
* Remove autolinks and namespaces
* Establish basic documentation structure
* Add missing changes
* Improve stylesheet, move some files
* Improve examples
* Improve the main page
* Improve application dev docs
* Improve system programming docs
* Improve development tools docs
* Improve other docs
* Improve application examples
* Fix formatting
* Fix PVS-studio warnings
* Improve visuals
* Fix doxygen syntax warnings
* Fix broken links
* Update doxygen action

Co-authored-by: DrunkBatya <drunkbatya.js@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: Georgii Surkov <georgii.surkov@outlook.com>
Co-authored-by: Georgii Surkov <37121527+gsurkov@users.noreply.github.com>
2024-03-06 15:25:21 +09:00
Methodius
78e6c236c7 electra protocol added 2024-02-28 15:13:54 +09:00
MizumasuShoichi
33fe146a57 Update subghz_setting.c
Added frequency: 430.50
2024-02-27 16:02:51 +08:00
amec0e
ee2c7bed92 Update ac.ir
Updated AC
2024-02-21 14:15:52 +00:00
3669 changed files with 117304 additions and 31106 deletions

View File

@@ -1,184 +0,0 @@
Filetype: Flipper Animation Manifest
Version: 1
Name: L1_Waves_128x50
Min butthurt: 0
Max butthurt: 5
Min level: 1
Max level: 3
Weight: 3
Name: L1_Laptop_128x51
Min butthurt: 0
Max butthurt: 7
Min level: 1
Max level: 1
Weight: 3
Name: L1_Sleep_128x64
Min butthurt: 0
Max butthurt: 10
Min level: 1
Max level: 3
Weight: 3
Name: L1_Recording_128x51
Min butthurt: 0
Max butthurt: 8
Min level: 1
Max level: 1
Weight: 3
Name: L1_Furippa1_128x64
Min butthurt: 0
Max butthurt: 6
Min level: 1
Max level: 1
Weight: 3
Name: L1_Read_books_128x64
Min butthurt: 0
Max butthurt: 8
Min level: 1
Max level: 1
Weight: 3
Name: L1_Cry_128x64
Min butthurt: 8
Max butthurt: 13
Min level: 1
Max level: 3
Weight: 3
Name: L1_Boxing_128x64
Min butthurt: 10
Max butthurt: 13
Min level: 1
Max level: 3
Weight: 3
Name: L1_Mad_fist_128x64
Min butthurt: 9
Max butthurt: 13
Min level: 1
Max level: 3
Weight: 3
Name: L1_Mods_128x64
Min butthurt: 0
Max butthurt: 9
Min level: 1
Max level: 3
Weight: 4
Name: L1_Painting_128x64
Min butthurt: 0
Max butthurt: 7
Min level: 1
Max level: 3
Weight: 3
Name: L1_Leaving_sad_128x64
Min butthurt: 14
Max butthurt: 14
Min level: 1
Max level: 3
Weight: 3
Name: L1_Kaiju_128x64
Min butthurt: 0
Max butthurt: 10
Min level: 1
Max level: 3
Weight: 4
Name: L1_My_dude_128x64
Min butthurt: 0
Max butthurt: 8
Min level: 1
Max level: 3
Weight: 4
Name: L2_Wake_up_128x64
Min butthurt: 0
Max butthurt: 12
Min level: 2
Max level: 3
Weight: 4
Name: L2_Furippa2_128x64
Min butthurt: 0
Max butthurt: 6
Min level: 2
Max level: 2
Weight: 3
Name: L2_Hacking_pc_128x64
Min butthurt: 0
Max butthurt: 8
Min level: 2
Max level: 2
Weight: 3
Name: L2_Soldering_128x64
Min butthurt: 0
Max butthurt: 10
Min level: 2
Max level: 2
Weight: 3
Name: L2_Dj_128x64
Min butthurt: 0
Max butthurt: 8
Min level: 2
Max level: 3
Weight: 4
Name: L3_Furippa3_128x64
Min butthurt: 0
Max butthurt: 6
Min level: 3
Max level: 3
Weight: 3
Name: L3_Hijack_radio_128x64
Min butthurt: 0
Max butthurt: 8
Min level: 3
Max level: 3
Weight: 3
Name: L3_Lab_research_128x54
Min butthurt: 0
Max butthurt: 10
Min level: 3
Max level: 3
Weight: 3
Name: L1_Senpai_128x64
Min butthurt: 0
Max butthurt: 5
Min level: 1
Max level: 3
Weight: 4
Name: L1_Sad_song_128x64
Min butthurt: 8
Max butthurt: 13
Min level: 1
Max level: 3
Weight: 4
Name: L2_Coding_in_the_shell_128x64
Min butthurt: 0
Max butthurt: 12
Min level: 2
Max level: 3
Weight: 4
Name: L2_Secret_door_128x64
Min butthurt: 0
Max butthurt: 12
Min level: 2
Max level: 3
Weight: 4

View File

@@ -0,0 +1,15 @@
## New Unleashed FW Dev Build
**Build** - (buildnum)
**Commit** - [(commitsha)](https://github.com/DarkFlippers/unleashed-firmware/commit/(commitsha))
### Sponsor our project -> [Patreon](https://patreon.com/mmxdev) or [Boosty](https://boosty.to/mmxdev)
How to [install firmware](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/documentation/HowToInstall.md)?
### Install FW via Web Updater:
[Default](https://lab.flipper.net/?url=https://unleashedflip.com/fw/dev/flipper-z-f7-update-(buildnum).tgz&target=f7&channel=dev-cfw&version=(buildnum)) > ` `
[Extra apps](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-(buildnum)e.tgz&target=f7&channel=dev-cfw&version=(buildnum)e) > `e`
[No apps](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-(buildnum)c.tgz&target=f7&channel=dev-cfw&version=(buildnum)c) > `c`
What ` `, `e`, `c` means? -> [versions info](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/CHANGELOG.md#what-e---c-means-what-i-need-to-download-if-i-dont-want-to-use-web-updater)
### Direct tgz download links:
[Default](https://unleashedflip.com/fw/dev/flipper-z-f7-update-(buildnum).tgz) > ` ` - [Extra apps](https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-(buildnum)e.tgz) > `e` - [No apps](https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-(buildnum)c.tgz) > `c`

View File

@@ -0,0 +1,20 @@
**New Unleashed FW Dev Build**
**Build** - (buildnum)
**Commit** - [(commitsha)](https://github.com/DarkFlippers/unleashed-firmware/commit/(commitsha))
**Sponsor our project** -> [Patreon](https://patreon.com/mmxdev) or [Boosty](https://boosty.to/mmxdev)
How to [install firmware](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/documentation/HowToInstall.md)?
**Install FW via Web Updater:**
[Default](https://lab.flipper.net/?url=https://unleashedflip.com/fw/dev/flipper-z-f7-update-(buildnum).tgz&target=f7&channel=dev-cfw&version=(buildnum)) > ` `
[Extra apps](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-(buildnum)e.tgz&target=f7&channel=dev-cfw&version=(buildnum)e) > `e`
[No apps](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-(buildnum)c.tgz&target=f7&channel=dev-cfw&version=(buildnum)c) > `c`
What ` `, `e`, `c` means? -> [versions info](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/CHANGELOG.md#what-e---c-means-what-i-need-to-download-if-i-dont-want-to-use-web-updater)
**Direct tgz download links:**
[Default](https://unleashedflip.com/fw/dev/flipper-z-f7-update-(buildnum).tgz) > ` `
[Extra apps](https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-(buildnum)e.tgz) > `e`
[No apps](https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-(buildnum)c.tgz) > `c`

View File

@@ -0,0 +1,13 @@
FROM ubuntu:hirsute
RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y \
ca-certificates \
git \
wget \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
COPY entrypoint.sh /
ENTRYPOINT ["/entrypoint.sh"]

View File

@@ -0,0 +1,10 @@
#!/bin/bash
if [ -z "$1" ]; then
bash
else
echo "Running $1"
set -ex
bash -c "$1"
fi

View File

@@ -0,0 +1,15 @@
## New Unleashed firmware released!
**Version:** (releasever)
**Github:** [Release](https://github.com/DarkFlippers/unleashed-firmware/releases/tag/(releasever))
### Sponsor our project -> [Patreon](https://patreon.com/mmxdev) or [Boosty](https://boosty.to/mmxdev)
How to [install firmware](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/documentation/HowToInstall.md)?
### Install FW via Web Updater:
[Default](https://lab.flipper.net/?url=https://unleashedflip.com/fw/(releasever)/flipper-z-f7-update-(releasever).tgz&target=f7&channel=release-cfw&version=(releasever)) > ` `
[Extra apps](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-(releasever)e.tgz&target=f7&channel=release-cfw&version=(releasever)e) > `e`
[No apps](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-(releasever)c.tgz&target=f7&channel=release-cfw&version=(releasever)c) > `c`
What ` `, `e`, `c` means? -> [versions info](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/CHANGELOG.md#what-e---c-means-what-i-need-to-download-if-i-dont-want-to-use-web-updater)
### Direct tgz download links:
[Default](https://unleashedflip.com/fw/(releasever)/flipper-z-f7-update-(releasever).tgz) > ` ` - [Extra apps](https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-(releasever)e.tgz) > `e` - [No apps](https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-(releasever)c.tgz) > `c`

View File

@@ -0,0 +1,20 @@
**New Unleashed firmware released**
**Version:** (releasever)
**Github:** [Release](https://github.com/DarkFlippers/unleashed-firmware/releases/tag/(releasever))
**Sponsor our project** -> [Patreon](https://patreon.com/mmxdev) or [Boosty](https://boosty.to/mmxdev)
How to [install firmware](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/documentation/HowToInstall.md)?
**Install FW via Web Updater:**
[Default](https://lab.flipper.net/?url=https://unleashedflip.com/fw/(releasever)/flipper-z-f7-update-(releasever).tgz&target=f7&channel=release-cfw&version=(releasever)) > ` `
[Extra apps](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-(releasever)e.tgz&target=f7&channel=release-cfw&version=(releasever)e) > `e`
[No apps](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-(releasever)c.tgz&target=f7&channel=release-cfw&version=(releasever)c) > `c`
What ` `, `e`, `c` means? -> [versions info](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/CHANGELOG.md#what-e---c-means-what-i-need-to-download-if-i-dont-want-to-use-web-updater)
**Direct tgz download links:**
[Default](https://unleashedflip.com/fw/(releasever)/flipper-z-f7-update-(releasever).tgz) > ` `
[Extra apps](https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-(releasever)e.tgz) > `e`
[No apps](https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-(releasever)c.tgz) > `c`

View File

@@ -1,677 +0,0 @@
diff --git a/applications/services/notification/notification_app.c b/applications/services/notification/notification_app.c
index 9baa738..91ad7c1 100644
--- a/applications/services/notification/notification_app.c
+++ b/applications/services/notification/notification_app.c
@@ -9,6 +9,7 @@
#include "notification.h"
#include "notification_messages.h"
#include "notification_app.h"
+#include "applications/settings/notification_settings/rgb_backlight.h"
#define TAG "NotificationSrv"
@@ -589,6 +590,7 @@ int32_t notification_srv(void* p) {
break;
case SaveSettingsMessage:
notification_save_settings(app);
+ rgb_backlight_save_settings();
break;
}
diff --git a/applications/settings/notification_settings/notification_settings_app.c b/applications/settings/notification_settings/notification_settings_app.c
index 2a1d988..dda86f3 100644
--- a/applications/settings/notification_settings/notification_settings_app.c
+++ b/applications/settings/notification_settings/notification_settings_app.c
@@ -3,6 +3,7 @@
#include <gui/modules/variable_item_list.h>
#include <gui/view_dispatcher.h>
#include <lib/toolbox/value_index.h>
+#include <applications/settings/notification_settings/rgb_backlight.h>
#define MAX_NOTIFICATION_SETTINGS 4
@@ -13,6 +14,8 @@ typedef struct {
VariableItemList* variable_item_list;
} NotificationAppSettings;
+static VariableItem* temp_item;
+
static const NotificationSequence sequence_note_c = {
&message_note_c5,
&message_delay_100,
@@ -168,6 +171,59 @@ static void vibro_changed(VariableItem* item) {
notification_message(app->notification, &sequence_single_vibro);
}
+// Set RGB backlight color
+static void color_changed(VariableItem* item) {
+ NotificationAppSettings* app = variable_item_get_context(item);
+ uint8_t index = variable_item_get_current_value_index(item);
+ rgb_backlight_set_color(index);
+ variable_item_set_current_value_text(item, rgb_backlight_get_color_text(index));
+ notification_message(app->notification, &sequence_display_backlight_on);
+}
+
+// TODO: refactor and fix this
+static void color_set_custom_red(VariableItem* item) {
+ NotificationAppSettings* app = variable_item_get_context(item);
+ uint8_t index = variable_item_get_current_value_index(item);
+ rgb_backlight_set_custom_color(index, 0);
+ char valtext[4] = {};
+ snprintf(valtext, sizeof(valtext), "%d", index);
+ variable_item_set_current_value_text(item, valtext);
+ rgb_backlight_set_color(13);
+ rgb_backlight_update(app->notification->settings.display_brightness * 0xFF, true);
+ // Set to custom color explicitly
+ variable_item_set_current_value_index(temp_item, 13);
+ variable_item_set_current_value_text(temp_item, rgb_backlight_get_color_text(13));
+ notification_message(app->notification, &sequence_display_backlight_on);
+}
+static void color_set_custom_green(VariableItem* item) {
+ NotificationAppSettings* app = variable_item_get_context(item);
+ uint8_t index = variable_item_get_current_value_index(item);
+ rgb_backlight_set_custom_color(index, 1);
+ char valtext[4] = {};
+ snprintf(valtext, sizeof(valtext), "%d", index);
+ variable_item_set_current_value_text(item, valtext);
+ rgb_backlight_set_color(13);
+ rgb_backlight_update(app->notification->settings.display_brightness * 0xFF, true);
+ // Set to custom color explicitly
+ variable_item_set_current_value_index(temp_item, 13);
+ variable_item_set_current_value_text(temp_item, rgb_backlight_get_color_text(13));
+ notification_message(app->notification, &sequence_display_backlight_on);
+}
+static void color_set_custom_blue(VariableItem* item) {
+ NotificationAppSettings* app = variable_item_get_context(item);
+ uint8_t index = variable_item_get_current_value_index(item);
+ rgb_backlight_set_custom_color(index, 2);
+ char valtext[4] = {};
+ snprintf(valtext, sizeof(valtext), "%d", index);
+ variable_item_set_current_value_text(item, valtext);
+ rgb_backlight_set_color(13);
+ rgb_backlight_update(app->notification->settings.display_brightness * 0xFF, true);
+ // Set to custom color explicitly
+ variable_item_set_current_value_index(temp_item, 13);
+ variable_item_set_current_value_text(temp_item, rgb_backlight_get_color_text(13));
+ notification_message(app->notification, &sequence_display_backlight_on);
+}
+
static uint32_t notification_app_settings_exit(void* context) {
UNUSED(context);
return VIEW_NONE;
@@ -192,8 +248,40 @@ static NotificationAppSettings* alloc_settings() {
variable_item_set_current_value_index(item, value_index);
variable_item_set_current_value_text(item, contrast_text[value_index]);
+ // RGB Colors
+ item = variable_item_list_add(
+ app->variable_item_list, "LCD Color", rgb_backlight_get_color_count(), color_changed, app);
+ value_index = rgb_backlight_get_settings()->display_color_index;
+ variable_item_set_current_value_index(item, value_index);
+ variable_item_set_current_value_text(item, rgb_backlight_get_color_text(value_index));
+ temp_item = item;
+
+ // Custom Color - REFACTOR THIS
+ item = variable_item_list_add(
+ app->variable_item_list, "Custom Red", 255, color_set_custom_red, app);
+ value_index = rgb_backlight_get_settings()->custom_r;
+ variable_item_set_current_value_index(item, value_index);
+ char valtext[4] = {};
+ snprintf(valtext, sizeof(valtext), "%d", value_index);
+ variable_item_set_current_value_text(item, valtext);
+
+ item = variable_item_list_add(
+ app->variable_item_list, "Custom Green", 255, color_set_custom_green, app);
+ value_index = rgb_backlight_get_settings()->custom_g;
+ variable_item_set_current_value_index(item, value_index);
+ snprintf(valtext, sizeof(valtext), "%d", value_index);
+ variable_item_set_current_value_text(item, valtext);
+
+ item = variable_item_list_add(
+ app->variable_item_list, "Custom Blue", 255, color_set_custom_blue, app);
+ value_index = rgb_backlight_get_settings()->custom_b;
+ variable_item_set_current_value_index(item, value_index);
+ snprintf(valtext, sizeof(valtext), "%d", value_index);
+ variable_item_set_current_value_text(item, valtext);
+ // End of RGB
+
item = variable_item_list_add(
- app->variable_item_list, "LCD Backlight", BACKLIGHT_COUNT, backlight_changed, app);
+ app->variable_item_list, "LCD Brightness", BACKLIGHT_COUNT, backlight_changed, app);
value_index = value_index_float(
app->notification->settings.display_brightness, backlight_value, BACKLIGHT_COUNT);
variable_item_set_current_value_index(item, value_index);
diff --git a/applications/settings/notification_settings/rgb_backlight.c b/applications/settings/notification_settings/rgb_backlight.c
new file mode 100644
index 0000000..98f0d3a
--- /dev/null
+++ b/applications/settings/notification_settings/rgb_backlight.c
@@ -0,0 +1,217 @@
+/*
+ RGB backlight FlipperZero driver
+ Copyright (C) 2022-2023 Victor Nikitchuk (https://github.com/quen0n)
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
+*/
+
+#include "rgb_backlight.h"
+#include <furi_hal.h>
+#include <storage/storage.h>
+
+#define RGB_BACKLIGHT_SETTINGS_VERSION 6
+#define RGB_BACKLIGHT_SETTINGS_FILE_NAME ".rgb_backlight.settings"
+#define RGB_BACKLIGHT_SETTINGS_PATH INT_PATH(RGB_BACKLIGHT_SETTINGS_FILE_NAME)
+
+#define COLOR_COUNT (sizeof(colors) / sizeof(RGBBacklightColor))
+
+#define TAG "RGB Backlight"
+
+static RGBBacklightSettings rgb_settings = {
+ .version = RGB_BACKLIGHT_SETTINGS_VERSION,
+ .display_color_index = 0,
+ .custom_r = 254,
+ .custom_g = 254,
+ .custom_b = 254,
+ .settings_is_loaded = false};
+
+static const RGBBacklightColor colors[] = {
+ {"Orange", 255, 60, 0},
+ {"Yellow", 255, 144, 0},
+ {"Spring", 167, 255, 0},
+ {"Lime", 0, 255, 0},
+ {"Aqua", 0, 255, 127},
+ {"Cyan", 0, 210, 210},
+ {"Azure", 0, 127, 255},
+ {"Blue", 0, 0, 255},
+ {"Purple", 127, 0, 255},
+ {"Magenta", 210, 0, 210},
+ {"Pink", 255, 0, 127},
+ {"Red", 255, 0, 0},
+ {"White", 254, 210, 200},
+ {"Custom", 0, 0, 0},
+};
+
+uint8_t rgb_backlight_get_color_count(void) {
+ return COLOR_COUNT;
+}
+
+const char* rgb_backlight_get_color_text(uint8_t index) {
+ return colors[index].name;
+}
+
+void rgb_backlight_load_settings(void) {
+ // Do not load settings if we are in other boot modes than normal
+ if(furi_hal_rtc_get_boot_mode() != FuriHalRtcBootModeNormal) {
+ rgb_settings.settings_is_loaded = true;
+ return;
+ }
+
+ // Wait for all required services to start and create their records
+ uint8_t timeout = 0;
+ while(!furi_record_exists(RECORD_STORAGE)) {
+ timeout++;
+ if(timeout > 150) {
+ rgb_settings.settings_is_loaded = true;
+ return;
+ }
+ furi_delay_ms(5);
+ }
+
+ RGBBacklightSettings settings;
+ File* file = storage_file_alloc(furi_record_open(RECORD_STORAGE));
+ const size_t settings_size = sizeof(RGBBacklightSettings);
+
+ FURI_LOG_D(TAG, "loading settings from \"%s\"", RGB_BACKLIGHT_SETTINGS_PATH);
+ bool fs_result =
+ storage_file_open(file, RGB_BACKLIGHT_SETTINGS_PATH, FSAM_READ, FSOM_OPEN_EXISTING);
+
+ if(fs_result) {
+ uint16_t bytes_count = storage_file_read(file, &settings, settings_size);
+
+ if(bytes_count != settings_size) {
+ fs_result = false;
+ }
+ }
+
+ if(fs_result) {
+ FURI_LOG_D(TAG, "load success");
+ if(settings.version != RGB_BACKLIGHT_SETTINGS_VERSION) {
+ FURI_LOG_E(
+ TAG,
+ "version(%d != %d) mismatch",
+ settings.version,
+ RGB_BACKLIGHT_SETTINGS_VERSION);
+ } else {
+ memcpy(&rgb_settings, &settings, settings_size);
+ }
+ } else {
+ FURI_LOG_E(TAG, "load failed, %s", storage_file_get_error_desc(file));
+ }
+
+ storage_file_close(file);
+ storage_file_free(file);
+ furi_record_close(RECORD_STORAGE);
+ rgb_settings.settings_is_loaded = true;
+};
+
+void rgb_backlight_save_settings(void) {
+ RGBBacklightSettings settings;
+ File* file = storage_file_alloc(furi_record_open(RECORD_STORAGE));
+ const size_t settings_size = sizeof(RGBBacklightSettings);
+
+ FURI_LOG_D(TAG, "saving settings to \"%s\"", RGB_BACKLIGHT_SETTINGS_PATH);
+
+ memcpy(&settings, &rgb_settings, settings_size);
+
+ bool fs_result =
+ storage_file_open(file, RGB_BACKLIGHT_SETTINGS_PATH, FSAM_WRITE, FSOM_CREATE_ALWAYS);
+
+ if(fs_result) {
+ uint16_t bytes_count = storage_file_write(file, &settings, settings_size);
+
+ if(bytes_count != settings_size) {
+ fs_result = false;
+ }
+ }
+
+ if(fs_result) {
+ FURI_LOG_D(TAG, "save success");
+ } else {
+ FURI_LOG_E(TAG, "save failed, %s", storage_file_get_error_desc(file));
+ }
+
+ storage_file_close(file);
+ storage_file_free(file);
+ furi_record_close(RECORD_STORAGE);
+};
+
+RGBBacklightSettings* rgb_backlight_get_settings(void) {
+ if(!rgb_settings.settings_is_loaded) {
+ rgb_backlight_load_settings();
+ }
+ return &rgb_settings;
+}
+
+void rgb_backlight_set_color(uint8_t color_index) {
+ if(color_index > (rgb_backlight_get_color_count() - 1)) color_index = 0;
+ rgb_settings.display_color_index = color_index;
+}
+
+void rgb_backlight_set_custom_color(uint8_t color, uint8_t index) {
+ if(index > 2) return;
+ if(index == 0) {
+ rgb_settings.custom_r = color;
+ } else if(index == 1) {
+ rgb_settings.custom_g = color;
+ } else if(index == 2) {
+ rgb_settings.custom_b = color;
+ }
+}
+
+void rgb_backlight_update(uint8_t brightness, bool bypass) {
+ if(!rgb_settings.settings_is_loaded) {
+ rgb_backlight_load_settings();
+ }
+
+ if(!bypass) {
+ static uint8_t last_color_index = 255;
+ static uint8_t last_brightness = 123;
+
+ if(last_brightness == brightness && last_color_index == rgb_settings.display_color_index) {
+ return;
+ }
+
+ last_brightness = brightness;
+ last_color_index = rgb_settings.display_color_index;
+ }
+
+ for(uint8_t i = 0; i < SK6805_get_led_count(); i++) {
+ if(rgb_settings.display_color_index == 13) {
+ uint8_t r = rgb_settings.custom_r * (brightness / 255.0f);
+ uint8_t g = rgb_settings.custom_g * (brightness / 255.0f);
+ uint8_t b = rgb_settings.custom_b * (brightness / 255.0f);
+
+ SK6805_set_led_color(i, r, g, b);
+ } else {
+ if((colors[rgb_settings.display_color_index].red == 0) &&
+ (colors[rgb_settings.display_color_index].green == 0) &&
+ (colors[rgb_settings.display_color_index].blue == 0)) {
+ uint8_t r = colors[0].red * (brightness / 255.0f);
+ uint8_t g = colors[0].green * (brightness / 255.0f);
+ uint8_t b = colors[0].blue * (brightness / 255.0f);
+
+ SK6805_set_led_color(i, r, g, b);
+ } else {
+ uint8_t r = colors[rgb_settings.display_color_index].red * (brightness / 255.0f);
+ uint8_t g = colors[rgb_settings.display_color_index].green * (brightness / 255.0f);
+ uint8_t b = colors[rgb_settings.display_color_index].blue * (brightness / 255.0f);
+
+ SK6805_set_led_color(i, r, g, b);
+ }
+ }
+ }
+
+ SK6805_update();
+}
diff --git a/applications/settings/notification_settings/rgb_backlight.h b/applications/settings/notification_settings/rgb_backlight.h
new file mode 100644
index 0000000..68dacda
--- /dev/null
+++ b/applications/settings/notification_settings/rgb_backlight.h
@@ -0,0 +1,91 @@
+/*
+ RGB backlight FlipperZero driver
+ Copyright (C) 2022-2023 Victor Nikitchuk (https://github.com/quen0n)
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
+*/
+
+#include <furi.h>
+#include "SK6805.h"
+
+typedef struct {
+ char* name;
+ uint8_t red;
+ uint8_t green;
+ uint8_t blue;
+} RGBBacklightColor;
+
+typedef struct {
+ uint8_t version;
+ uint8_t display_color_index;
+ uint8_t custom_r;
+ uint8_t custom_g;
+ uint8_t custom_b;
+ bool settings_is_loaded;
+} RGBBacklightSettings;
+
+/**
+ * @brief Получить текущие настройки RGB-подсветки
+ *
+ * @return Указатель на структуру настроек
+ */
+RGBBacklightSettings* rgb_backlight_get_settings(void);
+
+/**
+ * @brief Загрузить настройки подсветки с SD-карты
+ */
+void rgb_backlight_load_settings(void);
+
+/**
+ * @brief Сохранить текущие настройки RGB-подсветки
+ */
+void rgb_backlight_save_settings(void);
+
+/**
+ * @brief Применить текущие настройки RGB-подсветки
+ *
+ * @param brightness Яркость свечения (0-255)
+ * @param bypass Применить настройки принудительно
+ */
+void rgb_backlight_update(uint8_t brightness, bool bypass);
+
+/**
+ * @brief Установить цвет RGB-подсветки
+ *
+ * @param color_index Индекс цвета (0 - rgb_backlight_get_color_count())
+ */
+void rgb_backlight_set_color(uint8_t color_index);
+
+/**
+ * @brief Set custom color values by index - 0=R 1=G 2=B
+ *
+ * @param color - color value (0-255)
+ * @param index - color index (0-2) 0=R 1=G 2=B
+ */
+void rgb_backlight_set_custom_color(uint8_t color, uint8_t index);
+
+/**
+ * @brief Получить количество доступных цветов
+ *
+ * @return Число доступных вариантов цвета
+ */
+uint8_t rgb_backlight_get_color_count(void);
+
+/**
+ * @brief Получить текстовое название цвета
+ *
+ * @param index Индекс из доступных вариантов цвета
+ * @return Указатель на строку с названием цвета
+ */
+const char* rgb_backlight_get_color_text(uint8_t index);
\ No newline at end of file
diff --git a/lib/drivers/SK6805.c b/lib/drivers/SK6805.c
new file mode 100644
index 0000000..572e1df
--- /dev/null
+++ b/lib/drivers/SK6805.c
@@ -0,0 +1,101 @@
+/*
+ SK6805 FlipperZero driver
+ Copyright (C) 2022-2023 Victor Nikitchuk (https://github.com/quen0n)
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
+*/
+
+#include "SK6805.h"
+#include <furi_hal.h>
+
+/* Настройки */
+#define SK6805_LED_COUNT 3 //Количество светодиодов на плате подсветки
+#define SK6805_LED_PIN &led_pin //Порт подключения светодиодов
+
+#ifdef FURI_DEBUG
+#define DEBUG_PIN &gpio_ext_pa7
+#define DEBUG_INIT() \
+ furi_hal_gpio_init(DEBUG_PIN, GpioModeOutputPushPull, GpioPullNo, GpioSpeedVeryHigh)
+#define DEBUG_SET_HIGH() furi_hal_gpio_write(DEBUG_PIN, true)
+#define DEBUG_SET_LOW() furi_hal_gpio_write(DEBUG_PIN, false)
+#else
+#define DEBUG_INIT()
+#define DEBUG_SET_HIGH()
+#define DEBUG_SET_LOW()
+#endif
+
+static const GpioPin led_pin = {.port = GPIOA, .pin = LL_GPIO_PIN_8};
+static uint8_t led_buffer[SK6805_LED_COUNT][3];
+
+void SK6805_init(void) {
+ DEBUG_INIT();
+ furi_hal_gpio_write(SK6805_LED_PIN, false);
+ furi_hal_gpio_init(SK6805_LED_PIN, GpioModeOutputPushPull, GpioPullNo, GpioSpeedVeryHigh);
+}
+
+uint8_t SK6805_get_led_count(void) {
+ return (const uint8_t)SK6805_LED_COUNT;
+}
+void SK6805_set_led_color(uint8_t led_index, uint8_t r, uint8_t g, uint8_t b) {
+ furi_check(led_index < SK6805_LED_COUNT);
+
+ led_buffer[led_index][0] = g;
+ led_buffer[led_index][1] = r;
+ led_buffer[led_index][2] = b;
+}
+
+void SK6805_update(void) {
+ SK6805_init();
+ furi_kernel_lock();
+ uint32_t end;
+ /* Последовательная отправка цветов светодиодов */
+ for(uint8_t lednumber = 0; lednumber < SK6805_LED_COUNT; lednumber++) {
+ //Последовательная отправка цветов светодиода
+ for(uint8_t color = 0; color < 3; color++) {
+ //Последовательная отправка битов цвета
+ uint8_t i = 0b10000000;
+ while(i != 0) {
+ if(led_buffer[lednumber][color] & (i)) {
+ furi_hal_gpio_write(SK6805_LED_PIN, true);
+ DEBUG_SET_HIGH();
+ end = DWT->CYCCNT + 30;
+ //T1H 600 us (615 us)
+ while(DWT->CYCCNT < end) {
+ }
+ furi_hal_gpio_write(SK6805_LED_PIN, false);
+ DEBUG_SET_LOW();
+ end = DWT->CYCCNT + 26;
+ //T1L 600 us (587 us)
+ while(DWT->CYCCNT < end) {
+ }
+ } else {
+ furi_hal_gpio_write(SK6805_LED_PIN, true);
+ DEBUG_SET_HIGH();
+ end = DWT->CYCCNT + 11;
+ //T0H 300 ns (312 ns)
+ while(DWT->CYCCNT < end) {
+ }
+ furi_hal_gpio_write(SK6805_LED_PIN, false);
+ DEBUG_SET_LOW();
+ end = DWT->CYCCNT + 43;
+ //T0L 900 ns (890 ns)
+ while(DWT->CYCCNT < end) {
+ }
+ }
+ i >>= 1;
+ }
+ }
+ }
+ furi_kernel_unlock();
+}
diff --git a/lib/drivers/SK6805.h b/lib/drivers/SK6805.h
new file mode 100644
index 0000000..7c58956
--- /dev/null
+++ b/lib/drivers/SK6805.h
@@ -0,0 +1,51 @@
+/*
+ SK6805 FlipperZero driver
+ Copyright (C) 2022-2023 Victor Nikitchuk (https://github.com/quen0n)
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
+*/
+
+#ifndef SK6805_H_
+#define SK6805_H_
+
+#include <furi.h>
+
+/**
+ * @brief Инициализация линии управления подсветкой
+ */
+void SK6805_init(void);
+
+/**
+ * @brief Получить количество светодиодов в подсветке
+ *
+ * @return Количество светодиодов
+ */
+uint8_t SK6805_get_led_count(void);
+
+/**
+ * @brief Установить цвет свечения светодиода
+ *
+ * @param led_index номер светодиода (от 0 до SK6805_get_led_count())
+ * @param r значение красного (0-255)
+ * @param g значение зелёного (0-255)
+ * @param b значение синего (0-255)
+ */
+void SK6805_set_led_color(uint8_t led_index, uint8_t r, uint8_t g, uint8_t b);
+
+/**
+ * @brief Обновление состояния подсветки дисплея
+ */
+void SK6805_update(void);
+
+#endif /* SK6805_H_ */
\ No newline at end of file
diff --git a/targets/f7/furi_hal/furi_hal_light.c b/targets/f7/furi_hal/furi_hal_light.c
index 83e1603..45798ca 100644
--- a/targets/f7/furi_hal/furi_hal_light.c
+++ b/targets/f7/furi_hal/furi_hal_light.c
@@ -3,6 +3,7 @@
#include <furi_hal_light.h>
#include <lp5562.h>
#include <stdint.h>
+#include <applications/settings/notification_settings/rgb_backlight.h>
#define LED_CURRENT_RED 50
#define LED_CURRENT_GREEN 50
@@ -31,22 +32,21 @@ void furi_hal_light_init() {
}
void furi_hal_light_set(Light light, uint8_t value) {
- furi_hal_i2c_acquire(&furi_hal_i2c_handle_power);
- if(light & LightRed) {
- lp5562_set_channel_value(&furi_hal_i2c_handle_power, LP5562ChannelRed, value);
- }
- if(light & LightGreen) {
- lp5562_set_channel_value(&furi_hal_i2c_handle_power, LP5562ChannelGreen, value);
- }
- if(light & LightBlue) {
- lp5562_set_channel_value(&furi_hal_i2c_handle_power, LP5562ChannelBlue, value);
- }
if(light & LightBacklight) {
- uint8_t prev = lp5562_get_channel_value(&furi_hal_i2c_handle_power, LP5562ChannelWhite);
- lp5562_execute_ramp(
- &furi_hal_i2c_handle_power, LP5562Engine1, LP5562ChannelWhite, prev, value, 100);
+ rgb_backlight_update(value, false);
+ } else {
+ furi_hal_i2c_acquire(&furi_hal_i2c_handle_power);
+ if(light & LightRed) {
+ lp5562_set_channel_value(&furi_hal_i2c_handle_power, LP5562ChannelRed, value);
+ }
+ if(light & LightGreen) {
+ lp5562_set_channel_value(&furi_hal_i2c_handle_power, LP5562ChannelGreen, value);
+ }
+ if(light & LightBlue) {
+ lp5562_set_channel_value(&furi_hal_i2c_handle_power, LP5562ChannelBlue, value);
+ }
+ furi_hal_i2c_release(&furi_hal_i2c_handle_power);
}
- furi_hal_i2c_release(&furi_hal_i2c_handle_power);
}
void furi_hal_light_blink_start(Light light, uint8_t brightness, uint16_t on_time, uint16_t period) {

View File

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 858 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 855 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 872 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 861 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 853 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 851 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 852 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 856 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 850 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 851 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 860 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 857 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 863 B

View File

@@ -0,0 +1,23 @@
Filetype: Flipper Animation
Version: 1
Width: 128
Height: 64
Passive frames: 10
Active frames: 18
Frames order: 0 1 2 1 0 1 2 1 0 1 2 3 4 5 6 5 4 7 2 8 9 10 11 10 9 10 11 12
Active cycles: 1
Frame rate: 2
Duration: 3600
Active cooldown: 7
Bubble slots: 1
Slot: 0
X: 11
Y: 19
Text: HAPPY\nHOLIDAYS!
AlignH: Right
AlignV: Center
StartFrame: 22
EndFrame: 27

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -0,0 +1,14 @@
Filetype: Flipper Animation
Version: 1
Width: 128
Height: 64
Passive frames: 4
Active frames: 0
Frames order: 0 1 2 3
Active cycles: 0
Frame rate: 2
Duration: 3600
Active cooldown: 0
Bubble slots: 0

Binary file not shown.

After

Width:  |  Height:  |  Size: 820 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 881 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 788 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 816 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 864 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 798 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 813 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 879 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 855 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 772 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 817 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 867 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 866 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 809 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 795 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 870 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 852 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 805 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 858 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 830 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 828 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 585 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 431 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 812 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 281 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 270 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 236 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 485 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 771 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 887 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 809 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 890 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 819 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 799 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 817 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 875 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 823 B

View File

@@ -0,0 +1,23 @@
Filetype: Flipper Animation
Version: 1
Width: 128
Height: 64
Passive frames: 18
Active frames: 19
Frames order: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
Active cycles: 1
Frame rate: 2
Duration: 3600
Active cooldown: 7
Bubble slots: 1
Slot: 0
X: 21
Y: 25
Text: AAAAaAAAAHHh!!
AlignH: Right
AlignV: Bottom
StartFrame: 30
EndFrame: 32

View File

@@ -0,0 +1,30 @@
Filetype: Flipper Animation Manifest
Version: 1
Name: L1_Happy_holidays_128x64
Min butthurt: 0
Max butthurt: 14
Min level: 1
Max level: 3
Weight: 3
Name: L1_Sleigh_ride_128x64
Min butthurt: 0
Max butthurt: 14
Min level: 1
Max level: 3
Weight: 4
Name: L1_New_year_128x64
Min butthurt: 0
Max butthurt: 14
Min level: 1
Max level: 3
Weight: 4
Name: L1_Halloween_128x64
Min butthurt: 0
Max butthurt: 14
Min level: 1
Max level: 3
Weight: 4

View File

@@ -3,22 +3,55 @@ Language: Cpp
AccessModifierOffset: -4
AlignAfterOpenBracket: AlwaysBreak
AlignArrayOfStructures: None
AlignConsecutiveMacros: None
AlignConsecutiveAssignments: None
AlignConsecutiveBitFields: None
AlignConsecutiveDeclarations: None
AlignConsecutiveAssignments:
Enabled: false
AcrossEmptyLines: false
AcrossComments: false
AlignCompound: false
AlignFunctionPointers: false
PadOperators: true
AlignConsecutiveBitFields:
Enabled: true
AcrossEmptyLines: true
AcrossComments: true
AlignCompound: false
AlignFunctionPointers: false
PadOperators: true
AlignConsecutiveDeclarations:
Enabled: false
AcrossEmptyLines: false
AcrossComments: false
AlignCompound: false
AlignFunctionPointers: false
PadOperators: true
AlignConsecutiveMacros:
Enabled: true
AcrossEmptyLines: false
AcrossComments: true
AlignCompound: true
AlignFunctionPointers: false
PadOperators: true
AlignConsecutiveShortCaseStatements:
Enabled: false
AcrossEmptyLines: false
AcrossComments: false
AlignCaseColons: false
AlignEscapedNewlines: Left
AlignOperands: Align
AlignTrailingComments: false
AlignTrailingComments:
Kind: Never
OverEmptyLines: 0
AllowAllArgumentsOnNextLine: true
AllowAllParametersOfDeclarationOnNextLine: false
AllowShortEnumsOnASingleLine: true
AllowBreakBeforeNoexceptSpecifier: Never
AllowShortBlocksOnASingleLine: Never
AllowShortCaseLabelsOnASingleLine: false
AllowShortCompoundRequirementOnASingleLine: true
AllowShortEnumsOnASingleLine: false
AllowShortFunctionsOnASingleLine: None
AllowShortLambdasOnASingleLine: All
AllowShortIfStatementsOnASingleLine: WithoutElse
AllowShortLoopsOnASingleLine: true
AllowShortLambdasOnASingleLine: All
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: false
@@ -27,17 +60,18 @@ AttributeMacros:
- __capability
BinPackArguments: false
BinPackParameters: false
BitFieldColonSpacing: Both
BraceWrapping:
AfterCaseLabel: false
AfterClass: false
AfterControlStatement: Never
AfterEnum: false
AfterExternBlock: false
AfterFunction: false
AfterNamespace: false
AfterObjCDeclaration: false
AfterStruct: false
AfterUnion: false
AfterExternBlock: false
BeforeCatch: false
BeforeElse: false
BeforeLambdaBody: false
@@ -46,38 +80,35 @@ BraceWrapping:
SplitEmptyFunction: true
SplitEmptyRecord: true
SplitEmptyNamespace: true
BreakBeforeBinaryOperators: None
BreakBeforeConceptDeclarations: true
BreakBeforeBraces: Attach
BreakBeforeInheritanceComma: false
BreakInheritanceList: BeforeColon
BreakBeforeTernaryOperators: false
BreakConstructorInitializersBeforeComma: false
BreakConstructorInitializers: BeforeComma
BreakAdjacentStringLiterals: true
BreakAfterAttributes: Leave
BreakAfterJavaFieldAnnotations: false
BreakArrays: true
BreakBeforeBinaryOperators: None
BreakBeforeConceptDeclarations: Always
BreakBeforeBraces: Attach
BreakBeforeInlineASMColon: OnlyMultiline
BreakBeforeTernaryOperators: false
BreakConstructorInitializers: BeforeComma
BreakInheritanceList: BeforeColon
BreakStringLiterals: false
ColumnLimit: 99
CommentPragmas: '^ IWYU pragma:'
QualifierAlignment: Leave
CompactNamespaces: false
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 4
Cpp11BracedListStyle: true
DeriveLineEnding: true
DerivePointerAlignment: false
DisableFormat: false
EmptyLineAfterAccessModifier: Never
EmptyLineBeforeAccessModifier: LogicalBlock
ExperimentalAutoDetectBinPacking: false
PackConstructorInitializers: BinPack
BasedOnStyle: ''
ConstructorInitializerAllOnOneLineOrOnePerLine: false
AllowAllConstructorInitializersOnNextLine: true
FixNamespaceComments: false
ForEachMacros:
- foreach
- Q_FOREACH
- BOOST_FOREACH
- M_EACH
IfMacros:
- KJ_IF_MAYBE
IncludeBlocks: Preserve
@@ -97,19 +128,30 @@ IncludeCategories:
IncludeIsMainRegex: '(Test)?$'
IncludeIsMainSourceRegex: ''
IndentAccessModifiers: false
IndentCaseLabels: false
IndentCaseBlocks: false
IndentCaseLabels: false
IndentExternBlock: AfterExternBlock
IndentGotoLabels: true
IndentPPDirectives: None
IndentExternBlock: AfterExternBlock
IndentRequires: false
IndentRequiresClause: false
IndentWidth: 4
IndentWrappedFunctionNames: true
InsertBraces: false
InsertNewlineAtEOF: true
InsertTrailingCommas: None
IntegerLiteralSeparator:
Binary: 0
BinaryMinDigits: 0
Decimal: 0
DecimalMinDigits: 0
Hex: 0
HexMinDigits: 0
JavaScriptQuotes: Leave
JavaScriptWrapImports: true
KeepEmptyLinesAtTheStartOfBlocks: false
KeepEmptyLinesAtEOF: false
LambdaBodyIndentation: Signature
LineEnding: DeriveLF
MacroBlockBegin: ''
MacroBlockEnd: ''
MaxEmptyLinesToKeep: 1
@@ -119,34 +161,44 @@ ObjCBlockIndentWidth: 4
ObjCBreakBeforeNestedBlockParam: true
ObjCSpaceAfterProperty: true
ObjCSpaceBeforeProtocolList: true
PackConstructorInitializers: BinPack
PenaltyBreakAssignment: 10
PenaltyBreakBeforeFirstCallParameter: 30
PenaltyBreakComment: 10
PenaltyBreakFirstLessLess: 0
PenaltyBreakOpenParenthesis: 0
PenaltyBreakScopeResolution: 500
PenaltyBreakString: 10
PenaltyBreakTemplateDeclaration: 10
PenaltyExcessCharacter: 100
PenaltyReturnTypeOnItsOwnLine: 60
PenaltyIndentedWhitespace: 0
PenaltyReturnTypeOnItsOwnLine: 60
PointerAlignment: Left
PPIndentWidth: -1
QualifierAlignment: Leave
ReferenceAlignment: Pointer
ReflowComments: false
RemoveBracesLLVM: false
RemoveParentheses: Leave
RemoveSemicolon: true
RequiresClausePosition: OwnLine
RequiresExpressionIndentation: OuterScope
SeparateDefinitionBlocks: Leave
ShortNamespaceLines: 1
SkipMacroDefinitionBody: false
SortIncludes: Never
SortJavaStaticImport: Before
SortUsingDeclarations: false
SortUsingDeclarations: Never
SpaceAfterCStyleCast: false
SpaceAfterLogicalNot: false
SpaceAfterTemplateKeyword: true
SpaceAroundPointerQualifiers: Default
SpaceBeforeAssignmentOperators: true
SpaceBeforeCaseColon: false
SpaceBeforeCpp11BracedList: false
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true
SpaceBeforeJsonColon: false
SpaceBeforeParens: Never
SpaceBeforeParensOptions:
AfterControlStatements: false
@@ -155,32 +207,35 @@ SpaceBeforeParensOptions:
AfterFunctionDeclarationName: false
AfterIfMacros: false
AfterOverloadedOperator: false
AfterPlacementOperator: true
AfterRequiresInClause: false
AfterRequiresInExpression: false
BeforeNonEmptyParentheses: false
SpaceAroundPointerQualifiers: Default
SpaceBeforeRangeBasedForLoopColon: true
SpaceBeforeSquareBrackets: false
SpaceInEmptyBlock: false
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 1
SpacesInAngles: Never
SpacesInConditionalStatement: false
SpacesInContainerLiterals: false
SpacesInCStyleCastParentheses: false
SpacesInLineCommentPrefix:
Minimum: 1
Maximum: -1
SpacesInParentheses: false
SpacesInParens: Never
SpacesInParensOptions:
InCStyleCasts: false
InConditionalStatements: false
InEmptyParentheses: false
Other: false
SpacesInSquareBrackets: false
SpaceBeforeSquareBrackets: false
BitFieldColonSpacing: Both
Standard: c++03
Standard: c++20
StatementAttributeLikeMacros:
- Q_EMIT
StatementMacros:
- Q_UNUSED
- QT_REQUIRE_VERSION
TabWidth: 4
UseCRLF: false
UseTab: Never
VerilogBreakBetweenInstancePorts: true
WhitespaceSensitiveMacros:
- STRINGIZE
- PP_STRINGIZE

17
.clangd Normal file
View File

@@ -0,0 +1,17 @@
CompileFlags:
Add:
- -Wno-unknown-warning-option
- -Wno-format
Remove:
- -mword-relocations
Diagnostics:
ClangTidy:
FastCheckFilter: None
---
If:
PathMatch: .*\.h
Diagnostics:
UnusedIncludes: None

View File

@@ -81,95 +81,32 @@ steps:
- mv dist/f7-C/* artifacts-extra-apps/
- ls -laS artifacts-extra-apps
- ls -laS artifacts-extra-apps/f7-update-${DRONE_TAG}e
environment:
FBT_TOOLS_CUSTOM_LINK:
from_secret: fbt_link
- name: "Build with RGB patch"
image: hfdj/fztools
pull: never
commands:
- git apply .ci_files/rgb.patch
- export DIST_SUFFIX=${DRONE_TAG}r
- export WORKFLOW_BRANCH_OR_TAG=release-cfw-rgb
- export FORCE_NO_DIRTY=yes
- export FBT_GIT_SUBMODULE_SHALLOW=1
- rm -f build/f7-firmware-C/toolbox/version.*
- ./fbt COMPACT=1 DEBUG=0 updater_package
- mkdir artifacts-rgb-patch
- mv dist/f7-C/* artifacts-rgb-patch/
- ls -laS artifacts-rgb-patch
- ls -laS artifacts-rgb-patch/f7-update-${DRONE_TAG}r
environment:
FBT_TOOLS_CUSTOM_LINK:
from_secret: fbt_link
- name: "Build with ofw anims"
image: hfdj/fztools
pull: never
commands:
- git clean -df
- git checkout -- .
- rm -f assets/dolphin/external/manifest.txt
- cp .ci_files/anims_ofw.txt assets/dolphin/external/manifest.txt
- rm -rf applications/main/clock_app/resources/apps/
- export DIST_SUFFIX=${DRONE_TAG}n
- export WORKFLOW_BRANCH_OR_TAG=no-custom-anims
- export FORCE_NO_DIRTY=yes
- export FBT_GIT_SUBMODULE_SHALLOW=1
- rm -f build/f7-firmware-C/toolbox/version.*
- ./fbt COMPACT=1 DEBUG=0 updater_package
- wget https://github.com/xMasterX/all-the-plugins/releases/latest/download/all-the-apps-base.tgz
- tar zxf all-the-apps-base.tgz
- mkdir -p applications/main/clock_app/resources/apps
- mkdir -p applications/main/clock_app/resources/apps_data
- cp -R base_pack_build/artifacts-base/* applications/main/clock_app/resources/apps/
- cp -R base_pack_build/apps_data/* applications/main/clock_app/resources/apps_data/
- rm -rf base_pack_build
- rm -rf all-the-apps-base.tgz
- rm -f build/f7-firmware-C/toolbox/version.*
- ./fbt COMPACT=1 DEBUG=0 updater_package
- mkdir artifacts-ofw-anims
- mv dist/f7-C/* artifacts-ofw-anims/
- ls -laS artifacts-ofw-anims
- ls -laS artifacts-ofw-anims/f7-update-${DRONE_TAG}n
- sed -i 's/(version)/'${DRONE_TAG}'/g' CHANGELOG.md
- echo '# [Install via Web Updater](https://lab.flipper.net/?url=https://unleashedflip.com/fw/${DRONE_TAG}/flipper-z-f7-update-'${DRONE_TAG}'.tgz&channel=release-cfw&version='${DRONE_TAG}')' >> CHANGELOG.md
- echo '# Install FW via Web Updater:' >> CHANGELOG.md
- echo '### [Default](https://lab.flipper.net/?url=https://unleashedflip.com/fw/${DRONE_TAG}/flipper-z-f7-update-'${DRONE_TAG}'.tgz&target=f7&channel=release-cfw&version='${DRONE_TAG}') > ` `' >> CHANGELOG.md
- echo '' >> CHANGELOG.md
- echo '### [Version with only main apps - Install via Web Updater](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_TAG}'c.tgz&channel=release-cfw&version='${DRONE_TAG}'c)' >> CHANGELOG.md
- echo '### [Extra apps](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_TAG}'e.tgz&target=f7&channel=release-cfw&version='${DRONE_TAG}'e) > `e`' >> CHANGELOG.md
- echo '' >> CHANGELOG.md
- echo '### [Version without custom animations - Install via Web Updater](https://lab.flipper.net/?url=https://unleashedflip.com/fw_no_anim/flipper-z-f7-update-'${DRONE_TAG}'n.tgz&channel=release-cfw&version='${DRONE_TAG}'n)' >> CHANGELOG.md
- echo '' >> CHANGELOG.md
- echo '### [Version with RGB patch - only for hardware mod! - Install via Web Updater](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_TAG}'r.tgz&channel=release-cfw&version='${DRONE_TAG}'r)' >> CHANGELOG.md
- echo '' >> CHANGELOG.md
- echo '## [Version with Extra apps - Install via Web Updater](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_TAG}'e.tgz&channel=release-cfw&version='${DRONE_TAG}'e)' >> CHANGELOG.md
- echo '### [No apps](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_TAG}'c.tgz&target=f7&channel=release-cfw&version='${DRONE_TAG}'c) > `c`' >> CHANGELOG.md
environment:
FBT_TOOLS_CUSTOM_LINK:
from_secret: fbt_link
- name: "Bundle self-update packages"
image: kramos/alpine-zip
image: joshkeegan/zip
commands:
- cp artifacts-extra-apps/flipper-z-f7-update-${DRONE_TAG}e.tgz .
- cp artifacts-rgb-patch/flipper-z-f7-update-${DRONE_TAG}r.tgz .
- cp artifacts-clean/flipper-z-f7-update-${DRONE_TAG}c.tgz .
- cp artifacts-ofw-anims/flipper-z-f7-update-${DRONE_TAG}n.tgz .
- cp artifacts-default/flipper-z-f7-update-${DRONE_TAG}.tgz .
- zip -r artifacts-extra-apps/flipper-z-f7-update-${DRONE_TAG}e.zip artifacts-extra-apps/f7-update-${DRONE_TAG}e
- zip -r artifacts-rgb-patch/flipper-z-f7-update-${DRONE_TAG}r.zip artifacts-rgb-patch/f7-update-${DRONE_TAG}r
- zip -r artifacts-clean/flipper-z-f7-update-${DRONE_TAG}c.zip artifacts-clean/f7-update-${DRONE_TAG}c
- zip -r artifacts-ofw-anims/flipper-z-f7-update-${DRONE_TAG}n.zip artifacts-ofw-anims/f7-update-${DRONE_TAG}n
- zip -r artifacts-default/flipper-z-f7-update-${DRONE_TAG}.zip artifacts-default/f7-update-${DRONE_TAG}
- tar czpf artifacts-default/flipper-z-any-scripts-${DRONE_TAG}.tgz scripts
- rm -rf artifacts-extra-apps/f7-update-${DRONE_TAG}
- rm -rf artifacts-rgb-patch/f7-update-${DRONE_TAG}
- rm -rf artifacts-clean/f7-update-${DRONE_TAG}
- rm -rf artifacts-ofw-anims/f7-update-${DRONE_TAG}
- rm -rf artifacts-default/f7-update-${DRONE_TAG}
- ls -laS artifacts-extra-apps
- ls -laS artifacts-rgb-patch
- ls -laS artifacts-clean
- ls -laS artifacts-ofw-anims
- ls -laS artifacts-default
- mv artifacts-default/ ${DRONE_TAG}
- ls -laS ${DRONE_TAG}
@@ -195,21 +132,6 @@ steps:
- ${DRONE_TAG}/*.dfu
- ${DRONE_TAG}/*.bin
- name: "Upload no-anims to updates srv"
image: appleboy/drone-scp:linux-amd64
settings:
host:
from_secret: dep_host
username:
from_secret: dep_user
password:
from_secret: dep_passwd
port:
from_secret: dep_port
target:
from_secret: dep_target_noanim
source: flipper-z-f7-update-${DRONE_TAG}n.tgz
- name: "Upload extra apps version to updates srv"
image: appleboy/drone-scp:linux-amd64
settings:
@@ -225,21 +147,6 @@ steps:
from_secret: dep_target_extra
source: flipper-z-f7-update-${DRONE_TAG}e.tgz
- name: "Upload rgb patch version to updates srv"
image: appleboy/drone-scp:linux-amd64
settings:
host:
from_secret: dep_host
username:
from_secret: dep_user
password:
from_secret: dep_passwd
port:
from_secret: dep_port
target:
from_secret: dep_target_extra
source: flipper-z-f7-update-${DRONE_TAG}r.tgz
- name: "Upload clean version to updates srv"
image: appleboy/drone-scp:linux-amd64
settings:
@@ -267,9 +174,7 @@ steps:
files:
- ${DRONE_TAG}/*.tgz
- ${DRONE_TAG}/*.zip
- artifacts-ofw-anims/*.tgz
- artifacts-extra-apps/*.tgz
- artifacts-rgb-patch/*.tgz
- artifacts-clean/*.tgz
title: ${DRONE_TAG}
note: CHANGELOG.md
@@ -289,51 +194,6 @@ steps:
commands:
- curl -X POST -F 'key='$UPD_KEY'' $UPD_URL
- name: "Send files to telegram"
image: appleboy/drone-telegram
settings:
token:
from_secret: tgtoken
to:
from_secret: tgid
format: markdown
message: "New Unleashed firmware released!
Version: {{build.tag}}
[-> Sponsor our project](https://boosty.to/mmxdev)
[-Github - Changelog-](https://github.com/DarkFlippers/unleashed-firmware/releases/tag/${DRONE_TAG})
[-How to install firmware-](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/documentation/HowToInstall.md)
[-Download latest extra apps pack-](https://github.com/xMasterX/all-the-plugins/releases/latest)
[-Install FW via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw/${DRONE_TAG}/flipper-z-f7-update-${DRONE_TAG}.tgz&channel=release-cfw&version=${DRONE_TAG})
[-Version with only main apps - Install FW via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-${DRONE_TAG}c.tgz&channel=release-cfw&version=${DRONE_TAG}c)
[-Version without custom animations - Install FW via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_no_anim/flipper-z-f7-update-${DRONE_TAG}n.tgz&channel=release-cfw&version=${DRONE_TAG}n)
[-Version with RGB patch - only for hardware mod! - Install FW via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-${DRONE_TAG}r.tgz&channel=release-cfw&version=${DRONE_TAG}r)
[-Version with RGB patch - only for hardware mod! - Direct download-](https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-${DRONE_TAG}r.tgz)
[-Version with Extra apps - Install FW via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-${DRONE_TAG}e.tgz&channel=release-cfw&version=${DRONE_TAG}e)"
document:
- ${DRONE_TAG}/flipper-z-f7-update-${DRONE_TAG}.tgz
- name: "Send discord notification"
image: hfdj/fztools
pull: never
@@ -343,8 +203,40 @@ steps:
commands:
- wget "https://raw.githubusercontent.com/fieu/discord.sh/2253303efc0e7211ac2777d2535054cbb872f1e0/discord.sh"
- chmod +x ./discord.sh
- echo 'New Unleashed firmware released!\n\nVersion - '${DRONE_TAG}'\n\n[-> Sponsor our project](https://boosty.to/mmxdev)\n\n[[Github - Changelog]](https://github.com/DarkFlippers/unleashed-firmware/releases/tag/'${DRONE_TAG}')\n\n[-How to install firmware-](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/documentation/HowToInstall.md)\n\n[-Download latest extra apps pack-](https://github.com/xMasterX/all-the-plugins/releases/latest)\n\n[-Install FW via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw/'${DRONE_TAG}'/flipper-z-f7-update-'${DRONE_TAG}'.tgz&channel=release-cfw&version='${DRONE_TAG}')\n\n[-Version with only main apps - Install FW via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_TAG}'c.tgz&channel=release-cfw&version='${DRONE_TAG}'c)\n\n[-Version without custom animations - Install FW via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_no_anim/flipper-z-f7-update-'${DRONE_TAG}'n.tgz&channel=release-cfw&version='${DRONE_TAG}'n)\n\n[-Version with RGB patch - only for hardware mod! - Install FW via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_TAG}'r.tgz&channel=release-cfw&version='${DRONE_TAG}'r)\n\n[-Version with RGB patch - only for hardware mod! - Direct download-](https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_TAG}'r.tgz)\n\n[-Version with Extra apps - Install FW via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_TAG}'e.tgz&channel=release-cfw&version='${DRONE_TAG}'e)' > messagedisc.txt
- ./discord.sh --text "$(jq -Rs . <messagedisc.txt | cut -c 2- | rev | cut -c 2- | rev)"
- sed -n '/## Main changes/,/## Other changes/p' CHANGELOG.md | sed -e 's/## Main changes//' -e 's/## Other changes//' > changelogcut.txt
- head -c 1200 changelogcut.txt > changelogcutfin.txt
- truncate -s -1 changelogcutfin.txt
- tail -c +2 changelogcutfin.txt > changelogready.txt
- rm -f changelogcut.txt
- rm -f changelogcutfin.txt
- echo '' >> changelogready.txt
- echo '## [Read full changelog](https://github.com/DarkFlippers/unleashed-firmware/releases/tag/'${DRONE_TAG}')' >> changelogready.txt
- sed -i 's/(releasever)/'${DRONE_TAG}'/g' .ci_files/release_msg_discord.txt
- sed -i 's/(releasever)/'${DRONE_TAG}'/g' .ci_files/release_msg_telegram.txt
- cp .ci_files/release_msg_telegram.txt tg_release_message.tpl
- ./discord.sh --title "Main changes" --description "$(jq -Rs . <changelogready.txt | cut -c 2- | rev | cut -c 2- | rev)" --timestamp --text "$(jq -Rs . <.ci_files/release_msg_discord.txt | cut -c 2- | rev | cut -c 2- | rev)"
- name: "Send notification to telegram"
image: appleboy/drone-telegram
settings:
token:
from_secret: tgtoken
to:
from_secret: tgid
format: markdown
message_file: tg_release_message.tpl
- name: "Send default build to telegram"
image: appleboy/drone-telegram
settings:
token:
from_secret: tgtoken
to:
from_secret: tgid
format: markdown
message: "Default build:"
document:
- ${DRONE_TAG}/flipper-z-f7-update-${DRONE_TAG}.tgz
- name: "Send clean build to telegram"
image: appleboy/drone-telegram
@@ -366,7 +258,7 @@ steps:
to:
from_secret: tgid
format: markdown
message: "Build with extra apps pack:"
message: "Build with extra apps:"
document:
- flipper-z-f7-update-${DRONE_TAG}e.tgz
@@ -375,7 +267,7 @@ trigger:
- tag
node:
typ: dev1
typ: dev2
---
kind: pipeline
@@ -466,30 +358,10 @@ steps:
FBT_TOOLS_CUSTOM_LINK:
from_secret: fbt_link
- name: "Build dev with rgb patch"
image: hfdj/fztools
pull: never
commands:
- git apply .ci_files/rgb.patch
- export DIST_SUFFIX=${DRONE_BUILD_NUMBER}r
- export WORKFLOW_BRANCH_OR_TAG=dev-cfw-rgb
- export FORCE_NO_DIRTY=yes
- export FBT_GIT_SUBMODULE_SHALLOW=1
- rm -f build/f7-firmware-C/toolbox/version.*
- ./fbt COMPACT=1 DEBUG=0 updater_package
- mkdir artifacts-rgb-patch
- mv dist/f7-C/* artifacts-rgb-patch/
- ls -laS artifacts-rgb-patch
- ls -laS artifacts-rgb-patch/f7-update-${DRONE_BUILD_NUMBER}r
environment:
FBT_TOOLS_CUSTOM_LINK:
from_secret: fbt_link
- name: "Bundle self-update packages"
image: kramos/alpine-zip
image: joshkeegan/zip
commands:
- cp artifacts-extra-apps/flipper-z-f7-update-${DRONE_BUILD_NUMBER}e.tgz .
- cp artifacts-rgb-patch/flipper-z-f7-update-${DRONE_BUILD_NUMBER}r.tgz .
- cp artifacts-clean/flipper-z-f7-update-${DRONE_BUILD_NUMBER}c.tgz .
- cp artifacts-default/flipper-z-f7-update-${DRONE_BUILD_NUMBER}.tgz .
- rm -rf artifacts-default/f7-update-${DRONE_BUILD_NUMBER}
@@ -548,21 +420,6 @@ steps:
from_secret: dep_target_extra
source: flipper-z-f7-update-${DRONE_BUILD_NUMBER}e.tgz
- name: "Upload rgb patch version to updates srv"
image: appleboy/drone-scp:linux-amd64
settings:
host:
from_secret: dep_host
username:
from_secret: dep_user
password:
from_secret: dep_passwd
port:
from_secret: dep_port
target:
from_secret: dep_target_extra
source: flipper-z-f7-update-${DRONE_BUILD_NUMBER}r.tgz
- name: "Upload clean version to updates srv"
image: appleboy/drone-scp:linux-amd64
settings:
@@ -589,6 +446,30 @@ steps:
commands:
- curl -X POST -F 'key='$UPD_KEY'' $UPD_URL
- name: "Send discord notification"
image: hfdj/fztools
pull: never
environment:
DISCORD_WEBHOOK:
from_secret: dis_dev_webhook
commands:
- wget "https://raw.githubusercontent.com/fieu/discord.sh/2253303efc0e7211ac2777d2535054cbb872f1e0/discord.sh"
- chmod +x ./discord.sh
- sed -n '/## Main changes/,/## Other changes/p' CHANGELOG.md | sed -e 's/## Main changes//' -e 's/## Other changes//' > changelogcut.txt
- head -c 1200 changelogcut.txt > changelogcutfin.txt
- truncate -s -1 changelogcutfin.txt
- tail -c +2 changelogcutfin.txt > changelogready.txt
- rm -f changelogcut.txt
- rm -f changelogcutfin.txt
- echo '' >> changelogready.txt
- echo '## [Read full changelog](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/CHANGELOG.md)' >> changelogready.txt
- sed -i 's/(buildnum)/'${DRONE_BUILD_NUMBER}'/g' .ci_files/devbuild_msg_discord.txt
- sed -i 's/(commitsha)/'${DRONE_COMMIT_SHA}'/g' .ci_files/devbuild_msg_discord.txt
- sed -i 's/(buildnum)/'${DRONE_BUILD_NUMBER}'/g' .ci_files/devbuild_msg_telegram.txt
- sed -i 's/(commitsha)/'${DRONE_COMMIT_SHA}'/g' .ci_files/devbuild_msg_telegram.txt
- cp .ci_files/devbuild_msg_telegram.txt tg_dev_message.tpl
- ./discord.sh --title "Changelog" --description "$(jq -Rs . <changelogready.txt | cut -c 2- | rev | cut -c 2- | rev)" --timestamp --text "$(jq -Rs . <.ci_files/devbuild_msg_discord.txt | cut -c 2- | rev | cut -c 2- | rev)"
- name: "Send message to telegram"
image: appleboy/drone-telegram
settings:
@@ -597,33 +478,9 @@ steps:
to:
from_secret: tgid_dev
format: markdown
message: "Unleashed firmware dev build successful!
message_file: tg_dev_message.tpl
Build: {{build.number}}
Commit: https://github.com/DarkFlippers/unleashed-firmware/commit/{{commit.sha}}
[-> Sponsor our project](https://boosty.to/mmxdev)
[-Install via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw/dev/flipper-z-f7-update-${DRONE_BUILD_NUMBER}.tgz&channel=dev-cfw&version=${DRONE_BUILD_NUMBER})
[-Version with only main apps - Install via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-${DRONE_BUILD_NUMBER}c.tgz&channel=dev-cfw&version=${DRONE_BUILD_NUMBER}c)
[-Version with RGB patch - only for hardware mod! - Install via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-${DRONE_BUILD_NUMBER}r.tgz&channel=dev-cfw&version=${DRONE_BUILD_NUMBER}r)
[-Version with RGB patch - only for hardware mod! - Direct download-](https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-${DRONE_BUILD_NUMBER}r.tgz)
[-Version with Extra apps - Install via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-${DRONE_BUILD_NUMBER}e.tgz&channel=dev-cfw&version=${DRONE_BUILD_NUMBER}e)"
- name: "Send build to telegram"
- name: "Send default build to telegram"
image: appleboy/drone-telegram
settings:
token:
@@ -631,7 +488,7 @@ steps:
to:
from_secret: tgid_dev
format: markdown
message: "Regular Build:"
message: "Default Build:"
document:
- dev/flipper-z-f7-update-${DRONE_BUILD_NUMBER}.tgz
@@ -655,22 +512,10 @@ steps:
to:
from_secret: tgid_dev
format: markdown
message: "Build with extra apps pack:"
message: "Build with extra apps:"
document:
- flipper-z-f7-update-${DRONE_BUILD_NUMBER}e.tgz
- name: "Send discord notification"
image: hfdj/fztools
pull: never
environment:
DISCORD_WEBHOOK:
from_secret: dis_dev_webhook
commands:
- wget "https://raw.githubusercontent.com/fieu/discord.sh/2253303efc0e7211ac2777d2535054cbb872f1e0/discord.sh"
- chmod +x ./discord.sh
- echo 'Unleashed firmware dev build successful!\n\nBuild - '${DRONE_BUILD_NUMBER}'\n\nCommit - https://github.com/DarkFlippers/unleashed-firmware/commit/'${DRONE_COMMIT_SHA}'\n\n[-> Sponsor our project](https://boosty.to/mmxdev)\n\n[-Version with Extra apps - Install via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_BUILD_NUMBER}'e.tgz&channel=dev-cfw&version='${DRONE_BUILD_NUMBER}'e)\n\n[-Version with only main apps - Install via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_BUILD_NUMBER}'c.tgz&channel=dev-cfw&version='${DRONE_BUILD_NUMBER}'c)\n\n[-Version with RGB patch - only for hardware mod! - Install via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_BUILD_NUMBER}'r.tgz&channel=dev-cfw&version='${DRONE_BUILD_NUMBER}'r)\n\n[-Version with RGB patch - only for hardware mod! - Direct download-](https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_BUILD_NUMBER}'r.tgz)\n\n[-Install via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw/dev/flipper-z-f7-update-'${DRONE_BUILD_NUMBER}'.tgz&channel=dev-cfw&version='${DRONE_BUILD_NUMBER}')' > messagedisc.txt
- ./discord.sh --text "$(jq -Rs . <messagedisc.txt | cut -c 2- | rev | cut -c 2- | rev)"
trigger:
branch:
- dev
@@ -678,4 +523,4 @@ trigger:
- push
node:
typ: dev1
typ: dev2

View File

@@ -8,6 +8,3 @@ charset = utf-8
[*.{cpp,h,c,py,sh}]
indent_style = space
indent_size = 4
[{Makefile,*.mk}]
indent_size = tab

15
.gitignore vendored
View File

@@ -12,6 +12,9 @@ compile_commands.json
# JetBrains IDEs
.idea/
# Sublime Text
.sublime-project.sublime-workspace
# Python VirtEnvironments
.env
.venv
@@ -42,9 +45,6 @@ null.d
.sconsign.dblite
# Visual Studio Code
/.vscode
# bundle output
/dist
/artifacts-default
@@ -69,4 +69,11 @@ PVS-Studio.log
.gdbinit
/fbt_options_local.py
/fbt_options_local.py
# JS packages
node_modules/
# cli_perf script output in case of errors
/block.bin
/return_block.bin

6
.gitmodules vendored
View File

@@ -1,9 +1,6 @@
[submodule "lib/mlib"]
path = lib/mlib
url = https://github.com/P-p-H-d/mlib.git
[submodule "lib/littlefs"]
path = lib/littlefs
url = https://github.com/littlefs-project/littlefs.git
[submodule "lib/nanopb"]
path = lib/nanopb
url = https://github.com/nanopb/nanopb.git
@@ -23,9 +20,6 @@
[submodule "lib/mbedtls"]
path = lib/mbedtls
url = https://github.com/Mbed-TLS/mbedtls.git
[submodule "lib/cxxheaderparser"]
path = lib/cxxheaderparser
url = https://github.com/robotpy/cxxheaderparser.git
[submodule "lib/heatshrink"]
path = lib/heatshrink
url = https://github.com/flipperdevices/heatshrink.git

View File

@@ -1,12 +1,14 @@
# MLib macros we can't do much about.
//-V:M_LET:1048,1044
//-V:M_EACH:1048,1044
//-V:ARRAY_DEF:760,747,568,776,729,712,654
//-V:LIST_DEF:760,747,568,712,729,654,776
//-V:ARRAY_DEF:760,747,568,776,729,712,654,1103
//-V:LIST_DEF:760,747,568,712,729,654,776,1103
//-V:LIST_DUAL_PUSH_DEF:524,760,774
//-V:BPTREE_DEF2:779,1086,557,773,512
//-V:DICT_DEF2:779,524,776,760,1044,1001,729,590,568,747,685
//-V:DICT_DEF2:779,524,776,760,1044,1001,729,590,568,747,685,1103
//-V:ALGO_DEF:1048,747,1044
//-V:TUPLE_DEF2:524,590,1001,760
//-V:DEQUE_DEF:658,747,760
# Non-severe malloc/null pointer deref warnings
//-V::522:2,3
@@ -42,8 +44,5 @@
# Model-related warnings
//-V:with_view_model:1044,1048
# Functions that always return the same error code
//-V:picopass_device_decrypt:1048
# Examples
//V_EXCLUDE_PATH applications/examples/
//V_EXCLUDE_PATH applications/examples/

View File

@@ -1 +1 @@
--ignore-ccache -C gccarm --rules-config .pvsconfig -e lib/cmsis_core -e lib/fatfs -e lib/fnv1a-hash -e lib/FreeRTOS-Kernel -e lib/heatshrink -e lib/libusb_stm32 -e lib/littlefs -e lib/mbedtls -e lib/microtar -e lib/mlib -e lib/stm32wb_cmsis -e lib/stm32wb_copro -e lib/stm32wb_hal -e lib/u8g2 -e lib/nanopb -e lib/mjs -e */arm-none-eabi/*
--ignore-ccache -C gccarm --rules-config .pvsconfig -e lib/cmsis_core -e lib/fatfs -e lib/fnv1a-hash -e lib/FreeRTOS-Kernel -e lib/heatshrink -e lib/libusb_stm32 -e lib/mbedtls -e lib/microtar -e lib/mlib -e lib/stm32wb_cmsis -e lib/stm32wb_copro -e lib/stm32wb_hal -e lib/u8g2 -e lib/nanopb -e lib/mjs -e */arm-none-eabi/*

23
.sublime-project vendored Normal file
View File

@@ -0,0 +1,23 @@
{
"folders":
[
{
"path": ".",
}
],
"settings": {
"LSP": {
"clangd": {
"enabled": true,
"initializationOptions": {
// Set `"binary": "custom",` option in LSP-clangd config to use toolchain clangd
"custom_command": ["toolchain/current/bin/clangd"],
"clangd.compile-commands-dir": "build/latest",
"clangd.header-insertion": "never",
"clangd.query-driver": "**/arm-none-eabi-*",
"clangd.clang-tidy": true,
},
},
},
},
}

8
.vscode/.gitignore vendored
View File

@@ -1,5 +1,3 @@
/c_cpp_properties.json
/extensions.json
/launch.json
/settings.json
/tasks.json
*
!example/
!ReadMe.md

2
.vscode/ReadMe.md vendored
View File

@@ -1,4 +1,4 @@
# Visual Studio Code workspace for Flipper Zero
# Visual Studio Code workspace for Flipper Zero {#vscode}
## Setup

View File

@@ -8,7 +8,8 @@
"amiralizadeh9480.cpp-helper",
"marus25.cortex-debug",
"zxh404.vscode-proto3",
"augustocdias.tasks-shell-input"
"augustocdias.tasks-shell-input",
"rioj7.command-variable"
],
// List of extensions recommended by VS Code that should not be recommended for users of this workspace.
"unwantedRecommendations": [
@@ -16,4 +17,4 @@
"ms-vscode.cpptools",
"ms-vscode.cmake-tools"
]
}
}

View File

@@ -2,7 +2,7 @@
"configurations": [
{
"name": "Win32",
"compilerPath": "${workspaceFolder}/toolchain/x86_64-windows/bin/arm-none-eabi-gcc.exe",
"compilerPath": "${workspaceFolder}/toolchain/current/bin/arm-none-eabi-gcc.exe",
"intelliSenseMode": "gcc-arm",
"compileCommands": "${workspaceFolder}/build/latest/compile_commands.json",
"cStandard": "gnu23",
@@ -10,7 +10,7 @@
},
{
"name": "Linux",
"compilerPath": "${workspaceFolder}/toolchain/x86_64-linux/bin/arm-none-eabi-gcc",
"compilerPath": "${workspaceFolder}/toolchain/current/bin/arm-none-eabi-gcc",
"intelliSenseMode": "gcc-arm",
"compileCommands": "${workspaceFolder}/build/latest/compile_commands.json",
"cStandard": "gnu23",
@@ -18,7 +18,7 @@
},
{
"name": "Mac",
"compilerPath": "${workspaceFolder}/toolchain/x86_64-darwin/bin/arm-none-eabi-gcc",
"compilerPath": "${workspaceFolder}/toolchain/current/bin/arm-none-eabi-gcc",
"intelliSenseMode": "gcc-arm",
"compileCommands": "${workspaceFolder}/build/latest/compile_commands.json",
"cStandard": "gnu23",

View File

@@ -1,11 +1,7 @@
{
"C_Cpp.default.cStandard": "gnu23",
"C_Cpp.default.cppStandard": "c++20",
"python.formatting.provider": "black",
"workbench.tree.indent": 12,
"cortex-debug.enableTelemetry": false,
"cortex-debug.variableUseNaturalFormat": true,
"cortex-debug.showRTOS": true,
"cortex-debug.armToolchainPath": "${workspaceFolder}/toolchain/current/bin",
"cortex-debug.openocdPath": "${workspaceFolder}/toolchain/current/bin/openocd",
"cortex-debug.gdbPath": "${workspaceFolder}/toolchain/current/bin/arm-none-eabi-gdb-py3",
@@ -14,11 +10,22 @@
"*.scons": "python",
"SConscript": "python",
"SConstruct": "python",
"*.fam": "python",
"*.fam": "python"
},
"clangd.checkUpdates": false,
"clangd.path": "${workspaceFolder}/toolchain/current/bin/clangd@FBT_PLATFORM_EXECUTABLE_EXT@",
"clangd.arguments": [
// We might be able to tighten this a bit more to only include the correct toolchain.
"--query-driver=**",
"--compile-commands-dir=${workspaceFolder}/build/latest"
]
"--query-driver=**/arm-none-eabi-*",
"--compile-commands-dir=${workspaceFolder}/build/latest",
"--clang-tidy",
"--header-insertion=never"
],
"files.watcherExclude": {
"**/.git/objects/**": true,
"**/.git/**/modules/**/objects/**": true,
"**/.git/**/subtree-cache/**": true,
"**/.git/**/rr-cache/**": true,
"build/**": true,
"toolchain/**": true
}
}

View File

@@ -75,29 +75,23 @@
"type": "shell",
"command": "./fbt updater_all"
},
{
"label": "[Debug] Flash (USB, w/o resources)",
"group": "build",
"type": "shell",
"command": "./fbt FORCE=1 flash_usb"
},
{
"label": "[Release] Flash (USB, w/o resources)",
"group": "build",
"type": "shell",
"command": "./fbt COMPACT=1 DEBUG=0 FORCE=1 flash_usb"
},
{
"label": "[Debug] Flash (USB, w/o resources)",
"group": "build",
"type": "shell",
"command": "./fbt FORCE=1 flash_usb"
},
{
"label": "[Debug:unit_tests] Flash (USB)",
"group": "build",
"type": "shell",
"command": "./fbt FIRMWARE_APP_SET=unit_tests FORCE=1 flash_usb"
},
{
"label": "[Debug] Flash (USB, with resources)",
"group": "build",
"type": "shell",
"command": "./fbt FORCE=1 flash_usb_full"
"command": "./fbt FIRMWARE_APP_SET=unit_tests FORCE=1 flash_usb_full"
},
{
"label": "[Release] Flash (USB, with resources)",
@@ -105,18 +99,18 @@
"type": "shell",
"command": "./fbt COMPACT=1 DEBUG=0 FORCE=1 flash_usb_full"
},
{
"label": "[Debug] Flash (USB, with resources)",
"group": "build",
"type": "shell",
"command": "./fbt FORCE=1 flash_usb_full"
},
{
"label": "[Debug] Create PVS-Studio report",
"group": "build",
"type": "shell",
"command": "./fbt firmware_pvs"
},
{
"label": "[Debug] Build FAPs",
"group": "build",
"type": "shell",
"command": "./fbt fap_dist"
},
{
"label": "[Release] Build FAPs",
"group": "build",
@@ -124,10 +118,10 @@
"command": "./fbt COMPACT=1 DEBUG=0 fap_dist"
},
{
"label": "[Debug] Build App",
"label": "[Debug] Build FAPs",
"group": "build",
"type": "shell",
"command": "./fbt build APPSRC=${relativeFileDirname}"
"command": "./fbt fap_dist"
},
{
"label": "[Release] Build App",
@@ -136,10 +130,10 @@
"command": "./fbt COMPACT=1 DEBUG=0 build APPSRC=${relativeFileDirname}"
},
{
"label": "[Debug] Launch App on Flipper",
"label": "[Debug] Build App",
"group": "build",
"type": "shell",
"command": "./fbt launch APPSRC=${relativeFileDirname}"
"command": "./fbt build APPSRC=${relativeFileDirname}"
},
{
"label": "[Release] Launch App on Flipper",
@@ -147,6 +141,12 @@
"type": "shell",
"command": "./fbt COMPACT=1 DEBUG=0 launch APPSRC=${relativeFileDirname}"
},
{
"label": "[Debug] Launch App on Flipper",
"group": "build",
"type": "shell",
"command": "./fbt launch APPSRC=${relativeFileDirname}"
},
{
"label": "[Debug] Launch App on Flipper with Serial Console",
"dependsOrder": "sequence",
@@ -156,18 +156,18 @@
"Serial Console"
]
},
{
"label": "[Debug] Build and upload all FAPs to Flipper over USB",
"group": "build",
"type": "shell",
"command": "./fbt fap_deploy"
},
{
"label": "[Release] Build and upload all FAPs to Flipper over USB",
"group": "build",
"type": "shell",
"command": "./fbt COMPACT=1 DEBUG=0 fap_deploy"
},
{
"label": "[Debug] Build and upload all FAPs to Flipper over USB",
"group": "build",
"type": "shell",
"command": "./fbt fap_deploy"
},
{
// Press Ctrl+] to quit
"label": "Serial Console",
@@ -192,4 +192,4 @@
}
}
]
}
}

View File

@@ -1,7 +0,0 @@
cask "brew-cask/gcc-arm-embedded.rb"
brew "protobuf"
brew "gdb"
brew "open-ocd"
brew "clang-format"
brew "dfu-util"
brew "protobuf-c"

View File

@@ -1,60 +1,34 @@
## New changes
* NFC: **Fixed stuck Saved success screen**
* NFC: **Fixed crash when reading mifare classic tag then going to add manually menu and adding NFC-A tag**
* NFC: Fixed EMV txs render
* NFC/LFRFID: Don't Stop emulation after 5 mins to avoid antenna damage if debug is ON (by @Leptopt1los)
* LFRFID: Fixed T5577 custom password input (by @Leptopt1los)
* OFW PR 3410: lfrfid/em4100: added support for different bit rates - by @Mrkvak (RF/32 full support, RF/16 support without reading (16clk removed for now))
* OFW PR 3412: Fixed MyKey LockID - by @zProAle
<br>----<br>
**Changes from 070 release:**<br>
* NFC: **EMV parser** added (by @Leptopt1los and @wosk | PR #700)
* NFC: Metromoney parser balance fix (by @Leptopt1los | PR #699)
* NFC/LFRFID: Stop emulation after 5 mins to avoid antenna damage (by @Leptopt1los)
* Archive: Fix two filebrowser bugs
* SubGHz: **Programming mode for Dea Mio** (right arrow button)
* SubGHz: **Keeloq fix emulation for multiple systems and extend add manually support** for 2 of them (Dea Mio, Genius Bravo, GSN, Normstahl)
* SubGHz: Fixed hopper state when entering Read via Freq analyzer
* SubGHz: Raw erase fixes (by @Willy-JL)
* SubGHz: Subghz save files with receive time (by @Willy-JL)
* NFC: Fix NFC V dumps with v3 (pre refactor saves) crashing at info page
* NFC: Zolotaya Korona Online parser added (by @Leptopt1los)
* NFC: Add NFC **NDEF parser** (by @Willy-JL)
* LF RFID: **Write T5577 with random and custom password** added (clear password via Extra actions) (by @Leptopt1los)
* SubGHz: Update honeywell protocol (by @Willy-JL)
* System: More contrast values for replacement displays (up to +8 or -8)
* USB/BLE HID: Add macOS Music app volume control
* Apps: **Check out Apps updates by following** [this link](https://github.com/xMasterX/all-the-plugins/commits/dev)
* OFW PR 3384: NFC: Display unread Mifare Classic bytes as question marks - by @TollyH
* OFW PR 3396: NFC: **fix application opening from browser** - by @RebornedBrain (+ fix for leftover issues)
* OFW PR 3382: NFC UI refactor - by @RebornedBrain
* OFW PR 3391: Rework more info scene for Ultralight cards - by @RebornedBrain
* OFW PR 3401: it-IT-mac layout - by @nminaylov
* OFW: Fix expansion protocol crash when fed lots of garbage
* OFW: 0.98.0-rc various fixes
* OFW: RFID CLI: better usage
* OFW: **Mf DESFire fixes**
* OFW: NFC UI refactor
* OFW: **Expansion module protocol** (+ expansion settings read and store in ram by @Willy-JL)
* OFW: Bugfix: Strip last parity bit from decoded FDX-B data
* OFW: FuriHal: interrupt priorities and documentation
* OFW: FuriHal: **UART refactoring**
* OFW: SubGhz: add `subghz tx_from_file` CLI cmd, major TX flow refactoring, various improvements and bug fixes
* OFW: Furi_hal_rtc: new function
* OFW: NFC UI refactor
* OFW: assets: checking limits on image size; ufbt: cdb target
* OFW: NFC: system dict skip when user dict is skipped fix (replaces our fix)
* OFW: FuriHal: fix start duration furi_hal_subghz_async_tx
* OFW: NFC: parsers minor cleanup
* OFW: NFC Ntag success write freeze when not saved card
* OFW: ufbt: fixed generated project paths on Windows
## Main changes
- Current API: 87.1
* SubGHz: **Counter Edit option with UI** (PR #933 | by @Dmitry422) (with Debug enabled only) (Saved - open file - Signal Settings - Edit Counter)
* SubGHz: **UI for Counter Experimental Mode** (PR #930 | by @Dmitry422) (with Debug enabled only) (Saved - open file - Signal Settings - Counter Mode) (see docs below)
* SubGHz: **Counter modes for Keeloq, CAME Atomo, Nice Flor S, AlutechAT4N** - [see docs](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/documentation/SubGHzCounterMode.md)
* SubGHz: Add AN-Motors AT4 button on arrow keys (0xC)
* SubGHz: Add IL-100 Smart support for Add manually
* SubGHz: Add **experimental counter overflow mode** (OFEX), replicates how some key duplicators work, DO NOT USE if you don't know what you are doing, it will reset your counter value! (accesible with debug on in radio settings - counter incr.)
* SubGHz: **Return Honeywell Sec** with fixes and improvements (by htotoo & LiQuiDz & xMasterX)
* NFC: Keys found in key cache are now used in Nested attacks, deleting key cache is no longer required (by @noproto)
* NFC: MFKey 4.0, MIFARE Classic Static Encrypted Nested attacks run 10x faster (by @noproto)
* NFC: **Add Saflok MFUL Parser Support** (by @aaronjamt)
* NFC: **Add MFUL counters to Info page** (by @aaronjamt)
* OFW: Fix Felica standard loading from nfc file
* Apps: **Check out more Apps updates and fixes by following** [this link](https://github.com/xMasterX/all-the-plugins/commits/dev)
## Other changes
* Desktop: Quick Debug mode switch (hold down on desktop, then hold ok on version screen)
* SubGHz: OFEX support for SecPlus v1 and v2, various fixes (by @Dmitry422 & xMasterX)
* SubGHz Remote: Add default remote and clear slot features (by @jknlsn)
* Fix typo in README warning about scammers (PR #931 | by @koterba)
* Bad USB: Colemak keyboard layout (by @Ashe-Sterling)
* Display: Remove display_back_light bug from "DisplayBacklightEnforceOn" (PR #928 | by @Dmitry422)
* OFW PR 4279: NFC FeliCa Minor Fix: FelicaPollerEventType should only be Incomplete if the tag is FeliCa Lite (by @zinongli)
* OFW PR 4261: Add date/time input module (by @aaronjamt)
* OFW PR 4312: Infrared: Fix infrared CLI plugin MissingImports (by @WillyJL)
* Dolphin: Enable winter anims
* Dolphin: Disable halloween anim
<br><br>
#### Known NFC post-refactor regressions list:
- Mifare Mini clones reading is broken (original mini working fine) (OFW)
- Option to unlock Slix-L (NFC V) with preset or custom password was removed with refactoring (OFW)
- NFC CLI was removed with refactoring (OFW)
- Current list of affected apps: https://github.com/xMasterX/all-the-plugins/tree/dev/apps_broken_by_last_refactors
- Also in app **Enhanced Sub-GHz Chat** - NFC part was temporarily removed to make app usable, NFC part of the app requires remaking it with new nfc stack
- While reading some EMV capable cards via NFC->Read flipper may crash due to Desfire poller issue, read those cards via Extra actions->Read specific card type->EMV
----
@@ -63,43 +37,47 @@
[-> Download qFlipper (official link)](https://flipperzero.one/update)
## Please support development of the project
|Service|Remark|Link/Wallet|
|-|-|-|
|**Patreon**||https://patreon.com/mmxdev|
|**Boosty**|patreon alternative|https://boosty.to/mmxdev|
|cloudtips|only RU payments accepted|https://pay.cloudtips.ru/p/7b3e9d65|
|YooMoney|only RU payments accepted|https://yoomoney.ru/fundraise/XA49mgQLPA0.221209|
|USDT|(TRC20)|`TSXcitMSnWXUFqiUfEXrTVpVewXy2cYhrs`|
|BCH||`qquxfyzntuqufy2dx0hrfr4sndp0tucvky4sw8qyu3`|
|ETH|(BSC/ERC20-Tokens)|`darkflippers.eth` (or `0xFebF1bBc8229418FF2408C07AF6Afa49152fEc6a`)|
|BTC||`bc1q0np836jk9jwr4dd7p6qv66d04vamtqkxrecck9`|
|DOGE||`D6R6gYgBn5LwTNmPyvAQR6bZ9EtGgFCpvv`|
|LTC||`ltc1q3ex4ejkl0xpx3znwrmth4lyuadr5qgv8tmq8z9`|
|XMR|(Monero)| `41xUz92suUu1u5Mu4qkrcs52gtfpu9rnZRdBpCJ244KRHf6xXSvVFevdf2cnjS7RAeYr5hn9MsEfxKoFDRSctFjG5fv1Mhn`|
|TON||`EQCOqcnYkvzOZUV_9bPE_8oTbOrOF03MnF-VcJyjisTZmpGf`|
| Service | Remark | QR Code | Link/Wallet |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------|
| <img src="https://cdn.simpleicons.org/patreon/dark/white" alt="Patreon" width="14"/> **Patreon** | | <div align="center"><a href="https://github.com/user-attachments/assets/a88a90a5-28c3-40b4-864a-0c0b79494a42"><img src="https://github.com/user-attachments/assets/da3a864d-d1c7-42cc-8a86-6fcaf26663ec" alt="QR image"/></a></div> | [patreon.com/mmxdev](https://patreon.com/mmxdev) |
| <img src="https://cdn.simpleicons.org/boosty" alt="Boosty" width="14"/> **Boosty** | patreon alternative | <div align="center"><a href="https://github.com/user-attachments/assets/893c0760-f738-42c1-acaa-916019a7bdf8"><img src="https://github.com/user-attachments/assets/da3a864d-d1c7-42cc-8a86-6fcaf26663ec" alt="QR image"/></a></div> | [boosty.to/mmxdev](https://boosty.to/mmxdev) |
| <img src="https://gist.githubusercontent.com/m-xim/255a3ef36c886dec144a58864608084c/raw/71da807b4abbd1582e511c9ea30fad27f78d642a/cloudtips_icon.svg" alt="Cloudtips" width="14"/> CloudTips | only RU payments accepted | <div align="center"><a href="https://github.com/user-attachments/assets/5de31d6a-ef24-4d30-bd8e-c06af815332a"><img src="https://github.com/user-attachments/assets/da3a864d-d1c7-42cc-8a86-6fcaf26663ec" alt="QR image"/></a></div> | [pay.cloudtips.ru/p/7b3e9d65](https://pay.cloudtips.ru/p/7b3e9d65) |
| <img src="https://raw.githubusercontent.com/gist/PonomareVlad/55c8708f11702b4df629ae61129a9895/raw/1657350724dab66f2ad68ea034c480a2df2a1dfd/YooMoney.svg" alt="YooMoney" width="14"/> YooMoney | only RU payments accepted | <div align="center"><a href="https://github.com/user-attachments/assets/33454f79-074b-4349-b453-f94fdadc3c68"><img src="https://github.com/user-attachments/assets/da3a864d-d1c7-42cc-8a86-6fcaf26663ec" alt="QR image"/></a></div> | [yoomoney.ru/fundraise/XA49mgQLPA0.221209](https://yoomoney.ru/fundraise/XA49mgQLPA0.221209) |
| <img src="https://cdn.simpleicons.org/tether" alt="USDT" width="14"/> USDT | TRC20 | <div align="center"><a href="https://github.com/user-attachments/assets/0500498d-18ed-412d-a1a4-8a66d0b6f057"><img src="https://github.com/user-attachments/assets/da3a864d-d1c7-42cc-8a86-6fcaf26663ec" alt="QR image"/></a></div> | `TSXcitMSnWXUFqiUfEXrTVpVewXy2cYhrs` |
| <img src="https://cdn.simpleicons.org/ethereum" alt="ETH" width="14"/> ETH | BSC/ERC20-Tokens | <div align="center"><a href="https://github.com/user-attachments/assets/0f323e98-c524-4f41-abb2-f4f1cec83ab6"><img src="https://github.com/user-attachments/assets/da3a864d-d1c7-42cc-8a86-6fcaf26663ec" alt="QR image"/></a></div> | `0xFebF1bBc8229418FF2408C07AF6Afa49152fEc6a` |
| <img src="https://cdn.simpleicons.org/bitcoin" alt="BTC" width="14"/> BTC | | <div align="center"><a href="https://github.com/user-attachments/assets/5a904d45-947e-4b92-9f0f-7fbaaa7b37f8"><img src="https://github.com/user-attachments/assets/da3a864d-d1c7-42cc-8a86-6fcaf26663ec" alt="QR image"/></a></div> | `bc1q0np836jk9jwr4dd7p6qv66d04vamtqkxrecck9` |
| <img src="https://cdn.simpleicons.org/solana" alt="SOL" width="13"/> SOL | Solana/Tokens | <div align="center"><a href="https://github.com/user-attachments/assets/ab33c5e0-dd59-497b-9c91-ceb89c36b34d"><img src="https://github.com/user-attachments/assets/da3a864d-d1c7-42cc-8a86-6fcaf26663ec" alt="QR image"/></a></div> | `DSgwouAEgu8iP5yr7EHHDqMNYWZxAqXWsTEeqCAXGLj8` |
| <img src="https://cdn.simpleicons.org/dogecoin" alt="DOGE" width="14"/> DOGE | | <div align="center"><a href="https://github.com/user-attachments/assets/2937edd0-5c85-4465-a444-14d4edb481c0"><img src="https://github.com/user-attachments/assets/da3a864d-d1c7-42cc-8a86-6fcaf26663ec" alt="QR image"/></a></div> | `D6R6gYgBn5LwTNmPyvAQR6bZ9EtGgFCpvv` |
| <img src="https://cdn.simpleicons.org/litecoin" alt="LTC" width="14"/> LTC | | <div align="center"><a href="https://github.com/user-attachments/assets/441985fe-f028-4400-83c1-c215760c1e74"><img src="https://github.com/user-attachments/assets/da3a864d-d1c7-42cc-8a86-6fcaf26663ec" alt="QR image"/></a></div> | `ltc1q3ex4ejkl0xpx3znwrmth4lyuadr5qgv8tmq8z9` |
| <img src="https://bitcoincash.org/img/green/bitcoin-cash-circle.svg" alt="BCH" width="14"/> BCH | | <div align="center"><a href="https://github.com/user-attachments/assets/7f365976-19a3-4777-b17e-4bfba5f69eff"><img src="https://github.com/user-attachments/assets/da3a864d-d1c7-42cc-8a86-6fcaf26663ec" alt="QR image"/></a></div> | `qquxfyzntuqufy2dx0hrfr4sndp0tucvky4sw8qyu3` |
| <img src="https://cdn.simpleicons.org/monero" alt="XMR" width="14"/> XMR | Monero | <div align="center"><a href="https://github.com/user-attachments/assets/96186c06-61e7-4b4d-b716-6eaf1779bfd8"><img src="https://github.com/user-attachments/assets/da3a864d-d1c7-42cc-8a86-6fcaf26663ec" alt="QR image"/></a></div> | `41xUz92suUu1u5Mu4qkrcs52gtfpu9rnZRdBpCJ244KRHf6xXSvVFevdf2cnjS7RAeYr5hn9MsEfxKoFDRSctFjG5fv1Mhn` |
| <img src="https://cdn.simpleicons.org/ton" alt="TON" width="14"/> TON | | <div align="center"><a href="https://github.com/user-attachments/assets/92a57e57-7462-42b7-a342-6f22c6e600c1"><img src="https://github.com/user-attachments/assets/da3a864d-d1c7-42cc-8a86-6fcaf26663ec" alt="QR image"/></a></div> | `UQCOqcnYkvzOZUV_9bPE_8oTbOrOF03MnF-VcJyjisTZmsxa` |
#### Thanks to our sponsors who supported project in the past and special thanks to sponsors who supports us on regular basis:
ClaraCrazy, Pathfinder [Count Zero cDc], callmezimbra, Quen0n, MERRON, grvpvl (lvpvrg), art_col, ThurstonWaffles, Moneron, UterGrooll, LUCFER, Northpirate, zloepuzo, T.Rat, Alexey B., ionelife, ...
@mishamyte, ClaraCrazy, Pathfinder [Count Zero cDc], callmezimbra, Quen0n, MERRON, grvpvl (lvpvrg), art_col, ThurstonWaffles, Moneron, UterGrooll, LUCFER, Northpirate, zloepuzo, T.Rat, Alexey B., ionelife, ...
and all other great people who supported our project and me (xMasterX), thanks to you all!
## **Recommended update option - Web Updater**
### What `n`, `r`, `e`, ` `, `c` means? What I need to download if I don't want to use Web updater?
What build I should download and what this name means - `flipper-z-f7-update-(version)(n / r / e / c).tgz` ? <br>
### What `e`, ` `, `c` means? What I need to download if I don't want to use Web updater?
What build I should download and what this name means - `flipper-z-f7-update-(version)(e / c).tgz` ? <br>
`flipper-z` = for Flipper Zero device<br>
`f7` = Hardware version - same for all flipper zero devices<br>
`update` = Update package, contains updater, all assets (plugins, IR libs, etc.), and firmware itself<br>
`(version)` = Firmware version<br>
| Designation | 3 Custom Animation | [Base Apps](https://github.com/xMasterX/all-the-plugins#default-pack) | [Extra Apps](https://github.com/xMasterX/all-the-plugins#extra-pack) |RGB mode* |
|-----|:---:|:---:|:---:|:---:|
| ` ` | ✅ | ✅ | | |
| `c` | ✅ | | | |
| `n` | | ✅ | | |
| `e` | ✅ | ✅ | ✅ | |
| `r` | ✅ | ✅ | ✅ | ⚠️ |
| Designation | [Base Apps](https://github.com/xMasterX/all-the-plugins#default-pack) | [Extra Apps](https://github.com/xMasterX/all-the-plugins#extra-pack) |
|-----|:---:|:---:|
| ` ` | ✅ | |
| `c` | | |
| `e` | ✅ | |
**To enable RGB Backlight support go into LCD & Notifications settings**
RGB backlight [hardware mod](https://github.com/quen0n/flipperzero-firmware-rgb#readme), works only on modded flippers! do not enable on non modded device!
This is [hardware mod](https://github.com/quen0n/flipperzero-firmware-rgb#readme), works only on modded flippers! do not install on non modded device!
Firmware Self-update package (update from microSD) - `flipper-z-f7-update-(version).tgz` for mobile app / qFlipper / web<br>
Archive of `scripts` folder (contains scripts for FW/plugins development) - `flipper-z-any-scripts-(version).tgz`<br>

503
ReadMe.md
View File

@@ -1,252 +1,316 @@
<h3 align="center">
<a href="https://github.com/DarkFlippers/unleashed-firmware">
<img src="https://user-images.githubusercontent.com/10697207/186202043-26947e28-b1cc-459a-8f20-ffcc7fc0c71c.png" align="center" alt="fzCUSTOM" border="0">
</a>
<a href="https://github.com/DarkFlippers/unleashed-firmware">
<img src="https://github.com/user-attachments/assets/466c40d5-f6a1-444d-a235-d9026f7cd0ff" align="center" alt="Unleashed Firmware Logo" border="0">
</a>
</h3>
<div align="center" id="badges">
<a href="https://discord.unleashedflip.com">
<img src="https://img.shields.io/discord/937479784148115456?style=flat-square&logo=discord&label=Discord&color=%237289DA&link=https%3A%2F%2Fdiscord.unleashedflip.com%2F" alt="Discord server"/>
</a>
<a href="https://t.me/flipperzero_unofficial">
<img src="https://img.shields.io/endpoint?label=EN%20Channel&style=flat-square&url=https%3A%2F%2Fmogyo.ro%2Fquart-apis%2Ftgmembercount%3Fchat_id%3Dflipperzero_unofficial" alt="EN TG channel"/>
</a>
<a href="https://t.me/flipperzero_unofficial_ru">
<img src="https://img.shields.io/endpoint?label=RU%20Channel&style=flat-square&url=https%3A%2F%2Fmogyo.ro%2Fquart-apis%2Ftgmembercount%3Fchat_id%3Dflipperzero_unofficial_ru" alt="RU TG channel"/>
</a>
<a href="https://t.me/flipperzero_unofficial_ua">
<img src="https://img.shields.io/endpoint?label=UA%20Channel&style=flat-square&url=https%3A%2F%2Fmogyo.ro%2Fquart-apis%2Ftgmembercount%3Fchat_id%3Dflipperzero_unofficial_ua" alt="UA TG channel"/>
</a>
</div>
### Welcome to the Flipper Zero Unleashed Firmware repo!
[![English Telegram Chat](https://img.shields.io/endpoint?color=neon&style=flat&url=https%3A%2F%2Ftg.sumanjay.workers.dev%2Fflipperzero_unofficial)](https://t.me/flipperzero_unofficial)
[![Russian Telegram Chat](https://img.shields.io/endpoint?color=neon&style=flat&url=https%3A%2F%2Ftg.sumanjay.workers.dev%2Fflipperzero_unofficial_ru)](https://t.me/flipperzero_unofficial_ru)
[![Ukraine Telegram Chat](https://img.shields.io/endpoint?color=neon&style=flat&url=https%3A%2F%2Ftg.sumanjay.workers.dev%2Fflipperzero_unofficial_ua)](https://t.me/flipperzero_unofficial_ua)
[![Discord Server](https://img.shields.io/discord/937479784148115456?style=flat&logo=discord&label=Discord&color=%237289DA&link=https%3A%2F%2Fdiscord.unleashedflip.com%2F)](https://discord.unleashedflip.com)
#### **This firmware is a fork from** [flipperdevices/flipperzero-firmware](https://github.com/flipperdevices/flipperzero-firmware)
# Flipper Zero Unleashed Firmware
This firmware is a fork of the original (OFW) version of [flipperdevices/flipperzero-firmware](https://github.com/flipperdevices/flipperzero-firmware) and represents the **most stable** custom build, incorporating **new features** and **improvements** to the original components while remaining **fully compatible** with the API and applications of the original firmware.
<br>
> [!WARNING]
> This software is intended solely for experimental purposes and is not meant for any illegal activities.
> We do not condone unlawful behavior and strongly encourage you to use it only within the bounds of the law.
>
> This project is developed independently and is not affiliated with Flipper Devices.
>
> Also be aware, DarkFlippers/unleashed-firmware is the only official page of the project, there is no paid, premium or closed source versions and if someone contacts you and say they are from our team and try to offer something like that - they are scammers, block that user ASAP
### Most stable custom firmware focused on new features and improvements of original firmware components, with almost no UI changes
<br/>
<br>
## 🚀 Usage
##### This software is for experimental purposes only and is not meant for any illegal activity/purposes. <br> We do not condone illegal activity and strongly encourage keeping transmissions to legal/valid uses allowed by law. <br> Also, this software is made without any support from Flipper Devices and is in no way related to the official devs.
Before getting started:
- **Review the Official Documentation:** [docs.flipper.net](https://docs.flipper.net)
- **Installation Guide & Version Info:**
How to install the firmware by following the [Installation Guide](/documentation/HowToInstall.md) and check the [version information](/CHANGELOG.md#recommended-update-option---web-updater) (`e`, ` `, `c`)
- **FAQ:**
Find answers to common questions in the [FAQ](/documentation/FAQ.md)
<br>
## 📦 Releases
## FAQ (frequently asked questions)
[Follow this link to find answers to most asked questions](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/documentation/FAQ.md)
### Release builds (stable)
- <img src="https://github.com/badges/shields/assets/10694593/c5c5acc3-f434-4a8d-a834-6d94a7ffb45a" alt="Telegram" title="Telegram" width="14" height="14"> Telegram: <a href="https://t.me/unleashed_fw">t.me/unleashed_fw</a>
- <a href="https://github.com/DarkFlippers/unleashed-firmware/releases"> <img src="https://cdn.simpleicons.org/github/black/white" alt="GitHub" title="" width="14" height="14"> GitHub Releases</a>
## Dev builds (unstable)
- https://dev.unleashedflip.com/
- https://t.me/kotnehleb
## Releases in Telegram
- https://t.me/unleashed_fw
### Dev builds (unstable)
> [!NOTE]
> Built automatically from dev branch
# What's changed
- **Sub-GHz** *lib & hal*
- Regional TX restrictions removed
- Extra Sub-GHz frequencies
- Frequency range can be extended in settings file (Warning: It can damage Flipper's hardware)
- Many rolling code [protocols](https://github.com/DarkFlippers/unleashed-firmware#current-modified-and-new-sub-ghz-protocols-list) now have the ability to save & send captured signals
- FAAC SLH (Spa) & BFT Mitto (keeloq secure with seed) manual creation
- External CC1101 module support [(by quen0n)](https://github.com/DarkFlippers/unleashed-firmware/pull/307)
- **Sub-GHz** *Main App*
- Save last used frequency [(by derskythe)](https://github.com/DarkFlippers/unleashed-firmware/pull/77)
- New frequency analyzer [(by ClusterM)](https://github.com/DarkFlippers/unleashed-firmware/pull/43)
- Press OK in frequency analyzer to use detected frequency in Read modes [(by derskythe)](https://github.com/DarkFlippers/unleashed-firmware/pull/77)
- Long press OK button in Sub-GHz Frequency analyzer to switch to Read menu [(by derskythe)](https://github.com/DarkFlippers/unleashed-firmware/pull/79)
- New option to use timestamps + protocol name when you saving file, instead of random name or timestamp only - Enable in `Radio Settings -> Protocol Names = ON`
- Read mode UI improvements (shows time when signal was received) (by @wosk)
- External CC1101 module support (Hardware SPI used)
- **Hold right in received signal list to delete selected signal**
- **Custom buttons for Keeloq / Alutech AT4N / Nice Flor S / Somfy Telis / Security+ 2.0 / CAME Atomo** - now you can use arrow buttons to send signal with different button code
- `Add manually` menu extended with new protocols
- FAAC SLH, BFT Mitto / Somfy Telis / Nice Flor S / CAME Atomo, etc.. manual creation with programming new remote into receiver (use button 0xF for BFT Mitto, 0x8 (Prog) on Somfy Telis, (right arrow button for other protocols))
- Debug mode counter increase settings (+1 -> +5, +10, default: +1)
- Debug PIN output settings for protocol development
- **Sub-GHz apps** *by unleashed team*
- Sub-GHz Bruteforce - static code brute-force plugin |
- Time delay (between signals) setting (hold Up in main screen(says Up to Save)) + configure repeats in protocols list by pressing right button on selected protocol
- Load your own file and select bytes you want to bruteforce or use preconfigured options in protocols list
- Sub-GHz Remote - remote control for 5 sub-ghz files | bind one file for each button
- use the built-in constructor or make config file by following this [instruction](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/documentation/SubGHzRemotePlugin.md)
- **Infrared**
- Recompiled IR TV Universal Remote for ALL buttons
- Universal remotes for Projectors, Fans, A/Cs and Audio(soundbars, etc.) -> Also always updated and verified by our team
- Infrared -> `RCA` Protocol
- Infrared -> Debug TX PIN output settings
- **NFC/RFID/iButton**
* LFRFID/iButton Fuzzer plugins
* Extra Mifare Classic keys
* EMV Protocol + Public data parser (by @Leptopt1los and @wosk)
* NFC/LFRFID - Stop emulation after 5 mins to avoid antenna damage (by @Leptopt1los)
* NFC `Add manually` -> Mifare Classic with custom UID
* NFC parsers: Umarsh, Zolotaya Korona, Kazan, Metromoney, Moscow Social Card, Troika (reworked) and [many others](https://github.com/DarkFlippers/unleashed-firmware/tree/dev/applications/main/nfc/plugins/supported_cards) (by @Leptopt1los and @assasinfil)
- **Quality of life & other features**
- Customizable Flipper name **Update! Now can be changed in Settings->Desktop** (by @xMasterX and @Willy-JL)
- Text Input UI element -> Cursor feature (by @Willy-JL)
- Byte Input Mini editor -> **Press UP** multiple times until the nibble editor appears (by @gid9798)
- Clock on Desktop -> `Settings -> Desktop -> Show Clock` (by @gid9798)
- Battery percentage display with different styles `Settings -> Desktop -> Battery View`
- More games in Dummy Mode -> click or hold any of arrow buttons
- Lock device with pin(or regular lock if pin not set) by holding UP button on main screen [(by an4tur0r)](https://github.com/DarkFlippers/unleashed-firmware/pull/107)
- **BadBT** plugin (BT version of BadKB) [(by Willy-JL, ClaraCrazy, XFW contributors)](https://github.com/ClaraCrazy/Flipper-Xtreme/tree/dev/applications/main/bad_kb) - (See in Applications->Tools) - (aka BadUSB via Bluetooth)
- BadUSB -> Keyboard layouts [(by rien > dummy-decoy)](https://github.com/dummy-decoy/flipperzero-firmware/tree/dummy_decoy/bad_usb_keyboard_layout)
- Custom community plugins and games added + all known working apps can be downloaded in extra pack in every release
- Other small fixes and changes throughout
- See other changes in readme below
- Web site: [dev.unleashedflip.com](https://dev.unleashedflip.com)
- <img src="https://github.com/badges/shields/assets/10694593/c5c5acc3-f434-4a8d-a834-6d94a7ffb45a" alt="Telegram" title="Telegram" width="14" height="14"> Telegram: <a href="https://t.me/kotnehleb">t.me/kotnehleb</a>
## 🆕 What's New
> <details>
> <summary><strong>SubGHz Library & HAL</strong></summary>
> <br/>
>
> - Many new protocols added
> - Regional TX restrictions removed
> - Extra Sub-GHz frequencies added
> - Frequency range can be extended in settings file _(warning: It can damage Flipper's hardware)_
> - Many rolling code [protocols](#current-modified-and-new-sub-ghz-protocols-list) now have the ability to save & send captured signals
> - FAAC SLH (Spa) & BFT Mitto (keeloq secure with seed) manual creation
> - External CC1101 module support [(by quen0n)](https://github.com/DarkFlippers/unleashed-firmware/pull/307)
> </details>
> <details>
> <summary><strong>SubGHz Main App</strong></summary>
> <br/>
>
> - Save last used settings [(by derskythe)](https://github.com/DarkFlippers/unleashed-firmware/pull/77)
> - New frequency analyzer [(by ClusterM)](https://github.com/DarkFlippers/unleashed-firmware/pull/43)
> - Press OK in frequency analyzer to use detected frequency in Read modes [(by derskythe)](https://github.com/DarkFlippers/unleashed-firmware/pull/77)
> - Long press OK button in Sub-GHz Frequency analyzer to switch to Read menu [(by derskythe)](https://github.com/DarkFlippers/unleashed-firmware/pull/79)
> - New option to use timestamps + protocol name when you saving file, instead of random name or timestamp only - Enable in `Radio Settings -> Protocol Names = ON`
> - Read mode UI improvements (shows time when signal was received) (by @wosk)
> - External CC1101 module support (Hardware SPI used)
> - External CC1101 module amplifier control (or LED control) support (enabled by default)
> - **Hold right in received signal list to delete selected signal**
>- **Custom buttons for Keeloq / Alutech AT4N / Nice Flor S / Somfy Telis / Security+ 2.0 / CAME Atomo** - now you can use arrow buttons to send signal with different button code
> - `Add manually` menu extended with new protocols
> - FAAC SLH, BFT Mitto / Somfy Telis / Nice Flor S / CAME Atomo, etc. manual creation with programming new remote into receiver (use button 0xF for BFT Mitto, 0x8 (Prog) on Somfy Telis, (right arrow button for other protocols))
> - Debug mode counter increase settings (+1 → +5, +10, default: +1)
> - Debug PIN output settings for protocol development
> - Ignore options - Alarms: Hollarm, GangQi | Cars: Kia, Starline, ScherKhan | Sensors: Magellan, Honeywell Sec, Honeywell WDB (doorbells), Legrand (doorbells), Feron (RGB lights)
> </details>
> <details>
> <summary><strong>SubGHz Apps (by Unleashed Team)</strong></summary>
> <br/>
>
> - Sub-GHz Bruteforce - static code brute-force plugin
> - Time delay (between signals) setting (hold Up in main screen (says Up to Save)) + configure repeats in protocols list by pressing right button on selected protocol
> - Load your own file and select bytes you want to bruteforce or use preconfigured options in protocols list
> - Sub-GHz Remote - remote control for 5 sub-ghz files | bind one file for each button
> - use the built-in constructor or make config file by following this [instruction](/documentation/SubGHzRemotePlugin.md)
> </details>
> <details>
> <summary><strong>Infrared (IR)</strong></summary>
> <br/>
>
> - Recompiled IR TV Universal Remote for ALL buttons
> - Universal remotes for Projectors, Fans, A/Cs and Audio(soundbars, etc.) → Also always updated and verified by our team
> - Infrared → `RCA` Protocol
> - Infrared → External IR modules support (with autodetect by OFW)
> </details>
> <details>
> <summary><strong>NFC/RFID/iButton</strong></summary>
> <br/>
>
> - LFRFID and iButton Fuzzer plugins
> - Add DEZ 8 display form for EM4100 (by @korden32)
> - Extra Mifare Classic keys in system dict
> - EMV Protocol + Public data parser (by @Leptopt1los and @wosk)
> - NFC `Add manually` → Mifare Classic with custom UID
> - NFC parsers: Umarsh, Zolotaya Korona, Kazan, Metromoney, Moscow Social Card, Troika (reworked) and [many others](https://github.com/DarkFlippers/unleashed-firmware/tree/dev/applications/main/nfc/plugins/supported_cards) (by @Leptopt1los and @assasinfil)
> </details>
> <details>
> <summary><strong>Quality of Life & Other Features</strong></summary>
> <br/>
>
> - Customizable Flipper name **Update! Now can be changed in Settings → Desktop** (by @xMasterX and @Willy-JL)
> - Text Input UI element → Cursor feature (by @Willy-JL)
> - Byte Input Mini editor → **Press UP** multiple times until the nibble editor appears (by @gid9798)
> - Clock on Desktop `Settings -> Desktop -> Show Clock` (by @gid9798)
> - Battery percentage display with different styles `Settings -> Desktop -> Battery View`
> - More games in Dummy Mode → click or hold any of arrow buttons
> - Lock device with pin (or regular lock if pin not set) by holding UP button on main screen [(by an4tur0r)](https://github.com/DarkFlippers/unleashed-firmware/pull/107)
> - **BadKB** (BadUSB) [(by Willy-JL, ClaraCrazy, XFW contributors)](https://github.com/Flipper-XFW/Xtreme-Firmware/tree/dev/applications/main/bad_kb) - (Integrated into BadUSB app now!) - (aka BadUSB via Bluetooth)
> - BadUSB → Keyboard layouts [(by rien > dummy-decoy)](https://github.com/dummy-decoy/flipperzero-firmware/tree/dummy_decoy/bad_usb_keyboard_layout)
> - Custom community plugins and games added + all known working apps can be downloaded in extra pack in every release
> - Other small fixes and changes throughout
> - See other changes in readme below
> </details>
Also check the [changelog in releases](https://github.com/DarkFlippers/unleashed-firmware/releases) for latest updates!
### Current modified and new Sub-GHz protocols list:
Thanks to Official team (to their SubGHz Developer, Skorp) for implementing decoders for these protocols in OFW.
Thanks to Official team (to their SubGHz Developer, Skorp) for implementing support (decoder + encoder / or decode only) for these protocols in OFW.
Keeloq [Not ALL systems supported for decode or emulation!] - [Supported manufacturers list](https://pastes.io/raw/unuj9bhe4m)
> [!NOTE]
> Not all Keeloq systems are supported for decoding or emulation!
> <details>
> <summary><strong>Supported Keeloq manufacturers include</strong></summary>
> <br/>
>
> | Column 1 | Column 2 | Column 3 | Column 4 | Column 5 |
> |-------------------|--------------|------------------|-------------------|------------------------|
> | Alligator | Comunello | GSN | Magic_4 | SL_A2-A4 |
> | Alligator_S-275 | Dea_Mio | Guard_RF-311A | Mongoose | SL_A6-A9/Tomahawk_9010 |
> | APS-1100_APS-2550 | DTM_Neo | Harpoon | Mutanco_Mutancode | SL_B6,B9_dop |
> | Aprimatic | DoorHan | IronLogic | NICE_MHOUSE | Sommer(fsk476) |
> | Beninca | EcoStar | JCM_Tech | NICE_Smilo | Stilmatic |
> | BFT | Elmes_Poland | KEY | Normstahl | Teco |
> | Came_Space | FAAC_RC,XT | Kingates_Stylo4k | Pantera | Tomahawk_TZ-9030 |
> | Cenmax | FAAC_SLH | KGB/Subaru | Pantera_CLK | Tomahawk_Z,X_3-5 |
> | Cenmax_St-5 | Faraon | Leopard | Pantera_XS/Jaguar | ZX-730-750-1055 |
> | Cenmax_St-7 | Genius_Bravo | Magic_1 | Partisan_RX | IL-100(Smart) |
> | Centurion | Gibidi | Magic_2 | Reff | Merlin |
> | Monarch | Jolly Motors | Magic_3 | Sheriff | Steelmate |
> | Motorline | Rosh | Pecinin | Rossi | |
> </details>
<br/>
Encoders or sending made by @xMasterX:
- Nero Radio 57bit (+ 56bit encoder improvements)
- CAME 12bit/24bit encoder fixes (Fixes now merged in OFW)
- Keeloq: Dea Mio, Genius Bravo, GSN, HCS101, AN-Motors, JCM Tech, MHouse, Nice Smilo, DTM Neo, FAAC RC,XT, Mutancode, Normstahl, Beninca + Allmatic, Stilmatic, CAME Space, Aprimatic (model TR and similar), Centurion Nova (thanks Carlos !)
<details>
<summary><code><strong>Decoders/Encoders or emulation (+ programming mode) support made by @xMasterX</strong></code></summary>
<br/>
Encoders or sending made by @Eng1n33r(first implementation in Q2 2022) & @xMasterX (current version):
- CAME Atomo -> Update! check out new [instructions](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/documentation/SubGHzRemoteProg.md)
- Nice Flor S -> How to create new remote - [instructions](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/documentation/SubGHzRemoteProg.md)
- FAAC SLH (Spa) -> Update!!! Check out new [instructions](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/documentation/SubGHzRemoteProg.md)
- Keeloq: BFT Mitto -> Update! Check out new [instructions](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/documentation/SubGHzRemoteProg.md)
- Elplast/P-11B/3BK/E.C.A (static 18 bit)
- Roger (static 28 bit) with add manually support (thanks @mishamyte)
- V2 Phoenix (Phox) (dynamic 52 bit) (thanks @RocketGod-git)
- Marantec (static 49 bit) (add manually support and CRC verify) (thanks @li0ard)
- Feron (static 32 bit)
- ReversRB2 / RB2M (static 64 bit) with add manually support
- Marantec24 (static 24 bit) with add manually support
- GangQi (static 34 bit) with button parsing and add manually support (thanks to @mishamyte for captures and testing, thanks @Skorpionm for help)
- Hollarm (static 42 bit) with button parsing and add manually support (thanks to @mishamyte for captures, thanks @Skorpionm for help)
- Hay21 (dynamic 21 bit) with button parsing
- Nero Radio 57bit (+ 56bit support)
- CAME 12bit/24bit encoder fixes (Fixes are now merged in OFW)
- Keeloq: Dea Mio, Genius Bravo, GSN, HCS101, AN-Motors, JCM Tech, MHouse, Nice Smilo, DTM Neo, FAAC RC,XT, Mutancode, Normstahl, Beninca + Allmatic, Stilmatic, CAME Space, Aprimatic (model TR and similar), Centurion Nova (thanks Carlos !), Hormann EcoStar, Novoferm, Sommer, Monarch (thanks @ashphx !), Jolly Motors (thanks @pkooiman !), IL-100(Smart) (thx Vitaly for RAWs), Motorline (with add manually support), Rosh, Pecinin, Rossi, Merlin, Steelmate (thanks @RocketGod-git)
</details>
<details>
<summary><code><strong>Protocols support made by Skorp (original implementation) and @xMasterX (current version)</strong></code></summary>
<br/>
- CAME Atomo → Update! check out new [instructions](/documentation/SubGHzRemoteProg.md)
- Nice Flor S → How to create new remote - [instructions](/documentation/SubGHzRemoteProg.md)
- FAAC SLH (Spa) → Update!!! (Programming mode!) Check out new [instructions](/documentation/SubGHzRemoteProg.md)
- Keeloq: BFT Mitto → Update! Check out new [instructions](/documentation/SubGHzRemoteProg.md)
- Star Line
- Security+ v1 & v2 (encoders was made in OFW)
- Security+ v1 & v2
</details>
Encoders made by @assasinfil & @xMasterX:
- Somfy Telis -> How to create new remote - [instructions](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/documentation/SubGHzRemoteProg.md)
<details>
<summary><code><strong>Encoders made by @assasinfil and @xMasterX</strong></code></summary>
<br/>
- Somfy Telis → How to create new remote - [instructions](/documentation/SubGHzRemoteProg.md)
- Somfy Keytis
- KingGates Stylo 4k
- Alutech AT-4N -> How to create new remote - [instructions](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/documentation/SubGHzRemoteProg.md)
- Nice ON2E (Nice One) -> How to create new remote - [instructions](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/documentation/SubGHzRemoteProg.md)
- Alutech AT-4N How to create new remote - [instructions](/documentation/SubGHzRemoteProg.md)
- Nice ON2E (Nice One) How to create new remote - [instructions](/documentation/SubGHzRemoteProg.md)
</details>
## ❤️ Please support development of the project
## Please support development of the project
The majority of this project is developed and maintained by me, @xMasterX.
I'm unemployed, and the only income I receive is from your donations.
Our team is small and the guys are working on this project as much as they can solely based on the enthusiasm they have for this project and the community.
- @Leptopt1los - NFC, RFID, IR Assets (only ACs), Plugins, and many other things
- @gid9798 - SubGHz, Plugins, many other things
- @assasinfil - SubGHz protocols, NFC parsers
- @Svaarich - UI design and animations
- @amec0e - Infrared assets
Our team is small and the guys are working on this project as much as they can solely based on the enthusiasm they have for this project and the community.
- `@mishamyte` - NFC, RFID, SubGHz and chats moderation
- `@quen0n` - Hardware, SubGHz and chats moderation
- `@Drone1950` - Reverse Engineering, telegram bot and chats moderation
- `@HackcatDev` - Support and chats moderation
- `@Leptopt1los` - NFC, RFID, Plugins, chat moderation and many other things
- `@gid9798` - SubGHz, Plugins, many other things - currently offline :(
- `@assasinfil` - SubGHz protocols, NFC parsers, chat moderation
- `@Svaarich` - UI design and animations
- `@amec0e` - Infrared assets
- Community moderators in Telegram, Discord, and Reddit
- And of course our GitHub community. Your PRs are a very important part of this firmware and open-source development.
The amount of work done on this project is huge and we need your support, no matter how large or small. Even if you just say, "Thank you Unleashed firmware developers!" somewhere. Doing so will help us continue our work and will help drive us to make the firmware better every time.
Also, regarding our releases, every build has and always will be free and open-source. There will be no paywall releases or closed-source apps within the firmware. As long as I am working on this project it will never happen.
Also, regarding our releases, every build has and always will be free and open-source. There will be no paywall releases or closed-source apps within the firmware. As long as I am working on this project it will never happen.
You can support us by using links or addresses below:
|Service|Remark|Link/Wallet|
|-|-|-|
|**Patreon**||https://patreon.com/mmxdev|
|**Boosty**|patreon alternative|https://boosty.to/mmxdev|
|cloudtips|only RU payments accepted|https://pay.cloudtips.ru/p/7b3e9d65|
|YooMoney|only RU payments accepted|https://yoomoney.ru/fundraise/XA49mgQLPA0.221209|
|USDT|(TRC20)|`TSXcitMSnWXUFqiUfEXrTVpVewXy2cYhrs`|
|BCH||`qquxfyzntuqufy2dx0hrfr4sndp0tucvky4sw8qyu3`|
|ETH|(BSC/ERC20-Tokens)|`darkflippers.eth` (or `0xFebF1bBc8229418FF2408C07AF6Afa49152fEc6a`)|
|BTC||`bc1q0np836jk9jwr4dd7p6qv66d04vamtqkxrecck9`|
|DOGE||`D6R6gYgBn5LwTNmPyvAQR6bZ9EtGgFCpvv`|
|LTC||`ltc1q3ex4ejkl0xpx3znwrmth4lyuadr5qgv8tmq8z9`|
|XMR|(Monero)| `41xUz92suUu1u5Mu4qkrcs52gtfpu9rnZRdBpCJ244KRHf6xXSvVFevdf2cnjS7RAeYr5hn9MsEfxKoFDRSctFjG5fv1Mhn`|
|TON||`EQCOqcnYkvzOZUV_9bPE_8oTbOrOF03MnF-VcJyjisTZmpGf`|
## Community apps included
### [🎲 Download Extra plugins for Unleashed](https://github.com/xMasterX/all-the-plugins/releases/latest)
### [List of Extra pack](https://github.com/xMasterX/all-the-plugins/tree/dev#extra-pack) | [List of Base *(Default)* pack](https://github.com/xMasterX/all-the-plugins/tree/dev#default-pack)
See full list and sources here: [xMasterX/all-the-plugins](https://github.com/xMasterX/all-the-plugins/tree/dev)
### Official Flipper Zero Apps Catalog [web version](https://lab.flipper.net/apps) or mobile app
# Instructions
## First look at official docs [docs.flipper.net](https://docs.flipper.net/)
## [How to install](/documentation/HowToInstall.md) - [versions info](/CHANGELOG.md#recommended-update-option---web-updater): `n`,` `,`e`...
## Firmware & Development
### - **[How to build](/documentation/HowToBuild.md#how-to-build-by-yourself) | [Project-structure](#project-structure)**
### - **CLion IDE** - How to setup workspace for flipper firmware development [by Savely Krasovsky](https://krasovs.ky/2022/11/01/flipper-zero-clion.html)
### - **"Hello world!"** - plugin tutorial [English<sub> by DroomOne</sub> ](https://github.com/DroomOne/Flipper-Plugin-Tutorial) | [Russian<sub> by Pavel Yakovlev</sub>](https://yakovlev.me/hello-flipper-zero/)
### - [How to write your own app](https://flipper.atmanos.com/docs/overview/intro). Docs by atmanos **⚠outdated API**
## Firmware & main Apps feature
### - System: [How to change Flipper name](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/documentation/CustomFlipperName.md)
### - BadUSB: [How to add new keyboard layouts](https://github.com/dummy-decoy/flipperzero_badusb_kl)
### - Infrared: [How to make captures to add them into Universal IR remotes](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/documentation/InfraredCaptures.md)
## **Sub-GHz**
### - [How to use Flipper as new remote (Nice FlorS, BFT Mitto, Somfy Telis, Aprimatic, AN-Motors, etc..)](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/documentation/SubGHzRemoteProg.md)
### - External Radio: [How to connect CC1101 module](https://github.com/quen0n/flipperzero-ext-cc1101)
### - Transmission is blocked? [How to extend Sub-GHz frequency range](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/documentation/DangerousSettings.md)
### - [How to add extra Sub-GHz frequencies](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/documentation/SubGHzSettings.md)
### - [~~Configure Sub-GHz Remote App~~](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/documentation/SubGHzRemotePlugin.md) Not recommended, please use embedded configurator
## **Plugins**
### - TOTP (Authenticator): [config description](https://github.com/akopachov/flipper-zero_authenticator/blob/master/docs/conf-file_description.md)
### - Barcode Generator: [How to use](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/documentation/BarcodeGenerator.md)
### - Multi Converter: [How to use](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/documentation/MultiConverter.md)
### - WAV Player: [sample files & how to convert](https://github.com/UberGuidoZ/Flipper/tree/main/Wav_Player#readme)
### - Sub-GHz playlist: [generator script](https://github.com/darmiel/flipper-scripts/blob/main/playlist/playlist_creator_by_chunk.py)
## **Plugins that works with external hardware** [GPIO]
### - Unitemp - Temperature sensors reader: [How to use & supported sensors](https://github.com/quen0n/unitemp-flipperzero#readme)
### - [NMEA] GPS: [How to use](https://github.com/xMasterX/all-the-plugins/blob/dev/base_pack/gps_nmea_uart/README.md)
### - i2c Tools [How to use](https://github.com/xMasterX/all-the-plugins/blob/dev/base_pack/flipper_i2ctools/README.md)
### - [NRF24] plugins: [How to use](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/documentation/NRF24.md)
| Service | Remark | QR Code | Link/Wallet |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------|
| <img src="https://cdn.simpleicons.org/patreon/dark/white" alt="Patreon" width="14"/> **Patreon** | | <div align="center"><a href="https://github.com/user-attachments/assets/a88a90a5-28c3-40b4-864a-0c0b79494a42"><img src="https://github.com/user-attachments/assets/da3a864d-d1c7-42cc-8a86-6fcaf26663ec" alt="QR image"/></a></div> | [patreon.com/mmxdev](https://patreon.com/mmxdev) |
| <img src="https://cdn.simpleicons.org/boosty" alt="Boosty" width="14"/> **Boosty** | patreon alternative | <div align="center"><a href="https://github.com/user-attachments/assets/893c0760-f738-42c1-acaa-916019a7bdf8"><img src="https://github.com/user-attachments/assets/da3a864d-d1c7-42cc-8a86-6fcaf26663ec" alt="QR image"/></a></div> | [boosty.to/mmxdev](https://boosty.to/mmxdev) |
| <img src="https://gist.githubusercontent.com/m-xim/255a3ef36c886dec144a58864608084c/raw/71da807b4abbd1582e511c9ea30fad27f78d642a/cloudtips_icon.svg" alt="Cloudtips" width="14"/> CloudTips | only RU payments accepted | <div align="center"><a href="https://github.com/user-attachments/assets/5de31d6a-ef24-4d30-bd8e-c06af815332a"><img src="https://github.com/user-attachments/assets/da3a864d-d1c7-42cc-8a86-6fcaf26663ec" alt="QR image"/></a></div> | [pay.cloudtips.ru/p/7b3e9d65](https://pay.cloudtips.ru/p/7b3e9d65) |
| <img src="https://raw.githubusercontent.com/gist/PonomareVlad/55c8708f11702b4df629ae61129a9895/raw/1657350724dab66f2ad68ea034c480a2df2a1dfd/YooMoney.svg" alt="YooMoney" width="14"/> YooMoney | only RU payments accepted | <div align="center"><a href="https://github.com/user-attachments/assets/33454f79-074b-4349-b453-f94fdadc3c68"><img src="https://github.com/user-attachments/assets/da3a864d-d1c7-42cc-8a86-6fcaf26663ec" alt="QR image"/></a></div> | [yoomoney.ru/fundraise/XA49mgQLPA0.221209](https://yoomoney.ru/fundraise/XA49mgQLPA0.221209) |
| <img src="https://cdn.simpleicons.org/tether" alt="USDT" width="14"/> USDT | TRC20 | <div align="center"><a href="https://github.com/user-attachments/assets/0500498d-18ed-412d-a1a4-8a66d0b6f057"><img src="https://github.com/user-attachments/assets/da3a864d-d1c7-42cc-8a86-6fcaf26663ec" alt="QR image"/></a></div> | `TSXcitMSnWXUFqiUfEXrTVpVewXy2cYhrs` |
| <img src="https://cdn.simpleicons.org/ethereum" alt="ETH" width="14"/> ETH | BSC/ERC20-Tokens | <div align="center"><a href="https://github.com/user-attachments/assets/0f323e98-c524-4f41-abb2-f4f1cec83ab6"><img src="https://github.com/user-attachments/assets/da3a864d-d1c7-42cc-8a86-6fcaf26663ec" alt="QR image"/></a></div> | `0xFebF1bBc8229418FF2408C07AF6Afa49152fEc6a` |
| <img src="https://cdn.simpleicons.org/bitcoin" alt="BTC" width="14"/> BTC | | <div align="center"><a href="https://github.com/user-attachments/assets/5a904d45-947e-4b92-9f0f-7fbaaa7b37f8"><img src="https://github.com/user-attachments/assets/da3a864d-d1c7-42cc-8a86-6fcaf26663ec" alt="QR image"/></a></div> | `bc1q0np836jk9jwr4dd7p6qv66d04vamtqkxrecck9` |
| <img src="https://cdn.simpleicons.org/solana" alt="SOL" width="13"/> SOL | Solana/Tokens | <div align="center"><a href="https://github.com/user-attachments/assets/ab33c5e0-dd59-497b-9c91-ceb89c36b34d"><img src="https://github.com/user-attachments/assets/da3a864d-d1c7-42cc-8a86-6fcaf26663ec" alt="QR image"/></a></div> | `DSgwouAEgu8iP5yr7EHHDqMNYWZxAqXWsTEeqCAXGLj8` |
| <img src="https://cdn.simpleicons.org/dogecoin" alt="DOGE" width="14"/> DOGE | | <div align="center"><a href="https://github.com/user-attachments/assets/2937edd0-5c85-4465-a444-14d4edb481c0"><img src="https://github.com/user-attachments/assets/da3a864d-d1c7-42cc-8a86-6fcaf26663ec" alt="QR image"/></a></div> | `D6R6gYgBn5LwTNmPyvAQR6bZ9EtGgFCpvv` |
| <img src="https://cdn.simpleicons.org/litecoin" alt="LTC" width="14"/> LTC | | <div align="center"><a href="https://github.com/user-attachments/assets/441985fe-f028-4400-83c1-c215760c1e74"><img src="https://github.com/user-attachments/assets/da3a864d-d1c7-42cc-8a86-6fcaf26663ec" alt="QR image"/></a></div> | `ltc1q3ex4ejkl0xpx3znwrmth4lyuadr5qgv8tmq8z9` |
| <img src="https://bitcoincash.org/img/green/bitcoin-cash-circle.svg" alt="BCH" width="14"/> BCH | | <div align="center"><a href="https://github.com/user-attachments/assets/7f365976-19a3-4777-b17e-4bfba5f69eff"><img src="https://github.com/user-attachments/assets/da3a864d-d1c7-42cc-8a86-6fcaf26663ec" alt="QR image"/></a></div> | `qquxfyzntuqufy2dx0hrfr4sndp0tucvky4sw8qyu3` |
| <img src="https://cdn.simpleicons.org/monero" alt="XMR" width="14"/> XMR | Monero | <div align="center"><a href="https://github.com/user-attachments/assets/96186c06-61e7-4b4d-b716-6eaf1779bfd8"><img src="https://github.com/user-attachments/assets/da3a864d-d1c7-42cc-8a86-6fcaf26663ec" alt="QR image"/></a></div> | `41xUz92suUu1u5Mu4qkrcs52gtfpu9rnZRdBpCJ244KRHf6xXSvVFevdf2cnjS7RAeYr5hn9MsEfxKoFDRSctFjG5fv1Mhn` |
| <img src="https://cdn.simpleicons.org/ton" alt="TON" width="14"/> TON | | <div align="center"><a href="https://github.com/user-attachments/assets/92a57e57-7462-42b7-a342-6f22c6e600c1"><img src="https://github.com/user-attachments/assets/da3a864d-d1c7-42cc-8a86-6fcaf26663ec" alt="QR image"/></a></div> | `UQCOqcnYkvzOZUV_9bPE_8oTbOrOF03MnF-VcJyjisTZmsxa` |
### - [WiFi] Scanner: [How to use](https://github.com/SequoiaSan/FlipperZero-WiFi-Scanner_Module#readme) | [Web Flasher](https://sequoiasan.github.io/FlipperZero-WiFi-Scanner_Module/)
## 📱 Community Apps
### - [ESP8266] Deauther: [How to use](https://github.com/SequoiaSan/FlipperZero-Wifi-ESP8266-Deauther-Module#readme) | [Web Flasher](https://sequoiasan.github.io/FlipperZero-Wifi-ESP8266-Deauther-Module/)
Enhance your Flipper Zero with apps and plugins created by the community:
### - [ESP32] WiFi Marauder: [How to use](https://github.com/UberGuidoZ/Flipper/tree/main/Wifi_DevBoard)<sub> docs by UberGuidoZ</sub> | [Marauder repo](https://github.com/justcallmekoko/ESP32Marauder)
- **Extra Plugins & Packs:**
Check out the latest extra plugins and plugin packs (Extra Pack and Base Pack) on [GitHub](https://github.com/xMasterX/all-the-plugins/releases/latest).
### - [ESP32-CAM] Camera Suite: [How to use](https://github.com/CodyTolene/Flipper-Zero-Camera-Suite)
- **Source Code & Full List:**
Find the complete list and source code at [xMasterX/all-the-plugins](https://github.com/xMasterX/all-the-plugins/tree/dev).
### - How to Upload `.bin` to ESP32/ESP8266: [Windows](https://github.com/SequoiaSan/Guide-How-To-Upload-bin-to-ESP8266-ESP32) | [FAP "ESP flasher"](https://github.com/0xchocolate/flipperzero-esp-flasher)
- **Official Apps Catalog:**
Browse the official Flipper Zero Apps Catalog on the [web](https://lab.flipper.net/apps) or via the [mobile app](https://flipperzero.one/downloads).
### - [GPIO] SentrySafe plugin: [How to use](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/documentation/SentrySafe.md)
<br>
<br>
## 📁 Where I can find IR, Sub-GHz, ... files, DBs, and other stuff?
- [UberGuidoZ Playground - Large collection of files - Github](https://github.com/UberGuidoZ/Flipper)
- [Awesome Flipper Zero - Github](https://github.com/djsime1/awesome-flipperzero)
# Where I can find IR, Sub-GHz, ... files, DBs, and other stuff?
## [UberGuidoZ Playground - Large collection of files - Github](https://github.com/UberGuidoZ/Flipper)
## [Awesome Flipper Zero - Github](https://github.com/djsime1/awesome-flipperzero)
<br>
<br>
## 📘 Instructions
# Links
### ![Tools Icon Badge] Firmware & main Apps feature
* Official Docs: [docs.flipper.net](https://docs.flipper.net/)
* Official Forum: [forum.flipperzero.one](https://forum.flipperzero.one/)
- System: [How to change Flipper name](/documentation/CustomFlipperName.md)
- BadUSB: [How to add new keyboard layouts](https://github.com/dummy-decoy/flipperzero_badusb_kl)
- Infrared: [How to make captures to add them into Universal IR remotes](/documentation/InfraredCaptures.md)
# Project structure
### ![SubGhz Icon Badge] Sub-GHz
- [How to use Flipper as rolling code remote (Doorhan, Nice FlorS, BFT Mitto, Somfy Telis, Aprimatic, AN-Motors, etc..)](/documentation/SubGHzRemoteProg.md)
- [Experimental rolling code counter modes (avoid desync)](/documentation/SubGHzCounterMode.md)
- External Radio: [How to connect CC1101 module](https://github.com/quen0n/flipperzero-ext-cc1101)
- Transmission is blocked? [How to extend Sub-GHz frequency range](/documentation/DangerousSettings.md)
- [How to add extra Sub-GHz frequencies](/documentation/SubGHzSettings.md)
- [~~Configure Sub-GHz Remote App~~](/documentation/SubGHzRemotePlugin.md) ⚠️ Not recommended, please use embedded configurator
### ![Plugins Icon Badge] Plugins
- TOTP (Authenticator): [config description](https://github.com/akopachov/flipper-zero_authenticator/blob/master/docs/conf-file_description.md)
- Barcode Generator: [How to use](/documentation/BarcodeGenerator.md)
- Multi Converter: [How to use](/documentation/MultiConverter.md)
- WAV Player: [sample files & how to convert](https://github.com/UberGuidoZ/Flipper/tree/main/Wav_Player#readme)
- Sub-GHz playlist: [generator script](https://github.com/darmiel/flipper-scripts/blob/main/playlist/playlist_creator_by_chunk.py)
### ![GPIO Icon Badge] GPIO - Plugins that works with external hardware
- Unitemp - Temperature sensors reader: [How to use & supported sensors](https://github.com/quen0n/unitemp-flipperzero#readme)
- [NMEA] GPS: [How to use](https://github.com/xMasterX/all-the-plugins/blob/dev/base_pack/gps_nmea_uart/README.md)
- i2c Tools [How to use](https://github.com/xMasterX/all-the-plugins/blob/dev/base_pack/flipper_i2ctools/README.md)
- [NRF24] plugins: [How to use](/documentation/NRF24.md)
- [WiFi] Scanner: [How to use](https://github.com/SequoiaSan/FlipperZero-WiFi-Scanner_Module#readme) | [Web Flasher](https://sequoiasan.github.io/FlipperZero-WiFi-Scanner_Module/)
- [ESP8266] Deauther: [How to use](https://github.com/SequoiaSan/FlipperZero-Wifi-ESP8266-Deauther-Module#readme) | [Web Flasher](https://sequoiasan.github.io/FlipperZero-Wifi-ESP8266-Deauther-Module/)
- [ESP32] WiFi Marauder: [How to use](https://github.com/UberGuidoZ/Flipper/tree/main/Wifi_DevBoard)<sub> docs by UberGuidoZ</sub> | [Marauder repo](https://github.com/justcallmekoko/ESP32Marauder)
- [ESP32-CAM] Camera Suite: [How to use](https://github.com/CodyTolene/Flipper-Zero-Camera-Suite)
- How to Upload `.bin` to ESP32/ESP8266: [Windows](https://github.com/SequoiaSan/Guide-How-To-Upload-bin-to-ESP8266-ESP32) | [FAP "ESP flasher"](https://github.com/0xchocolate/flipperzero-esp-flasher)
- [GPIO] SentrySafe plugin: [How to use](/documentation/SentrySafe.md)
## 👨‍💻 Firmware & Development
- **Developer Documentation** - [developer.flipper.net](https://developer.flipper.net/flipperzero/doxygen)
- **[How to build](/documentation/HowToBuild.md#how-to-build-by-yourself) | [Project-structure](#project-structure)**
- **CLion IDE** - How to setup workspace for flipper firmware development [by Savely Krasovsky](https://krasovs.ky/2022/11/01/flipper-zero-clion.html)
- **"Hello world!"** - plugin tutorial [English<sub> by DroomOne</sub> ](https://github.com/DroomOne/Flipper-Plugin-Tutorial) | [Russian<sub> by Pavel Yakovlev</sub>](https://yakovlev.me/hello-flipper-zero)
- [How to write your own app](https://flipper.atmanos.com/docs/overview/intro).
### Project structure
- `applications` - Applications and services used in firmware
- `assets` - Assets used by applications and services
@@ -259,3 +323,34 @@ See full list and sources here: [xMasterX/all-the-plugins](https://github.com/xM
- `scripts` - Supplementary scripts and python libraries home
Also, pay attention to the `ReadMe.md` files inside those directories.
## 🔗 Links
- **Unleashed web page:** [flipperunleashed.com](https://flipperunleashed.com)
- **Unleashed update server, direct .tgz update links for web updater or direct download:** [unleashedflip.com](https://unleashedflip.com)
- Official Docs: [docs.flipper.net](https://docs.flipper.net)
- Official Forum: [forum.flipperzero.one](https://forum.flipperzero.one)
- Update! Developer Documentation [developer.flipper.net](https://developer.flipper.net/flipperzero/doxygen)
[RFID Icon Badge]: https://custom-icon-badges.demolab.com/badge/-rgb(255,244,147)?style=flat&logo=fz-rfid&logoColor=black
[iButton Icon Badge]: https://custom-icon-badges.demolab.com/badge/-rgb(225,187,166)?style=flat&logo=fz-ibutton&logoColor=black
[SubGhz Icon Badge]: https://custom-icon-badges.demolab.com/badge/-rgb(165,244,190)?style=flat&logo=fz-subghz&logoColor=black
[GPIO Badge]: https://custom-icon-badges.demolab.com/badge/-GPIO-rgb(167,242,234)?style=flat&logo=fz-gpio&logoColor=black
[GPIO Icon Badge]: https://custom-icon-badges.demolab.com/badge/-rgb(167,242,234)?style=flat&logo=fz-gpio&logoColor=black
[Tools Icon Badge]: https://custom-icon-badges.demolab.com/badge/-rgb(223,241,89)?style=flat&logo=fz-tools&logoColor=black
[Media Icon Badge]: https://custom-icon-badges.demolab.com/badge/-rgb(223,181,255)?style=flat&logo=fz-media&logoColor=black
[BT Icon Badge]: https://custom-icon-badges.demolab.com/badge/-rgb(139,172,255)?style=flat&logo=fz-bluetooth&logoColor=black
[NFC Icon Badge]: https://custom-icon-badges.demolab.com/badge/-rgb(152,206,254)?style=flat&logo=fz-nfc&logoColor=black
[USB Icon Badge]: https://custom-icon-badges.demolab.com/badge/-rgb(255,190,233)?style=flat&logo=fz-badusb&logoColor=black
[IR Icon Badge]: https://custom-icon-badges.demolab.com/badge/-rgb(254,147,140)?style=flat&logo=fz-infrared&logoColor=black
[Games Icon Badge]: https://custom-icon-badges.demolab.com/badge/-rgb(255,196,134)?style=flat&logo=fz-games&logoColor=black
[Plugins Icon Badge]: https://custom-icon-badges.demolab.com/badge/-rgb(226,78,178)?style=flat&logo=fz-plugins&logoColor=black
[UFW Icon Badge]: https://img.shields.io/badge/by_UFW-%2314D411?style=flat-square
[Official Icon Badge]: https://img.shields.io/badge/by_OFW-%23FF8200?style=flat-square
[Author Icon Badge]: https://img.shields.io/badge/by_author-%23FFFF00?style=flat-square
[None Icon Badge]: https://img.shields.io/badge/None-%23FF0000?style=flat-square

View File

@@ -7,7 +7,7 @@
# construction of certain targets behind command-line options.
import os
from fbt.util import path_as_posix
from fbt.util import open_browser_action
DefaultEnvironment(tools=[])
@@ -42,10 +42,11 @@ distenv = coreenv.Clone(
"openocd",
"blackmagic",
"jflash",
"doxygen",
"textfile",
],
ENV=os.environ,
UPDATE_BUNDLE_DIR="dist/${DIST_DIR}/f${TARGET_HW}-update-${DIST_SUFFIX}",
VSCODE_LANG_SERVER=ARGUMENTS.get("LANG_SERVER", "cpptools"),
)
firmware_env = distenv.AddFwProject(
@@ -229,18 +230,19 @@ firmware_debug = distenv.PhonyTarget(
source=firmware_env["FW_ELF"],
GDBOPTS="${GDBOPTS_BASE}",
GDBREMOTE="${OPENOCD_GDB_PIPE}",
FBT_FAP_DEBUG_ELF_ROOT=path_as_posix(firmware_env.subst("$FBT_FAP_DEBUG_ELF_ROOT")),
FBT_FAP_DEBUG_ELF_ROOT=firmware_env["FBT_FAP_DEBUG_ELF_ROOT"],
)
distenv.Depends(firmware_debug, firmware_flash)
distenv.PhonyTarget(
firmware_blackmagic = distenv.PhonyTarget(
"blackmagic",
"${GDBPYCOM}",
source=firmware_env["FW_ELF"],
GDBOPTS="${GDBOPTS_BASE} ${GDBOPTS_BLACKMAGIC}",
GDBREMOTE="${BLACKMAGIC_ADDR}",
FBT_FAP_DEBUG_ELF_ROOT=path_as_posix(firmware_env.subst("$FBT_FAP_DEBUG_ELF_ROOT")),
FBT_FAP_DEBUG_ELF_ROOT=firmware_env["FBT_FAP_DEBUG_ELF_ROOT"],
)
distenv.Depends(firmware_blackmagic, firmware_flash)
# Debug alien elf
debug_other_opts = [
@@ -321,7 +323,12 @@ firmware_env.Append(
"SConstruct",
"firmware.scons",
"fbt_options.py",
]
],
IMG_LINT_SOURCES=[
# Image assets
"applications",
"assets",
],
)
@@ -358,6 +365,39 @@ distenv.PhonyTarget(
PY_LINT_SOURCES=firmware_env["PY_LINT_SOURCES"],
)
# Image assets linting
distenv.PhonyTarget(
"lint_img",
[
[
"${PYTHON3}",
"${FBT_SCRIPT_DIR}/imglint.py",
"check",
"${IMG_LINT_SOURCES}",
"${ARGS}",
]
],
IMG_LINT_SOURCES=firmware_env["IMG_LINT_SOURCES"],
)
distenv.PhonyTarget(
"format_img",
[
[
"${PYTHON3}",
"${FBT_SCRIPT_DIR}/imglint.py",
"format",
"${IMG_LINT_SOURCES}",
"${ARGS}",
]
],
IMG_LINT_SOURCES=firmware_env["IMG_LINT_SOURCES"],
)
distenv.Alias("lint_all", ["lint", "lint_py", "lint_img"])
distenv.Alias("format_all", ["format", "format_py", "format_img"])
# Start Flipper CLI via PySerial's miniterm
distenv.PhonyTarget(
"cli",
@@ -372,6 +412,21 @@ distenv.PhonyTarget(
],
)
# Measure CLI loopback performance
distenv.PhonyTarget(
"cli_perf",
[
[
"${PYTHON3}",
"${FBT_SCRIPT_DIR}/serial_cli_perf.py",
"-p",
"${FLIP_PORT}",
"${ARGS}",
]
],
)
# Update WiFi devboard firmware with release channel
distenv.PhonyTarget(
"devboard_flash",
@@ -402,14 +457,23 @@ distenv.PhonyTarget(
)
# Prepare vscode environment
VSCODE_LANG_SERVER = cmd_environment["LANG_SERVER"]
vscode_dist = distenv.Install(
"#.vscode",
[
distenv.Glob("#.vscode/example/*.json"),
distenv.Glob(f"#.vscode/example/{VSCODE_LANG_SERVER}/*.json"),
distenv.Glob("#.vscode/example/*.json", exclude="*.tmpl"),
distenv.Glob("#.vscode/example/${LANG_SERVER}/*.json"),
],
)
for template_file in distenv.Glob("#.vscode/example/*.tmpl"):
vscode_dist.append(
distenv.Substfile(
distenv.Dir("#.vscode").File(template_file.name.replace(".tmpl", "")),
template_file,
SUBST_DICT={
"@FBT_PLATFORM_EXECUTABLE_EXT@": ".exe" if os.name == "nt" else ""
},
)
)
distenv.Precious(vscode_dist)
distenv.NoClean(vscode_dist)
distenv.Alias("vscode_dist", (vscode_dist, firmware_env["FW_CDB"]))
@@ -419,3 +483,18 @@ distenv.PhonyTarget(
"env",
"@echo $( ${FBT_SCRIPT_DIR.abspath}/toolchain/fbtenv.sh $)",
)
doxy_build = distenv.DoxyBuild(
"documentation/doxygen/build/html/index.html",
"documentation/doxygen/Doxyfile-awesome.cfg",
doxy_env_variables={
"DOXY_SRC_ROOT": Dir(".").abspath,
"DOXY_BUILD_DIR": Dir("documentation/doxygen/build").abspath,
"DOXY_CONFIG_DIR": "documentation/doxygen",
},
)
distenv.Alias("doxygen", doxy_build)
distenv.AlwaysBuild(doxy_build)
# Open generated documentation in browser
distenv.PhonyTarget("doxy", open_browser_action, source=doxy_build)

View File

@@ -67,6 +67,7 @@ Small applications providing configuration for basic firmware and its services.
- `power_settings_app` - Basic power options
- `storage_settings` - Storage settings app
- `system` - System settings
- `input_settings_app` - Basic input options
## system

View File

@@ -2,6 +2,7 @@
#include <furi.h>
#include <furi_hal.h>
#include <stdarg.h>
#include <power/power_service/power.h>
void AccessorApp::run(void) {
AccessorEvent event;
@@ -34,13 +35,19 @@ void AccessorApp::run(void) {
AccessorApp::AccessorApp()
: text_store{0} {
notification = static_cast<NotificationApp*>(furi_record_open(RECORD_NOTIFICATION));
expansion = static_cast<Expansion*>(furi_record_open(RECORD_EXPANSION));
power = static_cast<Power*>(furi_record_open(RECORD_POWER));
onewire_host = onewire_host_alloc(&gpio_ibutton);
furi_hal_power_enable_otg();
expansion_disable(expansion);
power_enable_otg(power, true);
}
AccessorApp::~AccessorApp() {
furi_hal_power_disable_otg();
power_enable_otg(power, false);
expansion_enable(expansion);
furi_record_close(RECORD_EXPANSION);
furi_record_close(RECORD_NOTIFICATION);
furi_record_close(RECORD_POWER);
onewire_host_free(onewire_host);
}

View File

@@ -6,34 +6,36 @@
#include "helpers/wiegand.h"
#include <one_wire/one_wire_host.h>
#include <notification/notification_messages.h>
#include <expansion/expansion.h>
#include <power/power_service/power.h>
class AccessorApp {
public:
void run(void);
AccessorApp();
~AccessorApp();
AccessorApp(void);
~AccessorApp(void);
enum class Scene : uint8_t {
Exit,
Start,
};
AccessorAppViewManager* get_view_manager();
AccessorAppViewManager* get_view_manager(void);
void switch_to_next_scene(Scene index);
void search_and_switch_to_previous_scene(std::initializer_list<Scene> scenes_list);
bool switch_to_previous_scene(uint8_t count = 1);
Scene get_previous_scene();
Scene get_previous_scene(void);
void notify_green_blink();
void notify_success();
void notify_green_blink(void);
void notify_success(void);
char* get_text_store();
uint8_t get_text_store_size();
char* get_text_store(void);
uint8_t get_text_store_size(void);
void set_text_store(const char* text...);
WIEGAND* get_wiegand();
OneWireHost* get_one_wire();
WIEGAND* get_wiegand(void);
OneWireHost* get_one_wire(void);
private:
std::list<Scene> previous_scenes_list = {Scene::Exit};
@@ -51,4 +53,6 @@ private:
OneWireHost* onewire_host;
NotificationApp* notification;
Expansion* expansion;
Power* power;
};

View File

@@ -5,45 +5,49 @@
AccessorAppViewManager::AccessorAppViewManager() {
event_queue = furi_message_queue_alloc(10, sizeof(AccessorEvent));
view_dispatcher = view_dispatcher_alloc();
auto callback = cbc::obtain_connector(this, &AccessorAppViewManager::previous_view_callback);
view_holder = view_holder_alloc();
auto callback =
cbc::obtain_connector(this, &AccessorAppViewManager::view_holder_back_callback);
// allocate views
submenu = submenu_alloc();
add_view(ViewType::Submenu, submenu_get_view(submenu));
popup = popup_alloc();
add_view(ViewType::Popup, popup_get_view(popup));
// set back callback
view_holder_set_back_callback(view_holder, callback, NULL);
gui = static_cast<Gui*>(furi_record_open(RECORD_GUI));
view_dispatcher_attach_to_gui(view_dispatcher, gui, ViewDispatcherTypeFullscreen);
// set previous view callback for all views
view_set_previous_callback(submenu_get_view(submenu), callback);
view_set_previous_callback(popup_get_view(popup), callback);
view_holder_attach_to_gui(view_holder, gui);
}
AccessorAppViewManager::~AccessorAppViewManager() {
// remove views
view_dispatcher_remove_view(
view_dispatcher, static_cast<uint32_t>(AccessorAppViewManager::ViewType::Submenu));
view_dispatcher_remove_view(
view_dispatcher, static_cast<uint32_t>(AccessorAppViewManager::ViewType::Popup));
// remove current view
view_holder_set_view(view_holder, NULL);
// free view modules
furi_record_close(RECORD_GUI);
submenu_free(submenu);
popup_free(popup);
// free dispatcher
view_dispatcher_free(view_dispatcher);
// free view holder
view_holder_free(view_holder);
// free event queue
furi_message_queue_free(event_queue);
}
void AccessorAppViewManager::switch_to(ViewType type) {
view_dispatcher_switch_to_view(view_dispatcher, static_cast<uint32_t>(type));
View* view;
switch(type) {
case ViewType::Submenu:
view = submenu_get_view(submenu);
break;
case ViewType::Popup:
view = popup_get_view(popup);
break;
default:
furi_crash();
}
view_holder_set_view(view_holder, view);
}
Submenu* AccessorAppViewManager::get_submenu() {
@@ -65,16 +69,10 @@ void AccessorAppViewManager::send_event(AccessorEvent* event) {
furi_check(result == FuriStatusOk);
}
uint32_t AccessorAppViewManager::previous_view_callback(void*) {
void AccessorAppViewManager::view_holder_back_callback(void*) {
if(event_queue != NULL) {
AccessorEvent event;
event.type = AccessorEvent::Type::Back;
send_event(&event);
}
return VIEW_IGNORE;
}
void AccessorAppViewManager::add_view(ViewType view_type, View* view) {
view_dispatcher_add_view(view_dispatcher, static_cast<uint32_t>(view_type), view);
}

View File

@@ -1,6 +1,6 @@
#pragma once
#include <furi.h>
#include <gui/view_dispatcher.h>
#include <gui/view_holder.h>
#include <gui/modules/submenu.h>
#include <gui/modules/popup.h>
#include "accessor_event.h"
@@ -10,28 +10,26 @@ public:
enum class ViewType : uint8_t {
Submenu,
Popup,
Tune,
};
FuriMessageQueue* event_queue;
AccessorAppViewManager();
~AccessorAppViewManager();
AccessorAppViewManager(void);
~AccessorAppViewManager(void);
void switch_to(ViewType type);
void receive_event(AccessorEvent* event);
void send_event(AccessorEvent* event);
Submenu* get_submenu();
Popup* get_popup();
Submenu* get_submenu(void);
Popup* get_popup(void);
private:
ViewDispatcher* view_dispatcher;
Gui* gui;
ViewHolder* view_holder;
uint32_t previous_view_callback(void* context);
void add_view(ViewType view_type, View* view);
void view_holder_back_callback(void* context);
// view elements
Submenu* submenu;

View File

@@ -6,6 +6,5 @@ App(
entry_point="accessor_app",
requires=["gui"],
stack_size=4 * 1024,
order=40,
fap_category="Debug",
)

View File

@@ -2,19 +2,19 @@
class WIEGAND {
public:
WIEGAND();
void begin();
void end();
bool available();
unsigned long getCode();
unsigned long getCodeHigh();
int getWiegandType();
WIEGAND(void);
void begin(void);
void end(void);
bool available(void);
unsigned long getCode(void);
unsigned long getCodeHigh(void);
int getWiegandType(void);
static void ReadD0();
static void ReadD1();
static void ReadD0(void);
static void ReadD1(void);
private:
static bool DoWiegandConversion();
static bool DoWiegandConversion(void);
static unsigned long
GetCardId(unsigned long* codehigh, unsigned long* codelow, char bitlength);

View File

@@ -1,7 +1,6 @@
#include "../accessor_app.h"
#include "../accessor_view_manager.h"
#include "../accessor_event.h"
#include "callback_connector.h"
#include "accessor_scene_start.h"
void AccessorSceneStart::on_enter(AccessorApp* app) {

View File

@@ -8,7 +8,6 @@ App(
"power",
],
stack_size=1 * 1024,
order=130,
fap_category="Debug",
fap_libs=["assets"],
)

View File

@@ -32,7 +32,7 @@ static void battery_test_battery_info_update_model(void* context) {
notification_message(app->notifications, &sequence_display_backlight_on);
}
BatteryTestApp* battery_test_alloc() {
BatteryTestApp* battery_test_alloc(void) {
BatteryTestApp* app = malloc(sizeof(BatteryTestApp));
// Records
@@ -42,7 +42,6 @@ BatteryTestApp* battery_test_alloc() {
// View dispatcher
app->view_dispatcher = view_dispatcher_alloc();
view_dispatcher_enable_queue(app->view_dispatcher);
view_dispatcher_set_event_callback_context(app->view_dispatcher, app);
view_dispatcher_set_tick_event_callback(
app->view_dispatcher, battery_test_battery_info_update_model, 500);

Some files were not shown because too many files have changed in this diff Show More