Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
Sandro Kalatozishvili committed Sep 27, 2023
1 parent 71dbac9 commit 3ac5d47
Show file tree
Hide file tree
Showing 46 changed files with 3,479 additions and 0 deletions.
674 changes: 674 additions & 0 deletions LICENSE

Large diffs are not rendered by default.

47 changes: 47 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# flipper-xremote
Advanced IR Remote App for Flipper Device

### Currently under development, additional details coming soon..

## Idea
Currently, to use the buttons in the infrared application, you have to find all the buttons one by one in the menu, scroll to the button you want, and then click it. This makes using the remote a little uncomfortable. The idea behind XRemote is that all physical buttons are pre-mapped to specific category buttons, and pressing a physical button directly sends an infrared signal. This allows the flipper device to be used as a remote rather than as a tool that has a remote.

The learning approach of XRemote is also different from the current application. Now, in order to clone the remote, you have to write the names of all the buttons one by one with a flipper, which is very inconvenient. The idea of XRemote is that it will tell you in advance which button it is going to record, and you only have to press the remote, so you will no longer have to name all the buttons.

The application works with standard `.ir` files, but for the buttons to work, the names in the file must match the predefined names of XRemote. Check out [views/remote_common_view.h](https://github.com/kala13x/flipper-xremote/blob/main/views/xremote_common_view.h) file for supported name definitions.

## Process

- [ ] Learn new remote
- [x] Use saved remote
- [ ] Saved remote general category
- [x] Saved remote navigation category
- [ ] Saved remote control category
- [x] Saved remote player category
- [ ] Saved remote custom category
- [ ] Delete saved remote file
- [ ] Edit saved remote file
- [ ] Application settings

## Screens

<p align="center">
Main menu
</p>
<p align="center">
<img src="https://github.com/kala13x/flipper-xremote/blob/main/screens/app_menu.png" alt="XRemote main menu">
</p>

<p align="center">
Saved remote menu and control
</p>
<p align="center">
<img src="https://github.com/kala13x/flipper-xremote/blob/main/screens/control.png" alt="XRemote main menu">
</p>

<p align="center">
Saved remote menu and playback
</p>
<p align="center">
<img src="https://github.com/kala13x/flipper-xremote/blob/main/screens/playback.png" alt="XRemote main menu">
</p>
17 changes: 17 additions & 0 deletions application.fam
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
App(
appid="xremote",
name="XRemote",
apptype=FlipperAppType.EXTERNAL,
entry_point="xremote_main",
requires=["gui", "dialogs", "infrared"],
stack_size=3 * 1024,
order=1,
fap_version="1.0",
fap_icon="icon.png",
fap_category="Infrared",
fap_icon_assets="assets",
fap_icon_assets_symbol="xc",
fap_author="@kala13x",
fap_weburl="https://github.com/kala13x/flipper-xremote",
fap_description="Advanced infrared remote control",
)
Binary file added assets/Back_icon_10x8.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/Button_18x18.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/IR_Icon_10x10.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/OK_Icon_9x9.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
29 changes: 29 additions & 0 deletions deploy.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
#!/bin/bash
# This source is part of "flipper-xremote" project
# 2023 - Sandro Kalatozishvili ([email protected])

# Change it according to the root path of the used firmware
FLIPPER_FIRMWARE="/opt/flipper/firmwares/unleashed-firmware"

# Private variables
XREMOTE_PROJ_PATH=$(dirname $(readlink -f "$0"))
XREMOTE_PROJ_NAME=$(basename "$XREMOTE_PROJ_PATH")

FLIPPER_APPSRC="applications_user/$XREMOTE_PROJ_NAME"
FLIPPER_USER_APP="$FLIPPER_FIRMWARE/$FLIPPER_APPSRC"

# Unlink existing user application first
[ -s $FLIPPER_USER_APP ] && rm -f $FLIPPER_USER_APP
ln -s $XREMOTE_PROJ_PATH $FLIPPER_FIRMWARE/applications_user

# Build and deploy the project
cd $FLIPPER_FIRMWARE
DEPLOY_DONE=0
sudo ./fbt COMPACT=1 DEBUG=0 launch APPSRC=$FLIPPER_APPSRC && DEPLOY_DONE=1

# Run qflipper command if asked
for arg in "$@"; do
if [[ $arg == "--run" || $arg == "-r" ]]; then
[ $DEPLOY_DONE -eq 1 ] && sudo qflipper
fi
done
Binary file added icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 3ac5d47

Please sign in to comment.