mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-04-25 03:29:58 -07:00
Merge branch 'UNLEASHED' into 420
This commit is contained in:
@@ -123,9 +123,11 @@ int32_t morse_code_app() {
|
||||
while(furi_message_queue_get(morse_code->input_queue, &input, FuriWaitForever) ==
|
||||
FuriStatusOk) {
|
||||
furi_check(furi_mutex_acquire(morse_code->model_mutex, FuriWaitForever) == FuriStatusOk);
|
||||
if(input.key == InputKeyBack) {
|
||||
if(input.key == InputKeyBack && input.type == InputTypeLong) {
|
||||
furi_mutex_release(morse_code->model_mutex);
|
||||
break;
|
||||
} else if(input.key == InputKeyBack && input.type == InputTypeShort) {
|
||||
morse_code_worker_reset_text(morse_code->worker);
|
||||
} else if(input.key == InputKeyOk) {
|
||||
if(input.type == InputTypePress)
|
||||
morse_code_worker_play(morse_code->worker, true);
|
||||
|
||||
@@ -44,10 +44,10 @@ void morse_code_worker_fill_letter(MorseCodeWorker* instance) {
|
||||
for(size_t i = 0; i < sizeof(morse_array); i++) {
|
||||
if(furi_string_cmp_str(instance->buffer, morse_array[i]) == 0) {
|
||||
furi_string_push_back(instance->words, symbol_array[i]);
|
||||
furi_string_reset(instance->buffer);
|
||||
break;
|
||||
}
|
||||
}
|
||||
furi_string_reset(instance->buffer);
|
||||
FURI_LOG_D("MorseCode: Words", "%s", furi_string_get_cstr(instance->words));
|
||||
}
|
||||
|
||||
@@ -117,6 +117,8 @@ MorseCodeWorker* morse_code_worker_alloc() {
|
||||
|
||||
void morse_code_worker_free(MorseCodeWorker* instance) {
|
||||
furi_assert(instance);
|
||||
furi_string_free(instance->buffer);
|
||||
furi_string_free(instance->words);
|
||||
furi_thread_free(instance->thread);
|
||||
free(instance);
|
||||
}
|
||||
@@ -145,6 +147,12 @@ void morse_code_worker_set_dit_delta(MorseCodeWorker* instance, uint32_t delta)
|
||||
instance->dit_delta = delta;
|
||||
}
|
||||
|
||||
void morse_code_worker_reset_text(MorseCodeWorker* instance) {
|
||||
furi_assert(instance);
|
||||
furi_string_reset(instance->buffer);
|
||||
furi_string_reset(instance->words);
|
||||
}
|
||||
|
||||
void morse_code_worker_start(MorseCodeWorker* instance) {
|
||||
furi_assert(instance);
|
||||
furi_assert(instance->is_running == false);
|
||||
|
||||
@@ -29,6 +29,8 @@ void morse_code_worker_stop(MorseCodeWorker* instance);
|
||||
|
||||
void morse_code_worker_play(MorseCodeWorker* instance, bool play);
|
||||
|
||||
void morse_code_worker_reset_text(MorseCodeWorker* instance);
|
||||
|
||||
void morse_code_worker_set_volume(MorseCodeWorker* instance, float level);
|
||||
|
||||
void morse_code_worker_set_dit_delta(MorseCodeWorker* instance, uint32_t delta);
|
||||
|
||||
Reference in New Issue
Block a user