Merge branch 'ofw-dev' into dev

This commit is contained in:
MX 2023-07-05 20:03:20 +03:00
commit 3d1d5f5b77
No known key found for this signature in database
GPG Key ID: 7CCC66B7DBDD1C83
8 changed files with 48 additions and 15 deletions

View File

@ -1,5 +1,5 @@
entry,status,name,type,params
Version,+,31.3,,
Version,+,33.0,,
Header,+,applications/services/bt/bt_service/bt.h,,
Header,+,applications/services/cli/cli.h,,
Header,+,applications/services/cli/cli_vcp.h,,
@ -1029,12 +1029,13 @@ Function,+,furi_hal_mpu_protect_no_access,void,"FuriHalMpuRegion, uint32_t, Furi
Function,+,furi_hal_mpu_protect_read_only,void,"FuriHalMpuRegion, uint32_t, FuriHalMPURegionSize"
Function,-,furi_hal_os_init,void,
Function,+,furi_hal_os_tick,void,
Function,+,furi_hal_power_check_otg_fault,_Bool,
Function,+,furi_hal_power_check_otg_status,void,
Function,+,furi_hal_power_debug_get,void,"PropertyValueCallback, void*"
Function,+,furi_hal_power_disable_external_3_3v,void,
Function,+,furi_hal_power_disable_otg,void,
Function,+,furi_hal_power_enable_external_3_3v,void,
Function,+,furi_hal_power_enable_otg,void,
Function,+,furi_hal_power_enable_otg,_Bool,
Function,+,furi_hal_power_gauge_is_ok,_Bool,
Function,+,furi_hal_power_get_bat_health_pct,uint8_t,
Function,+,furi_hal_power_get_battery_charge_voltage_limit,float,

1 entry status name type params
2 Version + 31.3 33.0
3 Header + applications/services/bt/bt_service/bt.h
4 Header + applications/services/cli/cli.h
5 Header + applications/services/cli/cli_vcp.h
1029 Function + furi_hal_mpu_protect_read_only void FuriHalMpuRegion, uint32_t, FuriHalMPURegionSize
1030 Function - furi_hal_os_init void
1031 Function + furi_hal_os_tick void
1032 Function + furi_hal_power_check_otg_fault _Bool
1033 Function + furi_hal_power_check_otg_status void
1034 Function + furi_hal_power_debug_get void PropertyValueCallback, void*
1035 Function + furi_hal_power_disable_external_3_3v void
1036 Function + furi_hal_power_disable_otg void
1037 Function + furi_hal_power_enable_external_3_3v void
1038 Function + furi_hal_power_enable_otg void _Bool
1039 Function + furi_hal_power_gauge_is_ok _Bool
1040 Function + furi_hal_power_get_bat_health_pct uint8_t
1041 Function + furi_hal_power_get_battery_charge_voltage_limit float

View File

@ -1,5 +1,5 @@
entry,status,name,type,params
Version,+,31.3,,
Version,+,33.0,,
Header,+,applications/services/bt/bt_service/bt.h,,
Header,+,applications/services/cli/cli.h,,
Header,+,applications/services/cli/cli_vcp.h,,
@ -1279,12 +1279,13 @@ Function,+,furi_hal_nfc_tx_rx,_Bool,"FuriHalNfcTxRxContext*, uint16_t"
Function,+,furi_hal_nfc_tx_rx_full,_Bool,FuriHalNfcTxRxContext*
Function,-,furi_hal_os_init,void,
Function,+,furi_hal_os_tick,void,
Function,+,furi_hal_power_check_otg_fault,_Bool,
Function,+,furi_hal_power_check_otg_status,void,
Function,+,furi_hal_power_debug_get,void,"PropertyValueCallback, void*"
Function,+,furi_hal_power_disable_external_3_3v,void,
Function,+,furi_hal_power_disable_otg,void,
Function,+,furi_hal_power_enable_external_3_3v,void,
Function,+,furi_hal_power_enable_otg,void,
Function,+,furi_hal_power_enable_otg,_Bool,
Function,+,furi_hal_power_gauge_is_ok,_Bool,
Function,+,furi_hal_power_get_bat_health_pct,uint8_t,
Function,+,furi_hal_power_get_battery_charge_voltage_limit,float,

1 entry status name type params
2 Version + 31.3 33.0
3 Header + applications/services/bt/bt_service/bt.h
4 Header + applications/services/cli/cli.h
5 Header + applications/services/cli/cli_vcp.h
1279 Function + furi_hal_nfc_tx_rx_full _Bool FuriHalNfcTxRxContext*
1280 Function - furi_hal_os_init void
1281 Function + furi_hal_os_tick void
1282 Function + furi_hal_power_check_otg_fault _Bool
1283 Function + furi_hal_power_check_otg_status void
1284 Function + furi_hal_power_debug_get void PropertyValueCallback, void*
1285 Function + furi_hal_power_disable_external_3_3v void
1286 Function + furi_hal_power_disable_otg void
1287 Function + furi_hal_power_enable_external_3_3v void
1288 Function + furi_hal_power_enable_otg void _Bool
1289 Function + furi_hal_power_gauge_is_ok _Bool
1290 Function + furi_hal_power_get_bat_health_pct uint8_t
1291 Function + furi_hal_power_get_battery_charge_voltage_limit float

View File

