Commit graph

184 commits

Author SHA1 Message Date
Eng1n33r
6b71113f9d
Merge branch 'flipperdevices:dev' into dev 2022-04-22 22:20:21 +03:00
Skorpionm
cc99ce1f07
[FL-2496] SubGhz: fix freezing of the interface when the transmission of the RAW signal is forcibly canceled (#1152)
Co-authored-by: あく <alleteam@gmail.com>
2022-04-22 22:05:27 +03:00
Eng1n33r
fc970ea214
Merge branch 'flipperdevices:dev' into dev 2022-04-22 16:32:55 +03:00
Skorpionm
f9140ac2cd
SubGhz: fix waiting for UPLOAD to be sent, for RAW file worker (#1146)
* SubGhz: fix waiting for UPLOAD to be sent
* SubGhz: remove debug output

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-04-22 14:33:43 +03:00
Eng1n33r
97c8299f72
Merge branch 'flipperdevices:dev' into dev 2022-04-21 19:50:27 +03:00
Skorpionm
0ff9f43eab
SubGhz: loading/saving files from any folder below the parent (#1142)
Co-authored-by: あく <alleteam@gmail.com>
2022-04-21 19:10:50 +03:00
r3df0xx
60501ee954 Update faac_slh.c 2022-04-20 21:29:45 +03:00
r3df0xx
799defbdfa Update faac_slh.c 2022-04-20 21:12:05 +03:00
r3df0xx
b42e645195 some fixes 2022-04-20 20:27:35 +03:00
Eng1n33r
b41041e951
Merge branch 'flipperdevices:dev' into dev 2022-04-20 17:17:18 +03:00
Skorpionm
d530d164b9
[FL-2459, FL-2469]SubGhz: displaying a long name in RAW, launching files from subfolders, bugfix (#1125)
* SubGhz: fix the RAW file is not restored when it is launched from under the folder
* SubGhz: fix does not fit long RAW file name
* SubGhz: fix Read not cleared after file rename
* SubGhz: fix restore default frequency and modulation on output
* SubGhz: fix long name output in RAW
2022-04-20 16:51:24 +03:00
r3df0xx
f2ec0a652a Faac SLH add manually 2022-04-19 00:32:25 +03:00
r3df0xx
4bda9d966e rollback2 2022-04-15 21:56:26 +03:00
r3df0xx
828b3dbcb2 Update faac_slh.c 2022-04-15 21:48:13 +03:00
Eng1n33r
e2d732f15e
Merge branch 'flipperdevices:dev' into dev 2022-04-14 17:52:45 +03:00
Skorpionm
8cc3fd579c
SubGhz: Unit_test and bugfixes (#1104)
* SubGhz: CLI add "subghz decode_raw"
* SubGhz: unit_test
* SubGhz: add Hormann_hsm_raw unit_test
* SubGhz: fix duration raw
* Unit_test: fix total test timer
* SubGHz: fix name display scher_khan
* SubGhz: fix deviation protocol kia
* SubGhz: return max name length to previous value
* FuriHal: correctly handle mute in speaker
* UnitTests: fix grammar in subghz

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-04-14 15:49:29 +03:00
Eng1n33r
9263f9c555
Merge branch 'flipperdevices:dev' into dev 2022-04-14 00:33:03 +03:00
hedger
e02040107b
[FL-2263] Flasher service & RAM exec (#1006)
* WIP on stripping fw
* Compact FW build - use RAM_EXEC=1 COMPACT=1 DEBUG=0
* Fixed uninitialized storage struct; small fixes to compact fw
* Flasher srv w/mocked flash ops
* Fixed typos & accomodated FFF changes
* Alternative fw startup branch
* Working load & jmp to RAM fw
* +manifest processing for stage loader; + crc verification for stage payload
* Fixed questionable code & potential leaks
* Lowered screen update rate; added radio stack update stubs; working dfu write
* Console EP with manifest & stage validation
* Added microtar lib; minor ui fixes for updater
* Removed microtar
* Removed mtar #2
* Added a better version of microtar
* TAR archive api; LFS backup & restore core
* Recursive backup/restore
* LFS worker thread
* Added system apps to loader - not visible in UI; full update process with restarts
* Typo fix
* Dropped BL & f6; tooling for updater WIP
* Minor py fixes
* Minor fixes to make it build after merge
* Ported flash workaround from BL + fixed visuals
* Minor cleanup
* Chmod + loader app search fix
* Python linter fix
* Removed usb stuff & float read support for staged loader == -10% of binary size
* Added backup/restore & update pb requests
* Added stub impl to RPC for backup/restore/update commands
* Reworked TAR to use borrowed Storage api; slightly reduced build size by removing `static string`; hidden update-related RPC behind defines
* Moved backup&restore to storage
* Fixed new message types
* Backup/restore/update RPC impl
* Moved furi_hal_crc to LL; minor fixes
* CRC HAL rework to LL
* Purging STM HAL
* Brought back minimal DFU boot mode (no gui); additional crc state checks
* Added splash screen, BROKEN usb function
* Clock init rework WIP
* Stripped graphics from DFU mode
* Temp fix for unused static fun
* WIP update picker - broken!
* Fixed UI
* Bumping version
* Fixed RTC setup
* Backup to update folder instead of ext root
* Removed unused scenes & more usb remnants from staged loader
* CI updates
* Fixed update bundle name
* Temporary restored USB handler
* Attempt to prevent .text corruption
* Comments on how I spent this Saturday
* Added update file icon
* Documentation updates
* Moved common code to lib folder
* Storage: more unit tests
* Storage: blocking dir open, differentiate file and dir when freed.
* Major refactoring; added input processing to updater to allow retrying on failures (not very useful prob). Added API for extraction of thread return value
* Removed re-init check for manifest
* Changed low-level path manipulation to toolbox/path.h; makefile cleanup; tiny fix in lint.py
* Increased update worker stack size
* Text fixes in backup CLI
* Displaying number of update stages to run; removed timeout in handling errors
* Bumping version
* Added thread cleanup for spawner thread
* Updated build targets to exclude firmware bundle from 'ALL'
* Fixed makefile for update_package; skipping VCP init for update mode (ugly)
* Switched github build from ALL to update_package
* Added +x for dist_update.sh
* Cli: add total heap size to "free" command
* Moved (RAM) suffix to build version instead of git commit no.
* DFU comment
* Some fixes suggested by clang-tidy
* Fixed recursive PREFIX macro
* Makefile: gather all new rules in updater namespace. FuriHal: rename bootloader to boot, isr safe delays
* Github: correct build target name in firmware build
* FuriHal: move target switch to boot
* Makefile: fix firmware flash
* Furi, FuriHal: move kernel start to furi, early init
* Drop bootloader related stuff
* Drop cube. Drop bootloader linker script.
* Renamed update_hl, moved constants to #defines
* Moved update-related boot mode to separate bitfield
* Reworked updater cli to single entry point; fixed crash on tar cleanup
* Added Python replacement for dist shell scripts
* Linter fixes for dist.py +x
* Fixes for environment suffix
* Dropped bash scripts
* Added dirty build flag to version structure & interfaces
* Version string escapes
* Fixed flag logic in dist.py; added support for App instances being imported and not terminating the whole program
* Fixed fw address in ReadMe.md
* Rpc: fix crash on double screen start
* Return back original boot behavior and fix jump to system bootloader
* Cleanup code, add error sequence for RTC
* Update firmware readme
* FuriHal: drop boot, restructure RTC registers usage and add header register check
* Furi goes first
* Toolchain: add ccache support
* Renamed update bundle dir

Co-authored-by: DrZlo13 <who.just.the.doctor@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2022-04-13 23:50:25 +03:00
r3df0xx
2e61b38c6f Update faac_slh.c
Fix faac slh encoder, testing new seed value
2022-04-13 17:15:36 +03:00
r3df0xx
d86d7d4b53 Update nice_flor_s.c 2022-04-12 20:45:05 +03:00
r3df0xx
1c679b2c7c Update nice_flor_s.c 2022-04-12 17:33:41 +03:00
r3df0xx
4c82acffac Update faac_slh.c 2022-04-11 17:29:51 +03:00
r3df0xx
1652ab20ee ... 2022-04-11 02:35:11 +03:00
r3df0xx
a5bc243034 fixes 2022-04-11 02:26:43 +03:00
r3df0xx
4a3e3aba34 rollback 2022-04-11 02:10:32 +03:00
r3df0xx
39fbe8f26d Update keeloq.c
better view
2022-04-11 00:55:32 +03:00
r3df0xx
745d91c53a input seed from device 2022-04-10 22:47:37 +03:00
r3df0xx
5455bd5337 Seed param concept 2022-04-09 16:33:11 +03:00
r3df0xx
85079f79c9 fix mfkey size 2022-04-09 15:15:36 +03:00
r3df0xx
b3588e46c7 fix?
fix?
2022-04-09 05:09:31 +03:00
r3df0xx
dbe1d9114e Update keeloq_common.c 2022-04-09 04:33:32 +03:00
r3df0xx
1e4ebdb426 Update keeloq_common.c 2022-04-09 04:06:41 +03:00
r3df0xx
a42b4111c3 Update faac_slh.c
fix syntax FURI_LOG_I(TAG, ..., ...);
2022-04-09 03:52:00 +03:00
r3df0xx
e493e598bc Update faac_slh.c
fix syntax
2022-04-09 03:46:00 +03:00
r3df0xx
75e38d3e52 Update faac_slh.c
debugging strange cnt behavior
2022-04-09 03:39:03 +03:00
r3df0xx
43a9df04c9 correct cipher function 2022-04-09 03:05:16 +03:00
r3df0xx
004ce97548 Update faac_slh.c 2022-04-09 02:52:13 +03:00
r3df0xx
da62d8dfdd Update faac_slh.c 2022-04-09 02:37:08 +03:00
r3df0xx
e42a61670f FAAC SLH (SPA) save and emulate
Seed input in progress
2022-04-09 02:25:39 +03:00
r3df0xx
683680fd97 Stated making SLH algorithm 2022-04-09 00:29:15 +03:00
Eng1n33r
7d223c3305
Merge branch 'flipperdevices:dev' into dev 2022-04-07 17:38:31 +03:00
Skorpionm
02b9cf90d5
[FL-2431, FL-2419] SubGhz: bugfixes (#1098)
* [FL-2431] SubGhz: fix Restart with an error (HardFault), while maintaining the RAW signal.
* Stream: fix adding maximum string length to arguments
* [FL-2419] SubGhz: fix flipper hang/Fatal Error when running edited Sub-GHz file.
* SubGhz: remove replace strcpy with strncpy, smaller text buffer and canary
* SubGhz: log key loading before load happen, rollback only rx message handling

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-04-07 14:47:47 +03:00
r3df0xx
ea1d6e3bae Update nice_flor_s.c 2022-04-03 15:06:17 +03:00
r3df0xx
b601afb997 Update nice_flor_s.c 2022-04-03 14:49:22 +03:00
r3df0xx
0b496f70c2 Update nice_flor_s.c 2022-04-02 21:47:52 +03:00
r3df0xx
25ce89e39d mfname show 2022-04-02 18:56:32 +03:00
r3df0xx
3c8993420d final fix for kl and sl debug 2022-04-02 18:21:35 +03:00
r3df0xx
02d44c32e2 fix debug output 2022-04-02 16:40:04 +03:00
r3df0xx
ca920ba917 --- 2022-04-02 01:52:14 +03:00
r3df0xx
19e810a49d Update subghz_keystore.c 2022-04-02 00:19:47 +03:00
r3df0xx
a26dcd7bf7 never sleep 2022-04-02 00:14:16 +03:00
r3df0xx
3c1cec9d64 Update nice_flor_s.c 2022-04-01 23:51:03 +03:00
r3df0xx
70b51c31f3 fix 2022-04-01 23:46:41 +03:00
r3df0xx
c6d6c89a86 fix 2022-04-01 23:20:31 +03:00
r3df0xx
0e2542e1c4 New debug info and fix FloR-S bytes logic 2022-04-01 23:06:24 +03:00
r3df0xx
f89544dfa1 Update nice_flor_s.c 2022-04-01 10:54:30 +03:00
r3df0xx
26aa177d9c Update nice_flor_s.c 2022-04-01 10:13:36 +03:00
r3df0xx
082bd9de5e fix 2022-04-01 10:06:10 +03:00
r3df0xx
844466c438 Fix hex output
debugging
2022-04-01 09:54:29 +03:00
r3df0xx
c4ddb58fcb Fixing Nice FloR-S. Add new big IR databases. 2022-03-31 15:05:40 +03:00
Eng1n33r
cfdf814731
Merge branch 'flipperdevices:dev' into dev 2022-03-30 18:53:50 +03:00
Nikolay Minaylov
2f3ea9494e
HAL to LL migration: GPIO, HSEM, AES (#1069)
* gpio, hsem, crypto: switch from HAL to LL/registers
* Moved GPIO initialization to furi_hal
* More HAL removed
* All HAL modules disabled
* HAL is finally removed
* hal_gpio -> furi_hal_gpio, main.h removed
* Bootloader build fix
* RTOS config moved to freertos-glue
* delay -> furi_hal_delay

Co-authored-by: あく <alleteam@gmail.com>
2022-03-30 18:23:40 +03:00
r3df0xx
040f09eeec Update nice_flor_s.c 2022-03-30 14:58:00 +03:00
r3df0xx
72dab0ca0c Update nice_flor_s.c 2022-03-30 13:54:51 +03:00
r3df0xx
5ebea97ba2 Update subghz_keystore.c
keystore debug
2022-03-29 15:44:02 +03:00
r3df0xx
f12faff8b0 Fix FloR-S and add test Keeloq uknown replay 2022-03-28 19:42:00 +03:00
r3df0xx
d0c14da00c Update nice_flor_s.c 2022-03-27 20:30:32 +03:00
r3df0xx
098964f737 Debug FloR-S
logging encrypt & encoder stuff
2022-03-27 18:58:04 +03:00
r3df0xx
ee00e03957 Update nice_flor_s.c 2022-03-25 17:14:49 +03:00
r3df0xx
fc79f033b1 Update nice_flor_s.c 2022-03-25 16:54:26 +03:00
r3df0xx
4d00facdd8 Update nice_flor_s.c
fix bit offset
2022-03-25 16:27:03 +03:00
r3df0xx
430fac254a Update nice_flor_s.c 2022-03-25 16:07:27 +03:00
r3df0xx
225e5f04ee Update nice_flor_s.c 2022-03-25 15:51:32 +03:00
r3df0xx
0c8f589cf7 Update nice_flor_s.c 2022-03-25 15:06:04 +03:00
r3df0xx
f8cc9e56d8 Nice FloR-S new protocol 2022-03-25 15:02:45 +03:00
Eng1n33r
694956b6e7
Merge branch 'flipperdevices:dev' into dev 2022-03-24 15:49:17 +03:00
gornekich
eafeefb843
[FL-1396] Mifare Classic read (#1034)
* rfal: add new data exchange function
* core: add FURI_BIT to common defines
* furi_hal_nfc: add data exchange with custom patiry bits
* lib: extend nfc common API
* assets: add mf classic dictionary
* lib: introduce mifare classic library
* nfc: add dictionary reader helper
* nfc worker: add worker events, add mifare classic read
* nfc: rework scenes with worker events
* nfc: add read mifare classic GUI
* nfc device: add mifare classic save
* nfc: add dictionary open fail scene
* nfc: mention resources
* stream: fix stream read line
* subghz: rework file read with fixed stream_read_line
* furi_hal_nfc: decrease communication timeout
* nfc: rework keys load from dictionary with file_stream
* nfc: add read mifare classic suggestion
* nfc: fix mifare classic read view
* nfc: fix index size
* nfc: add switch to no dictionary found scene
* nfc: add mifare classic load
* nfc: improve read mifare classic design
* mifare_classic: add proxmark3 mention
* nfc: format sources
* nfc: fix typos, add documentation
2022-03-24 01:14:34 +03:00
r3df0xx
e557716672 keeloq uknown improvement, flor-s refactoring 2022-03-21 14:45:33 +03:00
r3df0xx
2c70f3d8dd Update nice_flor_s.c
trying to make generate new rolling codes properly
2022-03-21 04:02:08 +03:00
r3df0xx
8f05d6f6a8 Update star_line.c
fix syntax
2022-03-21 02:48:55 +03:00
r3df0xx
2d0bd089ce StarLine SAVE & SEND
seems to be OK, need to test...
2022-03-21 02:45:32 +03:00
r3df0xx
a014b496e9 Some fixes for FloR-S 2022-03-20 20:57:38 +03:00
r3df0xx
f4b6acb3cb Update nice_flor_s.c 2022-03-20 19:44:03 +03:00
r3df0xx
d74c5fb149 Update nice_flor_s.c
Check if counter++ works
2022-03-20 18:55:06 +03:00
r3df0xx
8a0c498b1c Update nice_flor_s.c 2022-03-19 15:46:23 +03:00
r3df0xx
65603d7975 fix syntax
fix syntax
2022-03-19 15:35:02 +03:00
r3df0xx
71b1748573 fix syntax
fix syntax
2022-03-19 04:44:05 +03:00
r3df0xx
322472d6eb Nice FloR-S emulation
Need to test!
2022-03-19 02:16:00 +03:00
r3df0xx
9890dd7ed9 Nice FloR-S adding save and send
Making able to save and emulate rolling codes for Nice FloR-s remotes.
2022-03-17 00:06:35 +03:00
r3df0xx
a18cd53bb1 Unblock all freqs. Allow Keeloq save&send
"custom_save_and_send" of r3df0xx contributor was moved here and updated to latest dev refactoring.
2022-03-16 17:28:09 +03:00
Skorpionm
94ba7d104c
SubGhz: refactoring add descriptions (#1012)
* SubGhz: add descriptions
* SubGhz: fix syntax

Co-authored-by: あく <alleteam@gmail.com>
2022-03-16 16:18:48 +07:00
Skorpionm
3164184bbc
[FL-2230] SubGhz: protocol API refactoring (#969)
* SubGhz: protocols library refactoring
* SubGhz: new architecture and refactoring
* SubGhz: simplify protocol structure, remove unused types
* SubGhz: rename Subghz to SubGhz
* SubGhz: add environment concept

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
Co-authored-by: DrZlo13 <who.just.the.doctor@gmail.com>
2022-03-03 12:48:56 +03:00
SG
274c12fc56
[FL-2274] Inventing streams and moving FFF to them (#981)
* Streams: string stream
* String stream: updated insert/delete api
* Streams: generic stream interface and string stream implementation
* Streams: helpers for insert and delete_and_insert
* FFF: now compatible with streams
* MinUnit: introduced tests with arguments
* FFF: stream access violation
* Streams: copy data between streams
* Streams: file stream
* FFF: documentation
* FFStream: documentation
* FFF: alloc as file
* MinUnit: support for nested tests
* Streams: changed delete_and_insert, now it returns success flag. Added ability dump stream inner parameters and data to cout.
* FFF: simplified file open function
* Streams: unit tests
* FFF: tests
* Streams: declare cache_size constant as define, to allow variable modified arrays
* FFF: lib moved to a separate folder
* iButton: new FFF
* RFID: new FFF
* Animations: new FFF
* IR: new FFF
* NFC: new FFF
* Flipper file format: delete lib
* U2F: new FFF
* Subghz: new FFF and streams
* Streams: read line
* Streams: split
* FuriCore: implement memset with extra asserts
* FuriCore: implement extra heap asserts without inventing memset
* Scene manager: protected access to the scene id stack with a size check
* NFC worker: dirty fix for issue where hal_nfc was busy on app start
* Furi: update allocator to erase memory on allocation. Replace furi_alloc with malloc.
* FuriCore: cleanup memmgr code.
* Furi HAL: furi_hal_init is split into critical and non-critical parts. The critical part is currently clock and console.
* Memmgr: added ability to track allocations and deallocations through console.
* FFStream: some speedup
* Streams, FF: minor fixes
* Tests: restore
* File stream: a slightly more thread-safe version of file_stream_delete_and_insert

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-02-18 22:53:46 +03:00
gornekich
838df4c9ea
[FL-2229] New assets paths (#978)
* assets: change resources paths
* apps: rework nfc, irda and subghz with new assets path
* subghz: remove unused paths
* subghz: fix incorrect path
* badusb and u2f fix

Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: nminaylov <nm29719@gmail.com>
2022-02-02 18:58:52 +03:00
Skorpionm
cb0369a7f3
SubGhz: add protocol Somfy Telis RTS, Somfy Keytis RTS (#964)
* SubGhz: add 433.42 MHz  for Somfy
* SupGhz: add protocol Somfy Telis RTS, Somfy Keytis RTS

Co-authored-by: あく <alleteam@gmail.com>
2022-01-27 15:28:21 +03:00
Skorpionm
d4d87aa6a8
[FL-2045] SubGhz: new protocol (GSN , Beninca/Allmatic, Elmes) and validator (#958)
* SubGhz: add new method of obtaining a manufactory code subghz_protocol_keeloq_common_magic_xor_type1_learning
* TextInput: checking for a lock on a file with the same name
* TextInput:  fix checking for a lock on a file with the same name
* Assets: rename and recompile
* TextInput: added picture and timer to turn off blob
* TextInput: Fix graphics
* TextInput:  fix validator
* Validators: Add validator is file
* TextInput: fix callback validator_is_file_alloc
* SubGhz: add propocol GNS (dimamic), Beninca/Alcatic,  Elmes
* SubGhz: fix function description
* Gui: correct timer routine on deallocation
* Format sources

Co-authored-by: あく <alleteam@gmail.com>
2022-01-21 16:55:09 +03:00
あく
389ff92cc1
Naming and coding style convention, new linter tool. (#945)
* Makefile, Scripts: new linter
* About: remove ID from IC
* Firmware: remove double define for DIVC/DIVR
* Scripts: check folder names too. Docker: replace syntax check with make lint.
* Reformat Sources and Migrate to new file naming convention
* Docker: symlink clang-format-12 to clang-format
* Add coding style guide
2022-01-05 19:10:18 +03:00
Skorpionm
3a86da5526
[FL-2139] SubGhz: refactoring GUI SubGhz (#910)
* SubGhz: refactoring GUI ReadRAW
* SubGhz: replacing memcpy with strcpy
* SubGhz: fix button name "Mode",  fix delete scene, fix show name when loading a key
* SubGhz: refactoring GUI SubGhz
* scene_manager: add exit from last scene API
* subghz: stop scene manager before stopping view dispatcher

Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2021-12-22 16:01:20 +03:00
Skorpionm
1232defcf1
[FL-2129] SubGhz: Fix Duty cycle at 433/868 (#892)
* [FL-2129] SubGhz: Fix Duty cycle at 433/868
* SubGhz: fix syntax
* SubGhz: increased silence time in the 868 range
* SubGhz: added build flag LAB_TESTS
* SubGhz: better LAB_TESTS flag handling
* NFC: LAB_TESTS flag handling

Co-authored-by: DrZlo13 <who.just.the.doctor@gmail.com>
2021-12-13 15:21:37 +03:00
SG
58ce937321
[FL-1891] Release 0.42 bugfixes (#891)
* Fixed the "ibutton can only emulate after reading" bug
* Fixed previous fix. FIXES FOR THE FIX GOD! BUGS FOR THE BUG THRONE!
* Fixed "Repeat code" position on code input screen
* Changed CAME protocol icon
* Brewfile: add imagemagick missing assets compiler dependency
* Correct fix for "Repeat code" position on code input screen

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-12-12 14:03:39 +03:00