SiFli-SDK

repository·main·Indexed 41 days ago

https://github.com/opensifli/sifli-sdk

An official software development framework based on RT-Thread, customized for SiFli technology chip platforms. It includes drivers and configuration guides for peripherals such as the OPM060DA EPD, LSM6DSL 6-axis sensor, and AIC8800MC and SWT6621S Wi-Fi modules.

Tokens
397.7K
Snippets
1.1K
Records
2K
Agent score
51%

What's inside SiFli-SDK

  1. Overview of BT Music Sink Relay Example

    main

    The BT Music Sink Relay Example demonstrates a system where two boards work together to enable simultaneous music playback from a single mobile phone source.

    How it works:

    1. Mobile to Board Connection: One board acts as a Bluetooth sink (default name: sifli_music_sink). It performs Bluetooth Inquiry and page scans on startup, allowing A2DP source devices (like mobile phones) to discover and connect to it.
    2. Board to Board Relay: The two boards pair with each other to forward music. One board connects to the mobile phone and acts as the relay src (source), while the other board receives the forwarded music.

    Note: Only one board can be connected to the mobile phone at a time.

  2. Overview of NAND Flash RT-Thread Layer

    main

    The nand_flash example demonstrates the RT-Thread layer interfaces for NAND read, write, and erase operations.

    Key Operational Requirements:

    • Configuration: Before compilation, you must configure the corresponding controller as a NAND interface.
    • Initialization: The system automatically initializes NAND and performs bad block management during startup; application code does not need to handle this manually.
    • Erase Alignment: Erase operations must be performed with block alignment (both address and length). Use the provided interface to retrieve the block size.
    • Write Alignment: Write operations must be performed with page alignment (both address and length). Use the provided interface to retrieve the page size.
    • Read Alignment: It is recommended that read operations are page-aligned.
  3. Overview of peripheral_with_ota example

    main

    The peripheral_with_ota project is a BLE peripheral example based on RTthreadOS. It is designed to demonstrate Device Firmware Update (DFU) capabilities on the SF32LB52X and SF32LB56X series using Nor Flash.

    Key Features:

    • Implements custom GATT services, BLE advertising, connection management, and basic GATT data interaction.
    • BLE services and the application run on the HCPU (High performance CPU).
    • Includes the full DFU download and installation workflow via a dedicated DFU sub-project.
    • Includes a serial-transmission service for data transmission.
  4. Overview of Common Audio Profile (CAP) Initiator

    main

    The bluetooth_cap_initiator sample demonstrates Common Audio Profile (CAP) Initiator functionality. It allows an application to:

    1. Scan for CAP Acceptors.
    2. Connect to CAP Acceptors.
    3. Set up unicast audio streams.
    4. Set up broadcast audio streams.
    5. Perform both unicast and broadcast setups.

    This sample is located in the Zephyr tree under samples/bluetooth/cap_initiator and utilizes the bluetooth, bt_bap, bt_cap, and bt_conn APIs.

  5. Overview of SD Card File System Performance Test Example

    main

    This example demonstrates how to perform file system performance testing on SD cards via the SPI interface on the SF32LB52x platform. It is designed to help developers implement real-time speed monitoring, buffer optimization, and detailed performance analysis for applications such as data loggers, multimedia storage, embedded databases, and firmware update solutions.

    Key technologies used:

    • RT-Thread File System: Uses the DFS (Device File System) framework.
    • SPI Driver: Communicates with the SD card via the SPI bus.
    • FAT File System: Uses ELM FAT for data storage.
    • HAL Layer Interface: Provides low-level hardware control.
  6. Overview of FinSH Command Line Interface

    main

    FinSH is RT-Thread's command line component (shell). It provides operational interfaces for users to call from the command line, primarily used for debugging or viewing system information.

    In addition to built-in commands, FinSH allows developers to export custom commands using macro interfaces, which can then be executed directly within the shell.

    Supported Platforms:

    • sf32lb52-lcd series
    • sf32lb56-lcd series
    • sf32lb58-lcd series
  7. Overview of SPI TF Card File System Example

    main

    The example/rt_device/spi_tf example demonstrates how to perform file system performance testing on the SF32LB52x platform using an SPI interface for a TF (Micro SD) card. It features real-time speed monitoring, buffer optimization, and detailed performance analysis.

    This example utilizes the following SiFli-SDK components:

    • RT-Thread File System: Uses the DFS (Device File System) framework for file operations.
    • SPI Driver: Communicates with the SD card via the SPI bus.
    • FAT File System: Uses the ELM FAT file system for data storage.
    • HAL Layer Interface: Provides low-level hardware control via the Hardware Abstraction Layer.
  8. Overview of WebClient features

    main

    WebClient is an HTTP/HTTPS client software package developed by RT-Thread. It facilitates communication between devices and HTTP servers.

    Key features include:

    • Support for IPv4 and IPv6 addresses.
    • Support for GET and POST request methods.
    • File upload and download capabilities.
    • HTTPS encrypted transmission.
    • Comprehensive header data addition and processing.
  9. Overview of AES HAL Examples

    main

    The AES examples located at example/hal/aes demonstrate how to use the hardware acceleration for AES encryption and decryption. The examples cover two primary operational modes:

    Synchronous Mode

    Supports encryption and decryption for the following modes:

    • AES CBC (Cipher Block Chaining)
    • AES CTR (Counter mode)
    • AES ECB (Electronic Codebook)

    Interrupt Mode

    Supports encryption for:

    • AES CBC
  10. Overview of the Opus Audio Example

    main

    The Opus Example demonstrates the full audio processing pipeline using the Opus codec library on supported SiFli platforms. It covers:

    • Recording: Capturing PCM audio from a microphone at a 16 kHz sample rate.
    • Encoding: Compressing PCM frames using the Opus encoder (configured for 10 ms frames at approximately 16 kbps).
    • Decoding: Decompressing Opus-encoded audio back into PCM.
    • Playback: Outputting the decoded PCM data to a speaker.