Crate flipperzero_sys
source ·Expand description
Low-level bindings for the Flipper Zero.
Modules§
- Furi helpers.
Macros§
- Crash the system.
Structs§
- Comparator
- Font parameters
- Configuration for heatshrink compression
- File browser dialog extra options. This can be default-initialized using {dialog_file_browser_set_basic_options}.
- Interface for ELF loader to resolve symbols
- Felica block with status flags indicating last operation with it. See Felica manual for more details on status codes.
- Separate type for card key block. Used in authentication process
- Structure used to store Felica data and additional values about reading
- Felica filesystem structure
- Felica ID block
- Felica PMm block
- Structure that hold file info
- An object that describes a plugin - must be returned by plugin’s entry point
- Cortex timer provides high precision low level expiring timer
- FuriHalCryptoKey
- FuriHal i2c bus
- FuriHal i2c handle
- FuriHal spi bus
- FuriHal spi handle
- General Purpose I/O
- Gpio structure
- Inter-integrated Circuit Interface
- Input Event, dispatches with FuriPubSub
- Structure definition of some features of COMP instance.
- DMA_LL_ES_INIT DMA Exported Init structure
- LL GPIO Init Structure definition
- I2C_LL_ES_INIT I2C Exported Init structure
- LPTIM Init structure definition
- LL LPUART Init Structure definition
- RTC Init structures definition
- SPI Init structures definition
- TIM Time Base configuration structure definition.
- TIM Output Compare configuration structure definition.
- LL USART Init Structure definition
- LPTIMER
- MfUltralight poller authentication context.
- Nfc event structure.
- Nfc event data structure.
- Generic Nfc event type.
- Extended generic Nfc event type.
- Event passed to the user callback.
- Event data passed to the user callback.
- Real-Time Clock
- RPC application subsystem event structure.
- Event data structure, containing the type and associated data.
- Serial Peripheral Interface
- Scene Manager event
- Scene Manager configuration structure Contains array of Scene handlers
- Simple Array configuration structure. Defined per type.
- TIM
- Universal Synchronous Asynchronous Receiver Transmitter
- Represents a USB device data.
- Triple-DES context structure
- Line Coding Structure
- Represents a USB device descriptor
- Represents generic USB control request.
- Represents a hardware USB driver call table.
- USB device status data.
Constants§
- < Default, loader lock is used
- < Safe to run with insomnia mode on
- < Error
- < Last element
- < OK
- < Read access
- < Read and write access
- < Write access
- < File/Dir already opened
- < Access denied
- < File/Dir already exist
- < Internal error
- < Invalid name/path
- < Invalid API parameter
- < File/Dir does not exist
- < Function not implemented
- < FS not ready
- < No error
- < Creates a new file. If file exist, truncate to zero size
- < Creates a new file. Fails if the file is exist
- < Open file. Create new file if not exist
- < Open file. Create new file if not exist. Set R/W pointer to EOF
- < Open file, fail if file doesn’t exist
- Use edge triggered events.
- Special value containing the event flag bits, used internally.
- Automatically unsubscribe from events after one time.
- Subscribe to In events.
- Special value containing the event direction bits, used internally.
- Subscribe to Out events.
- Special value to force the enum to 32-bit values.
- < One-shot timer.
- < Repeating timer.
- < Internal channel, see
FuriHalAdcChannelVREFINT. - < Channel 1p
- < Channel 2p or 1n
- < Channel 3p or 2n
- < Channel 4p or 3n
- < Channel 5p or 4n
- < Channel 6p or 5n
- < Channel 7p or 6n
- < Channel 8p or 7n
- < Channel 9p or 8n
- < Channel 10p or 9n
- < Channel 11p or 10n
- < Channel 12p or 11n
- < Channel 13p or 12n
- < Channel 14p or 13n
- < Channel 15p or 14n
- < Channel 16p or 15n
- < Internal channel, see
FuriHalAdcChannelTEMPSENSOR. - < Internal channel, see
FuriHalAdcChannelVBAT. - < No channel
- < Special channel for on-die temperature sensor, requires at least 5us of sampling time
- < Special channel for VBAT/3 voltage, requires at least 12us of sampling time
- < Special channel for VREFINT, used for calibration and self test
- < 16MHZ, synchronous
- < 32MHZ, synchronous
- < 64MHz, synchronous
- < ADC will take 2 samples per each value
- < ADC will take 4 samples per each value
- < ADC will take 8 samples per each value
- < ADC will take 16 samples per each value
- < ADC will take 32 samples per each value
- < ADC will take 64 samples per each value
- < ADC will take 128 samples per each value
- < ADC will take 256 samples per each value
- < disable oversampling
- < Sampling time 2.5 ADC clock
- < Sampling time 6.5 ADC clock
- < Sampling time 12.5 ADC clock
- < Sampling time 24.5 ADC clock
- < Sampling time 47.5 ADC clock
- < Sampling time 92.5 ADC clock
- < Sampling time 247.5 ADC clock
- < Sampling time 640.5 ADC clock
- < 2.048V scale
- < 2.5V scale
- < tags do not match, auth failed
- < error during encryption/decryption
- < operation successful
- < Encrypted with Master key
- < Master key
- < Simple unencrypted key
- Begin the transaction by sending a RESTART condition followed by the address
- Continue the previous transaction with new data
- Begin the transaction by sending a START condition followed by the address
- < Bus activation event, called before handle activation
- < Bus deactivation event, called after handle deactivation
- < Bus deinitialization event, called on system stop
- < Bus initialization event, called on system start
- < Bus lock event, called before activation
- < Bus unlock event, called after deactivation
- < Handle activate: connect gpio and apply bus config
- < Handle deactivate: disconnect gpio and reset bus config
- End the transaction by clock stretching
- Pauses the transaction by clock stretching
- End the transaction by sending a STOP condition
- < New data obtained, and this is end of package
- < New data obtained, and this is end of package and no more data available
- < New data obtained
- < Receive buffer was too small for the received data.
- < The communication bus is busy.
- < NFC hardware did not respond or responded unexpectedly.
- < NFC hardware did not respond in time.
- < Cannot parse a frame due to unexpected/invalid data.
- < Not enough data was received to parse a valid frame.
- < No error has occurred.
- < Oscillator failed to start.
- < A collision has occurred.
- < External field (carrier) has been lost.
- < External field (carrier) has been detected.
- < Reader has issued a wake-up command.
- < Oscillator has been started.
- < Reception has ended.
- < Reception has started.
- < Transmission block timer has expired.
- < Frame wait timer has expired.
- < Transmission has ended.
- < Transmission has started.
- < Configure NFC HAL to operate as a listener.
- < Special value equal to the operating modes count. Internal use.
- < Configure NFC HAL to operate as a poller.
- < Configure NFC HAL to use the FeliCa technology.
- < Special value indicating the unconfigured state. Internal use.
- < Configure NFC HAL to use the ISO15693 technology.
- < Configure NFC HAL to use the ISO14443 (type A) technology.
- < Configure NFC HAL to use the ISO14443 (type B) technology.
- < Special value equal to the supported technologies count. Internal use.
- < Boot to DFU (MCU bootloader by ST)
- < Normal boot mode, default value
- < Boot to Update, post update
- < Boot to Update, pre update
- < Boot to Update, main
- < Enable allocation tracking for all threads
- < Enable allocation tracking for main application thread
- < Disable allocation tracking
- < Enable allocation tracking for main and children application threads
- < Day/Month/Year
- < Month/Day/Year
- < Year/Month/Day
- < 12-hour format
- < 24-hour format
- < Imperial measurement units
- < Metric measurement units
- < 9600 baud
- < 38400 baud
- < 57600 baud
- < 115200 baud
- < 230400 baud
- < 460800 baud
- < 921600 baud
- < 1843200 baud
- < Default: LPUART
- < None, disable serial logging
- < Reserved for future use
- < Default: USART
- < Pointer to last fault message
- < RTC structure header
- < LFS geometry fingerprint
- < Service value, do not use
- < Failed PINs count
- < Encoded value of the currently set PIN
- < Various system bits
- < Pointer to Version
- < Data: new data available
- < Framing Error: incorrect frame detected
- < Idle: bus idle detected
- < Noise Error: noise on the line detected
- < Overrun Error: no space for received data
- < Bus activation event, called before handle activation
- < Bus deactivation event, called after handle deactivation
- < Bus deinitialization event, called on system stop
- < Bus initialization event, called on system start
- < Bus lock event, called before activation
- < Bus unlock event, called after deactivation
- < Handle activate: connect gpio and apply bus config
- < Handle deactivate: disconnect gpio and reset bus config
- < Handle deinit, called on system stop, deinitialize gpio for default state
- < Handle init, called on system start, initialize gpio for idle state
- < Center Frequency: 315MHz. Path 2: SW1RF2-SW2RF1, LCLCLCL
- < Center Frequency: 433MHz. Path 1: SW1RF1-SW2RF2, LCLCL
- < Center Frequency: 868MHz. Path 3: SW1RF3-SW2RF3, LCLC
- < Isolate Radio from antenna
- < FM, deviation 2.380371 kHz, asynchronous
- < FM, deviation 47.60742 kHz, asynchronous
- < GFSK, deviation 19.042969 kHz, 9.996Kb/s, asynchronous
- < default configuration
- < MSK, deviation 47.60742 kHz, 99.97Kb/s, asynchronous
- < OOK, bandwidth 270kHz, asynchronous
- < OOK, bandwidth 650kHz, asynchronous
- < Parameter error.
- < Resource not available.
- < Operation not completed within the timeout period.
- < Operation completed successfully.
- < Prevents enum down-size compiler optimization.
- < High
- < Highest
- < Idle priority
- < Low
- < Lowest
- < Uninitialized, choose system default
- < Normal
- < Thread is running
- < Thread is starting
- < Thread is stopped
- < Same as other threads
- < Lower then other threads
- < One-shot timer.
- < Repeating timer.
- Number of GPIO on one port.
- < JTCK-SWCLK Alternate Function mapping
- < JTDI Alternate Function mapping
- < JTDO-TRACESWO Alternate Function mapping
- < JTMS-SWDIO Alternate Function mapping
- < LSCO Alternate Function mapping
- < MCO Alternate Function mapping
- < NJTRST Alternate Function mapping
- < RCT_OUT Alternate Function mapping
- < RTC_REFIN Alternate Function mapping
- < System Function mapping
- < TRACECK Alternate Function mapping
- < TRACED0 Alternate Function mapping
- < TRACED1 Alternate Function mapping
- < TRACED2 Alternate Function mapping
- < TRACED3 Alternate Function mapping
- < TRIG_INOUT Alternate Function mapping
- < LPTIM1 Alternate Function mapping
- < TIM1 Alternate Function mapping
- < TIM2 Alternate Function mapping
- < TIM1 Alternate Function mapping
- < TIM2 Alternate Function mapping
- < SAI1_CK1 Alternate Function mapping
- < SPI2 Alternate Function mapping
- < TIM1 Alternate Function mapping
- < I2C1 Alternate Function mapping
- < I2C3 Alternate Function mapping
- < SPI1 Alternate Function mapping
- < SPI2 Alternate Function mapping
- < LSCO Alternate Function mapping
- < MCO Alternate Function mapping
- < RF_DTB0 Alternate Function mapping
- < RF_DTB1 Alternate Function mapping
- < RF_DTB2 Alternate Function mapping
- < RF_DTB3 Alternate Function mapping
- < RF_DTB4 Alternate Function mapping
- < RF_DTB5 Alternate Function mapping
- < RF_DTB6 Alternate Function mapping
- < RF_DTB7 Alternate Function mapping
- < RF_DTB8 Alternate Function mapping
- < RF_DTB9 Alternate Function mapping
- < RF_DTB10 Alternate Function mapping
- < RF_DTB11 Alternate Function mapping
- < RF_DTB12 Alternate Function mapping
- < RF_DTB13 Alternate Function mapping
- < RF_DTB14 Alternate Function mapping
- < RF_DTB15 Alternate Function mapping
- < RF_DTB16 Alternate Function mapping
- < RF_DTB17 Alternate Function mapping
- < RF_DTB18 Alternate Function mapping
- < RF_MISO Alternate Function mapping
- < RF_MOSI Alternate Function mapping
- < RF_NSS Alternate Function mapping
- < RF_SCK Alternate Function mapping
- < USART1 Alternate Function mapping
- < IR Alternate Function mapping
- < LPUART1 Alternate Function mapping
- < TSC Alternate Function mapping
- < QUADSPI Alternate Function mapping
- < USB Alternate Function mapping
- < LCD Alternate Function mapping
- < COMP1 Alternate Function mapping
- < COMP2 Alternate Function mapping
- < TIM1 Alternate Function mapping
- < SAI1 Alternate Function mapping
- < LPTIM2 Alternate Function mapping
- < TIM2 Alternate Function mapping
- < TIM16 Alternate Function mapping
- < TIM17 Alternate Function mapping
- < EVENTOUT Alternate Function mapping
- < just dummy value
- < Desktop layer for internal use. Like fullscreen but with status bar
- < Fullscreen layer, no status bar
- < Don’t use or move, special value
- < Status bar left-side layer, auto-layout
- < Status bar right-side layer, auto-layout
- < Window layer, status bar is shown
- Signal, provided by callback is new and encoder should be reseted
- Signal, provided by callback is same. No encoder resetting.
- < Special value
- < Long event, emitted after INPUT_LONG_PRESS_COUNTS interval, asynchronous to InputTypeRelease
- < Special value for exceptional
- < Press event, emitted after debounce
- < Release event, emitted after debounce
- < Repeat event, emitted with INPUT_LONG_PRESS_COUNTS period after InputTypeLong event
- < Short event, emitted after InputTypeRelease done within INPUT_LONG_PRESS interval
- < Day/Month/Year
- < Month/Day/Year
- < Year/Month/Day
- < Imperial measurement units
- < Metric measurement units
- < 12-hour format
- < 24-hour format
- < Continue operation normally.
- < Reset the current state.
- < Switch Nfc hardware to low-power mode.
- < Stop the current operation.
- < Display full(verbose) name.
- < Display shortened name.
- < Data has not been parsed due to wrong/unknown format.
- < An incomplete data frame has been received.
- < An unknown error has occured on the lower level.
- < No error has occurred.
- < Operation is taking too long (e.g. card does not respond).
- < Reader’s field was lost.
- < Reader’s field was detected by the NFC hardware.
- < The listener has been activated by the reader.
- < The card has been activated by the poller.
- < Data reception has ended.
- < Data reception has started.
- < Data transmission has ended.
- < Data transmission has started.
- < User code explicitly aborted the current operation.
- < Configure the Nfc instance as a listener.
- < Operating mode count. Internal use.
- < Configure the Nfc instance as a poller.
- < Special value representing an invalid state.
- < Special value representing the number of available protocols.
- < One or more protocols have been detected.
- < Configure the Nfc instance to use the FeliCa technology.
- < Configure the Nfc instance to use the ISO15693 technology.
- < Configure the Nfc instance to use the ISO14443-3A technology.
- < Configure the Nfc instance to use the ISO14443-3B technology.
- < Technologies count. Internal use.
- < Search for alarmed device
- < Search for all devices
- < Event data contains zero or more bytes.
- < Event data contains a signed 32-bit integer.
- < No data is provided by the event.
- < Event data contains a zero-terminated string.
- The client has requested the application to exit.
- The client has informed the application that a button has been pressed.
- The client has informed the application that a button has been released.
- The client has sent a byte array of arbitrary size.
- Denotes an invalid state.
- The client has requested the application to load a file.
- The client side has closed the session.
- !< No valid digits after the leading whitespace, sign and prefix
- !< Conversion performed successfully
- !< Result does not fit in the requested type
- !< Multiple leading
+or-characters, or leading-character if the type is unsigned - < General unclassified error
- < Payload encoder failure
- < Missing
Bit - < Missing
Custom_preset_module - < Missing
Frequency - < Missing or invalid file header
- < Missing
Key - < Missing some other mandatory keys
- < Missing
Preset - < Missing
Protocolname - < Missing
Te - < Protocol not found
- < Invalid bit count value
- < Prevents enum down-size compiler optimization.
- < Desktop layer: fullscreen with status bar on top of it. For internal usage.
- < Fullscreen layer: without status bar
- < Window layer: with status bar
- Model consist of atomic types and/or partial update is not critical for rendering. Lock free.
- Model access is guarded with mutex. Locking gui thread.
- Model is not allocated
- < Special value, don’t use it
- <Function completes request accepted ZLP or data will be send.
- <Function has an error, STALLPID will be issued.
- <Function is busy. NAK handshake.
Statics§
- < System Clock Frequency
- Default configuration for heatshrink compression. Used for image assets.
- External i2c bus, I2C3, under reset when not used
- Internal(power) i2c bus, I2C1, under reset when not used
- Handle for external i2c bus Bus: furi_hal_i2c_bus_external Pins: PC0(SCL) / PC1(SDA), float on release Params: 100khz
- Handle for internal(power) i2c bus Bus: furi_hal_i2c_bus_external Pins: PA9(SCL) / PA10(SDA), float on release Params: 400khz
- Furi Hal Spi Bus D (Display, SdCard)
- ST7567(Display) on
furi_hal_spi_bus_d - External on
furi_hal_spi_bus_rPreset:furi_hal_spi_preset_1edge_low_2m - ST25R3916 on
furi_hal_spi_bus_r - SdCard in fast mode on
furi_hal_spi_bus_d - SdCard in slow mode on
furi_hal_spi_bus_d - CC1101 on
furi_hal_spi_bus_r - Furi Hal Spi Bus R (Radio: CC1101, Nfc, External)
- Preset for SdCard in slow mode
- Preset for ST7567 (Display)
- Preset for CC1101
- Preset for SdCard in fast mode
- Preset for ST25R916
- Messages
- Display: backlight always on unlock
- Display: backlight always on lock
- Display: backlight force off
- Display: backlight force off after a delay of 1000ms
- Display: backlight wakeup
- Message sequences
- USB device interface modes
Functions§
- DMA_LL_EF_Init Initialization and de-initialization functions
- I2C_LL_EF_Init Initialization and de-initialization functions
- LPTIM_LL_EF_Init Initialisation and deinitialisation functions
- UTILS_EF_SYSTEM SYSTEM
- TIM_LL_EF_Init Initialisation and deinitialisation functions
- Crash system
- Halt system
- Freed space obtained through the aligned_malloc function
- An aligned version of malloc, used when you need to get the aligned space on the heap Freeing the received address is performed ONLY through the aligned_free function
- Convert ASCII hex values to byte
- Get length of first word from arguments string
- Get length of arguments string
- Convert hex ASCII values to byte array
- Extract int value and trim arguments string
- Extract the first quoted argument from the argument string and trim the argument string. If the argument is not quoted, calls args_read_string_and_trim.
- Extract first argument from arguments string and trim arguments string
- atoi⚠
- Allocate a BitBuffer instance.
- Append all BitBuffer’s instance contents to this one. The destination capacity must be no less than its original data size plus source data size.
- Append a bit to a BitBuffer instance. The destination capacity must be sufficient to accomodate the additional bit.
- Append a byte to a BitBuffer instance. The destination capacity must be no less its original data size plus one.
- Append a byte array to a BitBuffer instance. The destination capacity must be no less its original data size plus source data size.
- Append a BitBuffer’s instance contents to this one, starting from start_index. The destination capacity must be no less than the source data size counting from start_index.
- Copy another BitBuffer instance’s contents to this one, replacing all of the original data. The destination capacity must be no less than the source data size.
- Copy a byte array to a BitBuffer instance, replacing all of the original data. The destination capacity must be no less than the source data size.
- Copy a byte array to a BitBuffer instance, replacing all of the original data. The destination capacity must be no less than the source data size.
- Copy a byte with parity array to a BitBuffer instance, replacing all of the original data. The destination capacity must be no less than the source data size.
- Copy all BitBuffer instance’s contents to this one, ending with end_index, replacing all of the original data. The destination capacity must be no less than the source data size counting to end_index.
- Copy all BitBuffer instance’s contents to this one, starting from start_index, replacing all of the original data. The destination capacity must be no less than the source data size counting from start_index.
- Delete a BitBuffer instance.
- Get a byte value at a specified index in a BitBuffer instance. The index must be valid (i.e. less than the instance’s data size in bytes).
- Get a byte value starting from the specified bit index in a BitBuffer instance. The resulting byte might correspond to a single byte (if the index is a multiple of 8), or two overlapping bytes combined. The index must be valid (i.e. less than the instance’s data size in bits).
- Get a BitBuffer instance’s capacity (i.e. the maximum possible amount of data), in bytes.
- Get the pointer to a BitBuffer instance’s underlying data.
- Get the pointer to a BitBuffer instance’s underlying data.
- Get a BitBuffer instance’s data size (i.e. the amount of stored data), in bits. Might be not divisible by 8 (see bit_buffer_is_partial_byte).
- Get a BitBuffer instance’s data size (i.e. the amount of stored data), in bytes. If a partial byte is present, it is also counted.
- Check whether a BitBuffer instance contains a partial byte (i.e. the bit count is not divisible by 8).
- Clear all data from a BitBuffer instance.
- Set byte value at a specified index in a BitBuffer instance. The index must be valid (i.e. less than the instance’s data size in bytes).
- Set byte and parity bit value at a specified index in a BitBuffer instance. The index must be valid (i.e. less than the instance’s data size in bytes).
- Resize a BitBuffer instance to a new size, in bits. May cause bugs. Use only if absolutely necessary.
- Resize a BitBuffer instance to a new size, in bytes. May cause bugs. Use only if absolutely necessary.
- Check whether a BitBuffer instance’s contents start with the designated byte.
- Write a BitBuffer instance’s entire contents to an arbitrary memory location. The destination memory must be allocated. Additionally, the destination capacity must be no less than the source data size.
- Write a slice of BitBuffer instance’s contents to an arbitrary memory location. The destination memory must be allocated. Additionally, the destination capacity must be no less than the requested slice size.
- Write a BitBuffer instance’s entire contents to an arbitrary memory location. Additionally, place a parity bit after each byte. The destination memory must be allocated. Additionally, the destination capacity must be no less than the source data size plus parity.
- Add parity to bit array
- Convert bytes in binary-coded decimal encoding to number
- Convert bytes to number in big endian order
- Convert bytes to number in little endian order
- Copy bits from source to destination.
- Slow, but generic CRC8 implementation
- Slow, but generic CRC16 implementation
- Get the bit of a byte.
- Count 1 bits in data
- Get the bits of a data, as uint8_t.
- Get the bits of a data, as uint16_t.
- Get the bits of a data, as uint32_t.
- Get the bits of a data, as uint64_t.
- Convert number to bytes in big endian order
- Convert number to bytes in little endian order
- Print data as bit array
- Print data as bit array and mark regions. Regions needs to be sorted by start position.
- Push a bit into a byte array.
- Remove bit every n in array and shift array left. Useful to remove parity.
- Reverse bits in uint8_t, faster than generic bit_lib_reverse_bits.
- Reverse bits in uint16_t, faster than generic bit_lib_reverse_bits.
- Reverse bits in bit array
- Set a bit in a byte array.
- Set the bit at the given position to the given value.
- Test parity of bit array, check parity for every parity_length block from start
- Test parity of given bits
- Restart MCU to launch radio stack firmware if necessary
- Initialize start core2 and initialize transport
- Is core2 alive and at least FUS is running
- Is core2 radio stack present and ready
- Set callback for NVM in RAM changes
- Waits for C2 to reports its mode to callback
- Notify that application buffer is empty
- Set Serial service events callback
- Set BLE RPC status
- Send data through BLE
- Disconnect from Central
- Forget bonded devices
- Set default keys storage file path
- Set keys storage file path
- Stop current BLE Profile and restore default profile
- Change BLE Profile
- Set callback for Bluetooth status change notification
- Allocate a file stream with buffered read operations
- Closes the file.
- Retrieves the error id from the file object
- Opens an existing file or creates a new one.
- Forces write from cache to the underlying file.
- Add item to button menu instance
- Allocate and initialize new instance of ButtonMenu model
- Free ButtonMenu element
- Get button menu view
- Clean button menu
- Set ButtonMenu header on top of canvas
- Set selected item
- Add a non-button icon to button_panel module.
- Add item to button_panel module.
- Add label to button_panel module.
- Allocate new button_panel module.
- Free button_panel module.
- Get button_panel view.
- Reserve space for adding items.
- Free items from button_panel module. Preallocated matrix stays unchanged.
- Allocate and initialize byte input. This byte input is used to enter bytes.
- Deinitialize and free byte input
- Get byte input view
- Set byte input header text
- Set byte input result callback
- Clear canvas
- Commit canvas. Send buffer to display
- Get current font height
- Draw bitmap picture at position defined by x,y.
- Draw box of width, height at x,y
- Draw circle at x,y with radius r
- Draw disc at x,y with radius r
- Draw dot at x,y
- Draw frame of width, height at x,y
- Draw glyph
- Draw icon at position defined by x,y.
- Draw animation at position defined by x,y.
- Draw icon at position defined by x,y with rotation and flip.
- Draw line from x1,y1 to x2,y2
- Draw rounded-corner box of width, height at x,y, with round value raduis
- Draw rounded-corner frame of width, height at x,y, with round value radius
- Draw string at position of baseline defined by x, y.
- Draw aligned string defined by x, y.
- Draw triangle with given base and height lengths and their intersection coordinate
- Draw XBM bitmap
- Get font parameters
- Get glyph width
- Get Canvas height
- Invert drawing color
- Reset canvas drawing tools configuration
- Set transparency mode
- Set drawing color
- Set custom drawing font
- Set drawing font
- Set font swap Argument String Rotation Description
- Get string width
- Get Canvas width
- Add cli command Registers you command callback
- Non-blocking check for interrupt command received
- Delete cli command
- Read character
- New line Send new ine sequence
- Print unified cmd usage tip
- Read from terminal
- Non-blocking read from terminal
- Write to terminal Do it only from inside of cli call.
- Add API resolver to composite resolver
- Allocate composite API resolver
- Free composite API resolver
- Get API interface from composite resolver
- Allocate encoder and decoder
- Decode data
- Decompress streamed data
- Encode data
- Free encoder and decoder
- Initialize icon compressor
- Decompress icon
- Free icon compressor
- Allocate stream decoder
- Free stream decoder
- Read uncompressed data chunk from stream decoder
- Reset stream decoder to the beginning Read callback must be repositioned by caller separately
- Seek to position in uncompressed data stream
- Get current position in uncompressed data stream
- Convert DateTime to UNIX timestamp
- Get the number of days in the month.
- Gets the number of days in the year according to the Gregorian calendar.
- Check if a year a leap year in the Gregorian calendar.
- Convert UNIX timestamp to DateTime
- Validate Date Time
- Allocate and initialize dialog
- Disable press/release events
- Enable press/release events
- Deinitialize and free dialog
- Get dialog view
- Clean dialog
- Set center button text
- Set dialog context
- Set dialog header text
- Set dialog icon
- Set left button text
- Set dialog result callback
- Set right button text
- Set dialog text
- Initialize file browser dialog options and set default values. This is guaranteed to initialize all fields so it is safe to pass pointer to uninitialized {options} and assume that the data behind it becomes fully initialized after the call.
- Shows and processes the file browser dialog
- Allocate and fill message
- Free message struct
- Set message buttons text, button text can be NULL if you don’t want to display and process some buttons
- Set message header
- Set message icon
- Set message text
- Show message from filled struct
- Show SD error message (with question sign)
- Append a signal index to a DigitalSequence instance.
- Register a signal within a DigitalSequence instance by its index.
- Transmit the sequence contained in the DigitalSequence instance.
- Append one period to the end of the DigitalSignal instance.
- Append one period to the end of the DigitalSignal instance, with the level specified.
- Get the number of periods currently stored in a DigitalSignal instance.
- Get the current start level contained in the DigitalSignal instance.
- Set the start level contained in the DigitalSignal instance.
- Allocate DirWalk
- Close directory
- Free DirWalk
- Get error id
- Open directory
- Read next element from directory
- Set filter callback (Should return true if the data is valid)
- Set recursive mode (true by default)
- Deed complete notification. Call it on deed completion. See dolphin_deed.h for available deeds. In futures it will become part of assets. Thread safe, async
- Flush dolphin queue and save state Thread safe, blocking
- Retrieve dolphin stats Thread safe, blocking
- Draw bold rounded frame
- Draw bubble frame for text
- Draw bubble frame for text with corner
- Draw button in center
- This function draws a button in the top right corner of the canvas with icon and string.
- Draw button in left corner
- Draw button in right corner
- This function draws a button in the top left corner of the canvas with icon and string.
- Draw rounded frame
- Draw multiline text
- Draw aligned multiline text
- Draw framed multiline text
- Draw progress bar.
- Draw progress bar with text.
- Draw scrollable text line
- Draw scrollbar on canvas.
- Draw scrollbar on canvas at specific position.
- Draw slightly rounded box
- Draw slightly rounded frame
- Trim string buffer to fit width in pixels
- Draw text box element
- Resolver for API entries using a pre-sorted table with hashes
- Allocate and initialize empty screen
- Deinitialize and free empty screen
- Get empty screen view
- Disable support for expansion modules.
- Enable support for expansion modules.
- Enable support for expansion modules on designated serial port.
- Perform collision resolution procedure.
- Checks if file info is directory
- Allocate file stream
- Closes the file.
- Retrieves the error id from the file object
- Opens an existing file or create a new one.
- Gets the error text from FS_Error
- Initialize FlipperApplication object
- Allocate application thread at entry point address, using app name and stack size from metadata. Returned thread isn’t started yet. Can be only called once for application instance.
- Destroy FlipperApplication object
- Get pointer to application manifest for preloaded application
- Check if application is a plugin (not a runnable standalone app)
- Load name and icon from FAP file.
- Get text description of load status
- Check if application is compatible with current hardware
- Check if API Version declared in manifest is newer than firmware ELF API interface
- Check if API Version declared in manifest is older than firmware ELF API interface
- Check if manifest is valid
- Load sections and process relocations for already pre-loaded application
- Get plugin descriptor for preloaded plugin
- Validate elf file and load application metadata
- Validate elf file and load application manifest
- Get text description of preload status
- Allocate FlipperFormat as file, buffered mode.
- Closes the file, use only if FlipperFormat allocated as a buffered file.
- Open file. Creates a new file, or deletes the contents of the file if it already exists, buffered mode. Use only if FlipperFormat allocated as a buffered file.
- Open existing file, buffered mode. Use only if FlipperFormat allocated as a buffered file.
- Removes the first matching key and its value. Sets the RW pointer to a position of deleted data.
- Allocate FlipperFormat as file.
- Closes the file, use only if FlipperFormat allocated as a file.
- Open file. Creates a new file, or deletes the contents of the file if it already exists. Use only if FlipperFormat allocated as a file.
- Open existing file for writing and add values to the end of file. Use only if FlipperFormat allocated as a file.
- Open existing file. Use only if FlipperFormat allocated as a file.
- Open file. Creates a new file, fails if file already exists. Use only if FlipperFormat allocated as a file.
- Free FlipperFormat.
- Returns the underlying stream instance. Use only if you know what you are doing.
- Get the count of values by key
- Updates the value of the first matching key to a bool array value, or adds the key and value if the key did not exist. Sets the RW pointer to a position at the end of inserted data.
- Updates the value of the first matching key to a float array value, or adds the key and value if the key did not exist. Sets the RW pointer to a position at the end of inserted data.
- Updates the value of the first matching key to an array of hex-formatted bytes, or adds the key and value if the key did not exist. Sets the RW pointer to a position at the end of inserted data.
- Updates the value of the first matching key to a int32 array value, or adds the key and value if the key did not exist. Sets the RW pointer to a position at the end of inserted data.
- Updates the value of the first matching key to a string value, or adds the key and value if the key did not exist. Sets the RW pointer to a position at the end of inserted data.
- Updates the value of the first matching key to a string value, or adds the key and value if the key did not exist. Plain C version. Sets the RW pointer to a position at the end of inserted data.
- Updates the value of the first matching key to a uint32 array value, or adds the key and value if the key did not exist. Sets the RW pointer to a position at the end of inserted data.
- Check if the key exists.
- Read array of bool by key
- Read array of float by key
- Read the header (file type and version).
- Read array of hex-formatted bytes by key
- Read array of uint64 in hex format by key
- Read array of int32 by key
- Read a string by key
- Read array of uint32 by key
- Rewind the RW pointer.
- Move the RW pointer at the end. Can be useful if you want to add some data after reading.
- Set FlipperFormat mode.
- Removes a key and the corresponding value string from the stream and inserts a new key/value pair.
- Get the count of values by key from a stream.
- Reads a value by key from a stream.
- Writes a comment string to the stream.
- Writes a key/value pair to the stream.
- Allocate FlipperFormat as string.
- Updates the value of the first matching key to a bool array value. Sets the RW pointer to a position at the end of inserted data.
- Updates the value of the first matching key to a float array value. Sets the RW pointer to a position at the end of inserted data.
- Updates the value of the first matching key to an array of hex-formatted bytes. Sets the RW pointer to a position at the end of inserted data.
- Updates the value of the first matching key to a int32 array value. Sets the RW pointer to a position at the end of inserted data.
- Updates the value of the first matching key to a string value. Sets the RW pointer to a position at the end of inserted data.
- Updates the value of the first matching key to a string value. Plain C version. Sets the RW pointer to a position at the end of inserted data.
- Updates the value of the first matching key to a uint32 array value. Sets the RW pointer to a position at the end of inserted data.
- Write key and array of bool
- Write comment
- Write comment. Plain C string version.
- Write key and array of float
- Write the header (file type and version).
- Write the header (file type and version). Plain C string version.
- Write key and array of hex-formatted bytes
- Write key and array of uint64 in hex format
- Write key and array of int32
- Write key and string
- Write key and string. Plain C string version.
- Write key and array of uint32
- Compare two floating point numbers
- free⚠
- Delay in milliseconds
- Delay execution
- Delay until tick
- Delay in microseconds
- Allocate FuriEventFlag
- Clear flags
- Deallocate FuriEventFlag
- Get flags
- Set flags
- Wait flags
- Allocate Event Loop instance
- Free Event Loop instance
- Call a function when all preceding timer commands are processed
- Continuously poll for events
- Stop Event Loop instance
- Subscribe to message queue events
- Subscribe to mutex events
- Subscribe to semaphore events
- Subscribe to stream buffer events
- Set Event Loop tick callback
- Create a new event loop timer instance.
- Delete an event loop timer instance.
- Get the timer interval.
- Get the time remaining before the timer becomes expires.
- Check if the timer is currently running.
- Restart a timer with the previously set interval.
- Start a timer or restart it with a new interval.
- Stop a timer without firing its callback.
- Unsubscribe from events (common)
- Get current tick counter
- Acquire ADC handle
- Configure with default parameters and enable ADC
- Configure with extended parameters and enable ADC
- Convert sampled TEMPSENSOR value to temperature
- Convert sampled value to voltage
- Convert sampled VBAT value to voltage
- Convert sampled VREFINT value to voltage
- Initialize ADC subsystem
- Read single ADC value
- Release ADC handle
- Change BLE app Restarts 2nd core
- Check if particular instance of profile belongs to given type
- Clear key storage
- Get BT/BLE system component state
- Check & switch C2 to given mode
- Get last configured extra beacon config
- Get last configured extra beacon data
- Check if extra beacon is active.
- Configure extra beacon.
- Set extra beacon data. Can be called in any state
- Start extra beacon. Beacon must configured with furi_hal_bt_extra_beacon_set_config() and in stopped state before calling this function.
- Stop extra beacon
- Get key storage buffer address and size
- Get radio stack type
- Get RSSI
- Get number of transmitted packets
- Checks if BLE state is active
- Get BT/BLE system component state
- Check if radio stack supports BLE GAT/GAP
- Check if radio stack supports testing
- Lock core2 state transition
- Get SRAM2 hardware semaphore
- Release SRAM2 hardware semaphore
- Reinitialize core2
- Set key storage change callback
- Start advertising
- Start BLE app
- Start receiving packets
- Start sending ble packets at a given frequency and datarate
- Start radio stack
- Set up the RF to listen to a given RF channel
- Start ble tone tx at given channel and power
- Stop advertising
- Stop sending ble packets
- Stop RF listenning
- Stop ble tone tx
- Lock core2 state transition
- Update battery level
- Update battery power state
- Early de-initialization
- Disable a peripheral by turning the clocking off and asserting the reset.
- Enable a peripheral by turning the clocking on and deasserting the reset.
- Early initialization
- Check if peripheral is enabled
- Reset a peripheral by sequentially asserting and deasserting the reset.
- Disable clock output on MCO pin
- Enable clock output on MCO pin
- Enable DWT comparator
- Reset DWT comparator
- Microseconds delay
- Get instructions per microsecond count
- Get Timer
- Check if timer expired
- Wait for timer expire
- Encrypt the input using AES-CTR
- Decrypt data
- Ensure that requested slot and slots before this slot contains keys.
- Init AES engine and load key from crypto enclave
- Store key in crypto enclave
- Unload key and deinit AES engine
- Verify factory provisioned keys
- Encrypt data
- Encrypt/decrypt the input using AES-GCM
- Decrypt the input using AES-GCM and verify the provided tag
- Encrypt the input using AES-GCM and generate a tag
- Init AES engine and load supplied key
- Unload key and de-init AES engine
- Disable MCU debug
- Enable MCU debug
- Check if GDB debug session is active
- Early de-initialization
- Early initialization
- Add and enable interrupt
- Disable interrupt
- Enable interrupt
- GPIO initialization function, normal version
- GPIO initialization function, extended version
- GPIO initialization function, simple version
- GPIO read pin.
- GPIO read pin.
- Remove interrupt
- GPIO write pin.
- GPIO write pin.
- Set the following consumer key to pressed state and send HID report
- Set the following consumer key to released state and send HID report
- Clear all pressed consumer keys and send HID report
- Get USB HID keyboard leds state
- Get USB HID connection state
- Set the following key to pressed state and send HID report
- Set the following key to released state and send HID report
- Clear all pressed keys and send HID report
- Set mouse movement and send HID report
- Set mouse button to pressed state and send HID report
- Set mouse button to released state and send HID report
- Set mouse wheel position and send HID report
- Set USB HID connect/disconnect callback
- Get received U2F HID packet
- Get HID U2F connection state
- Send U2F HID response packet
- Set HID U2F event callback
- Acquire I2C bus handle
- Check if I2C device presents on bus
- Perform I2C device memory read
- Perform I2C device register read (8-bit)
- Perform I2C device register read (16-bit)
- Release I2C bus handle
- Perform I2C RX transfer
- Perform I2C RX transfer, with additional settings.
- Perform I2C TX and RX transfers
- Perform I2C TX transfer
- Perform I2C TX transfer, with additional settings.
- Perform I2C device memory
- Perform I2C device register write (8-bit)
- Perform I2C device register write (16-bit)
- Update emulation timer period
- Start emulation timer
- Stop emulation timer
- Set the pin to normal mode (open collector), and sets it to float
- Sets the pin to analog mode, and sets it to float
- iButton write pin
- Get device information
- Setup callback for previously initialized INFRARED RX interrupt.
- Setup hal for receiving silence timeout.
- Setup callback for reaching silence timeout on INFRARED port.
- Initialize INFRARED RX timer to receive interrupts.
- Deinitialize INFRARED RX interrupt.
- Set callback providing new data.
- Set callback for end of signal transmission
- Start IR asynchronous transmission.
- Stop IR asynchronous transmission and free resources.
- Wait for end of IR asynchronous transmission and free resources.
- Detect which pin has an external IR module connected.
- Check if INFRARED is in use now.
- Set which pin will be used to transmit infrared signals.
- Get interrupt name by exception number. Exception number can be obtained from IPSR register.
- Get total time(in CPU clocks) spent in ISR
- Set ISR and enable interrupt with default priority
- Set ISR and enable interrupt with custom priority
- Set color in hardware LED blinking mode
- Start hardware LED blinking mode
- Stop hardware LED blinking mode
- Execute sequence
- Set light value
- Allocate memory from separate memory pool. That memory can’t be freed.
- Get free memory pool size
- Init memory pool manager
- Get max free block size from memory pool
- Disable memory protection unit
- Enable memory protection unit
- Manually emit the FuriHalNfcEventAbortRequest event.
- Exclusively take over the NFC HAL and associated hardware.
- Enable generation of NFC HAL events.
- Disable generation of NFC HAL events.
- Set FeliCa collision resolution parameters in listener mode.
- Enable field (carrier) detection by the NFC hardware.
- Disable field (carrier) detection by the NFC hardware.
- Check if the reader field (carrier) was detected by the NFC hardware.
- Initialise the NFC HAL and associated hardware.
- Check whether the NFC HAL was properly initialised and is ready.
- Set ISO14443 (Type A) collision resolution parameters in listener mode.
- Transmit ISO14443 (Type A) frame with custom parity bits in listener mode.
- Transmit ISO14443 (Type A) short frame in poller mode.
- Transmit ISO14443 (Type A) frame with custom parity bits in poller mode.
- Receive ISO14443 (Type A) SDD frame in poller mode.
- Transmit ISO14443 (Type A) SDD frame in poller mode.
- Send ISO15693 SOF in listener mode
- Enable reception in listener mode.
- Go to idle in listener mode.
- Receive data in listener mode.
- Go to sleep in listener mode.
- Transmit data in listener mode.
- Wait for an NFC HAL event in listener mode.
- Configure the NFC hardware to enter the low-power mode.
- Configure the NFC hardware to exit the low-power mode.
- Enable field (carrier) generation by the NFC hardware.
- Receive data in poller mode.
- Transmit data in poller mode.
- Wait for an NFC HAL event in poller mode.
- Release the exclusive lock and make the NFC HAL available for others.
- Reset the NFC HAL to its default (unconfigured) state.
- Configure the NFC HAL to work in a particular mode.
- Check whether block transmit (frame delay) timer is running.
- Start block transmit (frame delay) timer.
- Start block transmit (frame delay) timer.
- Stop block transmit (frame delay) timer.
- Start frame wait timeout timer.
- Stop frame wait timeout timer.
- Reset communication.
- Check OTG status fault
- Check OTG status and disable it if falt happened
- Get power debug information
- Disable 3.3v on external gpio and sd card
- OTG disable
- Enable 3.3v on external gpio and sd card
- OTG enable
- Check if gauge is ok
- Get battery health state in percents
- Get battery charge voltage limit in V
- Get battery current in A
- Get battery capacity in mAh from battery profile
- Get full charge battery capacity in mAh
- Get remaining battery battery capacity in mAh
- Get temperature in C
- Get battery voltage in V
- Get predicted remaining battery capacity in percents
- Get USB voltage in V
- Get power information
- Enter insomnia mode Prevents device from going to sleep Internally increases insomnia level Must be paired with furi_hal_power_insomnia_exit
- Exit insomnia mode Allow device to go to sleep Internally decreases insomnia level. Must be paired with furi_hal_power_insomnia_enter
- Get charging status
- Get charge complete status
- Get OTG status
- Check if gauge requests system shutdown
- Poweroff device
- Reset device
- Set battery charge voltage limit in V
- Switch MCU to SHUTDOWN
- Go to sleep
- Check if sleep available
- Enter supress charge mode.
- Exit supress charge mode
- Is PWM channel running?
- Set PWM channel parameters
- Enable PWM channel and set parameters
- Disable PWM channel
- Fill buffer with random data
- Get random value furi_hal_random_get() gives up to FURI_HAL_RANDOM_MAX rand() and random() give up to RAND_MAX
- Initialize random subsystem
- Get Region Data.
- Get band data for frequency
- Get region name
- Сheck if transmission is allowed on this frequency for your flipper region
- Check if region data provisioned
- Set device region data
- Get a corresponding external connector pin number for a gpio
- Set comparator callback
- Start/Enable comparator
- Stop/Disable comparator
- Start/Enable Field Presence detect
- Stop/Disable Field Presence detect
- Check Field Presence
- Pulldown rfid pull pin
- Release rfid pull pin
- Config rfid pins to reset state
- Set read timer period
- Set read timer pulse
- Continue read timer
- Pause read timer, to be able to continue later
- Start read timer
- Stop read timer
- Get RTC boot mode
- Get RTC Date Time
- Get RTC Fault Data
- Get RTC Heap Track mode
- Get RTC Locale Date Format
- Get RTC Locale Time Format
- Get RTC Locale Units
- Get logging baud rate
- Get logging device
- Get Log Level value
- Get PIN Fails count
- Get RTC register content
- Get UNIX Timestamp
- Check if RTC Flag is set
- Reset RTC Flag
- Reset ALL RTC registers content
- Set RTC boot mode
- Set RTC Date Time
- Set RTC Fault Data
- Set RTC Flag
- Set Heap Track mode
- Set RTC Locale Date Format
- Set RTC Locale Time Format
- Set locale units
- Set logging baud rate
- Set logging device
- Set Log Level value
- Set PIN Fails count
- Set register content
- Force sync shadow registers
- Get SD card state
- Get SD card info
- Init SD card
- Get SD card status
- SD card max mount retry count
- Init SD card presence detection
- Read blocks from SD card
- Write blocks to SD card
- Get data Serial receive
- Check if there is data available for reading
- Start and sets Serial Receive callback
- Stop Serial Receive
- Acquire Serial Interface Handler
- De-Initialize Serial Control
- Initialize Serial Control
- Acquire Serial Interface Handler
- Release Serial Interface Handler
- Enable expansion module detection for a given serial interface.
- Acquire Serial Interface Handler
- De-initialize Serial
- Disable an input/output directon
- Get data Serial receive DMA
- Start and sets Serial event callback receive DMA
- Stop Serial receive DMA
- Enable an input/output directon
- Get the GPIO pin associated with a serial
- Initialize Serial
- Determine whether a certain baud rate is supported
- Resume operation
- Changes baud rate
- Suspend operation
- Transmits data in semi-blocking mode
- Wait until transmission is completed
- Acquire speaker ownership
- Check current process speaker ownership
- Release speaker ownership
- Set volume
- Play a note
- Stop playback
- Acquire SPI bus
- Deinitialize SPI Bus
- Deinitialize SPI Bus Handle
- Initialize SPI Bus Handle
- Initialize SPI Bus
- SPI Receive
- SPI Transmit and Receive
- SPI Transmit and Receive with DMA
- SPI Transmit
- Release SPI bus
- Flush rx FIFO buffer
- Flush tx FIFO buffer
- Get data GPIO
- Get LQI
- Get RSSI value in dBm
- Switch to Idle
- Wait for async transmission to complete
- Check if frequency is in valid range
- Check if received data crc is valid
- Load custom registers from preset
- Load PATABLE
- Load registers
- Read packet from FIFO
- Reset Issue reset command registers content will be lost
- Switch to Receive
- Check if receive pipe is not empty
- Set frequency
- Set frequency and path This function automatically selects antenna matching network
- Set path
- Shutdown Issue SPWD command registers content will be lost
- Send device to sleep mode
- Enable signal timings capture Initializes GPIO and TIM2 for timings capture
- Start async TX Initializes GPIO, TIM2 and DMA1 for signal output
- Disable signal timings capture Resets GPIO and TIM2
- Stop async transmission and cleanup resources Resets GPIO, TIM2, and DMA1
- Switch to Transmit
- Write packet to FIFO
- Jump to the void*
- Insert Smart Card
- Remove Smart Card
- Set CCID callbacks
- Disable USB device
- Enable USB device
- Get USB device configuration
- Check if USB device mode switch locked
- Lock USB device mode switch
- Restart USB device
- Set USB device configuration
- Unlock USB device mode switch
- Check target firmware version
- Get pointer to target ble local device name
- Get BLE MAC address
- Get pointer to target device name
- Get FCC ID
- Get address of version structure of firmware.
- Get hardware body
- Get hardware body color
- Get hardware connect
- Get hardware display id
- Get hardware region
- Get hardware region name
- Get hardware target
- Get hardware timestamp
- Get hardware version
- Get IC id
- Get MIC id
- Get model name
- Get model name
- Get pointer to target name
- Get NCC id
- Get OTP version
- Get SRRC id
- Get const pointer to UID
- Get platform UID size in bytes
- Turn on/off vibro
- Get kernel systick frequency
- Check if CPU is in IRQ or kernel running and IRQ is masked
- Check if kernel is running
- Lock kernel, pause process scheduling
- Restore kernel lock state
- Unlock kernel, resume process scheduling
- Add log TX callback
- Get log level
- Log level from string
- Log level to string
- Print log record
- Print log record
- Transmit data through log IO callbacks
- Remove log TX callback
- Set log level
- Transmit data through log IO callbacks
- Allocate furi message queue
- Free queue
- Get message from queue
- Get queue capacity
- Get message count in queue
- Get message size
- Get queue available space
- Put message into queue
- Reset queue
- Convert milliseconds to ticks
- Acquire mutex
- Allocate FuriMutex
- Free FuriMutex
- Get mutex owner thread id
- Release mutex
- Allocate FuriPubSub
- Free FuriPubSub
- Publish message to FuriPubSub
- Subscribe to FuriPubSub
- Unsubscribe from FuriPubSub
- Close record
- Create record
- Destroy record
- Check if record exists
- Open record
- Acquire semaphore
- Allocate semaphore
- Free semaphore
- Get semaphore count
- Get available space
- Release semaphore
- Allocate stream buffer instance. Stream buffer implementation assumes there is only one task or interrupt that will write to the buffer (the writer), and only one task or interrupt that will read from the buffer (the reader).
- Queries a stream buffer to see how much data it contains, which is equal to the number of bytes that can be read from the stream buffer before the stream buffer would be empty.
- Free stream buffer instance
- Queries a stream buffer to see if it is empty.
- Queries a stream buffer to see if it is full.
- Receives bytes from a stream buffer. Wakes up task waiting for space to become available if called from ISR.
- Resets a stream buffer to its initial, empty, state. Any data that was in the stream buffer is discarded. A stream buffer can only be reset if there are no tasks blocked waiting to either send to or receive from the stream buffer.
- Sends bytes to a stream buffer. The bytes are copied into the stream buffer. Wakes up task waiting for data to become available if called from ISR.
- Queries a stream buffer to see how much free space it contains, which is equal to the amount of data that can be sent to the stream buffer before it is full.
- Set trigger level for stream buffer. A stream buffer’s trigger level is the number of bytes that must be in the stream buffer before a task that is blocked on the stream buffer to wait for data is moved out of the blocked state.
- Allocate new FuriString.
- Allocate new FuriString and move source string content to it.
- Allocate new FuriString and printf to it.
- Allocate new FuriString and set it to string.
- Allocate new FuriString and set it to C string.
- Allocate new FuriString and printf to it.
- Append a string to the string.
- Append to the string the formatted string of the given printf format.
- Append a C string to the string.
- Append to the string the formatted string of the given printf format.
- Compare two strings and return the sort order.
- Compare string with C string and return the sort order.
- Compare two strings (case insensitive according to the current locale) and return the sort order.
- Compare string with C string (case insensitive according to the current locale) and return the sort order.
- Check that string is empty or not
- Test if the string ends with the given string.
- Test if the string ends with the given C string.
- Test if the string ends with the given string (case insensitive according to the current locale).
- Test if the string ends with the given C string (case insensitive according to the current locale).
- Test if two strings are equal.
- Test if the string is equal to the C string.
- Free FuriString.
- Get the character at the given index.
- Return the string view a classic C string.
- Compute a hash for the string.
- Trim the string left to the first ‘index’ bytes.
- Trim the string from position index to size bytes.
- Move string_2 content to string_1.
- Format in the string the given printf format
- Append a character to the string.
- Replace a string ‘needle’ to string ‘replace’ in a string from ‘start’ position.
- Replace all occurrences of ‘needle’ string into ‘replace’ string.
- Replace all occurrences of ‘needle’ C string into ‘replace’ C string.
- Replace in the string the sub-string at position ‘pos’ for ‘len’ bytes into the C string ‘replace’.
- Replace a C string ‘needle’ to C string ‘replace’ in a string from ‘start’ position.
- Reserve memory for string.
- Reset string.
- Trim the string right from the ‘index’ position to the last position.
- Search the first occurrence of the needle in the string from the position start.
- Search for the position of the character c from the position start (include) in the string.
- Reverse search for the position of the character c from the position start (include) in the string.
- Search the first occurrence of the needle in the string from the position start.
- Set the string to the other string.
- Set the character at the given index.
- Set the string to the n first characters of other one.
- Set the string to the other C string.
- Set the string to the n first characters of the C string.
- Get string size (usually length, but not for UTF-8)
- Test if the string starts with the given string.
- Test if the string starts with the given C string.
- Swap two strings.
- Trim a string from the given set of characters (default is “ # Arguments
- Main generic UTF8 decoder
- Compute the length in UTF8 characters in the string.
- Push unicode into string, encoding it in UTF8.
- Format in the string the given printf format
- Create a FuriThread instance.
- Create a FuriThread instance w/ extra parameters.
- Enable heap usage tracing for a FuriThread.
- Enumerate all threads.
- Clear the thread flags of the current FuriThread.
- Get the thread flags of the current FuriThread.
- Set the thread flags of a FuriThread.
- Wait for some thread flags to be set.
- Delete a FuriThread instance.
- Get the application id of a thread based on its unique identifier.
- Get the FuriThread instance associated with the current thread.
- Get the unique identifier of the current FuriThread.
- Get the priority of the current FuriThread.
- Get heap usage by a FuriThread instance.
- Get the unique identifier of a FuriThread instance.
- Get the name of a thread based on its unique identifier.
- Get the priority of a FuriThread.
- Get the return code of a FuriThread instance.
- Get a signal callback for a FuriThread instance.
- Get thread stack watermark.
- Get the state of a FuriThread isntance.
- Get the standard output callback for the current thead.
- Test if a thread is suspended.
- Wait for a FuriThread to exit.
- Allocate FuriThreadList instance
- Free FuriThreadList instance
- Get item at position
- Get percent of time spent in ISR
- Get item by thread FuriThread pointer
- Process items in the FuriThreadList instance
- Get FuriThreadList instance size
- Resume a thread.
- Set the application ID of a FuriThread instance.
- Set the user callback function to be executed in a FuriThread.
- Set the callback function context.
- Set the priority of the current FuriThread.
- Set the name of a FuriThread instance.
- Set the priority of a FuriThread.
- Set a signal handler callback for a FuriThread instance.
- Set the stack size of a FuriThread instance.
- Set the callback function to be executed upon a state thransition of a FuriThread.
- Set the state change callback context.
- Set standard output callback for the current thread.
- Send a signal to a FuriThread instance.
- Start a FuriThread instance.
- Flush buffered data to standard output.
- Write data to buffered standard output.
- Suspend a thread.
- Return control to the scheduler.
- Allocate timer
- Free timer
- Get timer expire time
- Is timer running
- Restart timer with previous timeout value
- Set Timer thread priority
- Start timer
- Stop timer
- Add gui canvas commit callback
- Add view_port to view_port tree
- Acquire Direct Draw lock and get Canvas instance
- Release Direct Draw Lock
- Get gui canvas frame buffer size *
- Remove gui canvas commit callback
- Remove view_port from rendering tree
- Set lockdown mode
- Send ViewPort to the front
- Convert ASCII hex value to nibble
- Convert ASCII hex value to byte
- Convert ASCII hex values to uint8_t
- Convert ASCII hex values to uint64_t
- Allocate a key object
- Destroy the key object, free resources
- Get the protocol id held by the key
- Reset the protocol id and data held by the key
- Set the protocol id held by the key
- Allocate an iButtonProtocols object
- Make all necessary internal adjustments after editing the key
- Start emulating the key
- Stop emulating the key
- Destroy an iButtonProtocols object, free resources
- Get a pointer to the key’s editable data (for in-place editing)
- Get protocol features bitmask by protocol id
- Get the protocol id based on its name
- Get the manufacturer name based on the protocol id
- Get maximum data size out of all protocols available
- Get the protocol name based on the protocol id
- Get the total number of available protocols
- Check whether the key data is valid
- Load the key from a file.
- Read a physical device (a key or an emulator)
- Format a string containing device brief data
- Format a string containing device full data
- Format a string containing error message (for invalid keys)
- Format a string containing defice UID
- Save the key data to a file.
- Write the key to another one of the same type
- Write the key to a blank
- Allocate ibutton worker
- Set “emulate success” callback
- Start emulate mode
- Free ibutton worker
- Set “read success” callback
- Start read mode
- Start ibutton worker thread
- Stop all modes
- Stop ibutton worker thread
- Start write copy mode
- Start write blank mode
- Set “write event” callback
- Allocate icon animation instance with const icon data.
- Release icon animation instance
- Get icon animation height
- Get icon animation width
- Returns true if current frame is a last one
- Set IconAnimation update callback
- Start icon animation
- Stop icon animation
- Get Icon XBM bitmap data for the first frame
- Get Icon frame count
- Get Icon XBM bitmap data for a particular frame
- Get icon height
- Get icon width
- Initialize decoder.
- Allocate INFRARED encoder.
- Check whether decoder is ready. Functionality is quite similar to infrared_decode(), but with no timing providing. Some protocols (e.g. Sony SIRC) has variable payload length, which means we can’t recognize end of message right after receiving last bit. That’s why application should call to infrared_check_decoder_ready() after some timeout to retrieve decoded message, if so.
- Provide to decoder next timing.
- Encode previously set INFRARED message. Usage:
- Deinitialize decoder and free allocated memory.
- Free encoder handler previously allocated with
infrared_alloc_encoder(). - Get address length by protocol enum.
- Get protocol enum by protocol name.
- Get command length by protocol enum.
- Get PWM duty cycle value for selected protocol
- Get PWM frequency value for selected protocol
- Get the minimum count of signal repeats for the selected protocol
- Get protocol name by protocol enum.
- Checks whether protocol valid.
- Reset INFRARED decoder.
- Reset INFRARED encoder and set new message to encode. If it’s not called after receiveing InfraredStatusDone in
infrared_encode(),encoder will encode repeat messages till the end of time. - Send message over INFRARED.
- Send raw data through infrared port.
- Send raw data through infrared port, with additional settings.
- Allocate InfraredWorker
- Free InfraredWorker
- Acquire decoded message from interface struct ‘InfraredWorkerSignal’. First, you have to ensure that signal is decoded.
- Acquire raw signal from interface struct ‘InfraredWorkerSignal’. First, you have to ensure that signal is raw.
- Enable blinking on receiving any signal on IR port.
- Enable decoding of received infrared signals.
- Set received data callback InfraredWorker
- Start InfraredWorker thread, initialise furi_hal, prepare all work.
- Stop InfraredWorker thread, deinitialize furi_hal.
- Set current decoded signal for InfraredWorker instance
- Set current raw signal for InfraredWorker instance
- Clarify is received signal either decoded or raw
- Callback to pass to infrared_worker_tx_set_get_signal_callback() if signal is steady and will not be changed between infrared_worker start and stop. Before starting transmission, desired steady signal must be set with infrared_worker_set_decoded_signal() or infrared_worker_set_raw_signal().
- Set callback for providing next signal to send
- Set callback for end of signal transmitting
- Start transmitting signal. Callback InfraredWorkerGetSignalCallback should be set before this function is called, as it calls for it to fill buffer before starting transmission.
- Stop transmitting signal. Waits for end of current signal and stops transmission.
- Get human readable input key name
- Get human readable input type name
- Perform collision resolution procedure.
- Checks presence of Iso14443_3a complient card.
- Send HALT command to the card.
- Transmit and receive Iso14443_3a standard frames in poller mode.
- Transmit and receive Iso14443_3a frames in poller mode.
- Transmit and receive Iso14443_3a frames with custom parity bits in poller mode.
- Perform collision resolution procedure.
- Send HALT command to the card.
- Transmit and receive Iso14443_3b frames in poller mode.
- Send HALT command to the card.
- Read Answer To Select (ATS) from the card.
- Transmit and receive Iso14443_4a blocks in poller mode.
- Send HALT command to the card.
- Transmit and receive Iso14443_4b blocks in poller mode.
- itoa⚠
- Add key to list
- Open or create list Depending on mode, list will be opened or created.
- Check if the file list exists
- Delete key from list
- Close list
- Get next key from the list This function will return next key from list. If there are no more keys, it will return false, and keys_dict_rewind() should be called.
- Get total number of keys in list
- Check if key is present in list
- Rewind list
- Load protocol from file to dictionary
- Save protocol from dictionary to file
- Allocate a new LFRFIDRawFile instance
- Free a LFRFIDRawFile instance
- Open RAW file for reading
- Open RAW file for writing
- Read RAW file header
- Read varint-encoded pair from RAW file
- Write data to RAW file
- Write RAW file header
- Allocate a new LFRFIDRawWorker instance
- Free a LFRFIDRawWorker instance
- Start emulate
- Start reading
- Stop worker
- Allocate LF-RFID worker
- Emulate raw read mode
- Start emulate mode
- Free LF-RFID worker
- Start raw read mode
- Start read mode
- Start LF-RFID worker thread
- Stop all modes
- Stop LF-RFID worker thread
- Start write mode
- Get the name of the currently running application
- Get loader pubsub
- Check if loader is locked
- Lock application start
- Show loader menu
- Send a signal to the currently running application
- Start application
- Start application detached with GUI error message
- Start application with GUI error message
- Unlock application start
- Allocate and initialize
- Deinitialize and free Loading View
- Get Loading view
- Convert Celsius to Fahrenheit
- Convert Fahrenheit to Celsius
- Format date to furi string
- Format time to furi string
- Get Locale DateFormat
- Get Locale measurement units
- Get Locale time format
- Set Locale DateFormat
- Set locale measurement units
- Set Locale Time Format
- Get free heap size
- Get heap watermark
- Get total heap size
- Memmgr heap disable thread allocation tracking
- Memmgr heap enable thread allocation tracking
- Memmgr heap get the max contiguous block size on the heap
- Memmgr heap get allocatred thread memory
- Print the address and size of all free blocks to stdout
- Add item to menu
- Menu allocation and initialization
- Free menu
- Get Menu view
- Clean menu
- Set current menu item
- Perform authentication.
- Perform nested authentication.
- Collect tag nonce during authentication.
- Collect tag nonce during nested authentication.
- Halt the tag.
- Read block from tag.
- Transmit and receive Iso14443_3a frames with custom parity bits in poller mode.
- Transmit and receive Mifare Classic encrypted frames with custom parity bits in poller mode.
- Transmit and receive Iso14443_3a frames in poller mode.
- Transmit and receive Iso14443_3a standard frames in poller mode.
- Perform value command on tag.
- Transfer internal transfer block to tag.
- Write block to tag.
- Read application data for selected application on MfDesfire card.
- Read applications IDs on MfDesfire card.
- Read multiple applications data on MfDesfire card.
- Read file data on MfDesfire card.
- Read data from multiple files on MfDesfire card.
- Read file IDs for selected application on MfDesfire card.
- Read file records on MfDesfire card.
- Read file settings on MfDesfire card.
- Read multiple file settings on MfDesfire card.
- Read file value on MfDesfire card.
- Read free memory available on MfDesfire card.
- Read key settings on MfDesfire card.
- Read key version on MfDesfire card.
- Read key versions on MfDesfire card.
- Read MfDesfire card version.
- Select application on MfDesfire card.
- Transmit and receive MfDesfire chunks in poller mode.
- Read MfPlus card version.
- Perform authentication with password.
- End authentication procedure
- Start authentication procedure.
- Read counter from card.
- Read page from card.
- Read page from sector.
- Read signature from card.
- Read tearing flag from card.
- Read version from card.
- Write page to card.
- Generates detailed/random name based on furi_hal flags
- Generates detailed name
- Generates random name
- Allocate an Nfc instance.
- Configure the Nfc instance to work in a particular mode.
- Allocate an NfcDevice instance.
- Clear an NfcDevice instance.
- Copy (export) the data contained in an NfcDevice instance to an outside NfcDeviceData instance.
- Delete an NfcDevice instance.
- Get the protocol-specific data from an NfcDevice instance.
- Get the name of an NfcDevice instance.
- Get the protocol identifier from an NfcDevice instance.
- Get the protocol name by its identifier.
- Get the unique identifier (UID) of an NfcDevice instance.
- Compare two NfcDevice instances to determine whether they are equal.
- Check whether an NfcDevice instance holds certain data.
- Load NFC device data to an NfcDevice instance from a file.
- Reset an NfcDevice instance.
- Save NFC device data form an NfcDevice instance to a file.
- Set the data and protocol of an NfcDevice instance.
- Set the loading callback function.
- Set the unique identifier (UID) of an NfcDevice instance.
- Set FeliCa collision resolution parameters in listener mode.
- Delete an Nfc instance.
- Set ISO14443-3A collision resolution parameters in listener mode.
- Transmit an ISO14443-3A frame with custom parity bits in listener mode.
- Transmit an ISO14443-3A data frame with custom parity bits and receive the response in poller mode.
- Transmit an ISO14443-3A SDD frame and receive the response in poller mode.
- Transmit an ISO14443-3A short frame and receive the response in poller mode.
- Send ISO15693 Start of Frame pattern in listener mode
- Allocate an NfcListener instance.
- Delete an NfcListener instance.
- Get the data that was that was provided for emulation.
- Get the protocol identifier an NfcListener instance was created with.
- Start an NfcListener instance.
- Stop an NfcListener instance.
- Transmit a data frame in listener mode.
- Allocate an NfcPoller instance.
- Detect whether there is a card supporting a particular protocol in the vicinity.
- Delete an NfcPoller instance.
- Get the data that was that was gathered during the reading process.
- Get the protocol identifier an NfcPoller instance was created with.
- Start an NfcPoller instance.
- Start an NfcPoller instance in extended mode.
- Stop an NfcPoller instance.
- Transmit and receive a data frame in poller mode.
- Get the immediate parent of a specific protocol.
- Determine if a specific protocol has a parent on an arbitrary level.
- Allocate an NfcScanner instance.
- Delete an NfcScanner instance.
- Start an NfcScanner.
- Stop an NfcScanner.
- Set listener frame delay time.
- Set poller frame delay time.
- Set frame delay time.
- Set guard time.
- Set mask receive time.
- Start the Nfc instance.
- Stop Nfc instance.
- Send internal (apply to permanent layer) notification message. Think twice before use.
- Send internal (apply to permanent layer) notification message and wait for notification end. Think twice before use.
- Allocate and initialize Number input.
- Deinitialize and free byte input
- Get byte input view
- Set byte input header text
- Set byte input result callback
- Allocate OneWireHost instance
- Destroy OneWireHost instance, free resources
- Read one byte
- Read one bit
- Read one or more bytes
- Reset the 1-Wire bus
- Reset previous search results
- Search for devices on the 1-Wire bus
- Enable overdrive mode
- Start working with the bus
- Stop working with the bus
- Set the family code to search for
- Write one byte
- Write one bit
- Write one or more bytes
- Allocate OneWireSlave instance
- Destroy OneWireSlave instance, free resources
- Receive one or more bytes of data
- Receive one bit
- Send one or more bytes of data
- Send one bit
- Set a callback function to be called on each command. The return value of the callback determines whether further operation is possible. As a rule of thumb, return true unless a critical error happened.
- Enable overdrive mode
- Set a callback function to be called on each reset. The return value of the callback determines whether the emulated device supports the short reset (passed as the is_short parameter). In most applications, it should also call onewire_slave_set_overdrive() to set the appropriate speed mode.
- Set a callback to report emulation success
- Start working with the bus
- Stop working with the bus
- Appends new component to path, adding path delimiter
- Appends new component to path, adding path delimiter
- Check that path contains only ascii characters
- Extract last path component
- Extract path, except for last component
- Extract file extension from path.
- Extract filename string from path.
- Extract filename without extension from path.
- Helper functions for writing field callbacks *
- Helper functions for writing field callbacks *
- Functions for manipulating streams *
- Functions for manipulating streams *
- Allocates new PluginManager
- Frees PluginManager
- Returns plugin descriptor by index
- Returns number of loaded plugins
- Returns plugin entry point by index
- Loads all plugins from specified directory
- Loads single plugin by full path
- Allocate and initialize popup
- Disable popup timeout
- Enable popup timeout
- Deinitialize and free popup
- Get popup view
- Reset popup instance state
- Set popup header text
- Set popup context
- Set popup header text
- Set popup icon
- Set popup text
- Set popup timeout
- Enable or disable battery low level notification message
- Get power info
- Get power event pubsub handler
- Check battery health
- Power off device
- Reboot device
- powf⚠
- Format a data buffer as a canonical HEX dump
- Builds key and value strings and outputs them via a callback function
- rand⚠
- Close RPC session It is guaranteed that no callbacks will be called as soon as session is closed. So no need in setting callbacks to NULL after session close.
- Give bytes to RPC service to decode them and perform command
- Get available size of RPC buffer
- Get RPC session owner
- Open RPC session
- Set callback to notify that buffer is empty
- Set callback to be called when RPC command to close session is received WARN: It’s forbidden to call RPC API within RpcSessionClosedCallback
- Set session context for callbacks to pass
- Set callback to send bytes to client WARN: It’s forbidden to call RPC API within RpcSendBytesCallback
- Set callback to be called when RPC session is closed
- Send a confirmation that the application using an RpcAppSystem instance has handled the event.
- Reset the error code and text stored in an RpcAppSystem instance.
- Send a byte array of arbitrary data to the client using an RpcAppSystem instance.
- Send a notification that the application using an RpcAppSystem instance is about to exit.
- Send a notification that an RpcAppSystem instance has been started and is ready.
- Set the callback function for use by an RpcAppSystem instance.
- Set the error code stored in an RpcAppSystem instance.
- Set the error text stored in an RpcAppSystem instance.
- Get SavedStructure file metadata
- Load data from the file in saved structure format
- Save data in saved structure format
- Scene Manager allocation and configuration
- Free Scene Manager with allocated Scenes
- Get Scene state
- Back event handler
- Custom event handler
- Tick event handler
- Search previous Scene
- Add and run next Scene
- Run previous Scene
- Clear Scene stack and switch to another Scene
- Search and switch to previous Scene
- Search and switch to previous Scene, multiple choice
- Set Scene state
- Exit from current scene
- Allocate a SimpleArray instance with the given configuration.
- Get a const pointer to an element contained in a SimpleArray instance.
- Get a constant pointer to the internal data of a SimpleArray instance.
- Copy (duplicate) another SimpleArray instance to this one. If copy() is specified in the config, then it is called for each element, otherwise the data is simply memcpy()’d.
- Free a SimpleArray instance and release its contents.
- Get a pointer to an element contained in a SimpleArray instance.
- Get the count of elements currently contained in a SimpleArray instance.
- Get a pointer to the internal data of a SimpleArray instance.
- Initialise a SimpleArray instance by allocating additional space to contain the requested number of elements. If init() is specified in the config, then it is called for each element, otherwise the data is filled with zeroes.
- Check if another SimpleArray instance is equal (the same object or holds the same data) to this one.
- Reset a SimpleArray instance and delete all of its elements. If reset() is specified in the config, then it is called for each element, otherwise the data is simply free()’d.
- Send get nxp system info command and parse response.
- Get random number from card.
- Read signature from card.
- Transmit and receive Slix frames in poller mode.
- Set password to card.
- Change register bits
- Change test register bits
- Check register
- Clear register bits
- Send Direct command
- Get st25r3916 interrupts
- Mask st25r3916 interrupts
- Modify register
- Read multiple registers
- Read FIFO
- Read PTA memory register
- Read register
- Read test register
- Read fifo register
- Write fifo register
- Set register bits
- Write multiple registers
- Write FIFO
- Write PTA memory register
- Write PTF memory register
- Read PTTSN memory register
- Write register
- Write test register
- Copy the file to a new location.
- Check whether two paths are equivalent.
- Check whether a file or a directory exists.
- Get the general information about the storage.
- Copy the contents of one directory into another and rename all conflicting files.
- Move the contents of source folder to destination one and rename all conflicting files.
- Create a directory.
- Remove a file or a directory.
- Rename a file or a directory.
- Parse aliases in a path and replace them with the real path.
- Get information about a file or a directory.
- Get the last access time in UNIX format.
- Close the directory.
- Check whether a directory exists.
- Open a directory.
- Get the next item in the directory.
- Get the textual description of a numeric error identifer.
- Allocate and initialize a file instance.
- Close the file.
- Copy data from a source file to the destination file.
- Check whether the current access position is at the end of the file.
- Check whether a file exists.
- Free the file instance.
- Get the numeric error identifier from a file instance.
- Get the textual description of a the last error associated with a file instance.
- Check whether a file instance represents a directory.
- Check whether the file is open.
- Open an existing file or create a new one.
- Read bytes from a file into a buffer.
- Change the current access position in a file.
- Get the file size.
- Synchronise the file cache with the actual storage.
- Get the current access position.
- Truncate the file size to the current access position.
- Write bytes from a buffer to a file.
- Get the next free filename in a directory.
- Get the storage pubsub instance.
- Back up the internal storage contents to a *.tar archive.
- Restore the internal storage contents from a *.tar archive.
- Format the SD Card.
- Get SD card information.
- Mount the SD card.
- Get SD card status.
- Unmount the SD card.
- Create a directory.
- Remove a file or a directory.
- Recursively remove a file or a directory.
- Clean (empty) Stream
- Copy data from one stream to another. Data will be copied from current RW pointer and to current RW pointer.
- Copy data from one stream to another. Data will be copied from start of one stream and to start of other stream.
- Remove N chars from the stream, starting at the current pointer. The size may be larger than stream size, the stream will be cleared from current RW pointer to the end.
- Delete N chars from the stream and write data by calling write_callback(context)
- Delete N chars from the stream and insert char to the stream
- Delete N chars from the stream and insert const char* to the stream
- Delete N chars from the stream and insert formatted string to the stream
- Delete N chars from the stream and insert string to the stream
- Delete N chars from the stream and insert formatted string to the stream, va_list version
- Dump stream inner data (size, RW position, content)
- Indicates that the RW pointer is at the end of the stream
- Free Stream
- Insert N chars to the stream, starting at the current pointer. Data will be inserted, not overwritten, so the stream will be increased in size.
- Insert char to the stream
- Insert const char* to the stream
- Insert formatted string to the stream
- Insert string to the stream
- Insert formatted string to the stream, va_list version
- Loads data to the stream from a file. Data will be loaded to the current RW pointer. RW pointer will be moved to the end of the stream.
- Read N bytes from stream
- Read line from a stream (supports LF and CRLF line endings)
- Moves the RW pointer to the start
- Writes data from a stream to a file. Data will be saved starting from the current RW pointer. RW pointer will be moved to the end of the stream.
- Moves the RW pointer.
- Seek to next occurrence of the character
- Gets the size of the stream
- Splits one stream into two others. The original stream will remain untouched.
- Gets the value of the RW pointer
- Write N bytes to the stream
- Write char to the stream
- Write const char* to the stream
- Write formatted string to the stream
- Write string to the stream
- Write formatted string to the stream, va_list version
- Allocate string stream
- See
strint_to_uint32 - See
strint_to_uint32 - See
strint_to_uint32 - See
strint_to_uint32 - Converts a string to a
uint32_t - See
strint_to_uint32 - Deserialize data SubGhzBlockGeneric.
- Deserialize data SubGhzBlockGeneric.
- Get name preset.
- Serialize data SubGhzBlockGeneric.
- Allocate SubGhzEnvironment.
- Free SubGhzEnvironment.
- Get filename to work with Alutech at-4n.
- Get filename to work with Came Atomo.
- Get pointer to a SubGhzKeystore* instance.
- Get filename to work with Nice Flor-S.
- Get list of protocols names.
- Get list of protocols to work.
- Downloading the manufacture key file.
- Set filename to work with Alutech at-4n.
- Set filename to work with Came Atomo.
- Set filename to work with Nice Flor-S.
- Set list of protocols to work.
- Allocate SubGhzFileEncoderWorker.
- End callback SubGhzWorker.
- Free SubGhzFileEncoderWorker.
- Getting the level and duration of the upload to be loaded into DMA.
- Check if worker is running
- Start SubGhzFileEncoderWorker.
- Stop SubGhzFileEncoderWorker
- Add data bit when decoding.
- Compute Addition of a number of bytes
- Add data to_128 bit when decoding.
- CRC-4
- CRC-7
- Generic Cyclic Redundancy Check CRC-8. Example polynomial: 0x31 = x8 + x5 + x4 + 1 (x8 is implicit) Example polynomial: 0x80 = x8 + x7 (a normal bit-by-bit parity XOR)
- “Little-endian” Cyclic Redundancy Check CRC-8 LE Input and output are reflected, i.e. least significant bit is shifted in first
- CRC-16
- CRC-16 LSB. Input and output are reflected, i.e. least significant bit is shifted in first. Note that poly and init already need to be reflected
- Get data bit when encoding HEX array.
- Getting the hash sum of the last randomly received parcel.
- Get parity the data bitwise
- Generating an upload from data.
- Digest-8 by “LFSR-based Toeplitz hash”
- Digest-8 by “LFSR-based Toeplitz hash”, byte reflect, bit reflect
- Digest-16 by “LFSR-based Toeplitz hash”
- Compute bit parity of a single byte (8 bits)
- Compute bit parity of a number of bytes
- Flip the data bitwise
- Set data bit when encoding HEX array.
- Compute XOR (byte-wide parity) of a number of bytes
- Deserialize data SubGhzProtocolDecoderBase.
- Getting the hash sum of the last randomly received parcel.
- Getting a textual representation of the received data.
- Serialize data SubGhzProtocolDecoderBase.
- Allocate SubGhzProtocolDecoderRAW.
- Deserialize data SubGhzProtocolDecoderRAW.
- Parse a raw sequence of levels and durations received from the air.
- Free SubGhzProtocolDecoderRAW.
- Getting a textual representation of the received data.
- Reset decoder SubGhzProtocolDecoderRAW.
- Allocate SubGhzProtocolEncoderRAW.
- Deserialize and generating an upload to send.
- Free SubGhzProtocolEncoderRAW.
- Forced transmission stop.
- Getting the level and duration of the upload to be loaded into DMA.
- Key generation from simple data.
- Set callback on completion of file transfer.
- File generation for RAW work.
- Get the number of samples received SubGhzProtocolDecoderRAW.
- Open file for writing
- pause writing to flash.
- Stop writing file to flash
- Getting the number of registered protocols.
- Registration protocol by index in array SubGhzProtocol.
- Registration by name SubGhzProtocol.
- Validation of fixed parts SubGhzProtocolDecoderSecPlus_v1.
- Key generation from simple data.
- Allocate and init SubGhzReceiver.
- Parse a raw sequence of levels and durations received from the air.
- Free SubGhzReceiver.
- Reset decoder SubGhzReceiver.
- Search for a cattery by his name.
- Set the filter of receivers that will work at the moment.
- Set a callback upon completion of successful decoding of one of the protocols.
- Allocate and init SubGhzTransmitter.
- Deserialize and generating an upload to send.
- Free SubGhzTransmitter.
- Get protocol instance.
- Forced transmission stop.
- Getting the level and duration of the upload to be loaded into DMA.
- Allocate SubGhzTxRxWorker
- SubGhzTxRxWorker, get available data
- Free SubGhzTxRxWorker
- Check if worker is running
- SubGhzTxRxWorker, read data
- Сallback SubGhzTxRxWorker when there is data to read in an empty buffer
- Start SubGhzTxRxWorker
- Stop SubGhzTxRxWorker
- SubGhzTxRxWorker, add data to transfer
- Allocate SubGhzWorker.
- Free SubGhzWorker.
- Check if worker is running.
- Context callback SubGhzWorker.
- Short duration filter setting. glues short durations into 1. The default setting is 30 us, if set to 0 the filter will be disabled
- Overrun callback SubGhzWorker.
- Pair callback SubGhzWorker.
- Start SubGhzWorker.
- Stop SubGhzWorker
- Add item to submenu
- Allocate and initialize submenu
- Change label of an existing item
- Deinitialize and free submenu
- Get submenu selected item index
- Get submenu view
- Remove all items from submenu
- Set optional header for submenu
- Set submenu selected item by index
- Write T5577 tag data to tag
- Add directory to tar archive
- Add file to tar archive
- Tar archive constructor
- Add tar archive directory header
- Add tar archive file data block
- Add tar archive file header
- Finalize tar archive file
- Finalize tar archive
- Tar archive destructor
- Get number of entries in the archive
- Get expected open mode for archive at the path. Used for automatic mode detection based on the file extension.
- Get read progress
- Open tar archive
- Set per-entry callback on unpacking
- Store data in tar archive
- Unpack single file from tar archive
- Unpack tar archive to destination
- Allocate and initialize text_box
- Deinitialize and free text_box
- Get text_box view
- Clean text_box
- Set TextBox focus
- Set TextBox font
- Set text for text_box
- Allocate and initialize text input
- Deinitialize and free text input
- Get text input view
- Clean text input view Note: this function does not free memory
- Set text input header text
- Set text input result callback
- Convert uint8_t to ASCII hex values
- Get the index of a bool array element which is equal to the given value.
- Get the index of a float array element which is closest to the given value.
- Get the index of a int32_t array element which is closest to the given value.
- Get the index of a uint32_t array element which is closest to the given value.
- Get item context
- Get item current selected index
- Add item to VariableItemList
- Allocate and initialize VariableItemList
- Deinitialize and free VariableItemList
- Get VariableItemList View instance
- Clear all elements from list
- Set enter callback
- Set item current selected index
- Set item current selected text
- Set number of values for item
- Pack int32 to varint
- Pack uint32 to varint
- Get current running firmware version handle.
- Get build date.
- Get flag indicating if this build is “dirty” (source code had uncommited changes)
- Get firmware origin. “Official” for mainline firmware, fork name for forks. Set by FIRMWARE_ORIGIN fbt argument.
- Get git repo origin
- Get git branch.
- Get number of commit in git branch.
- Get git commit hash.
- Get hardware target this firmware was built for
- Get build version. Build version is last tag in git history.
- Allocate and init View
- Allocate view model.
- Commit view model
- Add view to ViewDispatcher
- Allocate ViewDispatcher instance
- Attach ViewDispatcher to GUI
- Enable queue support
- Free ViewDispatcher instance
- Get event_loop instance
- Remove view from ViewDispatcher
- Run ViewDispatcher
- Send custom event
- Send ViewPort of this ViewDispatcher instance to back
- Send ViewPort of this ViewDispatcher instance to front
- Set custom event handler
- Set event callback context
- Set navigation event handler
- Set tick event handler
- Stop ViewDispatcher
- Switch to View
- Free View
- Free view model data memory.
- Get view model data
- Allocate ViewHolder
- Attach ViewHolder to GUI
- Free ViewHolder and call Free callback
- Free callback context getter.
- Send ViewPort of this ViewHolder instance to back
- Send ViewPort of this ViewHolder instance to front
- Set the back key callback.
- Set Free callback
- Set view for ViewHolder
- View Update Handler
- ViewPort allocator
- ViewPort event callbacks
- Enable or disable view_port rendering.
- ViewPort deallocator
- Set view_port height.
- Set ViewPort orientation.
- Set view_port width.
- Emit update signal to GUI system.
- Set View Draw callback
- Set View Custom callback
- Set View Draw callback
- Set Enter callback
- Set Exit callback
- Set View Input callback
- Set View Orientation
- Set Navigation Previous callback
- Set Update callback
- Set View Draw callback
- Add View to ViewStack. Adds View on top of ViewStack.
- Allocate and init ViewStack
- Free ViewStack instance
- Get View of ViewStack. Should this View to any view manager such as ViewDispatcher or ViewHolder.
- Remove any View in ViewStack. If no View to remove found - ignore.
- Tie IconAnimation with View
- Add Button Element
- Add Frame Element
- Add Icon Element
- Add String Element
- Add Multi String Element
- Add Text Box Element
- Add Text Scroll Element
- Allocate Widget that holds Widget Elements
- Free Widget
- Get Widget view
- Reset Widget
Type Aliases§
- Alignment enumeration
- Prototype for Scene on_enter handler
- Prototype for Scene on_event handler
- Prototype for Scene on_exit handler
- Back callback type
- Callback type to call for handling selecting button_panel items
- Callback for any button menu actions
- Type of button. Difference in drawing buttons.
- callback that is executed when byte buffer is changed
- callback that is executed on save button press
- Font Direction
- Canvas Orientation
- Cli callback function pointer. Implement this interface and use add_cli_command
- Color enumeration
- I/O callback for streamed compression/decompression
- Supported compression types
- DialogEx result
- DialogEx result callback type comes from GUI thread
- Message result type
- Access mode flags
- API errors enumeration
- Open mode flags
- Type of possible Felica errors
- Fonts enumeration
- Free callback type
- Enumeration of event types, flags and masks.
- Callback type for event loop events
- Timer callback type for functions to be called in a deferred manner.
- Tick callback type
- Timer callback type for functions to be called when a timer expires.
- Enumeration of possible timer types.
- Serial service callback type
- FuriHalCryptoGCMState Result of a GCM operation
- FuriHalCryptoKey Size in bits
- FuriHalCryptoKey Type
- Transaction beginning signal
- FuriHal i2c bus states
- FuriHal i2c bus event callback
- FuriHal i2c handle states
- FuriHal i2c handle event callback
- Transaction end signal
- Signature of callback function for receiving continuous INFRARED rx signal.
- Signature of callback function for reaching silence timeout on INFRARED port.
- Callback type for providing data to INFRARED DMA TX system. It is called every tim
- Callback type called every time signal is sent by DMA to Timer.
- Timer ISR
- Enumeration of possible NFC HAL errors.
- Enumeration of possible NFC HAL events.
- Enumeration of possible NFC HAL operating modes.
- Enumeration of supported NFC technologies.
- Enumeration of ISO14443 (Type A) short frame types.
- Power IC type
- Receive callback
- Expansion module detection callback type.
- Receive DMA callback
- UART channels
- Serial RX events
- FuriHal spi bus states
- FuriHal spi bus event callback
- FuriHal spi handle states
- FuriHal spi handle event callback
- Async TX callback type
- Signal Timings Capture callback
- Switchable Radio Paths
- Radio Presets
- Device Colors
- Device Display
- OTP Versions enum
- Device Regions
- FuriPubSub Callback type
- State of the UTF8 decoding machine state
- An unicode value
- Thread callback function pointer type.
- Unique thread identifier type (used by the OS kernel).
- Enumeration of possible FuriThread priorities.
- Signal handler callback function pointer type.
- Enumeration of possible FuriThread states.
- State change callback function pointer type.
- Standard output callback function pointer type.
- Gpio alternate functions
- Interrupt callback prototype
- Gpio modes
- Gpio pull modes
- Gpio speed modes
- Gui Canvas Commit Callback
- Gui layers
- Icon Animation Callback. Used for update notification
- Icon rotation
- Callback type for providing next signal to send. Should be used with infrared_worker_make_decoded_signal() or infrared_worker_make_raw_signal()
- Callback type for ‘message is sent’ event
- Callback type to call by InfraredWorker thread when new signal is received
- Input Types Some of them are physical events and some logical
- Menu Item Callback
- Enumeration of possible Nfc commands.
- Generic opaque type for protocol-specific NFC device data.
- Verbosity level of the displayed NFC device name.
- Enumeration of possible Nfc error codes.
- Nfc event callback type.
- Enumeration of possible Nfc event types.
- Generic Nfc event callback type.
- Extended generic Nfc event callback type.
- Generic Nfc event data type.
- Generic Nfc instance type.
- Enumeration of possible ISO14443-3A short frame types.
- Loading callback function signature.
- Enumeration of possible operating modes.
- Enumeration of all available NFC protocols.
- User callback function signature.
- Event type passed to the user callback.
- Enumeration of available technologies.
- Callback to be called on save button press
- Popup result callback type comes from GUI thread
- Callback type called every time another key-value pair of device information is ready
- Callback function type.
- Enumeration of possible event data types.
- Enumeration of possible event types.
- Callback to notify client that buffer is empty
- RPC owner
- Callback to send to client any data (e.g. response to command)
- Callback to notify transport layer that close_session command is received. Any other actions lays on transport layer. No destruction or session close performed.
- Callback to notify transport layer that session was closed and all operations were finished
- Scene Manager events type
- Internal Storage Backup/Restore
- String to integer conversion error
- Tar archive open mode
- View callback
- View Custom callback
- Prototype for custom event callback
- Prototype for navigation event callback
- Prototype for tick event callback
- ViewDispatcher view_port placement
- View Draw callback
- View Input callback
- View model types
- View navigation callback
- ViewPort Draw callback called from GUI thread
- ViewPort Input callback called from GUI thread
- View Update Callback Called upon model change, need to be propagated to GUI throw ViewPort update
- Reporting status results.
- Optional per-entry callback on unpacking
- USB set configuration callback function
- USB control callback function.
- Represents a USB device data.
- USB get descriptor callback function
- Generic USB device event callback for events and endpoints processing
- Connects or disconnects USB hardware to/from usb host
- Enables or disables USB hardware
- Configures endpoint
- De-configures, cleans and disables endpoint
- Checks endpoint for stalled state
- Reads data from OUT or control endpoint
- Stalls and unstalls endpoint
- Writes data to IN or control endpoint
- Gets frame number from usb hardware.
- Makes a string descriptor contains unique serial number from hardware ID’s
- USBD_HW
- Polls USB hardware for the events
- Sets USB hardware address
- Reporting status results. Reporting status results.
- USB control transfer completed callback function.
Unions§
- Union which represents filesystem in junction with plain data dump