47 Commits

Author SHA1 Message Date
CinderSocket
86b6b49cef Revert "asn1: move metadata tables out of RAM"
This reverts commit ea35ecf3a57cabc36c1c778aae0bf9fd65d6f32d.
2026-03-27 23:14:43 -07:00
CinderSocket
6e64c27ca7 asn1: move metadata tables out of RAM 2026-03-27 23:05:53 -07:00
CinderSocket
3127fd64c2 mem: eliminate 280 bytes of static BSS
Stack-allocate the two mbedtls DES contexts in loclass optimized_elite
(128 bytes each) and the APDU runner progress text buffer (24 bytes).
All three were static/global but are used only within single call frames.
2026-03-27 22:40:59 -07:00
CinderSocket
156a7b0697 power: convert board voltage handling to millivolts 2026-03-27 22:28:45 -07:00
CinderSocket
ff079f295b Reduce startup memory pressure and stack usage 2026-03-27 20:10:15 -07:00
CinderSocket
a137384142 Fix SNMP probe transport corruption and label status 2026-03-27 18:45:55 -07:00
CinderSocket
e8a71b7daf Improve board power recovery and startup UI 2026-03-27 18:05:31 -07:00
CinderSocket
1ee80b21a3 Harden HF startup failure handling 2026-03-27 18:05:10 -07:00
CinderSocket
2dc6779a55 Even more RAM reduction 2026-03-25 01:59:59 -07:00
CinderSocket
6ebb29f66d Eliminate unnecessary buffer 2026-03-25 01:26:54 -07:00
CinderSocket
9c8b24bb41 begin work on multi tech 2026-03-25 00:55:52 -07:00
CinderSocket
0e9df27b18 All the furi_check 2026-03-24 19:16:44 -07:00
CinderSocket
a30deb3988 Clarify SIO labeling by media type 2026-03-24 16:25:57 -07:00
CinderSocket
862a06f9ed Split host and integration test coverage 2026-03-24 16:17:08 -07:00
CinderSocket
9345da308d Reduce probe memory use and format SAM status refresh 2026-03-09 20:16:35 -07:00
CinderSocket
2675c6e3be Integrate SNMP probe into SAM API 2026-03-09 20:11:44 -07:00
CinderSocket
079b2a7cc7 Add zero-copy SNMP parser and host tests 2026-03-09 20:04:52 -07:00
CinderSocket
1fc50fc229 Fix long CCID/T=1 response handling 2026-03-09 20:04:09 -07:00
CinderSocket
27e2d6a057 Add UHF transport ASN.1 definitions 2026-03-09 20:03:56 -07:00
CinderSocket
7d93a75f5b Incorporate t=1 and CCID fixes and conformance enhancements 2026-03-08 19:28:13 -07:00
CinderSocket
2d60989bee Add CCID helpers and regression host tests 2026-03-08 19:03:30 -07:00
CinderSocket
3a40690f07 Move tests to lib/ to avoid linter issues 2026-03-08 18:50:02 -07:00
Eric Betts
388e8276ae SoMediaEdgeType 2026-03-08 17:46:48 -07:00
Eric Betts
342e5fce59 Remove requestPacs from asn ref #31 2026-03-08 16:42:47 -07:00
Eric Betts
e9e1b7eee0 Regenerate asn1 2026-03-08 16:27:21 -07:00
Eric Betts
73d2d64898 SeaderWorker tweaks ref #30 2026-03-07 13:30:01 -08:00
Eric Betts
1c3c60028f fix conflict 2026-03-07 13:16:12 -08:00
Eric Betts
c83adbfb95 Add none FrameProtocol ref #30 2026-03-07 12:48:59 -08:00
Eric Betts
5c26fde1fa Clean up application.fam by cheating
Some checks failed
FAP: Build and lint / ufbt: Build for release branch (push) Failing after 0s
2026-03-03 19:00:21 -08:00
CinderSocket
132dc1860a feat: optimize ASN.1 memory usage and implement zero-copy transmission
- Strip unused XER, PER, and OER codec support via persistent skeleton gating.
- Refactor high-frequency ASN.1 logic to use stack allocation.
- Implement zero-copy transmission path using 32-byte header offset in UART TX buffer.
- Correct CCID header initialization and DER encoding buffer size calculation.
- Add ASN_DISABLE_* macros to application.fam for consistent gating across builds.
2026-03-03 12:44:41 -08:00
CinderSocket
3998719a1e chore: optimize ASN.1 footprint and fix sam_api calloc bug 📉
The app was definitely carrying some extra weight that we didn't need.

* Stripped the Bloat: I fully gated out the OER, PER, and XER support libraries. Even though some generation flags were there, the actual library code was still being linked. I also removed the random_fill logic since we aren't using it.
* Big Wins: The binary is now 7 KB smaller 📉. I verified this by checking the symbol table—all those extra codec functions are officially gone.
* Bug Fix: I found a pretty serious issue in sam_api.c where the local calloc was just a wrapper for malloc and wasn't actually zeroing out memory. I added a memset fix so we don't run into any weird non-deterministic crashes. 🛠️
* Stack Optimization: Since the ASN.1 path is much leaner now, I was able to safely drop the stack size in application.fam from 5 KB to 3 KB.

Refs: https://github.com/cindersocket/seader/issues/2
2026-03-03 12:44:41 -08:00
Eric Betts
7ae926abe9 Regenerate asn1 c files
Some checks failed
FAP: Build and lint / ufbt: Build for release branch (push) Failing after 0s
2026-03-02 08:26:13 -08:00
Eric Betts
1dae66fd7a longer version decoding 2026-01-15 20:33:42 -08:00
Eric Betts
b541f52b76 Change definition to implicit 2026-01-04 11:19:15 -08:00
Eric Betts
2910b13ded Process config card 2025-09-28 16:02:32 -07:00
Eric Betts
57a0488bc8 Use the commands the proxmark uses 2025-09-28 15:59:25 -07:00
Eric Betts
dbbf07156d Add SIO parsing from iceman/evildaemond talk 2025-04-04 11:57:31 -07:00
Eric Betts
ddf8a8906b exclude a little more from asn1c command 2024-07-28 18:58:27 -07:00
Eric Betts
21223f1055 Remove unrolling in loclass to save space in memory 2024-07-27 18:07:56 -07:00
Eric Betts
87813fc67d serial number 2024-02-24 16:51:38 -08:00
Eric Betts
b5290e7b15 add loclass 2023-12-02 20:13:27 -08:00
Eric Betts
dbe6339695 Add type 2023-07-03 17:09:09 -07:00
Eric Betts
a4fbfacbfa rename versiont to samversion 2023-07-03 17:00:54 -07:00
Eric Betts
3a00184049 add version asn1 2023-07-03 16:36:31 -07:00
Eric Betts
437e19f098 read error for MFC 2023-04-22 12:35:07 -07:00
Eric Betts
4a67feaeee regen asn1 c files 2023-04-22 12:30:12 -07:00
Eric Betts
a08952a2e6 initial import 2023-04-15 20:57:01 -07:00