@ -284,10 +284,15 @@ void furi_hal_power_reset() {
NVIC_SystemReset();
}
void furi_hal_power_enable_otg() {
bool furi_hal_power_enable_otg() {
furi_hal_i2c_acquire(&furi_hal_i2c_handle_power);
bq25896_set_boost_lim(&furi_hal_i2c_handle_power, BoostLim_2150);
bq25896_enable_otg(&furi_hal_i2c_handle_power);
furi_delay_ms(30);
bool ret = bq25896_is_otg_enabled(&furi_hal_i2c_handle_power);
bq25896_set_boost_lim(&furi_hal_i2c_handle_power, BoostLim_1400);
furi_hal_i2c_release(&furi_hal_i2c_handle_power);
return ret;
}
void furi_hal_power_disable_otg() {
@ -317,6 +322,13 @@ void furi_hal_power_set_battery_charge_voltage_limit(float voltage) {
furi_hal_i2c_release(&furi_hal_i2c_handle_power);
}
bool furi_hal_power_check_otg_fault() {
furi_hal_i2c_acquire(&furi_hal_i2c_handle_power);
bool ret = bq25896_check_otg_fault(&furi_hal_i2c_handle_power);
furi_hal_i2c_release(&furi_hal_i2c_handle_power);
return ret;
}
void furi_hal_power_check_otg_status() {
furi_hal_i2c_acquire(&furi_hal_i2c_handle_power);
if(bq25896_check_otg_fault(&furi_hal_i2c_handle_power))

View File

@ -99,12 +99,16 @@ void furi_hal_power_reset();
/** OTG enable
*/
void furi_hal_power_enable_otg();
bool furi_hal_power_enable_otg();
/** OTG disable
*/
void furi_hal_power_disable_otg();
/** Check OTG status fault
*/
bool furi_hal_power_check_otg_fault();
/** Check OTG status and disable it if falt happened
*/
void furi_hal_power_check_otg_status();

View File

@ -61,7 +61,7 @@ void bq25896_init(FuriHalI2cBusHandle* handle) {
// OTG power configuration
bq25896_regs.r0A.BOOSTV = 0x8; // BOOST Voltage: 5.062V
bq25896_regs.r0A.BOOST_LIM = BOOST_LIM_1400; // BOOST Current limit: 1.4A
bq25896_regs.r0A.BOOST_LIM = BoostLim_1400; // BOOST Current limit: 1.4A
furi_hal_i2c_write_reg_8(
handle, BQ25896_ADDRESS, 0x0A, *(uint8_t*)&bq25896_regs.r0A, BQ25896_I2C_TIMEOUT);
@ -74,6 +74,12 @@ void bq25896_init(FuriHalI2cBusHandle* handle) {
BQ25896_I2C_TIMEOUT);
}
void bq25896_set_boost_lim(FuriHalI2cBusHandle* handle, BoostLim boost_lim) {
bq25896_regs.r0A.BOOST_LIM = boost_lim;
furi_hal_i2c_write_reg_8(
handle, BQ25896_ADDRESS, 0x0A, *(uint8_t*)&bq25896_regs.r0A, BQ25896_I2C_TIMEOUT);
}
void bq25896_poweroff(FuriHalI2cBusHandle* handle) {
bq25896_regs.r09.BATFET_DIS = 1;
furi_hal_i2c_write_reg_8(

View File

@ -9,6 +9,9 @@
/** Initialize Driver */
void bq25896_init(FuriHalI2cBusHandle* handle);
/** Set boost lim*/
void bq25896_set_boost_lim(FuriHalI2cBusHandle* handle, BoostLim boost_lim);
/** Send device into shipping mode */
void bq25896_poweroff(FuriHalI2cBusHandle* handle);

View File

@ -159,14 +159,16 @@ typedef struct {
#define BOOSTV_128 (1 << 1)
#define BOOSTV_64 (1 << 0)
#define BOOST_LIM_500 (0b000)
#define BOOST_LIM_750 (0b001)
#define BOOST_LIM_1200 (0b010)
#define BOOST_LIM_1400 (0b011)
#define BOOST_LIM_1650 (0b100)
#define BOOST_LIM_1875 (0b101)
#define BOOST_LIM_2150 (0b110)
#define BOOST_LIM_RSVD (0b111)
typedef enum {
BoostLim_500 = 0b000,
BoostLim_750 = 0b001,
BoostLim_1200 = 0b010,
BoostLim_1400 = 0b011,
BoostLim_1650 = 0b100,
BoostLim_1875 = 0b101,
BoostLim_2150 = 0b110,
BoostLim_Rsvd = 0b111,
} BoostLim;
typedef struct {
uint8_t BOOST_LIM : 3; // Boost Mode Current Limit

View File

@ -809,6 +809,8 @@ void nfc_worker_emulate_mf_ultralight(NfcWorker* nfc_worker) {
emulator.auth_received_callback = nfc_worker_mf_ultralight_auth_received_callback;
emulator.context = nfc_worker;
rfal_platform_spi_acquire();
while(nfc_worker->state == NfcWorkerStateMfUltralightEmulate) {
mf_ul_reset_emulation(&emulator, true);
furi_hal_nfc_emulate_nfca(
@ -828,6 +830,8 @@ void nfc_worker_emulate_mf_ultralight(NfcWorker* nfc_worker) {
emulator.data_changed = false;
}
}
rfal_platform_spi_release();
}
static bool nfc_worker_mf_get_b_key_from_sector_trailer(