rcbench
Servo and ESC test bench: panel, IOmcu and shared C
Loading...
Searching...
No Matches
art_flash_esp.c File Reference

The board-drawing partition, as an art_flash_t. See art_flash_esp.h. More...

#include "art_flash_esp.h"
#include <stddef.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "esp_log.h"
#include "esp_partition.h"
#include "spi_flash_mmap.h"

Macros

#define ART_FLASH_CHUNK   SPI_FLASH_SEC_SIZE

Functions

static void breathe (void)
static bool part_read (void *ctx, uint32_t off, void *dst, uint32_t len)
static bool part_erase (void *ctx, uint32_t off, uint32_t len)
static bool part_write (void *ctx, uint32_t off, const void *src, uint32_t len)
const art_flash_t * art_flash_esp (void)

Variables

static const char * TAG = "artflash"
static const esp_partition_t * s_part

Detailed Description

The board-drawing partition, as an art_flash_t. See art_flash_esp.h.

Nothing here decides anything: art_store owns the format and the order of a write, and this is the three operations it needs on real flash.

SPDX-License-Identifier: MIT

Function Documentation

◆ art_flash_esp()

const art_flash_t * art_flash_esp ( void )

The store's view of the boardart partition, or NULL when there is none.

A build flashed with an older partition table has no such partition, and that is not a fault: drawings are then fetched every time the link comes up, which is slower and correct rather than fast and wrong.