ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
board_periph_i2c_internal.h
Go to the documentation of this file.
1
16
17#pragma once
18
19#include <stdint.h>
20
21#include "ra8_attributes.h"
22
23#ifdef __cplusplus
24extern "C" {
25#endif
26
28typedef enum : uint32_t {
31
47RA8_PRIV void priv_i2c_device_register(uint8_t addr_7b,
48 void (*wr)(void*, uint8_t),
49 uint32_t (*rd)(void*, uint8_t*, uint32_t),
50 void (*stop)(void*),
51 void* ctx);
52
66
80
95
96#ifdef __cplusplus
97}
98#endif
void priv_i2c_device_register(uint8_t addr_7b, void(*wr)(void *, uint8_t), uint32_t(*rd)(void *, uint8_t *, uint32_t), void(*stop)(void *), void *ctx)
Register a device model in the first free bus slot (drop if full).
void priv_board_i2c_imu_fuel_reset(void)
Re-lay the IMU + fuel-gauge register files (block reset path).
uint32_t priv_board_i2c_imu_reads(void)
IMU register reads answered this run (report telemetry).
void priv_board_i2c_imu_fuel_register(void)
Register the LSM6DSO + MAX17048 devices on the modelled bus.
i2c_devices_const_t
Byte-lane constants shared across the bus + device TUs.
@ k_i3c_dev_byte_mask
One-byte mask for register-file lanes.
Annotation-attribute framework macros for ra8-firmware.
#define RA8_PRIV
Module-private helper: shared across TUs but only inside one library.