Skip to content

Commit 11ac2a6

Browse files
committed
updated changelog and readme
1 parent 845db33 commit 11ac2a6

File tree

11 files changed

+40
-33
lines changed

11 files changed

+40
-33
lines changed

CHANGELOG.md

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,34 @@
1+
## 0.6
2+
3+
- Basic NFC support
4+
- Improved IR file import, prompts for specific IR command
5+
- NFC default duration in Settings
6+
17
## 0.5
8+
29
- Basic infrared support
310
- Action settings: Rename, Delete, Import, Create Group
411
- Support for Sub-GHz external antenna in Settings
512
- About screen
613

714
## 0.4
15+
816
- New UI with horizontal/vertical layout support
917
- Added icons, better header font
1018
- Settings menu to control UI
1119
- RFID duration suppport added to playlists
12-
20+
1321
## 0.3
22+
1423
- Updated to firmware SDK 0.99.1
1524

1625
## 0.2
26+
1727
- Playlist support
1828
- Hidden file/folder support
1929

2030
## 0.1
31+
2132
- First release!
2233
- Supports Sub-GHz and RFID files
2334
- Items can be sorted based on filename prefix

README_flipperlab.md

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,48 @@
11
# Quac! Remote
22

33
## QUick ACtion Remote Control for Flipperzero
4+
45
This app allows you to organize previously recorded signals, of any type, so that you can quickly and easily play them back. No more needing to recall whether that door is Sub-GHz or RFID! Just navigate to that action in **Quac** and press OK to send!
56

6-
The app does not provide any recording functionality - you must use the existing Flipperzero apps to create the saved files for your action/device. Additionally, you must manage the folder structure manually on your SD card.
7+
The app does not provide any recording functionality - you can use the existing Flipperzero apps to create the saved files or import from existing files. Quac! provides some basic functionality to manage your files. Or, you can manage the folder structure manually on your SD card on your PC.
78

8-
* Only Sub-Ghz (.sub) and RFID (.rfid) files are supported at this time, IR is coming soon!
9+
* Supported files include: Sub-Ghz (.sub), RFID (.rfid), Infrared (.ir), and NFC (.nfc)
910

1011
## Features
11-
* Playback of rfid, sub-ghz, (and soon IR) signals
12+
13+
* Playback of rfid, sub-ghz, IR, and NFC signals
1214
* Easy navigation
1315
* Flexible signal organization
16+
* In-app file management
1417
* Playlist support
1518
* Flexible naming/sorting, hidden file/folder support
1619
* Customizable UI
1720

1821
## Signal playback
19-
The signal files are played back as recorded. During playback/transmit, the LED light will flash blue until the action is complete. For RFID signals, they are continuously played back for the duration specified in the Settings.
22+
23+
The signal files are played back as recorded. During playback/transmit, the LED light will flash blue until the action is complete. For RFID and NFC signals, they are continuously played back for the durations specified in the Settings.
2024

2125
## Signal Organization
26+
2227
The key to organizing your Quac interface is to organize your **/ext/apps_data/quac** folder structure. The UI is derived directly from the filesystem structure. Every individual file/signal is assigned a button. This is an "action". And every folder/directory is a logical group of more files/folders. Selecting a group in the UI will show you the contents of that folder. There is no limit on the number of actions or folders - nest as deep as you want!
2328

24-
You can organize your files by device type, or by function. For example, you may have a folder of "TV" actions, which correspond to Channel Up, Channel Down, Volume Up, Volume Down, etc. Or you may have a "Work Access" folder, which contains files/actions that correspond to Parking Gate, Garage Door, Lobby Entrance.
29+
You can organize your files by device type, or by function. For example, you may have a folder of "TV" actions, which correspond to Channel Up, Channel Down, Volume Up, Volume Down, etc. Or you may have a "Work Access" folder, which contains files/actions that correspond to Parking Gate, Garage Door, Lobby Entrance.
2530

2631
The files in a folder can be of mixed types. **This is Quac's main strength!** So continuing with the "Work Access" example, the Parking Gate can be Sub-Ghz and the Garage Door can be RFID.
2732

2833
## Playlists
34+
2935
You can chain multiple signal playback actions together by creating a playlist. Simply create a text file which contains a list of paths to the signals you wish to transmit - they will be played sequentially. Playlist names show up as clickable button, like all other individual signals/actions.
3036

31-
Errors found in the playlist will halt playback and vibrate the F0. Blank lines are ignored.
37+
Errors found in the playlist will halt playback and vibrate the Flipperzero. Blank lines are ignored.
3238

3339
## Settings
3440

3541
The settings menu will appear as the last item when you are viewing the "root" directory. Within the settings you can control:
36-
- Layout: Switch between Horizontal and Vertical layout
37-
- Show Icons: Toggles display of all icons
38-
- Show Headers: Toggles display of header/folder text at the top, giving you room for one more item on screen!
39-
- RFID Duration: Changes the length of time a RFID signal is transmitted. Can be overridden, per RFID file in a Playlist
42+
43+
* Layout: Switch between Horizontal and Vertical layout
44+
* Show Icons: Toggles display of all icons
45+
* Show Headers: Toggles display of header/folder text at the top, giving you room for one more item on screen!
46+
* RFID Duration: Changes the length of time a RFID signal is transmitted. Can be overridden, per RFID file in a Playlist
4047

4148
**More information can be found in the Git repository**

actions/action.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,4 @@ struct Item;
1010
* @param item Selected item to transmit
1111
* @param error Error message if unsuccessful
1212
*/
13-
void action_tx(void* context, Item* item, FuriString* error);
14-
15-
bool action_ir_list_commands(const FuriString* ir_file, FuriString* command);
13+
void action_tx(void* context, Item* item, FuriString* error);

actions/action_ir_utils.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,6 @@ bool infrared_utils_read_signal_at_index(
6969
break;
7070
}
7171
if(furi_string_equal(temp_str, "parsed")) {
72-
FURI_LOG_I(TAG, "IR File is PARSED");
7372
signal->is_raw = false;
7473

7574
if(!flipper_format_read_string(fff_data_file, "protocol", temp_str)) {
@@ -95,7 +94,6 @@ bool infrared_utils_read_signal_at_index(
9594
}
9695
success = true;
9796
} else if(furi_string_equal(temp_str, "raw")) {
98-
FURI_LOG_I(TAG, "IR File is RAW");
9997
signal->is_raw = true;
10098

10199
if(!flipper_format_read_uint32(

application.fam

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ App(
99
fap_category="Tools",
1010
# Optional values
1111
fap_version="0.6",
12-
fap_icon="quac.png", # 10x10 1-bit PNG
12+
fap_icon="images/quac.png", # 10x10 1-bit PNG
1313
fap_description="Quick Action remote control app",
1414
fap_author="Roberto De Feo",
1515
fap_weburl="https://github.com/rdefeo/quac",

item.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ void item_prettify_name(FuriString* name) {
148148
}
149149
}
150150
}
151-
furi_string_replace_str(name, "_", " ", 0);
151+
furi_string_replace_all_str(name, "_", " ");
152152
// FURI_LOG_I(TAG, "... %s", furi_string_get_cstr(name));
153153
}
154154

quac.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,8 @@
1414
#include <notification/notification_messages.h>
1515

1616
#include "views/action_menu.h"
17-
1817
#include "item.h"
1918

20-
// #pragma GCC push_options
21-
// #pragma GCC optimize("O0")
22-
2319
#define QUAC_NAME "Quac!"
2420
#define QUAC_VERSION "v0.6"
2521
#define QUAC_ABOUT \

quac.png

-190 Bytes
Binary file not shown.

scenes/scene_action_ir_list.c

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,7 @@
88
#include "quac.h"
99
#include "scenes.h"
1010
#include "scene_action_ir_list.h"
11-
#include "../actions/action.h"
1211
#include "../actions/action_ir_utils.h"
13-
#include "quac_icons.h"
1412

1513
#include <flipper_format/flipper_format.h>
1614

@@ -94,9 +92,10 @@ bool scene_action_ir_list_on_event(void* context, SceneManagerEvent event) {
9492
break;
9593
}
9694

97-
// Import successful
98-
// TODO: give user an OK prompt and leave them on this scene
99-
// in case they want to import more from this IR file
95+
// Import successful!
96+
// Leave the user on this scene, in case they want to import
97+
// more commands from this IR file
98+
notification_message(app->notifications, &sequence_success);
10099

101100
} while(false);
102101

scenes/scene_items.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -128,10 +128,8 @@ bool scene_items_on_event(void* context, SceneManagerEvent event) {
128128

129129
if(furi_string_size(error)) {
130130
FURI_LOG_E(TAG, furi_string_get_cstr(error));
131-
// Change LED to Red and Vibrate!
131+
// Fire up the LED and vibrate!
132132
notification_message(app->notifications, &sequence_error);
133-
134-
// Display DialogEx popup or something?
135133
}
136134

137135
furi_string_free(error);

0 commit comments

Comments
 (0)