Merge remote-tracking branch 'ul/dev' into mntm-dev --nobuild
@@ -68,6 +68,7 @@
|
||||
- Fix duplicated frequency lists and use user config for nearest frequency selector too
|
||||
- Infrared:
|
||||
- Additions to MNTM specific LED, Digital Sign, Monitor universal remotes from IRDB (#240 by @jaylikesbunda)
|
||||
- UL: Replace LEDs universal remote with new one by Unleashed team, includes color options (by @amec0e & @xMasterX)
|
||||
- UL: Update universal remote assets (by @amec0e)
|
||||
- OFW: IR button operation fails now shows more informative messages (by @RebornedBrain)
|
||||
- OFW: Add Airwell AW-HKD012-N91 to univeral AC remote (by @valeraOlexienko)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
Filetype: IR library file
|
||||
Version: 1
|
||||
# Last Updated 27th Sept, 2024
|
||||
# Last Checked 27th Sept, 2024
|
||||
# Last Updated 5th Oct, 2024
|
||||
# Last Checked 5th Oct, 2024
|
||||
#
|
||||
name: Power
|
||||
type: parsed
|
||||
@@ -5103,7 +5103,6 @@ protocol: NECext
|
||||
address: 78 0E 00 00
|
||||
command: 02 FD 00 00
|
||||
#
|
||||
# Model: Dutch Originals Sound Bar
|
||||
name: Prev
|
||||
type: parsed
|
||||
protocol: NEC
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
Filetype: IR library file
|
||||
Version: 1
|
||||
#Last Updated 27th Sept, 2024
|
||||
#Last Checked 27th Sept, 2024
|
||||
# Last Updated 5th Oct, 2024
|
||||
# Last Checked 5th Oct, 2024
|
||||
#
|
||||
name: Power
|
||||
type: raw
|
||||
|
||||
2938
applications/main/infrared/resources/infrared/assets/leds.ir
Normal file
@@ -1,7 +1,7 @@
|
||||
Filetype: IR library file
|
||||
Version: 1
|
||||
# Last Updated 27th Sept, 2024
|
||||
# Last Checked 27th Sept, 2024
|
||||
# Last Updated 5th Oct, 2024
|
||||
# Last Checked 5th Oct, 2024
|
||||
#
|
||||
# TEMP FIX FOR POWER: Power signals are duplicated, since projectors require second confirm to poweroff
|
||||
#
|
||||
@@ -149,7 +149,6 @@ type: parsed
|
||||
protocol: NEC
|
||||
address: 02 00 00 00
|
||||
command: 1D 00 00 00
|
||||
#
|
||||
# ON
|
||||
name: Power
|
||||
type: raw
|
||||
@@ -162,7 +161,6 @@ type: parsed
|
||||
protocol: NEC
|
||||
address: 02 00 00 00
|
||||
command: 1D 00 00 00
|
||||
#
|
||||
# ON
|
||||
name: Power
|
||||
type: raw
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
Filetype: IR library file
|
||||
Version: 1
|
||||
# Last Updated 27th Sept, 2024
|
||||
# Last Checked 27th Sept, 2024
|
||||
# Last Updated 5th Oct, 2024
|
||||
# Last Checked 5th Oct, 2024
|
||||
#
|
||||
name: Power
|
||||
type: parsed
|
||||
@@ -3678,16 +3678,12 @@ protocol: NECext
|
||||
address: 00 7F 00 00
|
||||
command: 5B A4 00 00
|
||||
#
|
||||
# Koro Box
|
||||
#
|
||||
name: Power
|
||||
type: parsed
|
||||
protocol: NEC
|
||||
address: 01 00 00 00
|
||||
command: 18 00 00 00
|
||||
#
|
||||
# TCL 75S451
|
||||
#
|
||||
name: Ch_next
|
||||
type: parsed
|
||||
protocol: NECext
|
||||
|
||||
@@ -16,13 +16,13 @@ ADD_SCENE(infrared, remote, Remote)
|
||||
ADD_SCENE(infrared, remote_list, RemoteList)
|
||||
ADD_SCENE(infrared, universal, Universal)
|
||||
ADD_SCENE(infrared, universal_tv, UniversalTV)
|
||||
ADD_SCENE(infrared, universal_monitor, UniversalMonitor)
|
||||
ADD_SCENE(infrared, universal_digital_sign, UniversalDigitalSign)
|
||||
ADD_SCENE(infrared, universal_projector, UniversalProjector)
|
||||
ADD_SCENE(infrared, universal_audio, UniversalAudio)
|
||||
ADD_SCENE(infrared, universal_led, UniversalLED)
|
||||
ADD_SCENE(infrared, universal_ac, UniversalAC)
|
||||
ADD_SCENE(infrared, universal_leds, UniversalLEDs)
|
||||
ADD_SCENE(infrared, universal_fan, UniversalFan)
|
||||
ADD_SCENE(infrared, universal_monitor, UniversalMonitor)
|
||||
ADD_SCENE(infrared, universal_digital_sign, UniversalDigitalSign)
|
||||
ADD_SCENE(infrared, gpio_settings, GpioSettings)
|
||||
ADD_SCENE(infrared, debug, Debug)
|
||||
ADD_SCENE(infrared, error_databases, ErrorDatabases)
|
||||
|
||||
@@ -5,10 +5,10 @@ typedef enum {
|
||||
SubmenuIndexUniversalProjector,
|
||||
SubmenuIndexUniversalAudio,
|
||||
SubmenuIndexUniversalAirConditioner,
|
||||
SubmenuIndexUniversalLEDs,
|
||||
SubmenuIndexUniversalFan,
|
||||
SubmenuIndexUniversalMonitor,
|
||||
SubmenuIndexUniversalDigitalSign,
|
||||
SubmenuIndexUniversalLED,
|
||||
} SubmenuIndex;
|
||||
|
||||
static void infrared_scene_universal_submenu_callback(void* context, uint32_t index) {
|
||||
@@ -48,6 +48,13 @@ void infrared_scene_universal_on_enter(void* context) {
|
||||
infrared_scene_universal_submenu_callback,
|
||||
context);
|
||||
|
||||
submenu_add_item(
|
||||
submenu,
|
||||
"LEDs",
|
||||
SubmenuIndexUniversalLEDs,
|
||||
infrared_scene_universal_submenu_callback,
|
||||
context);
|
||||
|
||||
submenu_add_item(
|
||||
submenu,
|
||||
"Fans",
|
||||
@@ -69,13 +76,6 @@ void infrared_scene_universal_on_enter(void* context) {
|
||||
infrared_scene_universal_submenu_callback,
|
||||
context);
|
||||
|
||||
submenu_add_item(
|
||||
submenu,
|
||||
"LEDs",
|
||||
SubmenuIndexUniversalLED,
|
||||
infrared_scene_universal_submenu_callback,
|
||||
context);
|
||||
|
||||
submenu_set_selected_item(
|
||||
submenu, scene_manager_get_scene_state(infrared->scene_manager, InfraredSceneUniversal));
|
||||
|
||||
@@ -100,6 +100,9 @@ bool infrared_scene_universal_on_event(void* context, SceneManagerEvent event) {
|
||||
} else if(event.event == SubmenuIndexUniversalAirConditioner) {
|
||||
scene_manager_next_scene(scene_manager, InfraredSceneUniversalAC);
|
||||
consumed = true;
|
||||
} else if(event.event == SubmenuIndexUniversalLEDs) {
|
||||
scene_manager_next_scene(scene_manager, InfraredSceneUniversalLEDs);
|
||||
consumed = true;
|
||||
} else if(event.event == SubmenuIndexUniversalFan) {
|
||||
scene_manager_next_scene(scene_manager, InfraredSceneUniversalFan);
|
||||
consumed = true;
|
||||
@@ -109,9 +112,6 @@ bool infrared_scene_universal_on_event(void* context, SceneManagerEvent event) {
|
||||
} else if(event.event == SubmenuIndexUniversalDigitalSign) {
|
||||
scene_manager_next_scene(scene_manager, InfraredSceneUniversalDigitalSign);
|
||||
consumed = true;
|
||||
} else if(event.event == SubmenuIndexUniversalLED) {
|
||||
scene_manager_next_scene(scene_manager, InfraredSceneUniversalLED);
|
||||
consumed = true;
|
||||
}
|
||||
scene_manager_set_scene_state(scene_manager, InfraredSceneUniversal, event.event);
|
||||
}
|
||||
|
||||
@@ -1,81 +0,0 @@
|
||||
#include "../infrared_app_i.h"
|
||||
|
||||
#include "common/infrared_scene_universal_common.h"
|
||||
|
||||
void infrared_scene_universal_led_on_enter(void* context) {
|
||||
InfraredApp* infrared = context;
|
||||
ButtonPanel* button_panel = infrared->button_panel;
|
||||
InfraredBruteForce* brute_force = infrared->brute_force;
|
||||
|
||||
infrared_brute_force_set_db_filename(brute_force, EXT_PATH("infrared/assets/led.ir"));
|
||||
|
||||
button_panel_reserve(button_panel, 2, 2);
|
||||
uint32_t i = 0;
|
||||
button_panel_add_item(
|
||||
button_panel,
|
||||
i,
|
||||
0,
|
||||
0,
|
||||
6,
|
||||
24,
|
||||
&I_power_19x20,
|
||||
&I_power_hover_19x20,
|
||||
infrared_scene_universal_common_item_callback,
|
||||
context);
|
||||
button_panel_add_icon(button_panel, 4, 46, &I_power_text_24x5);
|
||||
infrared_brute_force_add_record(brute_force, i++, "POWER");
|
||||
|
||||
button_panel_add_item(
|
||||
button_panel,
|
||||
i,
|
||||
1,
|
||||
0,
|
||||
37,
|
||||
21,
|
||||
&I_volup_24x21,
|
||||
&I_volup_hover_24x21,
|
||||
infrared_scene_universal_common_item_callback,
|
||||
context);
|
||||
infrared_brute_force_add_record(brute_force, i++, "BRIGHTNESS+");
|
||||
|
||||
button_panel_add_item(
|
||||
button_panel,
|
||||
i,
|
||||
1,
|
||||
1,
|
||||
37,
|
||||
55,
|
||||
&I_voldown_24x21,
|
||||
&I_voldown_hover_24x21,
|
||||
infrared_scene_universal_common_item_callback,
|
||||
context);
|
||||
infrared_brute_force_add_record(brute_force, i++, "BRIGHTNESS-");
|
||||
|
||||
button_panel_add_icon(button_panel, 34, 34, &I_bright_text_30x30);
|
||||
|
||||
button_panel_add_item(
|
||||
button_panel,
|
||||
i,
|
||||
0,
|
||||
1,
|
||||
6,
|
||||
53,
|
||||
&I_flash_19x20,
|
||||
&I_flash_hover_19x20,
|
||||
infrared_scene_universal_common_item_callback,
|
||||
context);
|
||||
button_panel_add_icon(button_panel, 6, 75, &I_flash_text_21x5);
|
||||
infrared_brute_force_add_record(brute_force, i++, "FLASH");
|
||||
|
||||
button_panel_add_label(button_panel, 21, 11, FontPrimary, "LEDs");
|
||||
|
||||
infrared_scene_universal_common_on_enter(context);
|
||||
}
|
||||
|
||||
bool infrared_scene_universal_led_on_event(void* context, SceneManagerEvent event) {
|
||||
return infrared_scene_universal_common_on_event(context, event);
|
||||
}
|
||||
|
||||
void infrared_scene_universal_led_on_exit(void* context) {
|
||||
infrared_scene_universal_common_on_exit(context);
|
||||
}
|
||||
@@ -0,0 +1,133 @@
|
||||
#include "../infrared_app_i.h"
|
||||
|
||||
#include "common/infrared_scene_universal_common.h"
|
||||
|
||||
void infrared_scene_universal_leds_on_enter(void* context) {
|
||||
InfraredApp* infrared = context;
|
||||
ButtonPanel* button_panel = infrared->button_panel;
|
||||
InfraredBruteForce* brute_force = infrared->brute_force;
|
||||
|
||||
// Button codes
|
||||
// Power_off, Power_on, Brightness_up, Brightness_dn, Red, Blue, Green, White
|
||||
|
||||
infrared_brute_force_set_db_filename(brute_force, EXT_PATH("infrared/assets/leds.ir"));
|
||||
|
||||
button_panel_reserve(button_panel, 2, 4);
|
||||
uint32_t i = 0;
|
||||
button_panel_add_item(
|
||||
button_panel,
|
||||
i,
|
||||
0,
|
||||
0,
|
||||
10,
|
||||
12,
|
||||
&I_power_19x20,
|
||||
&I_power_hover_19x20,
|
||||
infrared_scene_universal_common_item_callback,
|
||||
context);
|
||||
button_panel_add_icon(button_panel, 15, 34, &I_on_text_9x5);
|
||||
infrared_brute_force_add_record(brute_force, i++, "Power_on");
|
||||
|
||||
button_panel_add_item(
|
||||
button_panel,
|
||||
i,
|
||||
1,
|
||||
0,
|
||||
35,
|
||||
12,
|
||||
&I_off_19x20,
|
||||
&I_off_hover_19x20,
|
||||
infrared_scene_universal_common_item_callback,
|
||||
context);
|
||||
button_panel_add_icon(button_panel, 38, 34, &I_off_text_12x5);
|
||||
infrared_brute_force_add_record(brute_force, i++, "Power_off");
|
||||
|
||||
button_panel_add_item(
|
||||
button_panel,
|
||||
i,
|
||||
0,
|
||||
1,
|
||||
10,
|
||||
42,
|
||||
&I_plus_19x20,
|
||||
&I_plus_hover_19x20,
|
||||
infrared_scene_universal_common_item_callback,
|
||||
context);
|
||||
infrared_brute_force_add_record(brute_force, i++, "Brightness_up");
|
||||
|
||||
button_panel_add_item(
|
||||
button_panel,
|
||||
i,
|
||||
1,
|
||||
1,
|
||||
35,
|
||||
42,
|
||||
&I_minus_19x20,
|
||||
&I_minus_hover_19x20,
|
||||
infrared_scene_universal_common_item_callback,
|
||||
context);
|
||||
button_panel_add_icon(button_panel, 12, 64, &I_brightness_text_40x5);
|
||||
infrared_brute_force_add_record(brute_force, i++, "Brightness_dn");
|
||||
|
||||
button_panel_add_item(
|
||||
button_panel,
|
||||
i,
|
||||
0,
|
||||
2,
|
||||
10,
|
||||
74,
|
||||
&I_red_19x20,
|
||||
&I_red_hover_19x20,
|
||||
infrared_scene_universal_common_item_callback,
|
||||
context);
|
||||
infrared_brute_force_add_record(brute_force, i++, "Red");
|
||||
button_panel_add_item(
|
||||
button_panel,
|
||||
i,
|
||||
1,
|
||||
2,
|
||||
35,
|
||||
74,
|
||||
&I_green_19x20,
|
||||
&I_green_hover_19x20,
|
||||
infrared_scene_universal_common_item_callback,
|
||||
context);
|
||||
infrared_brute_force_add_record(brute_force, i++, "Green");
|
||||
button_panel_add_item(
|
||||
button_panel,
|
||||
i,
|
||||
0,
|
||||
3,
|
||||
10,
|
||||
99,
|
||||
&I_blue_19x20,
|
||||
&I_blue_hover_19x20,
|
||||
infrared_scene_universal_common_item_callback,
|
||||
context);
|
||||
infrared_brute_force_add_record(brute_force, i++, "Blue");
|
||||
button_panel_add_item(
|
||||
button_panel,
|
||||
i,
|
||||
1,
|
||||
3,
|
||||
35,
|
||||
99,
|
||||
&I_white_19x20,
|
||||
&I_white_hover_19x20,
|
||||
infrared_scene_universal_common_item_callback,
|
||||
context);
|
||||
button_panel_add_icon(button_panel, 19, 121, &I_color_text_24x5);
|
||||
infrared_brute_force_add_record(brute_force, i++, "White");
|
||||
|
||||
button_panel_add_label(button_panel, 20, 9, FontPrimary, "LEDs");
|
||||
|
||||
infrared_scene_universal_common_on_enter(context);
|
||||
}
|
||||
|
||||
bool infrared_scene_universal_leds_on_event(void* context, SceneManagerEvent event) {
|
||||
return infrared_scene_universal_common_on_event(context, event);
|
||||
}
|
||||
|
||||
void infrared_scene_universal_leds_on_exit(void* context) {
|
||||
infrared_scene_universal_common_on_exit(context);
|
||||
}
|
||||
BIN
assets/icons/Infrared/blue_19x20.png
Normal file
|
After Width: | Height: | Size: 202 B |
BIN
assets/icons/Infrared/blue_hover_19x20.png
Normal file
|
After Width: | Height: | Size: 186 B |
|
Before Width: | Height: | Size: 138 B |
BIN
assets/icons/Infrared/brightness_text_40x5.png
Normal file
|
After Width: | Height: | Size: 182 B |
BIN
assets/icons/Infrared/color_text_24x5.png
Normal file
|
After Width: | Height: | Size: 152 B |
|
Before Width: | Height: | Size: 124 B |
|
Before Width: | Height: | Size: 117 B |
|
Before Width: | Height: | Size: 85 B |
BIN
assets/icons/Infrared/green_19x20.png
Normal file
|
After Width: | Height: | Size: 214 B |
BIN
assets/icons/Infrared/green_hover_19x20.png
Normal file
|
After Width: | Height: | Size: 198 B |
BIN
assets/icons/Infrared/minus_19x20.png
Normal file
|
After Width: | Height: | Size: 168 B |
BIN
assets/icons/Infrared/minus_hover_19x20.png
Normal file
|
After Width: | Height: | Size: 151 B |
BIN
assets/icons/Infrared/on_text_9x5.png
Normal file
|
After Width: | Height: | Size: 121 B |
BIN
assets/icons/Infrared/plus_19x20.png
Normal file
|
After Width: | Height: | Size: 175 B |
BIN
assets/icons/Infrared/plus_hover_19x20.png
Normal file
|
After Width: | Height: | Size: 161 B |
BIN
assets/icons/Infrared/red_19x20.png
Normal file
|
After Width: | Height: | Size: 202 B |
BIN
assets/icons/Infrared/red_hover_19x20.png
Normal file
|
After Width: | Height: | Size: 196 B |
BIN
assets/icons/Infrared/white_19x20.png
Normal file
|
After Width: | Height: | Size: 210 B |
BIN
assets/icons/Infrared/white_hover_19x20.png
Normal file
|
After Width: | Height: | Size: 198 B |
@@ -4020,7 +4020,9 @@ Variable,+,I_arrow_nano_down,const Icon,
|
||||
Variable,+,I_arrow_nano_up,const Icon,
|
||||
Variable,+,I_back_10px,const Icon,
|
||||
Variable,+,I_badkb_10px,const Icon,
|
||||
Variable,+,I_bright_text_30x30,const Icon,
|
||||
Variable,+,I_blue_19x20,const Icon,
|
||||
Variable,+,I_blue_hover_19x20,const Icon,
|
||||
Variable,+,I_brightness_text_40x5,const Icon,
|
||||
Variable,+,I_celsius_24x23,const Icon,
|
||||
Variable,+,I_celsius_hover_24x23,const Icon,
|
||||
Variable,+,I_ch_down_24x21,const Icon,
|
||||
@@ -4029,6 +4031,7 @@ Variable,+,I_ch_text_31x34,const Icon,
|
||||
Variable,+,I_ch_up_24x21,const Icon,
|
||||
Variable,+,I_ch_up_hover_24x21,const Icon,
|
||||
Variable,+,I_check_big_20x17,const Icon,
|
||||
Variable,+,I_color_text_24x5,const Icon,
|
||||
Variable,+,I_cool_30x51,const Icon,
|
||||
Variable,+,I_dir_10px,const Icon,
|
||||
Variable,+,I_dolph_cry_49x54,const Icon,
|
||||
@@ -4049,10 +4052,9 @@ Variable,+,I_exit_text_18x5,const Icon,
|
||||
Variable,+,I_fahren_24x23,const Icon,
|
||||
Variable,+,I_fahren_hover_24x23,const Icon,
|
||||
Variable,+,I_file_10px,const Icon,
|
||||
Variable,+,I_flash_19x20,const Icon,
|
||||
Variable,+,I_flash_hover_19x20,const Icon,
|
||||
Variable,+,I_flash_text_21x5,const Icon,
|
||||
Variable,+,I_floppydisk_10px,const Icon,
|
||||
Variable,+,I_green_19x20,const Icon,
|
||||
Variable,+,I_green_hover_19x20,const Icon,
|
||||
Variable,+,I_heat_30x51,const Icon,
|
||||
Variable,+,I_hourglass0_24x24,const Icon,
|
||||
Variable,+,I_hourglass1_24x24,const Icon,
|
||||
@@ -4076,6 +4078,8 @@ Variable,+,I_mag_card_10px,const Icon,
|
||||
Variable,+,I_max_24x23,const Icon,
|
||||
Variable,+,I_max_hover_24x23,const Icon,
|
||||
Variable,+,I_menu_text_20x5,const Icon,
|
||||
Variable,+,I_minus_19x20,const Icon,
|
||||
Variable,+,I_minus_hover_19x20,const Icon,
|
||||
Variable,+,I_mode_19x20,const Icon,
|
||||
Variable,+,I_mode_hover_19x20,const Icon,
|
||||
Variable,+,I_mode_text_20x5,const Icon,
|
||||
@@ -4089,6 +4093,7 @@ Variable,+,I_next_text_19x6,const Icon,
|
||||
Variable,+,I_off_19x20,const Icon,
|
||||
Variable,+,I_off_hover_19x20,const Icon,
|
||||
Variable,+,I_off_text_12x5,const Icon,
|
||||
Variable,+,I_on_text_9x5,const Icon,
|
||||
Variable,+,I_passport_128x64,const Icon,
|
||||
Variable,+,I_passport_bad_46x49,const Icon,
|
||||
Variable,+,I_passport_happy_46x49,const Icon,
|
||||
@@ -4099,6 +4104,8 @@ Variable,+,I_pause_text_23x5,const Icon,
|
||||
Variable,+,I_play_19x20,const Icon,
|
||||
Variable,+,I_play_hover_19x20,const Icon,
|
||||
Variable,+,I_play_text_19x5,const Icon,
|
||||
Variable,+,I_plus_19x20,const Icon,
|
||||
Variable,+,I_plus_hover_19x20,const Icon,
|
||||
Variable,+,I_power_19x20,const Icon,
|
||||
Variable,+,I_power_hover_19x20,const Icon,
|
||||
Variable,+,I_power_text_24x5,const Icon,
|
||||
@@ -4106,6 +4113,8 @@ Variable,+,I_prev_19x20,const Icon,
|
||||
Variable,+,I_prev_hover_19x20,const Icon,
|
||||
Variable,+,I_prev_text_19x5,const Icon,
|
||||
Variable,+,I_qr_benchmark_25x25,const Icon,
|
||||
Variable,+,I_red_19x20,const Icon,
|
||||
Variable,+,I_red_hover_19x20,const Icon,
|
||||
Variable,+,I_rotate_19x20,const Icon,
|
||||
Variable,+,I_rotate_hover_19x20,const Icon,
|
||||
Variable,+,I_rotate_text_24x5,const Icon,
|
||||
@@ -4129,6 +4138,8 @@ Variable,+,I_voldown_24x21,const Icon,
|
||||
Variable,+,I_voldown_hover_24x21,const Icon,
|
||||
Variable,+,I_volup_24x21,const Icon,
|
||||
Variable,+,I_volup_hover_24x21,const Icon,
|
||||
Variable,+,I_white_19x20,const Icon,
|
||||
Variable,+,I_white_hover_19x20,const Icon,
|
||||
Variable,-,MSIRangeTable,const uint32_t[16],
|
||||
Variable,-,SmpsPrescalerTable,const uint32_t[4][6],
|
||||
Variable,+,SystemCoreClock,uint32_t,
|
||||
|
||||
|