Add extended I2C HAL functions (#3037)

* Add extended I2C HAL functions
* Rename I2CEndClockStretch to I2CEndAwaitRestart
* Address review comments
* Update f18 api_symbols.csv
* FuriHal: check input values in cortex timer
* FuriHal: cleanup I2C documentation
* Properly bump api symbols
* FuriHal: fix incorrect cast in I2C write_reg methods, fix spelling and naming
* FuriHal: cleanup const usage in I2C, sync declaration and implementation
* Format Sources
* FuriHal: more i2c docs
* Add I2C Restart and Pause / Resume test
* Add I2C auto-reload test
* UnitTests: skip furi_hal_i2c_ext_eeprom if eeprom is not connected
* UnitTest: cleanup subghz test output
* FuriHal: classic timeouts in i2c

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
This commit is contained in:
agarof
2023-09-21 16:54:25 +09:00
committed by GitHub
co-authored by hedger あく
parent 338fc3afea
commit f46018b204
7 changed files with 542 additions and 281 deletions
@@ -98,9 +98,9 @@ static bool subghz_decoder_test(const char* path, const char* name_decoder) {
}
subghz_file_encoder_worker_free(file_worker_encoder_handler);
}
FURI_LOG_T(TAG, "\r\n Decoder count parse \033[0;33m%d\033[0m ", subghz_test_decoder_count);
FURI_LOG_T(TAG, "Decoder count parse %d", subghz_test_decoder_count);
if(furi_get_tick() - test_start > TEST_TIMEOUT) {
printf("\033[0;31mTest decoder %s ERROR TimeOut\033[0m\r\n", name_decoder);
printf("Test decoder %s ERROR TimeOut\r\n", name_decoder);
return false;
} else {
return subghz_test_decoder_count ? true : false;
@@ -137,9 +137,9 @@ static bool subghz_decode_random_test(const char* path) {
}
subghz_file_encoder_worker_free(file_worker_encoder_handler);
}
FURI_LOG_D(TAG, "\r\n Decoder count parse \033[0;33m%d\033[0m ", subghz_test_decoder_count);
FURI_LOG_D(TAG, "Decoder count parse %d", subghz_test_decoder_count);
if(furi_get_tick() - test_start > TEST_TIMEOUT * 10) {
printf("\033[0;31mRandom test ERROR TimeOut\033[0m\r\n");
printf("Random test ERROR TimeOut\r\n");
return false;
} else if(subghz_test_decoder_count == TEST_RANDOM_COUNT_PARSE) {
return true;
@@ -200,10 +200,9 @@ static bool subghz_encoder_test(const char* path) {
subghz_transmitter_free(transmitter);
}
flipper_format_free(fff_data_file);
FURI_LOG_T(TAG, "\r\n Decoder count parse \033[0;33m%d\033[0m ", subghz_test_decoder_count);
FURI_LOG_T(TAG, "Decoder count parse %d", subghz_test_decoder_count);
if(furi_get_tick() - test_start > TEST_TIMEOUT) {
printf(
"\033[0;31mTest encoder %s ERROR TimeOut\033[0m\r\n", furi_string_get_cstr(temp_str));
printf("Test encoder %s ERROR TimeOut\r\n", furi_string_get_cstr(temp_str));
subghz_test_decoder_count = 0;
}
furi_string_free(temp_str);