Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FL-3456] Allow for larger Infrared remotes #3164

Merged
merged 45 commits into from
Oct 30, 2023

Conversation

gsurkov
Copy link
Member

@gsurkov gsurkov commented Oct 24, 2023

What's new

  • Do not load all infrared signals into RAM at once, load them on-demand instead.
  • Improve general error handling and UI/UX
  • Add doxygen comments
  • Basically nearly full refactoring

Verification

  1. Download Daikin FTXC35DV1B Full.ir.tar.gz, unzip it and put into the /ext/infrared directory on the Flipper.
  2. Load it using `Infrared -> Saved Remotes
  3. The application should not crash
  4. Test adding, renaming, moving and deleting signals since this functionality was reimplemented from scratch.

Checklist (For Reviewer)

  • PR has description of feature/bug or link to Confluence/Jira task
  • Description contains actions to verify feature/bugfix
  • I've built this code, uploaded it to the device and verified feature/bugfix

@github-actions
Copy link

github-actions bot commented Oct 24, 2023

PVS-Studio report for commit 80100dc4:

@github-actions
Copy link

github-actions bot commented Oct 24, 2023

Compiled f7 firmware for commit fe01720b:

@gsurkov gsurkov marked this pull request as ready for review October 25, 2023 14:43
@gsurkov gsurkov added the Infrared Infrared app label Oct 25, 2023
@skotopes skotopes merged commit c818074 into dev Oct 30, 2023
9 checks passed
@skotopes skotopes deleted the gsurkov/3456_ir_big_remote_oom branch October 30, 2023 16:20
RogueMaster pushed a commit to RogueMaster/flipperzero-firmware-wPlugins that referenced this pull request Oct 30, 2023
* Do not load all signals at once (Draft)
* Minor cleanup
* Refactor remote renaming
* Improve function signatures
* Rename infrared_remote functions
* Optimise signal loading
* Implement adding signals to remote
* Add read_name() method
* Deprecate a function
* Partially implement deleting signals (draft)
* Use m-array instead of m-list for signal name directory
* Use plain C strings instead of furi_string
* Implement deleting signals
* Implement deleting signals via generalised callback
* Implement renaming signals
* Rename some types
* Some more renaming
* Remove unused type
* Implement inserting signals (internal use)
* Improve InfraredMoveView
* Send an event to move a signal
* Remove unused type
* Implement moving signals
* Implement creating new remotes with one signal
* Un-deprecate and rename a function
* Add InfraredRemote API docs
* Add InfraredSignal API docs
* Better error messages
* Show progress pop-up when moving buttons in a remote
* Copy labels to the InfraredMoveView to avoid pointer invalidation
* Improve file selection scene
* Show progress pop-up when renaming buttons in a remote
* Refactor a scene
* Show progress when deleting a button from remote
* Use a random name for temp files
* Add docs to infrared_brute_force.h
* Rename Infrared type to InfraredApp
* Add docs to infrared_app_i.h

Co-authored-by: あく <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Infrared Infrared app
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants