Midnight Sun Firmware
Loading...
Searching...
No Matches
CanMessageCache

Per-message cache entry. More...

#include <can_cache.h>

Public Attributes

uint32_t can_id
 
uint8_t length
 
uint8_t data [8]
 
CanMsgPriority priority
 
bool pending
 
uint32_t last_updated_tick
 
uint32_t last_tx_tick
 
uint32_t tx_cooldown_ticks
 

Detailed Description

Per-message cache entry.

One entry exists for every CAN message that targets the telemetry board. Task A populates data and sets pending; Task B drains pending entries and transmits.

Member Data Documentation

◆ can_id

uint32_t can_id

Raw 11-bit CAN bus ID used to match incoming messages

◆ data

uint8_t data[8]

Cached payload

◆ last_tx_tick

uint32_t last_tx_tick

Tick count when this entry was last transmitted; 0 = never

◆ last_updated_tick

uint32_t last_updated_tick

Tick count when this entry last received a CAN message; 0 = never

◆ length

uint8_t length

DLC: number of valid data bytes

◆ pending

bool pending

True when data has been updated but not yet transmitted

◆ priority

CanMsgPriority priority

Priority tier this entry belongs to

◆ tx_cooldown_ticks

uint32_t tx_cooldown_ticks

Minimum ticks between TX; 0 = no rate limit


The documentation for this struct was generated from the following file: