format and update changelog

This commit is contained in:
MX 2022-09-08 18:24:25 +03:00
parent 4ea5dc4b5a
commit 0cabefbc24
No known key found for this signature in database
GPG key ID: 6C4C311DFD4B4AB5
8 changed files with 49 additions and 37 deletions

View file

@ -1,6 +1,7 @@
### New changes ### New changes
* Add SubGhz Bruteforce plugin (by @Ganapati & @xMasterX) (PR #57) - saving functionality and many fixes by @xMasterX * Add SubGhz Bruteforce plugin (by @Ganapati & @xMasterX) (PR #57) - saving functionality and many fixes by @xMasterX
* GUI Changes to LFRFID Fuzzer * GUI Changes to LFRFID Fuzzer
* New Battery info (from @theeogflip) (PR #60)
* NRFSniff: Adds unique count display (by @Graf3x) (PR #56) * NRFSniff: Adds unique count display (by @Graf3x) (PR #56)
* Updated universal remote assets (by @Amec0e) * Updated universal remote assets (by @Amec0e)
* OFW: SubGhz: fix decoder keeloq * OFW: SubGhz: fix decoder keeloq

View file

@ -7,7 +7,7 @@
### Welcome to Flipper Zero Unleashed Firmware repo! ### Welcome to Flipper Zero Unleashed Firmware repo!
Our goal is to make any features possible in this device without any limitations! Our goal is to make any features possible in this device without any limitations!
Please help us implement emulation for all subghz dynamic (rolling code) protocols and static code brute-force plugin! Please help us implement emulation for all subghz dynamic (rolling code) protocols!
<br> <br>
@ -27,6 +27,8 @@ Our Discord Community:
* SubGHz frequecy range can be extended in settings file (Warning: It can damage flipper's hardware) * SubGHz frequecy range can be extended in settings file (Warning: It can damage flipper's hardware)
* Many rolling code protocols now have the ability to save & send captured signals * Many rolling code protocols now have the ability to save & send captured signals
* FAAC SLH (Spa) & BFT Mitto (secure with seed) manual creation * FAAC SLH (Spa) & BFT Mitto (secure with seed) manual creation
* Sub-GHz static code brute-force plugin
* LFRFID Fuzzer plugin
* Custom community plugins and games added * Custom community plugins and games added
* Extra SubGHz frequencies + extra Mifare Classic keys * Extra SubGHz frequencies + extra Mifare Classic keys
* Picopass/iClass plugin included in releases * Picopass/iClass plugin included in releases
@ -57,6 +59,8 @@ See changelog in releases for latest updates!
### Community apps included: ### Community apps included:
- RFID Fuzzer plugin [(by Ganapati)](https://github.com/Eng1n33r/flipperzero-firmware/pull/54) with some changes by xMasterX
- Sub-GHz bruteforce plugin [(by Ganapati & xMasterX)](https://github.com/Eng1n33r/flipperzero-firmware/pull/57)
- ESP8266 Deauther plugin [(by SequoiaSan)](https://github.com/SequoiaSan/FlipperZero-Wifi-ESP8266-Deauther-Module) - ESP8266 Deauther plugin [(by SequoiaSan)](https://github.com/SequoiaSan/FlipperZero-Wifi-ESP8266-Deauther-Module)
- WiFi Scanner plugin [(by SequoiaSan)](https://github.com/SequoiaSan/FlipperZero-WiFi-Scanner_Module) - WiFi Scanner plugin [(by SequoiaSan)](https://github.com/SequoiaSan/FlipperZero-WiFi-Scanner_Module)
- MultiConverter plugin [(by theisolinearchip)](https://github.com/theisolinearchip/flipperzero_stuff) - MultiConverter plugin [(by theisolinearchip)](https://github.com/theisolinearchip/flipperzero_stuff)

View file

@ -46,5 +46,5 @@ typedef struct {
PinCode pin_code; PinCode pin_code;
uint8_t is_locked; uint8_t is_locked;
uint32_t auto_lock_delay_ms; uint32_t auto_lock_delay_ms;
uint8_t displayBatteryPercentage; uint8_t displayBatteryPercentage;
} DesktopSettings; } DesktopSettings;

View file

@ -30,10 +30,10 @@ const uint32_t auto_lock_delay_value[AUTO_LOCK_DELAY_COUNT] =
const char* const battery_view_count_text[BATTERY_VIEW_COUNT] = { const char* const battery_view_count_text[BATTERY_VIEW_COUNT] = {
"Bar", "Bar",
"%", "%",
"Inv. %", "Inv. %",
"Retro 3", "Retro 3",
"Retro 5", "Retro 5",
}; };
const uint32_t displayBatteryPercentage_value[BATTERY_VIEW_COUNT] = {0, 1, 2, 3, 4}; const uint32_t displayBatteryPercentage_value[BATTERY_VIEW_COUNT] = {0, 1, 2, 3, 4};
@ -41,7 +41,6 @@ const uint32_t displayBatteryPercentage_value[BATTERY_VIEW_COUNT] = {0, 1, 2, 3,
static void desktop_settings_scene_start_var_list_enter_callback(void* context, uint32_t index) { static void desktop_settings_scene_start_var_list_enter_callback(void* context, uint32_t index) {
DesktopSettingsApp* app = context; DesktopSettingsApp* app = context;
view_dispatcher_send_custom_event(app->view_dispatcher, index); view_dispatcher_send_custom_event(app->view_dispatcher, index);
} }
static void desktop_settings_scene_start_battery_view_changed(VariableItem* item) { static void desktop_settings_scene_start_battery_view_changed(VariableItem* item) {
@ -86,20 +85,20 @@ void desktop_settings_scene_start_on_enter(void* context) {
app->settings.auto_lock_delay_ms, auto_lock_delay_value, AUTO_LOCK_DELAY_COUNT); app->settings.auto_lock_delay_ms, auto_lock_delay_value, AUTO_LOCK_DELAY_COUNT);
variable_item_set_current_value_index(item, value_index); variable_item_set_current_value_index(item, value_index);
variable_item_set_current_value_text(item, auto_lock_delay_text[value_index]); variable_item_set_current_value_text(item, auto_lock_delay_text[value_index]);
item = variable_item_list_add(
variable_item_list,
"Battery View",
BATTERY_VIEW_COUNT,
desktop_settings_scene_start_battery_view_changed,
app);
value_index = value_index_uint32( item = variable_item_list_add(
app->settings.displayBatteryPercentage, variable_item_list,
displayBatteryPercentage_value, "Battery View",
BATTERY_VIEW_COUNT); BATTERY_VIEW_COUNT,
variable_item_set_current_value_index(item, value_index); desktop_settings_scene_start_battery_view_changed,
variable_item_set_current_value_text(item, battery_view_count_text[value_index]); app);
value_index = value_index_uint32(
app->settings.displayBatteryPercentage,
displayBatteryPercentage_value,
BATTERY_VIEW_COUNT);
variable_item_set_current_value_index(item, value_index);
variable_item_set_current_value_text(item, battery_view_count_text[value_index]);
view_dispatcher_switch_to_view(app->view_dispatcher, DesktopSettingsAppViewVarItemList); view_dispatcher_switch_to_view(app->view_dispatcher, DesktopSettingsAppViewVarItemList);
} }
@ -127,9 +126,9 @@ bool desktop_settings_scene_start_on_event(void* context, SceneManagerEvent even
case SCENE_EVENT_SELECT_AUTO_LOCK_DELAY: case SCENE_EVENT_SELECT_AUTO_LOCK_DELAY:
consumed = true; consumed = true;
break; break;
case SCENE_EVENT_SELECT_BATTERY_DISPLAY: case SCENE_EVENT_SELECT_BATTERY_DISPLAY:
consumed = true; consumed = true;
break; break;
} }
} }
return consumed; return consumed;

View file

@ -12,7 +12,7 @@ const CanvasFontParameters canvas_font_params[FontTotalNumber] = {
[FontSecondary] = {.leading_default = 11, .leading_min = 9, .height = 7, .descender = 2}, [FontSecondary] = {.leading_default = 11, .leading_min = 9, .height = 7, .descender = 2},
[FontKeyboard] = {.leading_default = 11, .leading_min = 9, .height = 7, .descender = 2}, [FontKeyboard] = {.leading_default = 11, .leading_min = 9, .height = 7, .descender = 2},
[FontBigNumbers] = {.leading_default = 18, .leading_min = 16, .height = 15, .descender = 0}, [FontBigNumbers] = {.leading_default = 18, .leading_min = 16, .height = 15, .descender = 0},
[FontBatteryPercent] = {.leading_default = 11, .leading_min = 9, .height = 6, .descender = 0}, [FontBatteryPercent] = {.leading_default = 11, .leading_min = 9, .height = 6, .descender = 0},
}; };
Canvas* canvas_init() { Canvas* canvas_init() {

View file

@ -25,8 +25,8 @@ typedef enum {
FontSecondary, FontSecondary,
FontKeyboard, FontKeyboard,
FontBigNumbers, FontBigNumbers,
FontBatteryPercent, FontBatteryPercent,
// Keep last for fonts number calculation // Keep last for fonts number calculation
FontTotalNumber, FontTotalNumber,
} Font; } Font;

View file

@ -15,32 +15,40 @@ void power_draw_battery_callback(Canvas* canvas, void* context) {
canvas_draw_icon(canvas, 0, 0, &I_Battery_26x8); canvas_draw_icon(canvas, 0, 0, &I_Battery_26x8);
if(power->info.gauge_is_ok) { if(power->info.gauge_is_ok) {
char batteryPercentile[5]; char batteryPercentile[5];
snprintf(batteryPercentile, sizeof(batteryPercentile), "%d", power->info.charge); snprintf(batteryPercentile, sizeof(batteryPercentile), "%d", power->info.charge);
strcat(batteryPercentile, "%"); strcat(batteryPercentile, "%");
if((power->displayBatteryPercentage == 1) && (power->state != PowerStateCharging)) { //if display battery percentage, black background white text if((power->displayBatteryPercentage == 1) &&
(power->state !=
PowerStateCharging)) { //if display battery percentage, black background white text
canvas_set_font(canvas, FontBatteryPercent); canvas_set_font(canvas, FontBatteryPercent);
canvas_set_color(canvas, ColorBlack); canvas_set_color(canvas, ColorBlack);
canvas_draw_box(canvas, 1, 1, 22, 6); canvas_draw_box(canvas, 1, 1, 22, 6);
canvas_set_color(canvas, ColorWhite); canvas_set_color(canvas, ColorWhite);
canvas_draw_str_aligned(canvas, 12, 4, AlignCenter, AlignCenter, batteryPercentile); canvas_draw_str_aligned(canvas, 12, 4, AlignCenter, AlignCenter, batteryPercentile);
} else if((power->displayBatteryPercentage == 2) && (power->state != PowerStateCharging)) { //if display inverted percentage, white background black text } else if(
(power->displayBatteryPercentage == 2) &&
(power->state !=
PowerStateCharging)) { //if display inverted percentage, white background black text
canvas_set_font(canvas, FontBatteryPercent); canvas_set_font(canvas, FontBatteryPercent);
canvas_set_color(canvas, ColorBlack); canvas_set_color(canvas, ColorBlack);
canvas_draw_str_aligned(canvas, 12, 4, AlignCenter, AlignCenter, batteryPercentile); canvas_draw_str_aligned(canvas, 12, 4, AlignCenter, AlignCenter, batteryPercentile);
} else if((power->displayBatteryPercentage == 3) && (power->state != PowerStateCharging)) { //Retro style segmented display, 3 parts } else if(
(power->displayBatteryPercentage == 3) &&
(power->state != PowerStateCharging)) { //Retro style segmented display, 3 parts
if(power->info.charge > 25) { if(power->info.charge > 25) {
canvas_draw_box(canvas, 2, 2, 6, 4); canvas_draw_box(canvas, 2, 2, 6, 4);
} }
if(power->info.charge > 50) { if(power->info.charge > 50) {
canvas_draw_box(canvas, 9, 2, 6, 4); canvas_draw_box(canvas, 9, 2, 6, 4);
} }
if(power->info.charge > 75) { if(power->info.charge > 75) {
canvas_draw_box(canvas, 16, 2, 6, 4); canvas_draw_box(canvas, 16, 2, 6, 4);
} }
} else if((power->displayBatteryPercentage == 4) && (power->state != PowerStateCharging)) { //Retro style segmented display, 5 parts } else if(
(power->displayBatteryPercentage == 4) &&
(power->state != PowerStateCharging)) { //Retro style segmented display, 5 parts
if(power->info.charge > 10) { if(power->info.charge > 10) {
canvas_draw_box(canvas, 2, 2, 3, 4); canvas_draw_box(canvas, 2, 2, 3, 4);
} }
@ -59,7 +67,7 @@ void power_draw_battery_callback(Canvas* canvas, void* context) {
} else { //default bar display, added here to serve as fallback/default behaviour. } else { //default bar display, added here to serve as fallback/default behaviour.
canvas_draw_box(canvas, 2, 2, (power->info.charge + 4) / 5, 4); canvas_draw_box(canvas, 2, 2, (power->info.charge + 4) / 5, 4);
} }
if(power->state == PowerStateCharging) { if(power->state == PowerStateCharging) {
canvas_set_bitmap_mode(canvas, 1); canvas_set_bitmap_mode(canvas, 1);
canvas_set_color(canvas, ColorWhite); canvas_set_color(canvas, ColorWhite);
@ -251,7 +259,7 @@ int32_t power_srv(void* p) {
Power* power = power_alloc(); Power* power = power_alloc();
power_update_info(power); power_update_info(power);
furi_record_create(RECORD_POWER, power); furi_record_create(RECORD_POWER, power);
DesktopSettings* settings = malloc(sizeof(DesktopSettings)); DesktopSettings* settings = malloc(sizeof(DesktopSettings));
LOAD_DESKTOP_SETTINGS(settings); LOAD_DESKTOP_SETTINGS(settings);
power->displayBatteryPercentage = settings->displayBatteryPercentage; power->displayBatteryPercentage = settings->displayBatteryPercentage;

View file

@ -36,7 +36,7 @@ struct Power {
bool battery_low; bool battery_low;
bool show_low_bat_level_message; bool show_low_bat_level_message;
uint8_t displayBatteryPercentage; uint8_t displayBatteryPercentage;
uint8_t battery_level; uint8_t battery_level;
uint8_t power_off_timeout; uint8_t power_off_timeout;