TL;DR
- New Picopass plugin (by Eric Betts, bettse)
- BLE Keyboard improvements (by Michael Marcucci, Cutch)
- GPIO Over RPC (by Samuel Yvon, SamuelYvon)
- NFC: fixes and improvements, better MiFare Classic emulation
- Fbt: fixes and improvements
- RPC: app control protocol
Changelog
- Nfc: fix exit after emulation (#1385)
- Added gui-shift command to ducky script (#1381)
- Save picopass as picopass or, for 26bit, as lfrfid (#1380)
- Namespace loclass library (#1379)
- Namespace loclass library
- Lib: const for immutable variables and bss cleanup
- Bluetooth Remote Additions (#1330)
- Update the HID Keycodes to pull from the library
- Composite BLE Report Map, add consumer & mouse HID
- Add Mouse & keyboard bt remote, fixed media remote
- BT Keyboard remove long press shift
- Fix usb hid modifier keys
- Fixed misaligned bad usb keys
- Fix keyboard app keys
- Partial fix for bt app and linux
- Update to work across platforms
- Fix for report ids
- BtHidApp: move variable from bss to model, cleanup naming.
- FuriHal: add const to immutable data declaration
- SubGh: fix a race condition (#1376)
- FL-2612, FL-2618, FL-2619, FL-2622] CLI, threads, notifications, archive fixes (#1354)
- CLI, notifications, archive fixes
- Led blink fix
- Fix thread flags notification index
- Archive: fix infinite tab switch on empty SD card
- Fix buffer overflow in mifare classic lib #1374
- Added Javacard Emulated mifare classic 1K compatibility (#1369)
- Add Mifare classic 1k JC handling
Add mifare classic Javacard emulation handling - Adding MIFARE 1K Javacard Emulation Compatibility
MIFARE Classic 1K Cards from NXP have the SAK value of 0x08.
MIFARE Classic 1K Cards that are emulated via javacard applet have an SAK value of 0x09.
Adding the SAK values accordingly so that Javacard emulated mifare classic tags are properly handled. - update mifare_common.c
added javacard emulation handling for mifare classic 1k
- Add Mifare classic 1k JC handling
- iClass UI (#1366)
- Move structs to header
- roll mbedtls into loclass
- Picopass with scene for reading card
- Picopass: fix memory leak
- Lib: return mbedtls back
- Picopass: rename symbols to match naming guide
- Fbt: compile_commands fixes & better
latest
directory handling (#1368)- fbt: fixed linking updater as latest build dir for "flash_usb"
- fbt: fixed cdb regeneration logic; refactored build/latest linking logic
- fbt: docs update
- Storage: lfs fingerprint wasn't updated when both geometry changed & factory reset was requested, resulting in second re-format on next boot (#1372)
- Plugins: snake: simplification in direction calculation (#1361)
- Fbt: added support for FBT_NO_SYNC environment variable to skip submodule update at start (#1363)
- Fbt: initial blackmagic support (#1362)
- fbt: added separate script for Windows env setup; moved flash targets from firmware.scons to SConstruct; added Blackmagic support with automatic probe port resolution; added apps.c rebuild on any manifest.fam changes; fixed simultaneous flash & debug ops
- fbt: added networked BlackmagicResolver mode; added
get_blackmagic
target for IDE integration - fbt: cleanup
- fbt: docs update; fixed blackmagic lookup on certain usb hubs
- fbt: removed explicit python serial port import
- fbt: cleanup
- fbt: raising exception on multiple serial blackmagic probes
- Add GPIO control through RPC (#1282)
- Add GPIO control through RPC
- Assets: sync protobuf to 0.10
- Assets: update protobuf to fixed v10
- FuriHal: RTC recovery routine and ext3v3 enabled on start (#1357)
- FuriHal: leave ext3v3 enabled on start
- FuriHal: RTC recovery routine, cleanup resources
- [FL-2578] Updater fixes related to /int handling (#1359)
- Updater fixes related to /int handling
updater: performing factory reset on update, checking for LFS free space before updating, fixed improper error handling on backup/restore operations, rebalanced update stage weights for better progress visuals
scripts: added CLI output validation for selfupdate.py
storage: added pointer validation in storage_int_common_fs_info
desktop: fixed crash on rendering invalid slideshows - Typo fix
- rpc: Updated protobuf to 0.9
- rpc: removed updater status conversion
- Updater fixes related to /int handling
- [FL-2589] RPC App control commands (#1350)
- RPC App control commands
- Button release timeout
- SubGhz tx fix
- Nfc: On-device tag generator (#1319)
- nfc: Add tag generator base
- nfc: Fix BCC generation
- nfc: Add MFUL EV1 generators
- nfc: Fix typos in generator
- nfc: Add NTAG21x generators
- nfc: More const
- nfc: Add NTAG I2C generators
- nfc: Add field names to generator initializers
- nfc: Move generators to add manually scene
- nfc: Revise tag generator UX
- nfc: Revert add manually menu item name
- nfc: Remove unused scene start submenu index
- Add iClass keys to source (#1360)
- FL-2610] SubGhz: add keypad lock SubGhz -> Read (#1343)
- SubGhz: fix multiple clicks on the back button
- SubGhz: turn on the backlight when receiving with the keypad locked. key processing delay when exiting Locked mode
- SubGhz: chanage lock variable and enums names
- SubGhz: replace direct return with consumed
- Improved PR build comment (#1348)
- Improved PR build comment
- Update build.yml
- NFC emulation software tunning (#1341)
- digital_signal: optimize calculationxx
- firmware: add listen start and listen rx
- digital signal: rework with fixed point calculation
- nfc: tune timings
- nfc: fix array overflow
- mifare classic: fix key access
- nfc: rework spi bus access
- nfc: rework listen mode with st25r3916 calls
- digital signal: speed up digital_signal_append()
- digital signal: remove unused profiling
- nfc: clean up code
- nfc: correct sleep state
- nfc: add unit tests
- nfc: fix memory leak in unit test
- digital_signal: remove unused code
- nfc: fix incorrect sak load in pt memory
- PicoPass / iClass (#1298)
- add mdedtls for des3 implementation
- add localss from RfidResearchGroup/proxmark3
- picopass reader app and rfal for communicating with picopass cards
- always turn off field
- close storage when keys are not found
- Add mbedtls as submodule
- add mbedtl_config
- Switched to only including specific mbedtls files I need. Thank you @kevinwallace
- cherry-pick kevinwallace sconsify
- scons for mbedtls/loclass
- Reset to ready state on error
- unsigned FC/CN
- clean FC/CN if not decoded
- Fbt: fixes (#1352)
- fbt: added --git-tasks; fixed typos
- fbt: fixed --extra-int-apps handling; scripts: moved storage.py & selfupdate.py to App() framework
- fbt: changed pseudo-builders to PhonyTargets with commands; added link to latest build dir as build/latest
- fbt: Restored old ep git handling
- fbt: dropped git tasks & dirlink.py
- fbt: removed extra quoting in fbt.cmd
- docs: added flash_usb to ReadMe.md
- Add mifare infineon (#1346)
- Adding MIFARE 1K Infineon Compatibility
As per Issue #1342,
MIFARE Classic 1K Cards from NXP have the SAK value of 0x08.
MIFARE Classic 1K Cards from Infineon have an SAK value of 0x88.
Adding the SAK values accordingly so that Infineon tags are properly handled.
- Adding MIFARE 1K Infineon Compatibility
Ongoing
- Application SDK, loading from SD
- RFID rewrite in C, RAW and new protocols
- New build toolchain