forked from flipperdevices/flipperzero-firmware
-
-
Notifications
You must be signed in to change notification settings - Fork 562
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Squashed 'applications/external/' changes from 5dc4104f0c6..0283eaee669
0283eaee669 Format 4dc9e472384 Merge pull request #8 from leedave/feature/cross_remote 3074e48081b Add cross_remote from https://github.com/leedave/flipper-zero-cross-remote 01eb2c1 Merge pull request #16 from leedave/feature/fix_0.100.3 642afe4 Fix for crash on exit in 0.100.3 4d4962f Merge pull request #14 from leedave/feature/subghz_encoded 7f17cb6 ufbt format 925d739 Update Readmes, added version to info screen 34a5851 Settings & Storage for SubGhz Timing 6cf5fb9 Encoded Subghz works with standard 500ms setup 8520f4c Merge pull request #12 from leedave/feature/catalog_sdk_upd 8fc794f ufbt format 3087d4b Fixed initial crash after creation of chain with Subghz element 2b2adc2 Merge pull request #11 from leedave/feature/catalog_sdk_upd 99ae845 Changed subghz_protocol_registry source 09de2e5 Changed subghz_protocol_registry source 3a3a767 Changed subghz_protocol_registry source 5c100bf Changed subghz_protocol_registry source bb92af0 sdk headers test 3 c2b122a sdk headers test 2 c24026f Update to help build detect icons that were already there instead of using from Firmware d92d744 sdk headers test 1 275accc ufbt format 47aea2c Merge pull request #9 from leedave/feature/ir_ind_timer d5256ed Added IR Timing feature 2383b0f Added int keyboard dd546b5 UI Menu to set IR Time ff25784 Merge pull request #8 from leedave/feature/subghz_like_meal_pager 32041e2 Linting b64e36d Fixed bug where crash occurs after deleting an item 14db43d Stabilized save and run, still a crash left after deleting items 28bbaaa Removed not needed settings Sound/Haptic 06608e8 Does what everything it should, but still crashes a lot 644227f Callback after subghz. Waiting still not correct 97c98a8 First time IR and SG work together, but still very unstable 098497c Included library for Subghz signal f8b524d Aligned format for IR and pause timing cdeb124 Fixes for new timer in IR commands a523e11 New save format 36c07d0 RAM fix for SG remote 76ecb27 Cleared out old SubGhz module cb639c1 refactor cross remote item methods bc56826 refactor xremote_cross_remote methods, fixed RAM leak 56d7a9d Storage of subghz filename abcfdf3 Restored SG animation 8bdfcaa reactivating subghz menu (no actions yet) bb5e131 Merge pull request #6 from leedave/feature/ir_timing d760cb5 Fix for mem leak b7c9e37 Merge pull request #4 from leedave/feature/ir_timing 3a1bba7 bumped version f896686 Merge pull request #2 from leedave/feature/ir_timing 12cd62d Added IR Timing Feature ae626bd Version Bump 5eb59ec Updated changelog 6fbd30c removed builds c6f71ae CLANG Formatting 83d453a Moved to new repo, updated for compatibility to 0.95.0-RC git-subtree-dir: applications/external git-subtree-split: 0283eaee669ce171ffad820b5ea1bbab4d87abb9
- Loading branch information
1 parent
99f74f5
commit 401e8a0
Showing
87 changed files
with
6,063 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,191 @@ | ||
--- | ||
Language: Cpp | ||
AccessModifierOffset: -4 | ||
AlignAfterOpenBracket: AlwaysBreak | ||
AlignArrayOfStructures: None | ||
AlignConsecutiveMacros: None | ||
AlignConsecutiveAssignments: None | ||
AlignConsecutiveBitFields: None | ||
AlignConsecutiveDeclarations: None | ||
AlignEscapedNewlines: Left | ||
AlignOperands: Align | ||
AlignTrailingComments: false | ||
AllowAllArgumentsOnNextLine: true | ||
AllowAllParametersOfDeclarationOnNextLine: false | ||
AllowShortEnumsOnASingleLine: true | ||
AllowShortBlocksOnASingleLine: Never | ||
AllowShortCaseLabelsOnASingleLine: false | ||
AllowShortFunctionsOnASingleLine: None | ||
AllowShortLambdasOnASingleLine: All | ||
AllowShortIfStatementsOnASingleLine: WithoutElse | ||
AllowShortLoopsOnASingleLine: true | ||
AlwaysBreakAfterDefinitionReturnType: None | ||
AlwaysBreakAfterReturnType: None | ||
AlwaysBreakBeforeMultilineStrings: false | ||
AlwaysBreakTemplateDeclarations: Yes | ||
AttributeMacros: | ||
- __capability | ||
BinPackArguments: false | ||
BinPackParameters: false | ||
BraceWrapping: | ||
AfterCaseLabel: false | ||
AfterClass: false | ||
AfterControlStatement: Never | ||
AfterEnum: false | ||
AfterFunction: false | ||
AfterNamespace: false | ||
AfterObjCDeclaration: false | ||
AfterStruct: false | ||
AfterUnion: false | ||
AfterExternBlock: false | ||
BeforeCatch: false | ||
BeforeElse: false | ||
BeforeLambdaBody: false | ||
BeforeWhile: false | ||
IndentBraces: false | ||
SplitEmptyFunction: true | ||
SplitEmptyRecord: true | ||
SplitEmptyNamespace: true | ||
BreakBeforeBinaryOperators: None | ||
BreakBeforeConceptDeclarations: true | ||
BreakBeforeBraces: Attach | ||
BreakBeforeInheritanceComma: false | ||
BreakInheritanceList: BeforeColon | ||
BreakBeforeTernaryOperators: false | ||
BreakConstructorInitializersBeforeComma: false | ||
BreakConstructorInitializers: BeforeComma | ||
BreakAfterJavaFieldAnnotations: false | ||
BreakStringLiterals: false | ||
ColumnLimit: 99 | ||
CommentPragmas: '^ IWYU pragma:' | ||
QualifierAlignment: Leave | ||
CompactNamespaces: false | ||
ConstructorInitializerIndentWidth: 4 | ||
ContinuationIndentWidth: 4 | ||
Cpp11BracedListStyle: true | ||
DeriveLineEnding: true | ||
DerivePointerAlignment: false | ||
DisableFormat: false | ||
EmptyLineAfterAccessModifier: Never | ||
EmptyLineBeforeAccessModifier: LogicalBlock | ||
ExperimentalAutoDetectBinPacking: false | ||
PackConstructorInitializers: BinPack | ||
BasedOnStyle: '' | ||
ConstructorInitializerAllOnOneLineOrOnePerLine: false | ||
AllowAllConstructorInitializersOnNextLine: true | ||
FixNamespaceComments: false | ||
ForEachMacros: | ||
- foreach | ||
- Q_FOREACH | ||
- BOOST_FOREACH | ||
IfMacros: | ||
- KJ_IF_MAYBE | ||
IncludeBlocks: Preserve | ||
IncludeCategories: | ||
- Regex: '.*' | ||
Priority: 1 | ||
SortPriority: 0 | ||
CaseSensitive: false | ||
- Regex: '^(<|"(gtest|gmock|isl|json)/)' | ||
Priority: 3 | ||
SortPriority: 0 | ||
CaseSensitive: false | ||
- Regex: '.*' | ||
Priority: 1 | ||
SortPriority: 0 | ||
CaseSensitive: false | ||
IncludeIsMainRegex: '(Test)?$' | ||
IncludeIsMainSourceRegex: '' | ||
IndentAccessModifiers: false | ||
IndentCaseLabels: false | ||
IndentCaseBlocks: false | ||
IndentGotoLabels: true | ||
IndentPPDirectives: None | ||
IndentExternBlock: AfterExternBlock | ||
IndentRequires: false | ||
IndentWidth: 4 | ||
IndentWrappedFunctionNames: true | ||
InsertTrailingCommas: None | ||
JavaScriptQuotes: Leave | ||
JavaScriptWrapImports: true | ||
KeepEmptyLinesAtTheStartOfBlocks: false | ||
LambdaBodyIndentation: Signature | ||
MacroBlockBegin: '' | ||
MacroBlockEnd: '' | ||
MaxEmptyLinesToKeep: 1 | ||
NamespaceIndentation: None | ||
ObjCBinPackProtocolList: Auto | ||
ObjCBlockIndentWidth: 4 | ||
ObjCBreakBeforeNestedBlockParam: true | ||
ObjCSpaceAfterProperty: true | ||
ObjCSpaceBeforeProtocolList: true | ||
PenaltyBreakAssignment: 10 | ||
PenaltyBreakBeforeFirstCallParameter: 30 | ||
PenaltyBreakComment: 10 | ||
PenaltyBreakFirstLessLess: 0 | ||
PenaltyBreakOpenParenthesis: 0 | ||
PenaltyBreakString: 10 | ||
PenaltyBreakTemplateDeclaration: 10 | ||
PenaltyExcessCharacter: 100 | ||
PenaltyReturnTypeOnItsOwnLine: 60 | ||
PenaltyIndentedWhitespace: 0 | ||
PointerAlignment: Left | ||
PPIndentWidth: -1 | ||
ReferenceAlignment: Pointer | ||
ReflowComments: false | ||
RemoveBracesLLVM: false | ||
SeparateDefinitionBlocks: Leave | ||
ShortNamespaceLines: 1 | ||
SortIncludes: Never | ||
SortJavaStaticImport: Before | ||
SortUsingDeclarations: false | ||
SpaceAfterCStyleCast: false | ||
SpaceAfterLogicalNot: false | ||
SpaceAfterTemplateKeyword: true | ||
SpaceBeforeAssignmentOperators: true | ||
SpaceBeforeCaseColon: false | ||
SpaceBeforeCpp11BracedList: false | ||
SpaceBeforeCtorInitializerColon: true | ||
SpaceBeforeInheritanceColon: true | ||
SpaceBeforeParens: Never | ||
SpaceBeforeParensOptions: | ||
AfterControlStatements: false | ||
AfterForeachMacros: false | ||
AfterFunctionDefinitionName: false | ||
AfterFunctionDeclarationName: false | ||
AfterIfMacros: false | ||
AfterOverloadedOperator: false | ||
BeforeNonEmptyParentheses: false | ||
SpaceAroundPointerQualifiers: Default | ||
SpaceBeforeRangeBasedForLoopColon: true | ||
SpaceInEmptyBlock: false | ||
SpaceInEmptyParentheses: false | ||
SpacesBeforeTrailingComments: 1 | ||
SpacesInAngles: Never | ||
SpacesInConditionalStatement: false | ||
SpacesInContainerLiterals: false | ||
SpacesInCStyleCastParentheses: false | ||
SpacesInLineCommentPrefix: | ||
Minimum: 1 | ||
Maximum: -1 | ||
SpacesInParentheses: false | ||
SpacesInSquareBrackets: false | ||
SpaceBeforeSquareBrackets: false | ||
BitFieldColonSpacing: Both | ||
Standard: c++03 | ||
StatementAttributeLikeMacros: | ||
- Q_EMIT | ||
StatementMacros: | ||
- Q_UNUSED | ||
- QT_REQUIRE_VERSION | ||
TabWidth: 4 | ||
UseCRLF: false | ||
UseTab: Never | ||
WhitespaceSensitiveMacros: | ||
- STRINGIZE | ||
- PP_STRINGIZE | ||
- BOOST_PP_STRINGIZE | ||
- NS_SWIFT_NAME | ||
- CF_SWIFT_NAME | ||
... | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
https://github.com/leedave/flipper-zero-cross-remote main / |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
# Flipper Zero Cross Remote | ||
|
||
## Current State | ||
- Infrared working | ||
- SubGhz working | ||
- Pause working | ||
- IR Timing features working | ||
|
||
## What this is? | ||
This app combines commands used in IR and SubGhz into playlists that can be run with one click | ||
<br><br> | ||
|
||
### What good is this? | ||
Imagine you want to sit down and watch a movie after a long days work. <br> | ||
Your probably do something like the following<br> | ||
- Turn on your TV with the IR TV remote<br> | ||
- Turn on your Bluray player with the Blueray IR remote<br> | ||
- Turn on your surround sound with the speaker IR remote<br> | ||
- Turn on your ceiling fan using a subGhz remote<br> | ||
- Turn on your AC using another remote<br> | ||
- etc<br> | ||
<br> | ||
Wouldn't it be nicer to simply click one button and let everything happen? This is what this app wants to do. <br> | ||
|
||
### Features | ||
- Select commands from saved subGhz transmissions | ||
- Select commands registered with the IR App (choose from the created remote buttons)<br> | ||
- Chain these commands using an easy UI<br> | ||
- Save chained commands to a file<br> | ||
- Add pauses, becaue target systems are not always fast enough for multiple commands<br> | ||
- Run file containing chained IR & SubGhz commands<br> | ||
|
||
### Settings | ||
- LED FX, allow the LED to blink | ||
- Save settings, stores a file with your settings in it on exit | ||
- IR time ms, the default duration of an IR signal transmission. Individual times can be set | ||
- SubG. time ms, the default duration of a SubGhz signal. Only needed for Encoded signals, RAW files play until finished | ||
|
||
### Limitations | ||
SubGhz commands will stop working if you move/rename/delete the original files on your Flipper. This is because of how the Flippers SubGhz worker expects data. | ||
|
||
After an upgrade a crash on exit can occur, due to small improvements to the file formats. Sorry about that, it only happens once. | ||
|
||
## How to install on Flipper Zero | ||
- If you do not have one, download a firmware<br> | ||
- Plug your Flipper Zero in via USB. <br> | ||
- Copy the contents of this folder into the applications_user folder of your firmware. <br> | ||
|
||
Then run the command: | ||
``` | ||
.\fbt launch_app APPSRC=applications_user/xremote | ||
``` | ||
The application will be compiled and copied onto your device. | ||
|
||
## Licensing | ||
This code is open-source and may be used for whatever you want to do with it. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
App( | ||
appid="xremote", | ||
name="Cross Remote", | ||
apptype=FlipperAppType.EXTERNAL, | ||
entry_point="xremote_app", | ||
stack_size=3 * 1024, | ||
fap_icon="icons/xremote_10px.png", | ||
fap_icon_assets="icons", | ||
fap_version="2.5", | ||
fap_category="Infrared", | ||
fap_author="Leedave", | ||
fap_description="One-Click, sends multiple commands", | ||
fap_weburl="https://github.com/leedave/flipper-zero-cross-remote", | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
## Cross Remote | ||
|
||
This app combines your IR and SubGhz commands into a playlist that can be run with one click. Pauses can be set inbetween, as IR/SubGhz devices typically are not so fast. | ||
|
||
## Features | ||
- Read out commands you recorded in the IR app | ||
- Read out commands you saved as .sub files | ||
- Combine commands to a chain/playlist | ||
- Add pauses inbetween commands | ||
- Save your command chain / playlist to flipper | ||
- Disable LED effects if not wanted | ||
- Configure duration of IR Signals | ||
- Configure default duration of Encoded SubGhz Signals | ||
|
||
## What good is this? | ||
|
||
Example what you command chain (playlist) could do with one click | ||
- Turn on your TV with the IR TV remote | ||
- Turn on your Bluray player with the Blueray IR remote | ||
- Turn on your surround sound with the speaker IR remote | ||
- Turn on your ceiling fan using a subGhz remote | ||
- Turn on your AC using another remote |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
## 2.5 | ||
- Back button on info screen now reacts the same as ok button | ||
- Fixed crash on exit in fw 0.100.3 | ||
|
||
## 2.4 | ||
- Added support for encoded SubGhz files | ||
- Added timer for SubGhz transmission (not needed in RAW files) | ||
- Added version number to app info screen | ||
- Minor updates/instrutions in readme.md | ||
|
||
## 2.3 | ||
- Fixed Crash after creating chains with SubGhz Items | ||
|
||
## 2.2 | ||
- Fixed incompatibility to Flipper-catalog / uFBT compiler | ||
|
||
## v2.1 | ||
- Added ability to individually set IR Signal time | ||
|
||
## v2.0 | ||
- SubGhz Functionality added | ||
- Slight change in Storage format to enalbe individual IR timings later (feature request) | ||
- Fixed more memory leaks | ||
- Fixed error where Flipper crashes after deleting a command chain | ||
- Updated Manifest for better CFW support | ||
- Updated readme for new inputs | ||
|
||
## v1.1 | ||
- Patched memory leak in storage | ||
|
||
## v1.0 | ||
- Added option to change IR Signal Timing | ||
|
||
## v0.9 | ||
|
||
- New Repository for App | ||
- Removed Loading animation for compatibility to API 0.95.0 | ||
- Fixed issue with redundant header | ||
|
||
## v0.8 | ||
|
||
First release to Application Catalog | ||
- IR Feature Working | ||
- Pause Features Working | ||
- Added warning for block missing SubGhz Features |
Oops, something went wrong.