Commit graph

1553 commits

Author SHA1 Message Date
UberGuidoZ
3fd30a9132
docs: update on FAP build process (#1852) 2022-10-09 09:20:15 +03:00
Roland Kammerer
a1ede0a2fc
BadUSB: add SYSRQ keys (#1460)
This allows sending of SysRq keys[1]. This then for example allows
sending the well known 'reisub' commands to safely reboot a otherwise
frozen Linux box. Or obviously any of the other magic keys.

The advantage compared to sending it to /proc/sysrq-trigger is that one
does not need a shell and depending on how broken the system is, one
might not even be able to get a new shell. The SysRq keys still work.

The cost is adding a new/"non-standard" keyword, IMO it is worth it.

Example:
DEFAULTDELAY 200
DELAY 1000
SYSRQ r
SYSRQ e
SYSRQ i
SYSRQ s
SYSRQ u
SYSRQ b

If one really wants to test it, I suggest h(elp) or w(ait).

[1] https://en.wikipedia.org/wiki/Magic_SysRq_key

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-10-09 02:56:56 +09:00
Sergey Gavrilov
31c0346adc
[FL-976] Removing lambdas (#1849)
* Removing lambdas...
* Wake the fk up, Gordon! We have a citadel to burn!
* Here comes the Nihilanth
* Lambda documentation

Co-authored-by: あく <alleteam@gmail.com>
2022-10-09 02:38:29 +09:00
Sergey Gavrilov
981f7ff8b0
Elf loader: do not load .ARM.* sections (#1850)
* Elf loader: do not load .ARM sections
* Fix section name
2022-10-09 00:51:51 +09:00
あく
c13929330e
Gui: fix memory leak in file browser module (#1848) 2022-10-08 19:57:53 +09:00
Yukai Li
88ca267466
music_player: Return to browser instead of exiting on back button (#1846)
* music_player: Return to browser instead of exiting on back button
* music_player: Fix number and dots extraction
2022-10-08 19:13:26 +09:00
Sergey Gavrilov
d10e16ca3c
Snake game: nokia 6110-like sound (#1844)
* Snake game: nokia 6110-like sound
* Snake game: blocking sound notifications
* SnakeGame: flush notification queue with backlight enforce block

Co-authored-by: あく <alleteam@gmail.com>
2022-10-08 02:27:32 +09:00
Sergey Gavrilov
37b5e58a60
More correct elf loader (#1839)
* ELF File: more robust section loader
* ELF File: faster and smaller preinit, init and fini arrays handling
* ELF File: load sections on preload stage
* ELF File: naming
* Furi: fix use after free in thread join

Co-authored-by: あく <alleteam@gmail.com>
2022-10-08 02:06:29 +09:00
Nikolay Minaylov
1a1f711897
Signal Generator app: UI update (#1829)
* Signal Generator: UI update
* icons renamed

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-10-07 22:58:36 +09:00
Sergey Gavrilov
4000f0cac5
[FL-2870] Printf function attributes (#1841)
* Furi strings: printf attribute
* Logs: printf attribute
* Plugins: adapt
* Plugins: accommodate
* Unit tests: accommodate

Co-authored-by: あく <alleteam@gmail.com>
2022-10-07 22:35:15 +09:00
Nikolay Minaylov
1f742b611a
[FL-2651, FL-2863] App name in CLI loader command, RFID data edit fix #1835
Co-authored-by: あく <alleteam@gmail.com>
2022-10-07 21:46:58 +09:00
Sergey Gavrilov
38a82a1907
[FL-2839] Furi stream buffer (#1834)
* Core: stream buffer
* stream buffer: API and usage
* stream buffer: documentation
* stream buffer: more documentation
* Furi: fix spelling

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-10-07 21:27:11 +09:00
Max Andreev
d1843c0094
Disable PVS-Studio license check (#1840) 2022-10-07 16:56:19 +10:00
Matvey Gerasimov
3367bc6f68
Documentation: AppManifests.md typo fix (#1836) 2022-10-07 10:23:21 +04:00
Astra
eaa3adf98a
[FL-2868] Remove string_push_uint64 (#1832)
* Remove string_pust_uint64
* Oops, furi strings now
* Remove dead code
* Remove unneeded import

Co-authored-by: あく <alleteam@gmail.com>
2022-10-07 03:51:30 +09:00
Björn Kimminich
dde18cd343
Add exit label to keyboard connection screen (#1830)
* Add exit label to keyboard connection screen (resolves #1814)
* BtHid: align baselines on connection screen

Co-authored-by: あく <alleteam@gmail.com>
2022-10-07 02:40:18 +09:00
Georgii Surkov
72b3d7f414
[FL-2620] Infrared error message (#1827)
* Show an error message if the remote could not be saved/renamed

Co-authored-by: あく <alleteam@gmail.com>
2022-10-07 02:25:54 +09:00
Astra
19cb469e4b
[FL-2877] Don't turn off the backlight on MFC dict attack #1826
Co-authored-by: あく <alleteam@gmail.com>
2022-10-07 02:19:35 +09:00
gornekich
01f7a3e5b5
[FL-2874] Remove bank card uid emulation (#1823)
* nfc: open bank card info from archive
* nfc: remove emulate uid option from bank cards menu

Co-authored-by: あく <alleteam@gmail.com>
2022-10-07 02:12:45 +09:00
Astra
6dde5586af
[FL-2803] Mifare Classic read improvements Part 1 (#1822)
* Reuse found keys when reading a card
* Fix keys not being read if no newline at the end of the file
* Actually read all keys from the dictionary
* Support for furi_string
* Check only for re-used key after the current sector
* Declare the key attack function as static
* nfc: change logs, check worker state

Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2022-10-07 02:07:56 +09:00
gornekich
5de2c32c81
[FL-2864] NFC update detect reader (#1820)
* nfc: update detect reader view
* nfc: make detect reader more interractive
* nfc: update icons
* nfc: fix detect reader gui
* nfc: fix gui, fix worker events
* nfc: fix notifications
* nfc: add nfc_worker NULL assert

Co-authored-by: あく <alleteam@gmail.com>
2022-10-07 01:58:17 +09:00
Evgenii Tereshkov
69b9c54b2f
Update ac.ir: add Daichi model DA25AVQS1-W (#1819)
Co-authored-by: あく <alleteam@gmail.com>
2022-10-07 01:18:23 +09:00
Sergey Gavrilov
e3a5df5959
CLI: log command argument (#1817)
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-10-07 01:13:02 +09:00
Max Andreev
d07c2dbe54
".fap" extention in file browser and archive tab (#1812)
* Add .fap extention, and Applications tab
* Using new icon, renaming tab to Apps
* Change tabs order
* Add first ugly implementation of in-app icons in archive browser
* Starting using FAPLoader callback
* Getting all metafata from fap
* add app filename fallback
* using fap_loader_item_callback in archive_list_item_cb
* FAP-Loader: removed minimal allocation
* Removed strange code

Co-authored-by: SG <who.just.the.doctor@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2022-10-07 00:37:53 +09:00
Skorpionm
11681d8ee8
[FL-2866, FL-2865] SubGhz: add frequency analyzer history (#1810)
* SubGhz: frequency analyzer history
* SubGhz: add vibro
* SubGhz: turn on the display when receiving a signal
* SubGhz: add signal reception indicator
* SubGhz: fix indicator
* SubGhz: fix FA history

Co-authored-by: あく <alleteam@gmail.com>
2022-10-06 23:48:29 +09:00
Skorpionm
061f53cd3c
[FL-2849] SubGhz: read RAW auto generation of names (#1772)
* SubGhz: read RAW auto auto generation of names depending on the date of the entry
* SubGhz: name generation modification RAW-YYYYMMDD-HHMMSS
* SubGhz: replace m-string with FuriString

Co-authored-by: あく <alleteam@gmail.com>
2022-10-06 23:43:17 +09:00
Georgii Surkov
61189c3c82
[FL-2847] FFF trailing space fix (#1811)
* Improve whitespace handlilng in FFF
* Add tests for odd fff user input
* Adjust formatting

Co-authored-by: あく <alleteam@gmail.com>
2022-10-06 23:18:20 +09:00
hedger
9bf11d9fd2
[FL-2859,2838] fbt: improvements for FAPs (#1813)
* fbt: assets builder for apps WIP
* fbt: automatically building private fap assets
* docs: details on how to use image assets
* fbt: renamed fap_assets -> fap_icons
* fbt: support for fap_extbuild field
* docs: info on fap_extbuild
* fbt: added --proxy-env parame ter
* fbt: made firmware_cdb & updater_cdb targets always available
* fbt: renamed fap_icons -> fap_icon_assets
* fbt: deprecated firmware_* target names for faps; new alias is "fap_APPID"
* fbt: changed intermediate file locations for external apps
* fbt: support for fap_private_libs; docs: updates
* restored mbedtls as global lib
* scripts: lint.py: skip "lib" subfolder
* fbt: Sanity checks for building advanced faps as part of fw
* docs: info on fap_private_libs; fbt: optimized *.fam indexing
* fbt: cleanup; samples: added sample_icons app
* fbt: moved example app to applications/examples
* linter fix
* docs: readme fixes
* added applications/examples/application.fam stub
* docs: more info on private libs

Co-authored-by: あく <alleteam@gmail.com>
2022-10-06 22:55:57 +09:00
Nikolay Minaylov
a69e150e2f
[FL-2812] RFID: write fix for some protocols #1828
Co-authored-by: あく <alleteam@gmail.com>
2022-10-06 20:36:21 +09:00
Matvey Gerasimov
f16cdd1477
fix: typo badusb demo windows (#1824)
Fix a typo in the badusb demo script for Windows.

Co-authored-by: あく <alleteam@gmail.com>
2022-10-06 20:18:40 +09:00
Sergey Gavrilov
4bf29827f8
M*LIB: non-inlined strings, FuriString primitive (#1795)
* Quicksave 1
* Header stage complete
* Source stage complete
* Lint & merge fixes
* Includes
* Documentation step 1
* FBT: output free size considering BT STACK
* Documentation step 2
* py lint
* Fix music player plugin
* unit test stage 1: string allocator, mem, getters, setters, appends, compare, search.
* unit test: string equality
* unit test: string replace
* unit test: string start_with, end_with
* unit test: string trim
* unit test: utf-8
* Rename
* Revert fw_size changes
* Simplify CLI backspace handling
* Simplify CLI character insert
* Merge fixes
* Furi: correct filenaming and spelling
* Bt: remove furi string include

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-10-06 00:15:23 +09:00
あく
0f9ea925d3
UnitTests: fix thread join test (#1808) 2022-09-30 22:03:57 +09:00
Nikolay Minaylov
836de3df16
[FL-2825] iButton GUI fixes (#1805)
* Ibutton GUI fixes
* Fix memory leak in lfRFID write

Co-authored-by: あく <alleteam@gmail.com>
2022-09-30 21:56:12 +09:00
Sergey Gavrilov
c92217a109
Thread: Clear TLS after thread stop (#1807) 2022-09-30 19:59:11 +09:00
hedger
76d38e832e
fbt: reproducible manifest builds & improvements (#1801)
* fbt: reproducible manifest builds, less rebuild on small updates; scripts: assets: using timestamp from commandline af available
* fbt: added app import validation for launch_app & single app build targets
* fbt: COMSTR for app imports validation
* docs: minor fixes
* docs: markdown fix
* vscode: comments for RTOS startup

Co-authored-by: あく <alleteam@gmail.com>
2022-09-29 20:00:22 +09:00
Sergey Gavrilov
aba20b6af8
Furi Thread: fixed furi_thread_join, check if thread has not been started (#1803)
* furi thread: fixed furi_thread_join, check if thread has not been started
* Furi: correct returns in furi_thread_join

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-09-29 19:42:15 +09:00
Mewa
bcfb12bf28
Keyboard: show Uppercase keys when replacing content (#1548)
Co-authored-by: あく <alleteam@gmail.com>
2022-09-29 02:44:24 +09:00
Sergey Gavrilov
5883e134d4
Furi Thread: don't use thread pointer after FuriThreadStateStopped callback (#1799)
* Furi Thread: correct furi_thread_join, do not use thread pointer after FuriThreadStateStopped callback
* Furi: a little bit easier way to do harakiri
* Furi: crash on thread self join attempt

Co-authored-by: あく <alleteam@gmail.com>
2022-09-29 02:37:07 +09:00
hedger
f8b532f063
[FL-2831] Resources cleanup in updater (#1796)
* updater: remove files from existing resources Manifest file before deploying new resources
* toolbox: tar: single file extraction API

Co-authored-by: あく <alleteam@gmail.com>
2022-09-29 02:13:12 +09:00
Vyacheslav Tumanov
e25b424188
Typos fix in some strings/comments #1794
Co-authored-by: あく <alleteam@gmail.com>
2022-09-29 01:52:46 +09:00
Nikolay Minaylov
4241ad24a3
[FL-2797] Signal Generator app (#1793)
* Signal Generator app
* MCO pin initialization in app
* furi_hal_pwm documentation

Co-authored-by: あく <alleteam@gmail.com>
2022-09-29 01:37:24 +09:00
Georgii Surkov
12a6290e91
[FL-2853] Reorganise Universal A/C library (#1792)
* Reorganise A/C universal remote library file
* Refactor infrared brute force code
* Update UniversalRemotes.md

Co-authored-by: あく <alleteam@gmail.com>
2022-09-28 02:11:28 +09:00
Tom Samstag
e6e1e7fe15 Add formatting to DESfire data dump (#1784)
Co-authored-by: gornekich <n.gorbadey@gmail.com>
2022-09-28 02:02:18 +09:00
Sergey Gavrilov
5bb7cabea6
Applications loader: do not use view dispatcher queue #1788 2022-09-27 00:59:28 +09:00
phreakocious
f201062819
Add Hisense A/C IR signals.. (#1773)
* add Hisense A/C IR signals.. note that using any will toggle the power and apply the settings
* re-order the entries to be grouped by function

Co-authored-by: あく <alleteam@gmail.com>
2022-09-27 00:42:29 +09:00
Shane Synan
9f501034c3
Power: Also ask charger if charge done (#1378)
* power: Also ask charger if charge done
* F7: bump API Symbols version
* Lib: remove double include in bq25896.c

Co-authored-by: あく <alleteam@gmail.com>
2022-09-27 00:34:59 +09:00
Georgii Surkov
3e3a167764
[FL-2852] Update Universal Remote documentation (#1786)
* Update Universal Remote documentation
* Change formatting
2022-09-26 22:49:18 +09:00
hedger
efb09380bd
[FL-2836] Fast flash programming mode (#1782)
* updater: lowered logging level for resources unpacking; hal: implemented fast flash write mode
* hal: reworked fast flash programming; clearing most error flags on flash init; changed some flash functions return type from bool to void; scripts: fixed malformed CRC values in update bundles in certain cases;
* hal: flash: larger critical section
* hal: flash: enabling fast write inside critical section
* api_symbols: bump minor version
2022-09-26 20:03:21 +09:00
David Coles
a6b98ccbbe
Preliminary Rust support (#1781)
* Add support for R_ARM_THM_MOVW_ABS_NC/THM_MOVT_ABS

These are sometimes emitted by the Rust LLVM compiler.

Ref: https://github.com/ARM-software/abi-aa/blob/main/aaelf32/aaelf32.rst#56relocation

* Discard LLVM bitcode from extension applications

LLVM-based compilers may include uncompressed bitcode in object files
to help with link-time optimization. However this can bloat binary sizes
from KB to MB.

* Expose alligned_malloc/free functions to applications

This is required to implement a global allocator in Rust.
2022-09-26 07:06:46 +10:00
Chris van Marle
2a2078d9b5
Text input overwrite max size template (#1687) 2022-09-26 01:17:09 +09:00