mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-06-12 19:43:33 -07:00
fix twice button press in manual mode
This commit is contained in:
@@ -157,10 +157,16 @@ bool subbrute_worker_can_transmit(SubBruteWorker* instance) {
|
||||
return (furi_get_tick() - instance->last_time_tx_data) > SUBBRUTE_SEND_DELAY;
|
||||
}
|
||||
|
||||
bool subbrute_worker_can_manual_transmit(SubBruteWorker* instance) {
|
||||
bool subbrute_worker_can_manual_transmit(SubBruteWorker* instance, bool is_button_pressed) {
|
||||
furi_assert(instance);
|
||||
|
||||
return !instance->worker_manual_mode;
|
||||
if(is_button_pressed) {
|
||||
// It's human pressed, trying to reset twice pressing
|
||||
return !instance->worker_manual_mode &&
|
||||
(furi_get_tick() - instance->last_time_tx_data) > 500;
|
||||
} else {
|
||||
return !instance->worker_manual_mode;
|
||||
}
|
||||
}
|
||||
|
||||
bool subbrute_worker_transmit(SubBruteWorker* instance, const char* payload) {
|
||||
@@ -204,7 +210,7 @@ bool subbrute_worker_init_manual_transmit(
|
||||
frequency,
|
||||
protocol_name);
|
||||
#endif
|
||||
if(instance->worker_manual_mode || !subbrute_worker_can_manual_transmit(instance) ||
|
||||
if(instance->worker_manual_mode || !subbrute_worker_can_manual_transmit(instance, false) ||
|
||||
instance->worker_running) {
|
||||
#ifdef FURI_DEBUG
|
||||
FURI_LOG_D(TAG, "cannot transmit");
|
||||
|
||||
@@ -28,7 +28,7 @@ void subbrute_worker_set_continuous_worker(SubBruteWorker* instance, bool is_con
|
||||
//bool subbrute_worker_write(SubBruteWorker* instance, uint8_t* data, size_t size);
|
||||
bool subbrute_worker_is_running(SubBruteWorker* instance);
|
||||
bool subbrute_worker_can_transmit(SubBruteWorker* instance);
|
||||
bool subbrute_worker_can_manual_transmit(SubBruteWorker* instance);
|
||||
bool subbrute_worker_can_manual_transmit(SubBruteWorker* instance, bool is_button_pressed);
|
||||
bool subbrute_worker_transmit(SubBruteWorker* instance, const char* payload);
|
||||
bool subbrute_worker_init_manual_transmit(
|
||||
SubBruteWorker* instance,
|
||||
|
||||
@@ -161,7 +161,7 @@ bool subbrute_scene_run_attack_on_event(void* context, SceneManagerEvent event)
|
||||
notification_message(instance->notifications, &sequence_blink_stop);
|
||||
}
|
||||
} else {
|
||||
if(subbrute_worker_can_manual_transmit(instance->worker)) {
|
||||
if(subbrute_worker_can_manual_transmit(instance->worker, false)) {
|
||||
// Blink
|
||||
notification_message(instance->notifications, &sequence_blink_yellow_100);
|
||||
|
||||
|
||||
@@ -135,7 +135,7 @@ bool subbrute_scene_setup_attack_on_event(void* context, SceneManagerEvent event
|
||||
}
|
||||
subbrute_attack_view_set_current_step(view, instance->device->key_index);
|
||||
} else if(event.event == SubBruteCustomEventTypeTransmitCustom) {
|
||||
if(subbrute_worker_can_manual_transmit(instance->worker)) {
|
||||
if(subbrute_worker_can_manual_transmit(instance->worker, true)) {
|
||||
// Blink
|
||||
notification_message(instance->notifications, &sequence_blink_green_100);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user