fmt updates and build update

This commit is contained in:
RogueMaster
2022-11-22 14:38:29 -05:00
parent 74020a8beb
commit 005a11f46d
4 changed files with 224 additions and 234 deletions

View File

@@ -34,34 +34,33 @@ typedef struct {
static void draw_callback(Canvas* canvas, void* ctx) { static void draw_callback(Canvas* canvas, void* ctx) {
UNUSED(ctx); UNUSED(ctx);
char temp_str[36]; char temp_str[36];
canvas_clear(canvas); canvas_clear(canvas);
canvas_set_font(canvas, FontPrimary); canvas_set_font(canvas, FontPrimary);
switch (Count) { switch(Count) {
case -1: case -1:
snprintf(temp_str,sizeof(temp_str),"Set: BULB %i sec",Time); snprintf(temp_str, sizeof(temp_str), "Set: BULB %i sec", Time);
break; break;
case 0: case 0:
snprintf(temp_str,sizeof(temp_str),"Set: infinite, %i sec",Time); snprintf(temp_str, sizeof(temp_str), "Set: infinite, %i sec", Time);
break; break;
default: default:
snprintf(temp_str,sizeof(temp_str),"Set: %i frames, %i sec",Count,Time); snprintf(temp_str, sizeof(temp_str), "Set: %i frames, %i sec", Count, Time);
} }
canvas_draw_str(canvas, 3, 15, temp_str); canvas_draw_str(canvas, 3, 15, temp_str);
snprintf(temp_str,sizeof(temp_str),"Left: %i frames, %i sec",WorkCount,WorkTime); snprintf(temp_str, sizeof(temp_str), "Left: %i frames, %i sec", WorkCount, WorkTime);
canvas_draw_str(canvas, 3, 35, temp_str); canvas_draw_str(canvas, 3, 35, temp_str);
switch (Backlight) {
case 1:
canvas_draw_str(canvas, 3, 55, "Backlight: ON");
break;
case 2:
canvas_draw_str(canvas, 3, 55, "Backlight: OFF");
break;
default:
canvas_draw_str(canvas, 3, 55, "Backlight: AUTO");
}
switch(Backlight) {
case 1:
canvas_draw_str(canvas, 3, 55, "Backlight: ON");
break;
case 2:
canvas_draw_str(canvas, 3, 55, "Backlight: OFF");
break;
default:
canvas_draw_str(canvas, 3, 55, "Backlight: AUTO");
}
} }
static void input_callback(InputEvent* input_event, void* ctx) { static void input_callback(InputEvent* input_event, void* ctx) {
@@ -102,8 +101,8 @@ int32_t zeitraffer_app(void* p) {
// Подключаем view port к GUI в полноэкранном режиме // Подключаем view port к GUI в полноэкранном режиме
gui_add_view_port(gui, view_port, GuiLayerFullscreen); gui_add_view_port(gui, view_port, GuiLayerFullscreen);
// Конфигурим пины // Конфигурим пины
gpio_item_configure_all_pins(GpioModeOutputPushPull); gpio_item_configure_all_pins(GpioModeOutputPushPull);
// Создаем периодический таймер с коллбэком, куда в качестве // Создаем периодический таймер с коллбэком, куда в качестве
// контекста будет передаваться наша очередь событий // контекста будет передаваться наша очередь событий
@@ -120,214 +119,196 @@ int32_t zeitraffer_app(void* p) {
// и проверяем, что у нас получилось это сделать // и проверяем, что у нас получилось это сделать
furi_check(furi_message_queue_get(event_queue, &event, FuriWaitForever) == FuriStatusOk); furi_check(furi_message_queue_get(event_queue, &event, FuriWaitForever) == FuriStatusOk);
// Наше событие — это нажатие кнопки // Наше событие — это нажатие кнопки
if(event.type == EventTypeInput) { if(event.type == EventTypeInput) {
if(event.input.type == InputTypeShort) { // Короткие нажатия if(event.input.type == InputTypeShort) { // Короткие нажатия
if(event.input.key == InputKeyBack) { if(event.input.key == InputKeyBack) {
if(furi_timer_is_running(timer)) { // Если таймер запущен - нефиг мацать кнопки! if(furi_timer_is_running(
notification_message(notifications, &sequence_error); timer)) { // Если таймер запущен - нефиг мацать кнопки!
} notification_message(notifications, &sequence_error);
else { } else {
WorkCount = Count; WorkCount = Count;
WorkTime = 3; WorkTime = 3;
if (Count == 0) { if(Count == 0) {
InfiniteShot = true; InfiniteShot = true;
WorkCount = 1; WorkCount = 1;
} } else
else InfiniteShot = false;
InfiniteShot = false;
notification_message(notifications, &sequence_success); notification_message(notifications, &sequence_success);
} }
} }
if(event.input.key == InputKeyRight) { if(event.input.key == InputKeyRight) {
if(furi_timer_is_running(timer)) { if(furi_timer_is_running(timer)) {
notification_message(notifications, &sequence_error); notification_message(notifications, &sequence_error);
} } else {
else { Count++;
Count++; notification_message(notifications, &sequence_click);
notification_message(notifications, &sequence_click); }
} }
} if(event.input.key == InputKeyLeft) {
if(event.input.key == InputKeyLeft) { if(furi_timer_is_running(timer)) {
if(furi_timer_is_running(timer)) { notification_message(notifications, &sequence_error);
notification_message(notifications, &sequence_error); } else {
} Count--;
else { notification_message(notifications, &sequence_click);
Count--; }
notification_message(notifications, &sequence_click); }
} if(event.input.key == InputKeyUp) {
} if(furi_timer_is_running(timer)) {
if(event.input.key == InputKeyUp) { notification_message(notifications, &sequence_error);
if(furi_timer_is_running(timer)) { } else {
notification_message(notifications, &sequence_error); Time++;
} notification_message(notifications, &sequence_click);
else { }
Time++; }
notification_message(notifications, &sequence_click); if(event.input.key == InputKeyDown) {
} if(furi_timer_is_running(timer)) {
} notification_message(notifications, &sequence_error);
if(event.input.key == InputKeyDown) { } else {
if(furi_timer_is_running(timer)) { Time--;
notification_message(notifications, &sequence_error); notification_message(notifications, &sequence_click);
} }
else { }
Time--; if(event.input.key == InputKeyOk) {
notification_message(notifications, &sequence_click); if(furi_timer_is_running(timer)) {
} notification_message(notifications, &sequence_click);
} furi_timer_stop(timer);
if(event.input.key == InputKeyOk) { } else {
furi_timer_start(timer, 1000);
if(furi_timer_is_running(timer)) { if(WorkCount == 0) WorkCount = Count;
notification_message(notifications, &sequence_click);
furi_timer_stop(timer);
}
else {
furi_timer_start(timer, 1000);
if (WorkCount == 0) if(WorkTime == 0) WorkTime = 3;
WorkCount = Count;
if (WorkTime == 0) if(Count == 0) {
WorkTime = 3; InfiniteShot = true;
WorkCount = 1;
} else
InfiniteShot = false;
if (Count == 0) { if(Count == -1) {
InfiniteShot = true; gpio_item_set_pin(4, true);
WorkCount = 1; gpio_item_set_pin(5, true);
} Bulb = true;
else WorkCount = 1;
InfiniteShot = false; WorkTime = Time;
} else
Bulb = false;
if (Count == -1) { notification_message(notifications, &sequence_success);
gpio_item_set_pin(4, true); }
gpio_item_set_pin(5, true); }
Bulb = true; }
WorkCount = 1; if(event.input.type == InputTypeLong) { // Длинные нажатия
WorkTime = Time; // Если нажата кнопка "назад", то выходим из цикла, а следовательно и из приложения
} if(event.input.key == InputKeyBack) {
else if(furi_timer_is_running(timer)) { // А если работает таймер - не выходим :D
Bulb = false; notification_message(notifications, &sequence_error);
} else {
notification_message(notifications, &sequence_click);
gpio_item_set_all_pins(false);
furi_timer_stop(timer);
notification_message(
notifications, &sequence_display_backlight_enforce_auto);
break;
}
}
if(event.input.key == InputKeyOk) {
// Нам ваша подсветка и нахой не нужна! Или нужна?
Backlight++;
if(Backlight > 2) Backlight = 0;
}
}
notification_message(notifications, &sequence_success); if(event.input.type == InputTypeRepeat) { // Зажатые кнопки
} if(event.input.key == InputKeyRight) {
} if(furi_timer_is_running(timer)) {
} notification_message(notifications, &sequence_error);
if(event.input.type == InputTypeLong) { // Длинные нажатия } else {
// Если нажата кнопка "назад", то выходим из цикла, а следовательно и из приложения Count = Count + 10;
if(event.input.key == InputKeyBack) { }
if(furi_timer_is_running(timer)) { // А если работает таймер - не выходим :D }
notification_message(notifications, &sequence_error); if(event.input.key == InputKeyLeft) {
} if(furi_timer_is_running(timer)) {
else { notification_message(notifications, &sequence_error);
notification_message(notifications, &sequence_click); } else {
gpio_item_set_all_pins(false); Count = Count - 10;
furi_timer_stop(timer); }
notification_message(notifications, &sequence_display_backlight_enforce_auto); }
break; if(event.input.key == InputKeyUp) {
} if(furi_timer_is_running(timer)) {
} notification_message(notifications, &sequence_error);
if(event.input.key == InputKeyOk) { } else {
// Нам ваша подсветка и нахой не нужна! Или нужна? Time = Time + 10;
Backlight++; }
if (Backlight > 2) Backlight = 0; }
} if(event.input.key == InputKeyDown) {
if(furi_timer_is_running(timer)) {
} notification_message(notifications, &sequence_error);
} else {
if(event.input.type == InputTypeRepeat) { // Зажатые кнопки Time = Time - 10;
if(event.input.key == InputKeyRight) { }
if(furi_timer_is_running(timer)) { }
notification_message(notifications, &sequence_error); }
}
else {
Count = Count+10;
}
}
if(event.input.key == InputKeyLeft) {
if(furi_timer_is_running(timer)) {
notification_message(notifications, &sequence_error);
}
else {
Count = Count-10;
}
}
if(event.input.key == InputKeyUp) {
if(furi_timer_is_running(timer)) {
notification_message(notifications, &sequence_error);
}
else {
Time = Time+10;
}
}
if(event.input.key == InputKeyDown) {
if(furi_timer_is_running(timer)) {
notification_message(notifications, &sequence_error);
}
else {
Time = Time-10;
}
}
}
} }
// Наше событие — это сработавший таймер // Наше событие — это сработавший таймер
else if(event.type == EventTypeTick) { else if(event.type == EventTypeTick) {
WorkTime--;
WorkTime--; if(WorkTime < 1) { // фоткаем
notification_message(notifications, &sequence_blink_white_100);
if(Bulb) {
gpio_item_set_all_pins(false);
WorkCount = 0;
} else {
WorkCount--;
view_port_update(view_port);
notification_message(notifications, &sequence_click);
// Дрыгаем ногами
//gpio_item_set_all_pins(true);
gpio_item_set_pin(4, true);
gpio_item_set_pin(5, true);
furi_delay_ms(400); // На короткие нажатия фотик плохо реагирует
gpio_item_set_pin(4, false);
gpio_item_set_pin(5, false);
//gpio_item_set_all_pins(false);
if( WorkTime < 1 ) { // фоткаем if(InfiniteShot) WorkCount++;
notification_message(notifications, &sequence_blink_white_100);
if (Bulb) {
gpio_item_set_all_pins(false); WorkCount = 0;
}
else {
WorkCount--;
view_port_update(view_port);
notification_message(notifications, &sequence_click);
// Дрыгаем ногами
//gpio_item_set_all_pins(true);
gpio_item_set_pin(4, true);
gpio_item_set_pin(5, true);
furi_delay_ms(400); // На короткие нажатия фотик плохо реагирует
gpio_item_set_pin(4, false);
gpio_item_set_pin(5, false);
//gpio_item_set_all_pins(false);
if (InfiniteShot) WorkCount++; WorkTime = Time;
view_port_update(view_port);
}
} else {
// Отправляем нотификацию мигания синим светодиодом
notification_message(notifications, &sequence_blink_blue_100);
}
WorkTime = Time; if(WorkCount < 1) { // закончили
view_port_update(view_port); gpio_item_set_all_pins(false);
} furi_timer_stop(timer);
} notification_message(notifications, &sequence_audiovisual_alert);
else { WorkTime = 3;
// Отправляем нотификацию мигания синим светодиодом WorkCount = 0;
notification_message(notifications, &sequence_blink_blue_100); }
}
if( WorkCount < 1 ) { // закончили
gpio_item_set_all_pins(false);
furi_timer_stop(timer);
notification_message(notifications, &sequence_audiovisual_alert);
WorkTime = 3;
WorkCount = 0;
}
switch (Backlight) { // чо по подсветке?
case 1:
notification_message(notifications, &sequence_display_backlight_on);
break;
case 2:
notification_message(notifications, &sequence_display_backlight_off);
break;
default:
notification_message(notifications, &sequence_display_backlight_enforce_auto);
}
switch(Backlight) { // чо по подсветке?
case 1:
notification_message(notifications, &sequence_display_backlight_on);
break;
case 2:
notification_message(notifications, &sequence_display_backlight_off);
break;
default:
notification_message(notifications, &sequence_display_backlight_enforce_auto);
}
} }
if (Time < 1) Time = 1; // Не даём открутить таймер меньше единицы if(Time < 1) Time = 1; // Не даём открутить таймер меньше единицы
if (Count < -1) Count = 0; // А тут даём, бо 0 кадров это бесконечная съёмка, а -1 кадров - BULB if(Count < -1)
} Count = 0; // А тут даём, бо 0 кадров это бесконечная съёмка, а -1 кадров - BULB
}
// Очищаем таймер // Очищаем таймер
furi_timer_free(timer); furi_timer_free(timer);

View File

@@ -86,9 +86,9 @@ int32_t usb_hid_autofire_app(void* p) {
if(btn_left_autofire) { if(btn_left_autofire) {
furi_hal_hid_mouse_press(HID_MOUSE_BTN_LEFT); furi_hal_hid_mouse_press(HID_MOUSE_BTN_LEFT);
// wait(100); // wait(100);
furi_hal_hid_mouse_release(HID_MOUSE_BTN_LEFT); furi_hal_hid_mouse_release(HID_MOUSE_BTN_LEFT);
// wait(100); // wait(100);
} }
view_port_update(view_port); view_port_update(view_port);

View File

@@ -60,7 +60,15 @@ const WifiMarauderItem items[NUM_MENU_ITEMS] = {
{"Sniff", {"Sniff",
{"beacon", "deauth", "esp", "pmkid", "probe", "pwn", "raw", "bt", "skim"}, {"beacon", "deauth", "esp", "pmkid", "probe", "pwn", "raw", "bt", "skim"},
9, 9,
{"sniffbeacon", "sniffdeauth", "sniffesp", "sniffpmkid", "sniffprobe", "sniffpwn", "sniffraw", "sniffbt", "sniffskim"}, {"sniffbeacon",
"sniffdeauth",
"sniffesp",
"sniffpmkid",
"sniffprobe",
"sniffpwn",
"sniffraw",
"sniffbt",
"sniffskim"},
NO_ARGS, NO_ARGS,
FOCUS_CONSOLE_END, FOCUS_CONSOLE_END,
SHOW_STOPSCAN_TIP}, SHOW_STOPSCAN_TIP},

View File

@@ -1,3 +1,4 @@
rm -rf RM*-*-*.tgz RM*-*-*.zip .sconsign.dblite dist build assets/resources/apps
git pull git pull
./fbt updater_package ./fbt updater_package
DATE_VAR=`date +%m%d` DATE_VAR=`date +%m%d`