* Add skeleton for infrared C port, rename old app
* Add scene stubs
* Add more views
* Misc changes
* Add remote and signal class stubs
* Complete infrared signal class
* Add remote button class stub
* Check if button contains a signal during destruction
* Complete infrared signal class more
* Implement remote storing
* Implement remote loading
* Fix error handling
* Implement remote transmitting
* Rename scene
* Canonise event consumption
* Implement remote learning (stub)
* Implement learn success screen (stub)
* Implement AskBack scene
* Improve remote saving&loading
* Fix remote file name
* Add LearnDone scene
* Switch from Remote scene correctly
* Add SceneButtonSelect
* Remove unneeded assert
* Add new SceneManager method
* Use new SceneManager method in Infrared
* Implement renaming of buttons and remotes
* Implement deleting of buttons and remotes
* Add universal remotes list
* Add brute force code
* Brute force code improvements
* Partially implement Universal Remote GUI
* Fix wrong singnal handling
* Fully implement Universal Remote
* Use standard custom events everywhere
* Return infrared CLI
* Remove old Infrared app
* Change container name
* Fix scene order
* Put ButtonPanel into stack only when needed
* Show loading animation during slow operations
* Do not hardcode Loading widget coordinates
* Switch Loading widget orientation as needed
* Save Start scene state
* Save Remote scene state
* Save Edit scene state
* Save EditButtonSelect scene state
* Do not use scene state
* Use string_t instead of const char* for brevity
* Fix memory leak
* Fix saving raw remotes
* Add Infrared debug menu
* Add debug view
* Move Infrared monitor into Infrared application
* Remove old Infrared monitor app
* Use common signal received callback everywhere
Fix critical issue with keeloq manufacturer name random change. Now you can emulate any manufacturer system with proper key handling.
Came Atomo parcel counter increasing and emulation. Beta test (need rework signal header and make button counter cycle array for encoder).
* desktop: prompt to power off on back button long press
Implemented by launching Power Settings app, passing "off" as arg to
directly jump to "power off" scene.
* Add more options
* Change from one big command to three small commands
These changes follow from the review. Instead of having to
rely in GOTOs (which are forbidden :<( ) to ensure cleaning,
I divided in smaller pieces. Since I had no feedback w.r.t
the previously existing `gpio_set`, this fits more with the
current implementation.
I also tried to interpret "That's not how we do enums" as
to not include a `enum EnumName` decl. when using typedefs.
I also distanced the implementation from using LL_GPIO
in favour of functions provided in `<furi_hal_gpio.h>`
but there was nothing to get the mode, so I stuck with
LL_GPIO for mode check.
Co-authored-by: あく <alleteam@gmail.com>
* nfc: refactor nfc_worker_read_mifare_desfire to use furi_hal_nfc_tx_rx
Renames furi_hal_nfc_exchange_full to furi_hal_nfc_tx_rx_full, and
rewrites it to use furi_hal_nfc_tx_rx. This eliminates the final
remaining use of furi_hal_nfc_exchange, so remove that.
* nfc: write debug.pcap when debug mode enabled
Limited to NFC protocols that use furi_hal_nfc_tx_rx to communicate.
* switch to Doxygen style comment
Co-authored-by: Kevin Wallace <git+flipperzero@kevin.wallace.seattle.wa.us>
Co-authored-by: あく <alleteam@gmail.com>
* SubGhz: add frequency support 310 MHz
* SubGhz: deleting a TMP file using the "Erase" button in Read RAW
* SubGhz: fix frequency analyzer scan speed
* SubGhz: fix start duration came_atomo protocol
* SubGhz: refactoring subghz_setting
* SubGhz: refactoring load setting frequency analyzer
* SubGhz: fix load setting, default frequency
* SubGhz: patch raw temp file remove code to work with string_t
* Storage: parallel safe cli
* SubGhz: new frequency settings loading system
* Assets: recompile to include latest subghz custom frequency control changes
Co-authored-by: あく <alleteam@gmail.com>
* SubGhz: fix frequency reset on incomplete exit from the transmission menu
* SubGhz: fix incorrect shutdown of CC1101 if it was not turned on
* SubGhz: consciousness and transmission support Security+ 1.0
* Unit_test: add test encoder Security+ 1/0
* SubGhz: fix start counter Security+ 1.0
Co-authored-by: SG <who.just.the.doctor@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
* File browser module and test app
* nfc: Add support for saved files in subdirectories
* nfc: Use helper function to get shadow path when loading data
* File browser dialog integration pt.1
* File browser dialog integration pt.2
* Gui,Dialogs: drop file select
* Correct use of dynamic string_t(string_ptr)
Co-authored-by: Yukai Li <yukaili.geek@gmail.com>
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
* nfc: Add NTAG I2C (Plus) 1K/2K read support
* nfc: Add rudimentary NTAG I2C emulation
* nfc: Closer NTAG I2C emulation plus debug logging
* nfc: Fix NTAG I2C sector select emulation
* nfc: Add security for NTAG I2C
* nfc: Send NAK correctly for MFUL reads
* nfc: Better emulate NTAG I2C SECTOR_SELECT behavior
* nfc: Fix non-I2C Ultralight read
Per datasheet, max sector for SECTOR_SELECT is 0xfe, so 0xff is OK
as uninit value
* nfc: Only read sig for NTAG if supported
Attempting to read signature breaks immediate call to sector select on
NTAG I2C original for some reason, so don't read signature if the
command is not supported
Co-authored-by: gornekich <n.gorbadey@gmail.com>
1) SubGhz: consciousness and transmission support Security+ 1.0 SAVE AND SEND! ;
2) SubGhz: fix incorrect shutdown of CC1101 if it was not turned on;
3) SubGhz: fix frequency reset on incomplete exit from the transmission menu