Merge remote-tracking branch 'origin/dev' into release-candidate

This commit is contained in:
Aleksandr Kutuzov 2023-05-15 20:55:58 +09:00
commit 9cedac9adf
11 changed files with 35 additions and 11 deletions

View File

@ -135,7 +135,6 @@ static void desktop_auto_lock_inhibit(Desktop* desktop) {
void desktop_lock(Desktop* desktop) {
furi_hal_rtc_set_flag(FuriHalRtcFlagLock);
furi_hal_rtc_set_pin_fails(0);
if(desktop->settings.pin_code.length) {
Cli* cli = furi_record_open(RECORD_CLI);
@ -159,6 +158,7 @@ void desktop_unlock(Desktop* desktop) {
scene_manager_search_and_switch_to_previous_scene(desktop->scene_manager, DesktopSceneMain);
desktop_auto_lock_arm(desktop);
furi_hal_rtc_reset_flag(FuriHalRtcFlagLock);
furi_hal_rtc_set_pin_fails(0);
if(desktop->settings.pin_code.length) {
Cli* cli = furi_record_open(RECORD_CLI);

View File

@ -55,7 +55,6 @@ static void desktop_scene_pin_input_back_callback(void* context) {
static void desktop_scene_pin_input_done_callback(const PinCode* pin_code, void* context) {
Desktop* desktop = (Desktop*)context;
if(desktop_pin_compare(&desktop->settings.pin_code, pin_code)) {
furi_hal_rtc_set_pin_fails(0);
view_dispatcher_send_custom_event(desktop->view_dispatcher, DesktopPinInputEventUnlocked);
} else {
uint32_t pin_fails = furi_hal_rtc_get_pin_fails();

View File

@ -47,7 +47,7 @@ Only two parameters are mandatory: **_appid_** and **_apptype_**. Others are opt
The following parameters are used only for [FAPs](./AppsOnSDCard.md):
- **sources**: list of strings, file name masks used for gathering sources within the app folder. The default value of `["*.c*"]` includes C and C++ source files. Applications cannot use the `"lib"` folder for their own source code, as it is reserved for **fap_private_libs**.
- **fap_version**: tuple, 2 numbers in the form of (x,y): application version to be embedded within .fap file. The default value is (0,1), meaning version "0.1".
- **fap_version**: string, application version. The default value is "0.1". You can also use a tuple of 2 numbers in the form of (x,y) to specify the version. It is also possible to add more dot-separated parts to the version, like patch number, but only major and minor version numbers are stored in the built .fap.
- **fap_icon**: name of a `.png` file, 1-bit color depth, 10x10px, to be embedded within `.fap` file.
- **fap_libs**: list of extra libraries to link the application against. Provides access to extra functions that are not exported as a part of main firmware at the expense of increased `.fap` file size and RAM consumption.
- **fap_category**: string, may be empty. App subcategory, also determines the path of the FAP within the apps folder in the file system.

View File

@ -1,6 +1,6 @@
# Furi HAL Debugging
Some Furi subsystem got additional debugging features that can be enabled by adding additional defines to firmware compilation.
Some Furi subsystems got additional debugging features that can be enabled by adding additional defines to firmware compilation.
Usually they are used for low level tracing and profiling or signal redirection/duplication.
@ -23,4 +23,4 @@ There are 3 signals that will be exposed to external GPIO pins:
There are 2 signals that will be exposed to external GPIO pins:
- `WFI` - `PB2` - Light sleep (wait for interrupt) used. Basically this is lightest and most non-breaking things power save mode. All function and debug should work correctly in this mode.
- `STOP` - `PC3` - STOP mode used. Platform deep sleep mode. Extremely fragile mode where most of the silicon is disabled or in unusable state. Debugging MCU in this mode is nearly impossible.
- `STOP` - `PC3` - STOP mode used. Platform deep sleep mode. Extremely fragile mode where most of the silicon is disabled or in unusable state. Debugging MCU in this mode is nearly impossible.

View File

@ -1,5 +1,5 @@
entry,status,name,type,params
Version,+,26.2,,
Version,+,26.3,,
Header,+,applications/services/bt/bt_service/bt.h,,
Header,+,applications/services/cli/cli.h,,
Header,+,applications/services/cli/cli_vcp.h,,

1 entry status name type params
2 Version + 26.2 26.3
3 Header + applications/services/bt/bt_service/bt.h
4 Header + applications/services/cli/cli.h
5 Header + applications/services/cli/cli_vcp.h

View File

@ -1,5 +1,5 @@
entry,status,name,type,params
Version,+,26.2,,
Version,+,26.3,,
Header,+,applications/services/bt/bt_service/bt.h,,
Header,+,applications/services/cli/cli.h,,
Header,+,applications/services/cli/cli_vcp.h,,
@ -144,10 +144,12 @@ Header,+,lib/mlib/m-rbtree.h,,
Header,+,lib/mlib/m-tuple.h,,
Header,+,lib/mlib/m-variant.h,,
Header,+,lib/nfc/nfc_device.h,,
Header,+,lib/nfc/protocols/nfc_util.h,,
Header,+,lib/one_wire/maxim_crc.h,,
Header,+,lib/one_wire/one_wire_host.h,,
Header,+,lib/one_wire/one_wire_slave.h,,
Header,+,lib/print/wrappers.h,,
Header,+,lib/pulse_reader/pulse_reader.h,,
Header,+,lib/stm32wb_hal/Inc/stm32wbxx_ll_adc.h,,
Header,+,lib/stm32wb_hal/Inc/stm32wbxx_ll_bus.h,,
Header,+,lib/stm32wb_hal/Inc/stm32wbxx_ll_comp.h,,
@ -175,7 +177,6 @@ Header,+,lib/stm32wb_hal/Inc/stm32wbxx_ll_tim.h,,
Header,+,lib/stm32wb_hal/Inc/stm32wbxx_ll_usart.h,,
Header,+,lib/stm32wb_hal/Inc/stm32wbxx_ll_utils.h,,
Header,+,lib/stm32wb_hal/Inc/stm32wbxx_ll_wwdg.h,,
Header,+,lib/pulse_reader/pulse_reader.h,,
Header,+,lib/subghz/blocks/const.h,,
Header,+,lib/subghz/blocks/decoder.h,,
Header,+,lib/subghz/blocks/encoder.h,,
@ -2064,6 +2065,11 @@ Function,+,nfc_device_save_shadow,_Bool,"NfcDevice*, const char*"
Function,+,nfc_device_set_loading_callback,void,"NfcDevice*, NfcLoadingCallback, void*"
Function,+,nfc_device_set_name,void,"NfcDevice*, const char*"
Function,+,nfc_file_select,_Bool,NfcDevice*
Function,+,nfc_util_bytes2num,uint64_t,"const uint8_t*, uint8_t"
Function,+,nfc_util_even_parity32,uint8_t,uint32_t
Function,+,nfc_util_num2bytes,void,"uint64_t, uint8_t, uint8_t*"
Function,+,nfc_util_odd_parity,void,"const uint8_t*, uint8_t*, uint8_t"
Function,+,nfc_util_odd_parity8,uint8_t,uint8_t
Function,-,nfca_append_crc16,void,"uint8_t*, uint16_t"
Function,-,nfca_emulation_handler,_Bool,"uint8_t*, uint16_t, uint8_t*, uint16_t*"
Function,-,nfca_get_crc16,uint16_t,"uint8_t*, uint16_t"

1 entry status name type params
2 Version + 26.2 26.3
3 Header + applications/services/bt/bt_service/bt.h
4 Header + applications/services/cli/cli.h
5 Header + applications/services/cli/cli_vcp.h
144 Header + lib/mlib/m-tuple.h
145 Header + lib/mlib/m-variant.h
146 Header + lib/nfc/nfc_device.h
147 Header + lib/nfc/protocols/nfc_util.h
148 Header + lib/one_wire/maxim_crc.h
149 Header + lib/one_wire/one_wire_host.h
150 Header + lib/one_wire/one_wire_slave.h
151 Header + lib/print/wrappers.h
152 Header + lib/pulse_reader/pulse_reader.h
153 Header + lib/stm32wb_hal/Inc/stm32wbxx_ll_adc.h
154 Header + lib/stm32wb_hal/Inc/stm32wbxx_ll_bus.h
155 Header + lib/stm32wb_hal/Inc/stm32wbxx_ll_comp.h
177 Header + lib/stm32wb_hal/Inc/stm32wbxx_ll_usart.h
178 Header + lib/stm32wb_hal/Inc/stm32wbxx_ll_utils.h
179 Header + lib/stm32wb_hal/Inc/stm32wbxx_ll_wwdg.h
Header + lib/pulse_reader/pulse_reader.h
180 Header + lib/subghz/blocks/const.h
181 Header + lib/subghz/blocks/decoder.h
182 Header + lib/subghz/blocks/encoder.h
2065 Function + nfc_device_set_loading_callback void NfcDevice*, NfcLoadingCallback, void*
2066 Function + nfc_device_set_name void NfcDevice*, const char*
2067 Function + nfc_file_select _Bool NfcDevice*
2068 Function + nfc_util_bytes2num uint64_t const uint8_t*, uint8_t
2069 Function + nfc_util_even_parity32 uint8_t uint32_t
2070 Function + nfc_util_num2bytes void uint64_t, uint8_t, uint8_t*
2071 Function + nfc_util_odd_parity void const uint8_t*, uint8_t*, uint8_t
2072 Function + nfc_util_odd_parity8 uint8_t uint8_t
2073 Function - nfca_append_crc16 void uint8_t*, uint16_t
2074 Function - nfca_emulation_handler _Bool uint8_t*, uint16_t, uint8_t*, uint16_t*
2075 Function - nfca_get_crc16 uint16_t uint8_t*, uint16_t

View File

@ -6,6 +6,7 @@ env.Append(
],
SDK_HEADERS=[
File("nfc_device.h"),
File("protocols/nfc_util.h"),
],
)

View File

@ -2,6 +2,10 @@
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
void nfc_util_num2bytes(uint64_t src, uint8_t len, uint8_t* dest);
uint64_t nfc_util_bytes2num(const uint8_t* src, uint8_t len);
@ -11,3 +15,7 @@ uint8_t nfc_util_even_parity32(uint32_t data);
uint8_t nfc_util_odd_parity8(uint8_t data);
void nfc_util_odd_parity(const uint8_t* src, uint8_t* dst, uint8_t len);
#ifdef __cplusplus
}
#endif

View File

@ -196,7 +196,10 @@ class FlipperAppStateHelper:
self.set_debug_mode(False)
def set_debug_mode(self, mode: bool) -> None:
gdb.execute(f"set variable furi_hal_debug_gdb_session_active = {int(mode)}")
try:
gdb.execute(f"set variable furi_hal_debug_gdb_session_active = {int(mode)}")
except gdb.error as e:
print(f"Failed to set debug mode: {e}")
# Init additional 'fap-set-debug-elf-root' command and set up hooks

View File

@ -56,7 +56,7 @@ class FlipperApplication:
# .fap-specific
sources: List[str] = field(default_factory=lambda: ["*.c*"])
fap_version: Tuple[int] = field(default_factory=lambda: (0, 1))
fap_version: str | Tuple[int] = "0.1"
fap_icon: Optional[str] = None
fap_libs: List[str] = field(default_factory=list)
fap_category: str = ""
@ -84,6 +84,13 @@ class FlipperApplication:
def __post_init__(self):
if self.apptype == FlipperAppType.PLUGIN:
self.stack_size = 0
if isinstance(self.fap_version, str):
try:
self.fap_version = tuple(int(v) for v in self.fap_version.split("."))
except ValueError:
raise FlipperManifestException(
f"Invalid version string '{self.fap_version}'. Must be in the form 'major.minor'"
)
class AppManager:

View File

@ -8,7 +8,7 @@ App(
stack_size=2 * 1024,
fap_category="Examples",
# Optional values
# fap_version=(0, 1), # (major, minor)
# fap_version="0.1",
fap_icon="@FBT_APPID@.png", # 10x10 1-bit PNG
# fap_description="A simple app",
# fap_author="J. Doe",