M*LIB: non-inlined strings, FuriString primitive (#1795)

* Quicksave 1
* Header stage complete
* Source stage complete
* Lint & merge fixes
* Includes
* Documentation step 1
* FBT: output free size considering BT STACK
* Documentation step 2
* py lint
* Fix music player plugin
* unit test stage 1: string allocator, mem, getters, setters, appends, compare, search.
* unit test: string equality
* unit test: string replace
* unit test: string start_with, end_with
* unit test: string trim
* unit test: utf-8
* Rename
* Revert fw_size changes
* Simplify CLI backspace handling
* Simplify CLI character insert
* Merge fixes
* Furi: correct filenaming and spelling
* Bt: remove furi string include

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
This commit is contained in:
Sergey Gavrilov
2022-10-06 01:15:23 +10:00
committed by GitHub
parent 0f9ea925d3
commit 4bf29827f8
370 changed files with 5597 additions and 3963 deletions

View File

@@ -32,7 +32,7 @@ static bool subghz_scene_receiver_info_update_parser(void* context) {
subghz_history_get_preset_def(subghz->txrx->history, subghz->txrx->idx_menu_chosen);
subghz_preset_init(
subghz,
string_get_cstr(preset->name),
furi_string_get_cstr(preset->name),
preset->frequency,
preset->data,
preset->data_size);
@@ -47,13 +47,13 @@ void subghz_scene_receiver_info_on_enter(void* context) {
DOLPHIN_DEED(DolphinDeedSubGhzReceiverInfo);
if(subghz_scene_receiver_info_update_parser(subghz)) {
string_t frequency_str;
string_t modulation_str;
string_t text;
FuriString* frequency_str;
FuriString* modulation_str;
FuriString* text;
string_init(frequency_str);
string_init(modulation_str);
string_init(text);
frequency_str = furi_string_alloc();
modulation_str = furi_string_alloc();
text = furi_string_alloc();
subghz_get_frequency_modulation(subghz, frequency_str, modulation_str);
widget_add_string_element(
@@ -63,7 +63,7 @@ void subghz_scene_receiver_info_on_enter(void* context) {
AlignLeft,
AlignTop,
FontSecondary,
string_get_cstr(frequency_str));
furi_string_get_cstr(frequency_str));
widget_add_string_element(
subghz->widget,
@@ -72,14 +72,14 @@ void subghz_scene_receiver_info_on_enter(void* context) {
AlignLeft,
AlignTop,
FontSecondary,
string_get_cstr(modulation_str));
furi_string_get_cstr(modulation_str));
subghz_protocol_decoder_base_get_string(subghz->txrx->decoder_result, text);
widget_add_string_multiline_element(
subghz->widget, 0, 0, AlignLeft, AlignTop, FontSecondary, string_get_cstr(text));
subghz->widget, 0, 0, AlignLeft, AlignTop, FontSecondary, furi_string_get_cstr(text));
string_clear(frequency_str);
string_clear(modulation_str);
string_clear(text);
furi_string_free(frequency_str);
furi_string_free(modulation_str);
furi_string_free(text);
if((subghz->txrx->decoder_result->protocol->flag & SubGhzProtocolFlag_Save) ==
SubGhzProtocolFlag_Save) {
@@ -146,7 +146,7 @@ bool subghz_scene_receiver_info_on_event(void* context, SceneManagerEvent event)
subghz_begin(
subghz,
subghz_setting_get_preset_data_by_name(
subghz->setting, string_get_cstr(subghz->txrx->preset->name)));
subghz->setting, furi_string_get_cstr(subghz->txrx->preset->name)));
subghz_rx(subghz, subghz->txrx->preset->frequency);
}
if(subghz->txrx->hopper_state == SubGhzHopperStatePause) {