Fix for spelling (#2051)

* Fix for spelling
* Review iteration

Co-authored-by: あく <alleteam@gmail.com>
This commit is contained in:
Maksim Derbasov 2022-11-29 01:51:51 +09:00 committed by GitHub
parent 03140e4349
commit e121e6a287
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
36 changed files with 58 additions and 58 deletions

View File

@ -2,7 +2,7 @@
Thank you for investing your time in contributing to our project! Thank you for investing your time in contributing to our project!
Read our [Code of Coduct](CODE_OF_CONDUCT.md) to keep our community approachable and respectable. Read our [Code of Conduct](CODE_OF_CONDUCT.md) to keep our community approachable and respectable.
In this guide you will get an overview of the contribution workflow from opening an issue, creating a PR, reviewing, and merging the PR. In this guide you will get an overview of the contribution workflow from opening an issue, creating a PR, reviewing, and merging the PR.
@ -17,12 +17,12 @@ See the [ReadMe](ReadMe.md) to get an overview of the project. Here are some hel
## Getting started ## Getting started
Before writing code and creating PR make sure that it aligns with our mission and guidlines: Before writing code and creating PR make sure that it aligns with our mission and guidelines:
- All our devices are intended for research and education. - All our devices are intended for research and education.
- PR that contains code intended to commit crimes is not going to be accepted. - PR that contains code intended to commit crimes is not going to be accepted.
- Your PR must comply with our [Coding Style](CODING_STYLE.md) - Your PR must comply with our [Coding Style](CODING_STYLE.md)
- Your PR must contain code compatiable with project [LICENSE](LICENSE). - Your PR must contain code compatible with project [LICENSE](LICENSE).
- PR will only be merged if it pass CI/CD. - PR will only be merged if it pass CI/CD.
- PR will only be merged if it pass review by code owner. - PR will only be merged if it pass review by code owner.

View File

@ -71,7 +71,7 @@ void WIEGAND::end() {
} }
void WIEGAND::ReadD0() { void WIEGAND::ReadD0() {
_bitCount++; // Increament bit count for Interrupt connected to D0 _bitCount++; // Increment bit count for Interrupt connected to D0
if(_bitCount > 31) // If bit count more than 31, process high bits if(_bitCount > 31) // If bit count more than 31, process high bits
{ {
_cardTempHigh |= ((0x80000000 & _cardTemp) >> 31); // shift value to high bits _cardTempHigh |= ((0x80000000 & _cardTemp) >> 31); // shift value to high bits

View File

@ -98,7 +98,7 @@ void bt_debug_app_free(BtDebugApp* app) {
int32_t bt_debug_app(void* p) { int32_t bt_debug_app(void* p) {
UNUSED(p); UNUSED(p);
if(!furi_hal_bt_is_testing_supported()) { if(!furi_hal_bt_is_testing_supported()) {
FURI_LOG_E(TAG, "Incorrect radio stack: radio testing fetures are absent."); FURI_LOG_E(TAG, "Incorrect radio stack: radio testing features are absent.");
DialogsApp* dialogs = furi_record_open(RECORD_DIALOGS); DialogsApp* dialogs = furi_record_open(RECORD_DIALOGS);
dialog_message_show_storage_error(dialogs, "Incorrect\nRadioStack"); dialog_message_show_storage_error(dialogs, "Incorrect\nRadioStack");
return 255; return 255;

View File

@ -145,7 +145,7 @@ DisplayTest* display_test_alloc() {
view_set_previous_callback(view, display_test_previous_callback); view_set_previous_callback(view, display_test_previous_callback);
view_dispatcher_add_view(instance->view_dispatcher, DisplayTestViewConfigure, view); view_dispatcher_add_view(instance->view_dispatcher, DisplayTestViewConfigure, view);
// Configurtion items // Configuration items
VariableItem* item; VariableItem* item;
instance->config_bias = false; instance->config_bias = false;
instance->config_contrast = 32; instance->config_contrast = 32;

View File

@ -11,7 +11,7 @@
extern size_t memmgr_get_free_heap(void); extern size_t memmgr_get_free_heap(void);
extern size_t memmgr_get_minimum_free_heap(void); extern size_t memmgr_get_minimum_free_heap(void);
// current heap managment realization consume: // current heap management realization consume:
// X bytes after allocate and 0 bytes after allocate and free, // X bytes after allocate and 0 bytes after allocate and free,
// where X = sizeof(void*) + sizeof(size_t), look to BlockLink_t // where X = sizeof(void*) + sizeof(size_t), look to BlockLink_t
const size_t heap_overhead_max_size = sizeof(void*) + sizeof(size_t); const size_t heap_overhead_max_size = sizeof(void*) + sizeof(size_t);
@ -21,7 +21,7 @@ bool heap_equal(size_t heap_size, size_t heap_size_old) {
const size_t heap_low = heap_size_old - heap_overhead_max_size; const size_t heap_low = heap_size_old - heap_overhead_max_size;
const size_t heap_high = heap_size_old + heap_overhead_max_size; const size_t heap_high = heap_size_old + heap_overhead_max_size;
// not extact, so we must test it against bigger numbers than "overhead size" // not exact, so we must test it against bigger numbers than "overhead size"
const bool result = ((heap_size >= heap_low) && (heap_size <= heap_high)); const bool result = ((heap_size >= heap_low) && (heap_size <= heap_high));
// debug allocation info // debug allocation info

View File

@ -136,7 +136,7 @@ static bool nfc_test_digital_signal_test_encode(
ref_timings_sum += ref[i]; ref_timings_sum += ref[i];
if(timings_diff > timing_tolerance) { if(timings_diff > timing_tolerance) {
FURI_LOG_E( FURI_LOG_E(
TAG, "Too big differece in %d timings. Ref: %ld, DUT: %ld", i, ref[i], dut[i]); TAG, "Too big difference in %d timings. Ref: %ld, DUT: %ld", i, ref[i], dut[i]);
timing_check_success = false; timing_check_success = false;
break; break;
} }

View File

@ -219,21 +219,21 @@ MU_TEST_1(stream_composite_subtest, Stream* stream) {
mu_check(stream_eof(stream)); mu_check(stream_eof(stream));
mu_assert_int_eq(0, stream_tell(stream)); mu_assert_int_eq(0, stream_tell(stream));
// insert formated string at the end of stream // insert formatted string at the end of stream
// "" -> "dio666" // "" -> "dio666"
mu_check(stream_insert_format(stream, "%s%d", "dio", 666)); mu_check(stream_insert_format(stream, "%s%d", "dio", 666));
mu_assert_int_eq(6, stream_size(stream)); mu_assert_int_eq(6, stream_size(stream));
mu_check(stream_eof(stream)); mu_check(stream_eof(stream));
mu_assert_int_eq(6, stream_tell(stream)); mu_assert_int_eq(6, stream_tell(stream));
// insert formated string at the end of stream // insert formatted string at the end of stream
// "dio666" -> "dio666zlo555" // "dio666" -> "dio666zlo555"
mu_check(stream_insert_format(stream, "%s%d", "zlo", 555)); mu_check(stream_insert_format(stream, "%s%d", "zlo", 555));
mu_assert_int_eq(12, stream_size(stream)); mu_assert_int_eq(12, stream_size(stream));
mu_check(stream_eof(stream)); mu_check(stream_eof(stream));
mu_assert_int_eq(12, stream_tell(stream)); mu_assert_int_eq(12, stream_tell(stream));
// insert formated string at the 6 pos // insert formatted string at the 6 pos
// "dio666" -> "dio666baba13zlo555" // "dio666" -> "dio666baba13zlo555"
mu_check(stream_seek(stream, 6, StreamOffsetFromStart)); mu_check(stream_seek(stream, 6, StreamOffsetFromStart));
mu_check(stream_insert_format(stream, "%s%d", "baba", 13)); mu_check(stream_insert_format(stream, "%s%d", "baba", 13));

View File

@ -3,7 +3,7 @@
#include "../archive_i.h" #include "../archive_i.h"
#include <storage/storage.h> #include <storage/storage.h>
#define TAB_RIGHT InputKeyRight // Default tab swith direction #define TAB_RIGHT InputKeyRight // Default tab switch direction
#define TAB_DEFAULT ArchiveTabFavorites // Start tab #define TAB_DEFAULT ArchiveTabFavorites // Start tab
#define FILE_LIST_BUF_LEN 100 #define FILE_LIST_BUF_LEN 100

View File

@ -31,7 +31,7 @@ bool elf_resolve_from_hashtable(const char* name, Elf32_Addr* address) {
auto find_res = std::lower_bound(elf_api_table.cbegin(), elf_api_table.cend(), key); auto find_res = std::lower_bound(elf_api_table.cbegin(), elf_api_table.cend(), key);
if((find_res == elf_api_table.cend() || (find_res->hash != gnu_sym_hash))) { if((find_res == elf_api_table.cend() || (find_res->hash != gnu_sym_hash))) {
FURI_LOG_W(TAG, "Cant find symbol '%s' (hash %lx)!", name, gnu_sym_hash); FURI_LOG_W(TAG, "Can't find symbol '%s' (hash %lx)!", name, gnu_sym_hash);
result = false; result = false;
} else { } else {
result = true; result = true;

View File

@ -25,7 +25,7 @@ TUPLE_DEF2(
(frequency, uint32_t), (frequency, uint32_t),
(count, uint8_t), (count, uint8_t),
(rssi_max, uint8_t)) (rssi_max, uint8_t))
/* Register globaly the oplist */ /* Register globally the oplist */
#define M_OPL_SubGhzFrequencyAnalyzerLogItem_t() \ #define M_OPL_SubGhzFrequencyAnalyzerLogItem_t() \
TUPLE_OPLIST(SubGhzFrequencyAnalyzerLogItem, M_POD_OPLIST, M_DEFAULT_OPLIST, M_DEFAULT_OPLIST) TUPLE_OPLIST(SubGhzFrequencyAnalyzerLogItem, M_POD_OPLIST, M_DEFAULT_OPLIST, M_DEFAULT_OPLIST)

View File

@ -56,7 +56,7 @@ extern const size_t FLIPPER_DEBUG_APPS_COUNT;
extern const FlipperApplication FLIPPER_SYSTEM_APPS[]; extern const FlipperApplication FLIPPER_SYSTEM_APPS[];
extern const size_t FLIPPER_SYSTEM_APPS_COUNT; extern const size_t FLIPPER_SYSTEM_APPS_COUNT;
/* Seperate scene app holder /* Separate scene app holder
* Spawned by loader * Spawned by loader
*/ */
extern const FlipperApplication FLIPPER_SCENE; extern const FlipperApplication FLIPPER_SCENE;

View File

@ -69,7 +69,7 @@ View* animation_manager_get_animation_view(AnimationManager* animation_manager);
void animation_manager_set_context(AnimationManager* animation_manager, void* context); void animation_manager_set_context(AnimationManager* animation_manager, void* context);
/** /**
* Set callback for Animation Manager for defered calls * Set callback for Animation Manager for deferred calls
* for animation_manager_new_idle_process(). * for animation_manager_new_idle_process().
* Animation Manager doesn't have it's own thread, so main thread gives * Animation Manager doesn't have it's own thread, so main thread gives
* callbacks to A.M. to call when it should perform some inner manipulations. * callbacks to A.M. to call when it should perform some inner manipulations.
@ -96,7 +96,7 @@ void animation_manager_set_new_idle_callback(
void animation_manager_new_idle_process(AnimationManager* animation_manager); void animation_manager_new_idle_process(AnimationManager* animation_manager);
/** /**
* Set callback for Animation Manager for defered calls * Set callback for Animation Manager for deferred calls
* for animation_manager_check_blocking_process(). * for animation_manager_check_blocking_process().
* *
* @animation_manager instance * @animation_manager instance
@ -115,7 +115,7 @@ void animation_manager_set_check_callback(
void animation_manager_check_blocking_process(AnimationManager* animation_manager); void animation_manager_check_blocking_process(AnimationManager* animation_manager);
/** /**
* Set callback for Animation Manager for defered calls * Set callback for Animation Manager for deferred calls
* for animation_manager_interact_process(). * for animation_manager_interact_process().
* *
* @animation_manager instance * @animation_manager instance

View File

@ -90,7 +90,7 @@ void elements_button_center(Canvas* canvas, const char* str);
* *
* @param canvas Canvas instance * @param canvas Canvas instance
* @param x, y coordinates based on align param * @param x, y coordinates based on align param
* @param horizontal, vertical aligment of multiline text * @param horizontal, vertical alignment of multiline text
* @param text string (possible multiline) * @param text string (possible multiline)
*/ */
void elements_multiline_text_aligned( void elements_multiline_text_aligned(

View File

@ -76,8 +76,8 @@ void dialog_ex_set_context(DialogEx* dialog_ex, void* context);
* @param text text to be shown, can be multiline * @param text text to be shown, can be multiline
* @param x x position * @param x x position
* @param y y position * @param y y position
* @param horizontal horizontal text aligment * @param horizontal horizontal text alignment
* @param vertical vertical text aligment * @param vertical vertical text alignment
*/ */
void dialog_ex_set_header( void dialog_ex_set_header(
DialogEx* dialog_ex, DialogEx* dialog_ex,
@ -95,8 +95,8 @@ void dialog_ex_set_header(
* @param text text to be shown, can be multiline * @param text text to be shown, can be multiline
* @param x x position * @param x x position
* @param y y position * @param y y position
* @param horizontal horizontal text aligment * @param horizontal horizontal text alignment
* @param vertical vertical text aligment * @param vertical vertical text alignment
*/ */
void dialog_ex_set_text( void dialog_ex_set_text(
DialogEx* dialog_ex, DialogEx* dialog_ex,

View File

@ -64,7 +64,7 @@ void popup_set_context(Popup* popup, void* context);
* @param x x position * @param x x position
* @param y y position * @param y y position
* @param horizontal horizontal alignment * @param horizontal horizontal alignment
* @param vertical vertical aligment * @param vertical vertical alignment
*/ */
void popup_set_header( void popup_set_header(
Popup* popup, Popup* popup,
@ -83,7 +83,7 @@ void popup_set_header(
* @param x x position * @param x x position
* @param y y position * @param y y position
* @param horizontal horizontal alignment * @param horizontal horizontal alignment
* @param vertical vertical aligment * @param vertical vertical alignment
*/ */
void popup_set_text( void popup_set_text(
Popup* popup, Popup* popup,

View File

@ -43,7 +43,7 @@ static void text_box_process_up(TextBox* text_box) {
model->scroll_pos--; model->scroll_pos--;
// Reach last symbol of previous line // Reach last symbol of previous line
model->text_pos--; model->text_pos--;
// Search prevous line start // Search previous line start
while((model->text_pos != model->text) && (*(--model->text_pos) != '\n')) while((model->text_pos != model->text) && (*(--model->text_pos) != '\n'))
; ;
if(*model->text_pos == '\n') { if(*model->text_pos == '\n') {

View File

@ -1,6 +1,6 @@
/** /**
* @file text_input.h * @file text_input.h
* GUI: TextInput keybord view module API * GUI: TextInput keyboard view module API
*/ */
#pragma once #pragma once

View File

@ -152,7 +152,7 @@ void view_dispatcher_remove_view(ViewDispatcher* view_dispatcher, uint32_t view_
if(view_dispatcher->current_view == view) { if(view_dispatcher->current_view == view) {
view_dispatcher_set_current_view(view_dispatcher, NULL); view_dispatcher_set_current_view(view_dispatcher, NULL);
} }
// Check if view is recieving input // Check if view is receiving input
if(view_dispatcher->ongoing_input_view == view) { if(view_dispatcher->ongoing_input_view == view) {
view_dispatcher->ongoing_input_view = NULL; view_dispatcher->ongoing_input_view = NULL;
} }

View File

@ -20,8 +20,8 @@ typedef enum {
InputTypePress, /**< Press event, emitted after debounce */ InputTypePress, /**< Press event, emitted after debounce */
InputTypeRelease, /**< Release event, emitted after debounce */ InputTypeRelease, /**< Release event, emitted after debounce */
InputTypeShort, /**< Short event, emitted after InputTypeRelease done withing INPUT_LONG_PRESS interval */ InputTypeShort, /**< Short event, emitted after InputTypeRelease done withing INPUT_LONG_PRESS interval */
InputTypeLong, /**< Long event, emmited after INPUT_LONG_PRESS interval, asynchronouse to InputTypeRelease */ InputTypeLong, /**< Long event, emitted after INPUT_LONG_PRESS_COUNTS interval, asynchronous to InputTypeRelease */
InputTypeRepeat, /**< Repeat event, emmited with INPUT_REPEATE_PRESS period after InputTypeLong event */ InputTypeRepeat, /**< Repeat event, emitted with INPUT_LONG_PRESS_COUNTS period after InputTypeLong event */
InputTypeMAX, /**< Special value for exceptional */ InputTypeMAX, /**< Special value for exceptional */
} InputType; } InputType;

View File

@ -86,7 +86,7 @@ FuriPubSub* power_get_pubsub(Power* power);
*/ */
bool power_is_battery_healthy(Power* power); bool power_is_battery_healthy(Power* power);
/** Enable or disable battery low level notification mesage /** Enable or disable battery low level notification message
* *
* @param power Power instance * @param power Power instance
* @param enable true - enable, false - disable * @param enable true - enable, false - disable

View File

@ -25,7 +25,7 @@ typedef void (*RpcSendBytesCallback)(void* context, uint8_t* bytes, size_t bytes
typedef void (*RpcBufferIsEmptyCallback)(void* context); typedef void (*RpcBufferIsEmptyCallback)(void* context);
/** Callback to notify transport layer that close_session command /** Callback to notify transport layer that close_session command
* is received. Any other actions lays on transport layer. * is received. Any other actions lays on transport layer.
* No destruction or session close preformed. */ * No destruction or session close performed. */
typedef void (*RpcSessionClosedCallback)(void* context); typedef void (*RpcSessionClosedCallback)(void* context);
/** Callback to notify transport layer that session was closed /** Callback to notify transport layer that session was closed
* and all operations were finished */ * and all operations were finished */

View File

@ -330,7 +330,7 @@ static void rpc_system_storage_read_process(const PB_Main* request, void* contex
rpc_system_storage_reset_state(rpc_storage, session, true); rpc_system_storage_reset_state(rpc_storage, session, true);
/* use same message memory to send reponse */ /* use same message memory to send response */
PB_Main* response = malloc(sizeof(PB_Main)); PB_Main* response = malloc(sizeof(PB_Main));
const char* path = request->content.storage_read_request.path; const char* path = request->content.storage_read_request.path;
Storage* fs_api = furi_record_open(RECORD_STORAGE); Storage* fs_api = furi_record_open(RECORD_STORAGE);

View File

@ -25,13 +25,13 @@ typedef enum {
typedef enum { typedef enum {
FSE_OK, /**< No error */ FSE_OK, /**< No error */
FSE_NOT_READY, /**< FS not ready */ FSE_NOT_READY, /**< FS not ready */
FSE_EXIST, /**< File/Dir alrady exist */ FSE_EXIST, /**< File/Dir already exist */
FSE_NOT_EXIST, /**< File/Dir does not exist */ FSE_NOT_EXIST, /**< File/Dir does not exist */
FSE_INVALID_PARAMETER, /**< Invalid API parameter */ FSE_INVALID_PARAMETER, /**< Invalid API parameter */
FSE_DENIED, /**< Access denied */ FSE_DENIED, /**< Access denied */
FSE_INVALID_NAME, /**< Invalid name/path */ FSE_INVALID_NAME, /**< Invalid name/path */
FSE_INTERNAL, /**< Internal error */ FSE_INTERNAL, /**< Internal error */
FSE_NOT_IMPLEMENTED, /**< Functon not implemented */ FSE_NOT_IMPLEMENTED, /**< Function not implemented */
FSE_ALREADY_OPEN, /**< File/Dir already opened */ FSE_ALREADY_OPEN, /**< File/Dir already opened */
} FS_Error; } FS_Error;

View File

@ -17,7 +17,7 @@ typedef enum {
struct File { struct File {
uint32_t file_id; /**< File ID for internal references */ uint32_t file_id; /**< File ID for internal references */
FileType type; FileType type;
FS_Error error_id; /**< Standart API error from FS_Error enum */ FS_Error error_id; /**< Standard API error from FS_Error enum */
int32_t internal_error_id; /**< Internal API error value */ int32_t internal_error_id; /**< Internal API error value */
void* storage; void* storage;
}; };

View File

@ -255,19 +255,19 @@ FS_Error storage_common_fs_info(
const char* storage_error_get_desc(FS_Error error_id); const char* storage_error_get_desc(FS_Error error_id);
/** Retrieves the error id from the file object /** Retrieves the error id from the file object
* @param file pointer to file object. Pointer must not point to NULL. YOU CANNOT RETREIVE THE ERROR ID IF THE FILE HAS BEEN CLOSED * @param file pointer to file object. Pointer must not point to NULL. YOU CANNOT RETRIEVE THE ERROR ID IF THE FILE HAS BEEN CLOSED
* @return FS_Error error id * @return FS_Error error id
*/ */
FS_Error storage_file_get_error(File* file); FS_Error storage_file_get_error(File* file);
/** Retrieves the internal (storage-specific) error id from the file object /** Retrieves the internal (storage-specific) error id from the file object
* @param file pointer to file object. Pointer must not point to NULL. YOU CANNOT RETREIVE THE INTERNAL ERROR ID IF THE FILE HAS BEEN CLOSED * @param file pointer to file object. Pointer must not point to NULL. YOU CANNOT RETRIEVE THE INTERNAL ERROR ID IF THE FILE HAS BEEN CLOSED
* @return FS_Error error id * @return FS_Error error id
*/ */
int32_t storage_file_get_internal_error(File* file); int32_t storage_file_get_internal_error(File* file);
/** Retrieves the error text from the file object /** Retrieves the error text from the file object
* @param file pointer to file object. Pointer must not point to NULL. YOU CANNOT RETREIVE THE ERROR TEXT IF THE FILE HAS BEEN CLOSED * @param file pointer to file object. Pointer must not point to NULL. YOU CANNOT RETRIEVE THE ERROR TEXT IF THE FILE HAS BEEN CLOSED
* @return const char* error text * @return const char* error text
*/ */
const char* storage_file_get_error_desc(File* file); const char* storage_file_get_error_desc(File* file);

View File

@ -26,7 +26,7 @@ typedef struct {
NotificationApp* notification; NotificationApp* notification;
Storage* fs_api; Storage* fs_api;
// view managment // view management
SceneManager* scene_manager; SceneManager* scene_manager;
ViewDispatcher* view_dispatcher; ViewDispatcher* view_dispatcher;

View File

@ -30,7 +30,7 @@ typedef struct {
Widget* widget; Widget* widget;
NotificationApp* notifications; NotificationApp* notifications;
// view managment // view management
SceneManager* scene_manager; SceneManager* scene_manager;
ViewDispatcher* view_dispatcher; ViewDispatcher* view_dispatcher;

View File

@ -44,7 +44,7 @@ To run cleanup (think of `make clean`) for specified targets, add `-c` option.
- `fw_dist` - build & publish firmware to `dist` folder. This is a default target, when no other are specified - `fw_dist` - build & publish firmware to `dist` folder. This is a default target, when no other are specified
- `fap_dist` - build external plugins & publish to `dist` folder - `fap_dist` - build external plugins & publish to `dist` folder
- `updater_package`, `updater_minpackage` - build self-update package. Minimal version only inclues firmware's DFU file; full version also includes radio stack & resources for SD card - `updater_package`, `updater_minpackage` - build self-update package. Minimal version only includes firmware's DFU file; full version also includes radio stack & resources for SD card
- `copro_dist` - bundle Core2 FUS+stack binaries for qFlipper - `copro_dist` - bundle Core2 FUS+stack binaries for qFlipper
- `flash` - flash attached device with OpenOCD over ST-Link - `flash` - flash attached device with OpenOCD over ST-Link
- `flash_usb`, `flash_usb_full` - build, upload and install update package to device over USB. See details on `updater_package`, `updater_minpackage` - `flash_usb`, `flash_usb_full` - build, upload and install update package to device over USB. See details on `updater_package`, `updater_minpackage`

View File

@ -8,7 +8,7 @@
typedef struct { typedef struct {
FuriLogLevel log_level; FuriLogLevel log_level;
FuriLogPuts puts; FuriLogPuts puts;
FuriLogTimestamp timetamp; FuriLogTimestamp timestamp;
FuriMutex* mutex; FuriMutex* mutex;
} FuriLogParams; } FuriLogParams;
@ -18,7 +18,7 @@ void furi_log_init() {
// Set default logging parameters // Set default logging parameters
furi_log.log_level = FURI_LOG_LEVEL_DEFAULT; furi_log.log_level = FURI_LOG_LEVEL_DEFAULT;
furi_log.puts = furi_hal_console_puts; furi_log.puts = furi_hal_console_puts;
furi_log.timetamp = furi_get_tick; furi_log.timestamp = furi_get_tick;
furi_log.mutex = furi_mutex_alloc(FuriMutexTypeNormal); furi_log.mutex = furi_mutex_alloc(FuriMutexTypeNormal);
} }
@ -59,7 +59,7 @@ void furi_log_print_format(FuriLogLevel level, const char* tag, const char* form
furi_string_printf( furi_string_printf(
string, string,
"%lu %s[%s][%s] " FURI_LOG_CLR_RESET, "%lu %s[%s][%s] " FURI_LOG_CLR_RESET,
furi_log.timetamp(), furi_log.timestamp(),
color, color,
log_letter, log_letter,
tag); tag);
@ -98,5 +98,5 @@ void furi_log_set_puts(FuriLogPuts puts) {
void furi_log_set_timestamp(FuriLogTimestamp timestamp) { void furi_log_set_timestamp(FuriLogTimestamp timestamp) {
furi_assert(timestamp); furi_assert(timestamp);
furi_log.timetamp = timestamp; furi_log.timestamp = timestamp;
} }

View File

@ -1,6 +1,6 @@
/** /**
* @file memmgr.h * @file memmgr.h
* Furi: memory managment API and glue * Furi: memory management API and glue
*/ */
#pragma once #pragma once

View File

@ -1,6 +1,6 @@
/** /**
* @file memmgr_heap.h * @file memmgr_heap.h
* Furi: heap memory managment API and allocator * Furi: heap memory management API and allocator
*/ */
#pragma once #pragma once

View File

@ -48,7 +48,7 @@ typedef int32_t (*FuriThreadCallback)(void* context);
*/ */
typedef void (*FuriThreadStdoutWriteCallback)(const char* data, size_t size); typedef void (*FuriThreadStdoutWriteCallback)(const char* data, size_t size);
/** FuriThread state change calback called upon thread state change /** FuriThread state change callback called upon thread state change
* @param state new thread state * @param state new thread state
* @param context callback context * @param context callback context
*/ */
@ -194,7 +194,7 @@ size_t furi_thread_get_heap_size(FuriThread* thread);
*/ */
int32_t furi_thread_get_return_code(FuriThread* thread); int32_t furi_thread_get_return_code(FuriThread* thread);
/** Thread releated methods that doesn't involve FuriThread directly */ /** Thread related methods that doesn't involve FuriThread directly */
/** Get FreeRTOS FuriThreadId for current thread /** Get FreeRTOS FuriThreadId for current thread
* *

View File

@ -4,7 +4,7 @@
bool init_mutex(ValueMutex* valuemutex, void* value, size_t size) { bool init_mutex(ValueMutex* valuemutex, void* value, size_t size) {
// mutex without name, // mutex without name,
// no attributes (unfortunatly robust mutex is not supported by FreeRTOS), // no attributes (unfortunately robust mutex is not supported by FreeRTOS),
// with dynamic memory allocation // with dynamic memory allocation
valuemutex->mutex = furi_mutex_alloc(FuriMutexTypeNormal); valuemutex->mutex = furi_mutex_alloc(FuriMutexTypeNormal);
if(valuemutex->mutex == NULL) return false; if(valuemutex->mutex == NULL) return false;

View File

@ -39,7 +39,7 @@ bool delete_mutex(ValueMutex* valuemutex);
void* acquire_mutex(ValueMutex* valuemutex, uint32_t timeout); void* acquire_mutex(ValueMutex* valuemutex, uint32_t timeout);
/** /**
* Helper: infinitly wait for mutex * Helper: infinitely wait for mutex
*/ */
static inline void* acquire_mutex_block(ValueMutex* valuemutex) { static inline void* acquire_mutex_block(ValueMutex* valuemutex) {
return acquire_mutex(valuemutex, FuriWaitForever); return acquire_mutex(valuemutex, FuriWaitForever);
@ -135,7 +135,7 @@ void consumer_app(void* _p) {
flapp_exit(NULL); flapp_exit(NULL);
} }
// continously read value every 1s // continuously read value every 1s
uint32_t counter; uint32_t counter;
while(1) { while(1) {
if(read_mutex(counter_mutex, &counter, sizeof(counter), OsWaitForever)) { if(read_mutex(counter_mutex, &counter, sizeof(counter), OsWaitForever)) {

View File

@ -16,7 +16,7 @@ void furi_run() {
#if(__ARM_ARCH_7A__ == 0U) #if(__ARM_ARCH_7A__ == 0U)
/* Service Call interrupt might be configured before kernel start */ /* Service Call interrupt might be configured before kernel start */
/* and when its priority is lower or equal to BASEPRI, svc intruction */ /* and when its priority is lower or equal to BASEPRI, svc instruction */
/* causes a Hard Fault. */ /* causes a Hard Fault. */
NVIC_SetPriority(SVCall_IRQn, 0U); NVIC_SetPriority(SVCall_IRQn, 0U);
#endif #endif