Revert "add tx 2"

This reverts commit cdf8daff86.
This commit is contained in:
gid9798 2023-05-17 17:48:05 +03:00
parent cdf8daff86
commit 075dfe8109
7 changed files with 32 additions and 152 deletions

View File

@ -17,7 +17,6 @@ typedef enum {
SubRemCustomEventViewRemoteStartRIGHT,
SubRemCustomEventViewRemoteStartOK,
SubRemCustomEventViewRemoteStop,
SubRemCustomEventViewRemoteForceStop,
// SubRemCustomEventSceneDeleteSuccess = 100,
// SubRemCustomEventSceneDelete,

View File

@ -1,8 +1,6 @@
#include "../subghz_remote_app_i.h"
#include "../views/transmitter.h"
#include <lib/subghz/protocols/raw.h>
// TODO:
// #include <lib/subghz/protocols/keeloq.h>
// #include <lib/subghz/protocols/star_line.h>
@ -15,12 +13,6 @@ void subrem_scene_remote_callback(SubRemCustomEvent event, void* context) {
view_dispatcher_send_custom_event(app->view_dispatcher, event);
}
void subrem_scene_remote_raw_callback_end_tx(void* context) {
furi_assert(context);
SubGhzRemoteApp* app = context;
view_dispatcher_send_custom_event(app->view_dispatcher, SubRemCustomEventViewRemoteForceStop);
}
bool subrem_scene_remote_update_data_show(void* context) {
SubGhzRemoteApp* app = context;
//UNUSED(app);
@ -121,65 +113,12 @@ bool subrem_scene_remote_on_event(void* context, SceneManagerEvent event) {
app->scene_manager, SubRemSceneStart);
return true;
} else if(event.event == SubRemCustomEventViewRemoteStartUP) {
if(subghz_tx_start_sub(
app, app->subs_preset[0], subrem_scene_remote_raw_callback_end_tx)) {
app->chusen_sub = 0;
subrem_view_remote_set_state(app->subrem_remote_view, 1);
if(subghz_tx_start_sub(app, app->subs_preset[0])) {
notification_message(app->notifications, &sequence_blink_start_magenta);
}
return true;
} else if(event.event == SubRemCustomEventViewRemoteStartDOWN) {
if(subghz_tx_start_sub(
app, app->subs_preset[1], subrem_scene_remote_raw_callback_end_tx)) {
app->chusen_sub = 1;
subrem_view_remote_set_state(app->subrem_remote_view, 2);
notification_message(app->notifications, &sequence_blink_start_magenta);
}
return true;
} else if(event.event == SubRemCustomEventViewRemoteStartLEFT) {
if(subghz_tx_start_sub(
app, app->subs_preset[2], subrem_scene_remote_raw_callback_end_tx)) {
app->chusen_sub = 2;
subrem_view_remote_set_state(app->subrem_remote_view, 3);
notification_message(app->notifications, &sequence_blink_start_magenta);
}
return true;
} else if(event.event == SubRemCustomEventViewRemoteStartRIGHT) {
if(subghz_tx_start_sub(
app, app->subs_preset[3], subrem_scene_remote_raw_callback_end_tx)) {
app->chusen_sub = 3;
subrem_view_remote_set_state(app->subrem_remote_view, 4);
notification_message(app->notifications, &sequence_blink_start_magenta);
}
return true;
} else if(event.event == SubRemCustomEventViewRemoteStartOK) {
if(subghz_tx_start_sub(
app, app->subs_preset[4], subrem_scene_remote_raw_callback_end_tx)) {
app->chusen_sub = 4;
subrem_view_remote_set_state(app->subrem_remote_view, 5);
notification_message(app->notifications, &sequence_blink_start_magenta);
}
return true;
} else if(event.event == SubRemCustomEventViewRemoteForceStop) {
if(app->tx_running) {
subghz_tx_stop_sub(app);
subrem_view_remote_set_state(app->subrem_remote_view, 0);
}
notification_message(app->notifications, &sequence_blink_stop);
return true;
} else if(event.event == SubRemCustomEventViewRemoteStop) {
// if(app->tx_running &&
// (app->subs_preset[app->chusen_sub]->type == SubRemSubKeyTypeRawKey)) {
// subghz_tx_stop_sub(app);
// subrem_view_remote_set_state(app->subrem_remote_view, 0);
// }
// notification_message(app->notifications, &sequence_blink_stop);
if(app->tx_running) {
subghz_tx_stop_sub(app);
subrem_view_remote_set_state(app->subrem_remote_view, 0);
}
subghz_tx_stop_sub(app, app->subs_preset[0]);
notification_message(app->notifications, &sequence_blink_stop);
return true;
}
// notification_message(app->notification, &sequence_blink_stop);

View File

@ -137,8 +137,6 @@ SubGhzRemoteApp* subghz_remote_app_alloc() {
app->receiver = subghz_receiver_alloc_init(app->environment);
app->tx_running = false;
scene_manager_next_scene(app->scene_manager, SubRemSceneStart);
return app;

View File

@ -115,10 +115,7 @@ static bool subrem_sub_file_presets_load(SubGhzRemoteApp* app, FlipperFormat* ff
return ret;
}
bool subghz_tx_start_sub(
SubGhzRemoteApp* app,
SubRemSubFilePreset* sub_preset,
SubGhzProtocolEncoderRAWCallbackEnd callback) {
bool subghz_tx_start_sub(SubGhzRemoteApp* app, SubRemSubFilePreset* sub_preset) {
furi_assert(app);
furi_assert(sub_preset);
bool ret = false;
@ -155,26 +152,19 @@ bool subghz_tx_start_sub(
break;
}
if(sub_preset->type == SubRemSubKeyTypeRawKey) {
subghz_protocol_raw_file_encoder_worker_set_callback_end(
(SubGhzProtocolEncoderRAW*)subghz_transmitter_get_protocol_instance(
app->transmitter),
callback,
app);
}
furi_hal_subghz_start_async_tx(subghz_transmitter_yield, app->transmitter);
ret = true;
}
} while(false);
app->tx_running = ret; // TODO:
// ret = false; // TODO:
return ret;
}
void subghz_tx_stop_sub(SubGhzRemoteApp* app) {
void subghz_tx_stop_sub(SubGhzRemoteApp* app, SubRemSubFilePreset* sub_preset) {
furi_assert(app);
furi_assert(sub_preset);
//Stop TX
furi_hal_subghz_stop_async_tx();
@ -183,10 +173,7 @@ void subghz_tx_stop_sub(SubGhzRemoteApp* app) {
subghz_transmitter_free(app->transmitter);
furi_hal_subghz_idle();
// SubRemSubFilePreset* sub_preset = app->subs_preset[app->chusen_sub];
// TODO: need saving logic
app->tx_running = false;
}
static bool subrem_sub_presets_check(SubGhzRemoteApp* app, FlipperFormat* fff_data_file) {

View File

@ -18,8 +18,6 @@
#include <storage/storage.h>
#include <gui/modules/popup.h>
#include <lib/subghz/protocols/raw.h>
#include <lib/subghz/subghz_setting.h>
#include <lib/subghz/receiver.h>
#include <lib/subghz/transmitter.h>
@ -77,10 +75,6 @@ typedef struct {
SubGhzReceiver* receiver;
SubGhzTransmitter* transmitter;
bool tx_running;
uint8_t chusen_sub;
// AvrIspProgrammerView* subghz_remote_programmer_view;
// AvrIspReaderView* subghz_remote_reader_view;
// AvrIspWriterView* subghz_remote_writer_view;
@ -91,8 +85,5 @@ typedef struct {
bool subrem_load_from_file(SubGhzRemoteApp* app);
bool subghz_tx_start_sub(
SubGhzRemoteApp* app,
SubRemSubFilePreset* sub_preset,
SubGhzProtocolEncoderRAWCallbackEnd callback);
void subghz_tx_stop_sub(SubGhzRemoteApp* app);
bool subghz_tx_start_sub(SubGhzRemoteApp* app, SubRemSubFilePreset* sub_preset);
void subghz_tx_stop_sub(SubGhzRemoteApp* app, SubRemSubFilePreset* sub_preset);

View File

@ -85,15 +85,6 @@ void subrem_view_remote_add_data_to_show(
true);
}
void subrem_view_remote_set_state(SubRemViewRemote* subrem_view_remote, uint8_t state) {
furi_assert(subrem_view_remote);
with_view_model(
subrem_view_remote->view,
SubRemViewRemoteModel * model,
{ model->pressed_btn = state; },
true);
}
void subrem_view_remote_draw(Canvas* canvas, SubRemViewRemoteModel* model) {
canvas_clear(canvas);
canvas_set_color(canvas, ColorBlack);
@ -148,10 +139,10 @@ void subrem_view_remote_draw(Canvas* canvas, SubRemViewRemoteModel* model) {
canvas_draw_icon_ex(canvas, 116, 17, &I_Pin_arrow_up_7x9, IconRotation180);
break;
case 3:
canvas_draw_icon_ex(canvas, 115, 18, &I_Pin_arrow_up_7x9, IconRotation270);
canvas_draw_icon_ex(canvas, 115, 18, &I_Pin_arrow_up_7x9, IconRotation90);
break;
case 4:
canvas_draw_icon_ex(canvas, 115, 18, &I_Pin_arrow_up_7x9, IconRotation90);
canvas_draw_icon_ex(canvas, 115, 18, &I_Pin_arrow_up_7x9, IconRotation270);
break;
case 5:
canvas_draw_icon(canvas, 116, 18, &I_Pin_star_7x7);
@ -186,51 +177,28 @@ bool subrem_view_remote_input(InputEvent* event, void* context) {
// furi_string_reset(model->ok_label);
},
false);
return false; // TODO: check
} else if(event->key == InputKeyBack && event->type == InputTypeShort) {
with_view_model(
subrem_view_remote->view,
SubRemViewRemoteModel * model,
{ model->pressed_btn = 0; },
true);
subrem_view_remote->callback(
SubRemCustomEventViewRemoteForceStop, subrem_view_remote->context);
return true;
} else if(event->key == InputKeyBack) {
return true;
return false;
} else if(event->key == InputKeyUp) {
if(event->type == InputTypePress) {
with_view_model(
subrem_view_remote->view,
SubRemViewRemoteModel * model,
{ model->pressed_btn = 1; },
true);
subrem_view_remote->callback(
SubRemCustomEventViewRemoteStartUP, subrem_view_remote->context);
return true;
} else if(event->type == InputTypeRelease) {
with_view_model(
subrem_view_remote->view,
SubRemViewRemoteModel * model,
{ model->pressed_btn = 0; },
true);
subrem_view_remote->callback(
SubRemCustomEventViewRemoteStop, subrem_view_remote->context);
return true;
}
}
// BACK button processing end
if(event->key == InputKeyUp && event->type == InputTypePress) {
subrem_view_remote->callback(
SubRemCustomEventViewRemoteStartUP, subrem_view_remote->context);
return true;
} else if(event->key == InputKeyDown && event->type == InputTypePress) {
subrem_view_remote->callback(
SubRemCustomEventViewRemoteStartDOWN, subrem_view_remote->context);
return true;
} else if(event->key == InputKeyLeft && event->type == InputTypePress) {
subrem_view_remote->callback(
SubRemCustomEventViewRemoteStartLEFT, subrem_view_remote->context);
return true;
} else if(event->key == InputKeyRight && event->type == InputTypePress) {
subrem_view_remote->callback(
SubRemCustomEventViewRemoteStartRIGHT, subrem_view_remote->context);
return true;
} else if(event->key == InputKeyOk && event->type == InputTypePress) {
subrem_view_remote->callback(
SubRemCustomEventViewRemoteStartOK, subrem_view_remote->context);
return true;
} else if(event->type == InputTypeRelease) {
with_view_model(
subrem_view_remote->view,
SubRemViewRemoteModel * model,
{ model->pressed_btn = 0; },
true);
subrem_view_remote->callback(SubRemCustomEventViewRemoteStop, subrem_view_remote->context);
return true;
}
return true;
}

View File

@ -24,6 +24,4 @@ void subrem_view_remote_add_data_to_show(
const char* down_label,
const char* left_label,
const char* right_label,
const char* ok_label);
void subrem_view_remote_set_state(SubRemViewRemote* subrem_view_remote, uint8_t state);
const char* ok_label);