libxr  1.0
Want to be the best embedded framework
Loading...
Searching...
No Matches
LibXR Namespace Reference

LibXR 命名空间 More...

Namespaces

namespace  Flag
 轻量标志位模块(Flag)/ Lightweight flag utilities for state signaling
 

Data Structures

class  ADC
 模拟数字转换器(ADC)基类 More...
 
class  Application
 app_framework 的应用模块管理片段 Application-module management fragment of app_framework More...
 
class  ApplicationManager
 应用模块管理器 More...
 
class  ASync
 异步任务处理类。 Asynchronous task processing class. More...
 
class  AsyncBlockWait
 Shared BLOCK waiter handoff for synchronous driver operations. More...
 
class  Axis
 三维坐标轴类,继承自 Eigen::Matrix<Scalar, 3, 1>。 A 3D axis class, inheriting from Eigen::Matrix<Scalar, 3, 1>. More...
 
class  BaseQueue
 基础队列类,提供固定大小的循环缓冲区 (Base queue class providing a fixed-size circular buffer). More...
 
class  Callback
 通用回调包装,支持动态参数传递 / Generic callback wrapper supporting dynamic argument passing More...
 
class  CallbackBlock
 回调函数封装块,提供参数绑定与擦除调用入口 / Callback block with bound argument and erased invoke entry More...
 
struct  CallbackBlockHeader
 
class  CAN
 CAN 通信抽象类,定义经典 CAN 帧与订阅接口。 Abstract class for CAN communication with classic CAN frames and subscription API. More...
 
class  CDCUartTxOpDequeueHelper
 WritePort(info 队列 + data 队列)的“单 op 不跨界”出队辅助器 Dequeue helper for WritePort (info + data) without crossing op boundary. More...
 
class  CenterOfMass
 质心信息表示类。Represents the center of mass information. More...
 
class  CH32CAN
 CH32 CAN 驱动实现 / CH32 CAN driver implementation. More...
 
class  CH32Flash
 CH32 闪存驱动实现 / CH32 flash driver implementation. More...
 
class  CH32GPIO
 CH32 GPIO 驱动实现 / CH32 GPIO driver implementation. More...
 
class  CH32I2C
 
class  CH32PowerManager
 CH32 平台电源管理基类实现 / CH32 power-manager base implementation. More...
 
class  CH32PWM
 CH32 PWM 驱动实现 / CH32 PWM driver implementation. More...
 
class  CH32SPI
 CH32 SPI 驱动实现 / CH32 SPI driver implementation. More...
 
class  CH32Timebase
 CH32 时间基准实现 / CH32 timebase implementation. More...
 
class  CH32UART
 CH32 UART 驱动实现 / CH32 UART driver implementation. More...
 
class  CH32USBDevice
 
class  ConstRawData
 只读原始数据视图 / Immutable raw data view More...
 
class  CRC16
 16 位循环冗余校验(CRC-16)计算类 / CRC-16 checksum computation class More...
 
class  CRC32
 32 位循环冗余校验(CRC-32)计算类 / CRC-32 checksum computation class More...
 
class  CRC64
 64 位循环冗余校验(CRC-64)计算类 / CRC-64 checksum computation class More...
 
class  CRC8
 8 位循环冗余校验(CRC-8)计算类 / CRC-8 checksum computation class More...
 
class  CycleValue
 角度循环处理类,用于处理周期性角度计算。 A cyclic angle handling class for periodic angle calculations. More...
 
class  DAC
 数字模拟转换器(DAC)基类 More...
 
class  Database
 数据库接口,提供键值存储和管理功能 (Database interface providing key-value storage and management). More...
 
class  DatabaseRaw
 适用于最小写入单元受限的 Flash 存储的数据库实现 (Database implementation for Flash storage with minimum write unit restrictions). More...
 
class  DatabaseRawSequential
 适用于不支持逆序写入的 Flash 存储的数据库实现 (Database implementation for Flash storage that does not support reverse writing). More...
 
class  DoubleBuffer
 双缓冲区管理类 / Double buffer manager class More...
 
struct  Entry
 app_framework 的硬件注册片段 Hardware-registration fragment of app_framework More...
 
class  ESP32ADC
 
class  ESP32DAC
 
class  ESP32GPIO
 ESP32 GPIO 驱动实现 / ESP32 GPIO driver implementation. More...
 
class  ESP32I2C
 
class  ESP32NvsFlashDatabase
 ESP32 NVS 数据库存储实现 / ESP32 NVS-backed database implementation. More...
 
class  ESP32PWM
 ESP32 PWM driver implementation. More...
 
class  ESP32SPI
 
class  ESP32Timebase
 ESP32 时间基准实现 / ESP32 timebase implementation. More...
 
class  ESP32UART
 
class  ESP32Watchdog
 
class  ESP32WifiClient
 ESP32 Wi-Fi 客户端实现 / ESP32 Wi-Fi client implementation. More...
 
class  EulerAngle
 表示欧拉角的类,用于描述3D旋转。Class representing Euler angles for 3D rotation. More...
 
class  Event
 事件管理系统,允许基于事件 ID 注册和触发回调函数。 Event management system that allows registration and triggering of callbacks based on event IDs. More...
 
class  FDCAN
 FDCAN 通信抽象类,扩展支持 CAN FD 帧。 Abstract class for FDCAN communication with CAN FD frame support. More...
 
class  Flash
 Abstract base class representing a flash memory interface. 抽象基类,表示闪存接口。 More...
 
struct  FlashSector
 闪存扇区描述 / Flash sector descriptor More...
 
class  FloatEncoder
 浮点数编码器,将浮点值映射到定长无符号整数。 A generic float encoder mapping a float value to N-bit unsigned integer. More...
 
class  Format
 
class  GPIO
 通用输入输出(GPIO)接口类。General Purpose Input/Output (GPIO) interface class. More...
 
class  GuardedCallbackBlock
 
class  HardwareContainer
 
class  HPMGPIO
 HPM 平台 GPIO 驱动实现 / GPIO driver implementation for HPM platform. More...
 
class  HPMPWM
 HPM 平台 PWM 驱动实现 / PWM driver implementation for HPM platform. More...
 
class  HPMTimebase
 HPM MCHTMR 时间基准实现 / HPM MCHTMR based timebase implementation. More...
 
class  I2C
 I2C(Inter-Integrated Circuit)接口类。 I2C (Inter-Integrated Circuit) interface class. More...
 
class  Inertia
 表示刚体的惯性张量和质量信息的类。Provides a class to represent the inertia tensor and mass of a rigid body. More...
 
struct  IPAddressRaw
 原始 IPv4 地址 / Raw IPv4 address More...
 
struct  IPAddressStr
 字符串形式 IPv4 地址 / IPv4 address as string More...
 
struct  libxr_linux_futex_semaphore
 
class  LinuxBinaryFileFlash
 Linux 二进制文件闪存实现 / Linux binary-file flash implementation. More...
 
class  LinuxGPIO
 基于 Linux GPIO character device uAPI 的 Linux GPIO 实现 Linux GPIO implementation based on the Linux GPIO character-device uAPI More...
 
class  LinuxPowerManager
 Linux 电源管理实现 / Linux power manager implementation. More...
 
class  LinuxTimebase
 Linux 时间基准实现 / Linux timebase implementation. More...
 
class  LinuxUART
 Linux UART 串口驱动实现 / Linux UART driver implementation. More...
 
class  List
 链表实现,用于存储和管理数据节点。 A linked list implementation for storing and managing data nodes. More...
 
class  LockFreeList
 链表实现,用于存储和管理数据节点。 A linked list implementation for storing and managing data nodes. More...
 
class  LockFreePool
 无锁无序槽池 / Lock-free, unordered slot pool More...
 
class  LockFreeQueue
 无锁队列实现 / Lock-free queue implementation More...
 
class  LockQueue
 线程安全的锁队列类,提供同步和异步操作支持 Thread-safe lock queue class with synchronous and asynchronous operation support More...
 
struct  LogData
 日志数据结构体 / Log data structure More...
 
class  Logger
 日志管理器 / LibXR Logger Manager More...
 
struct  MACAddressRaw
 原始 MAC 地址 / Raw MAC address More...
 
struct  MACAddressStr
 字符串形式 MAC 地址 / MAC address as string More...
 
class  Memory
 静态内存操作工具 / Static memory-operation utilities More...
 
class  MicrosecondTimestamp
 微秒时间戳 / Microsecond timestamp More...
 
class  MillisecondTimestamp
 毫秒时间戳 / Millisecond timestamp More...
 
class  MSPM0GPIO
 
class  MSPM0I2C
 
class  MSPM0PWM
 
class  MSPM0SPI
 
class  MSPM0Timebase
 
class  MSPM0UART
 
class  Mutex
 互斥锁类,提供线程同步机制 (Mutex class providing thread synchronization mechanisms). More...
 
class  NetworkInterface
 抽象网络接口类 / Abstract base for network interfaces More...
 
class  Operation
 Defines an operation with different execution modes. More...
 
class  PID
 通用 PID 控制器类。 Generic PID controller. More...
 
class  Pipe
 基于共享队列,由 ReadPort + WritePort 组成的单向管道。 More...
 
class  Position
 三维空间中的位置向量 / 3D position vector More...
 
class  PowerManager
 电源管理器基类 / Abstract base class for Power Manager More...
 
class  PWM
 Abstract base class for PWM (Pulse Width Modulation) control. PWM(脉冲宽度调制)控制的抽象基类。 More...
 
class  Quaternion
 四元数表示与运算,继承自 Eigen::Quaternion / Quaternion representation and operations, inheriting from Eigen::Quaternion More...
 
class  Queue
 基于 BaseQueue 的泛型队列模板类 (Generic queue template class based on BaseQueue). More...
 
class  RamFS
 轻量级内存文件系统 / Lightweight in-memory file system More...
 
class  RawData
 可写原始数据视图 / Mutable raw data view More...
 
class  RBTree
 红黑树实现,支持泛型键和值,并提供线程安全操作 (Red-Black Tree implementation supporting generic keys and values with thread-safe operations). More...
 
struct  ReadInfoBlock
 Read information block structure. More...
 
class  ReadPort
 ReadPort class for handling read operations. More...
 
class  RotationMatrix
 旋转矩阵类,继承自 Eigen::Matrix<Scalar, 3, 3>。 Rotation matrix class, inheriting from Eigen::Matrix<Scalar, 3, 3>. More...
 
class  RuntimeStringView
 运行期构造、长期保留的 NUL 结尾字符串视图。 More...
 
class  Semaphore
 信号量类,实现线程同步机制 Semaphore class implementing thread synchronization More...
 
class  SPI
 串行外设接口(SPI)抽象类。Abstract class for Serial Peripheral Interface (SPI). More...
 
class  Stack
 线程安全的栈数据结构 / Thread-safe stack data structure More...
 
class  STDIO
 提供静态全局的输入输出接口绑定与写会话管理 / STDIO interface for read and write ports More...
 
class  STM32ADC
 STM32 ADC 驱动实现 / STM32 ADC driver implementation. More...
 
class  STM32CAN
 STM32 CAN 驱动实现 / STM32 CAN driver implementation. More...
 
class  STM32CANFD
 STM32 FDCAN 驱动实现 / STM32 FDCAN driver implementation. More...
 
class  STM32Endpoint
 STM32 USB 端点实现 / STM32 USB endpoint implementation. More...
 
class  STM32Flash
 STM32 闪存驱动实现 / STM32 flash driver implementation. More...
 
class  STM32GPIO
 STM32 GPIO 驱动实现 / STM32 GPIO driver implementation. More...
 
class  STM32I2C
 STM32 I2C 驱动实现 / STM32 I2C driver implementation. More...
 
class  STM32PowerManager
 STM32 电源管理实现 / STM32 power manager implementation. More...
 
class  STM32PWM
 STM32 PWM 驱动实现 / STM32 PWM driver implementation. More...
 
class  STM32SPI
 STM32 SPI 驱动实现 / STM32 SPI driver implementation. More...
 
class  STM32Timebase
 STM32 SysTick 时间基准实现 / STM32 SysTick-based timebase implementation. More...
 
class  STM32TimerTimebase
 STM32 硬件定时器时间基准实现 / STM32 timer-based timebase implementation. More...
 
class  STM32UART
 STM32 UART 驱动实现 / STM32 UART driver implementation. More...
 
class  STM32USBDevice
 STM32 USB 设备核心实现 / STM32 USB device core implementation. More...
 
class  STM32Watchdog
 STM32 IWDG 看门狗驱动 / STM32 independent watchdog driver. More...
 
class  Terminal
 终端类,实现一个基于 RamFS 的基本命令行接口 Terminal class implementing a basic command-line interface based on RamFS More...
 
class  Thread
 线程管理类,封装 POSIX 线程创建和调度 Thread management class encapsulating POSIX thread creation and scheduling More...
 
class  Timebase
 时间基类,用于提供高精度时间戳。 Timebase class for providing high-precision timestamps. More...
 
class  Timer
 定时器类,实现周期性任务调度 Timer class for scheduling periodic tasks More...
 
class  Topic
 发布订阅主题 / Publish-subscribe topic More...
 
class  Transform
 表示三维空间中的刚体变换,包括旋转和位移。Represents rigid body transformations in 3D space, including rotation and translation. More...
 
class  TypeID
 类型标识符生成器 / RTTI-free type identifier generator More...
 
class  UART
 通用异步收发传输(UART)基类 / Abstract base class for Universal Asynchronous Receiver-Transmitter (UART) More...
 
class  Watchdog
 通用看门狗(Watchdog)抽象接口 General Watchdog interface for both thread and task style usage More...
 
class  WebAsmTimebase
 WebAssembly 时间基准实现 / WebAssembly timebase implementation. More...
 
class  WebotsTimebase
 Webots 时间基准实现 / Webots timebase implementation. More...
 
class  WifiClient
 WiFi 客户端接口 / WiFi Client Interface. More...
 
struct  WriteInfoBlock
 
class  WritePort
 WritePort class for handling write operations. More...
 

Concepts

concept  DCacheFunctionAcceptsVoidPtr
 D-Cache API accepts void*
 
concept  DCacheFunctionAcceptsVolatileVoidPtr
 D-Cache API accepts volatile void*
 
concept  CallbackFunctionCompatible
 可转换为精确回调函数指针的可调用对象
 
concept  MemberObjectPointer
 指向非静态数据成员的成员指针
 
concept  CommonOrdered
 具有公共类型且可比较大小的类型对
 
concept  TopicPayload
 topic 可承载 payload 的类型约束 / Type constraint for payloads carried by one topic
 

Typedefs

typedef pthread_mutex_t libxr_mutex_handle
 
typedef libxr_linux_futex_semaphorelibxr_semaphore_handle
 
typedef pthread_t libxr_thread_handle
 
typedef Operation< ErrorCodeReadOperation
 Read operation type.
 
typedef Operation< ErrorCodeWriteOperation
 Write operation type.
 
typedef ErrorCode(* WriteFun) (WritePort &port, bool in_isr)
 Function pointer type for write operations.
 
typedef ErrorCode(* ReadFun) (ReadPort &port, bool in_isr)
 Function pointer type for read notifications.
 
using DefaultScalar = double
 

Enumerations

enum  ch32_gpio_group_t { CH32_GPIO_NUMBER }
 
enum  ch32_usb_dev_id_t : uint8_t { CH32_USB_DEV_ID_NUM }
 CH32 USB 控制器编号 / CH32 USB controller identifiers. More...
 
enum class  TextStyle : uint8_t {
  NONE = 0 , BOLD , DIM , UNDERLINE ,
  BLINK , REVERSE , CONCEALED , COUNT
}
 Terminal text style / 终端文本样式 More...
 
enum class  TerminalControl : uint8_t { NONE = 0 , RESET , ERASE_LINE , COUNT }
 Terminal control sequence / 终端控制序列 More...
 
enum class  Foreground : uint8_t {
  NONE = 0 , BLACK , RED , GREEN ,
  YELLOW , BLUE , MAGENTA , CYAN ,
  WHITE , COUNT
}
 Terminal foreground color / 终端前景色 More...
 
enum class  Background : uint8_t {
  NONE = 0 , BLACK , RED , GREEN ,
  YELLOW , BLUE , MAGENTA , CYAN ,
  WHITE , COUNT
}
 Terminal background color / 终端背景色 More...
 
enum class  Preset : uint8_t {
  NONE = 0 , YELLOW_BOLD , RED_BOLD , BOLD_ON_RED ,
  COUNT
}
 Terminal text preset / 终端文本预设 More...
 
enum class  ErrorCode : int8_t {
  PENDING = 1 , OK = 0 , FAILED = -1 , INIT_ERR = -2 ,
  ARG_ERR = -3 , STATE_ERR = -4 , SIZE_ERR = -5 , CHECK_ERR = -6 ,
  NOT_SUPPORT = -7 , NOT_FOUND = -8 , NO_RESPONSE = -9 , NO_MEM = -10 ,
  NO_BUFF = -11 , TIMEOUT = -12 , EMPTY = -13 , FULL = -14 ,
  BUSY = -15 , PTR_NULL = -16 , OUT_OF_RANGE = -17
}
 定义错误码枚举 More...
 
enum class  SizeLimitMode : uint8_t { EQUAL = 0 , LESS = 1 , MORE = 2 , NONE = 3 }
 定义尺寸限制模式 More...
 
enum class  LogLevel : uint8_t {
  XR_LOG_LEVEL_ERROR = 0 , XR_LOG_LEVEL_WARN = 1 , XR_LOG_LEVEL_PASS = 2 , XR_LOG_LEVEL_INFO = 3 ,
  XR_LOG_LEVEL_DEBUG = 4
}
 日志级别枚举 / Log level enumeration More...
 

Functions

uint32_t ch32_get_gpio_periph (GPIO_TypeDef *port)
 
template<typename FunctionType >
requires DCacheFunctionAcceptsVoidPtr<FunctionType>
void STM32_CallDCacheByAddr (FunctionType function, void *addr, int32_t dsize)
 Calls the CMSIS D-Cache helper with the pointer type accepted by the current toolchain.
 
template<typename FunctionType >
requires (!DCacheFunctionAcceptsVoidPtr<FunctionType> && DCacheFunctionAcceptsVolatileVoidPtr<FunctionType>)
void STM32_CallDCacheByAddr (FunctionType function, void *addr, int32_t dsize)
 
template<typename FunctionType >
requires (!DCacheFunctionAcceptsVoidPtr<FunctionType> && !DCacheFunctionAcceptsVolatileVoidPtr<FunctionType>)
void STM32_CallDCacheByAddr (FunctionType function, void *addr, int32_t dsize)
 
void STM32_CleanDCacheByAddr (const void *addr, size_t size)
 Cleans D-Cache lines covering the specified memory range.
 
void STM32_InvalidateDCacheByAddr (const void *addr, size_t size)
 Invalidates D-Cache lines covering the specified memory range.
 
uint32_t STM32FlashBankOf (uint32_t)
 
void PlatformInit (uint32_t timer_pri=2, uint32_t timer_stack_depth=65536)
 平台初始化函数 Platform initialization function
 
template<typename OwnerType , typename MemberType >
requires MemberObjectPointer<OwnerType, MemberType>
size_t OffsetOf (MemberType OwnerType::*member) noexcept
 计算成员在宿主对象中的偏移量
 
template<typename OwnerType , typename MemberType >
requires MemberObjectPointer<OwnerType, MemberType>
OwnerType * ContainerOf (MemberType *ptr, MemberType OwnerType::*member) noexcept
 通过成员指针恢复其所属对象指针
 
template<typename OwnerType , typename MemberType >
requires MemberObjectPointer<OwnerType, MemberType>
const OwnerType * ContainerOf (const MemberType *ptr, MemberType OwnerType::*member) noexcept
 
constexpr bool SizeLimitCheck (SizeLimitMode mode, size_t limit, size_t size) noexcept
 尺寸约束的纯判断函数
 
template<typename LeftType , typename RightType >
requires CommonOrdered<LeftType, RightType>
constexpr auto max (LeftType a, RightType b) -> std::common_type_t< LeftType, RightType >
 计算两个数的最大值
 
template<typename LeftType , typename RightType >
requires CommonOrdered<LeftType, RightType>
constexpr auto min (LeftType a, RightType b) -> std::common_type_t< LeftType, RightType >
 计算两个数的最小值
 
 RuntimeStringView (std::string_view) -> RuntimeStringView<>
 单参数文本构造推导为普通保留字符串。 / Single text argument deduces a plain retained string.
 
 RuntimeStringView (const char *) -> RuntimeStringView<>
 C 字符串构造推导为普通保留字符串。 / C-string construction deduces a plain retained string.
 
template<typename First , typename Second , typename... Rest>
 RuntimeStringView (First &&, Second &&, Rest &&...) -> RuntimeStringView<>
 多片段构造推导为普通拼接字符串。 / Multi-part construction deduces a plain concatenated string.
 
template<typename Data >
constexpr void CheckTopicPayload ()
 在模板上下文里断言 payload 类型满足 topic 契约 / Assert in template context that one payload type satisfies the topic contract
 

Variables

constexpr wdt_inst_t ESP32_WATCHDOG_DEFAULT_INSTANCE = WDT_MWDT1
 
constexpr uint8_t MAX_PORTS = 1
 
constexpr const char * LIBXR_TEXT_STYLE_STR []
 ANSI escape sequences for text styles / ANSI转义序列 - 文本样式
 
constexpr const char * LIBXR_TERMINAL_CONTROL_STR [] = {"", "\033[m", "\033[K"}
 ANSI escape sequences for terminal controls / ANSI转义序列 - 终端控制
 
constexpr const char * LIBXR_FOREGROUND_STR []
 ANSI escape sequences for foreground colors / ANSI转义序列 - 前景色
 
constexpr const char * LIBXR_BACKGROUND_STR []
 ANSI escape sequences for background color / ANSI转义序列 - 背景颜色
 
constexpr const char * LIBXR_PRESET_STR []
 ANSI escape sequences for text presets / ANSI转义序列 - 文本预设
 
constexpr double PI = 3.14159265358979323846
 PI 常量 / PI constant.
 
constexpr double TWO_PI = 2.0 * PI
 2PI 常量 / 2PI constant
 
constexpr double STANDARD_GRAVITY = 9.80665
 标准重力加速度(m/s²) / Standard gravitational acceleration (m/s²)
 
constexpr size_t CACHE_LINE_SIZE = (sizeof(void*) == 8) ? 64 : 32
 缓存行大小 / Cache line size
 
constexpr size_t ALIGN_SIZE = sizeof(void*)
 平台自然对齐大小 / Native platform alignment size
 
constexpr size_t IPADDR_STRLEN = 16
 
constexpr size_t MACADDR_STRLEN = 18
 
static constexpr uint16_t LIBXR_DATABASE_VERSION = 3
 数据库存储格式版本号 (Database storage-format version).
 
constexpr DefaultScalar PID_SIGMA = 1e-6f
 

Detailed Description

LibXR 命名空间

LibXR namespace

Typedef Documentation

◆ DefaultScalar

typedef double LibXR::DefaultScalar = double

Definition at line 10 of file cycle_value.hpp.

◆ libxr_mutex_handle

typedef pthread_mutex_t LibXR::libxr_mutex_handle

Definition at line 11 of file libxr_system.hpp.

◆ libxr_semaphore_handle

◆ libxr_thread_handle

typedef pthread_t LibXR::libxr_thread_handle

Definition at line 17 of file libxr_system.hpp.

◆ ReadFun

typedef ErrorCode(* LibXR::ReadFun) (ReadPort &port, bool in_isr)

Function pointer type for read notifications.

读取通知函数指针类型。

A successful return arms or notifies the backend only. It must not complete the read directly; producers complete reads by pushing bytes into queue_data_ and calling ProcessPendingReads(). Any non-negative return means accepted/armed; negative values mean failure. 成功返回只表示已通知或挂起底层接收,不得直接完成本次读;producer 必须先把字节写入 queue_data_,再调用 ProcessPendingReads() 完成读取。返回值非负表示已接受/已挂起,负值表示失败。

Definition at line 356 of file operation.hpp.

◆ ReadOperation

Read operation type.

读取操作类型。

Definition at line 329 of file operation.hpp.

◆ WriteFun

typedef ErrorCode(* LibXR::WriteFun) (WritePort &port, bool in_isr)

Function pointer type for write operations.

写入操作的函数指针类型。

The current write has already been queued before this function is called. PENDING means the backend owns later completion through Finish(); non-PENDING means the current queued op was consumed/completed synchronously. Negative non-PENDING values report a synchronous start failure and must not leave that op in the queue. 调用该函数前,当前写入已经进入队列。PENDING 表示后端之后通过 Finish() 完成; 非 PENDING 表示当前 queued op 已被同步消费/完成。负数非 PENDING 表示同步启动失败, 且不得把该 op 留在队列中。

Definition at line 345 of file operation.hpp.

◆ WriteOperation

Write operation type.

写入操作类型。

Definition at line 333 of file operation.hpp.

Enumeration Type Documentation

◆ Background

enum class LibXR::Background : uint8_t
strong

Terminal background color / 终端背景色

Definition at line 59 of file libxr_color.hpp.

60{
61 NONE = 0,
62 BLACK,
63 RED,
64 GREEN,
65 YELLOW,
66 BLUE,
67 MAGENTA,
68 CYAN,
69 WHITE,
70 COUNT
71};

◆ ch32_gpio_group_t

enum LibXR::ch32_gpio_group_t

Definition at line 11 of file ch32_gpio.hpp.

12{
13#if defined(GPIOA)
14 CH32_GPIOA,
15#endif
16#if defined(GPIOB)
17 CH32_GPIOB,
18#endif
19#if defined(GPIOC)
20 CH32_GPIOC,
21#endif
22#if defined(GPIOD)
23 CH32_GPIOD,
24#endif
25#if defined(GPIOE)
26 CH32_GPIOE,
27#endif
28#if defined(GPIOF)
29 CH32_GPIOF,
30#endif
31#if defined(GPIOG)
32 CH32_GPIOG,
33#endif
34#if defined(GPIOH)
35 CH32_GPIOH,
36#endif
37#if defined(GPIOI)
38 CH32_GPIOI,
39#endif
40 CH32_GPIO_NUMBER
41} ch32_gpio_group_t;

◆ ch32_usb_dev_id_t

enum LibXR::ch32_usb_dev_id_t : uint8_t

CH32 USB 控制器编号 / CH32 USB controller identifiers.

Definition at line 12 of file ch32_usb.hpp.

13{
14#if defined(USBFSD)
15 CH32_USB_OTG_FS,
16#endif
17#if defined(USBHSD)
18 CH32_USB_OTG_HS,
19#endif
20 CH32_USB_DEV_ID_NUM
21} ch32_usb_dev_id_t;

◆ ErrorCode

enum class LibXR::ErrorCode : int8_t
strong

定义错误码枚举

Defines an enumeration for error codes

Enumerator
PENDING 

等待中 | Pending

OK 

操作成功 | Operation successful

FAILED 

操作失败 | Operation failed

INIT_ERR 

初始化错误 | Initialization error

ARG_ERR 

参数错误 | Argument error

STATE_ERR 

状态错误 | State error

SIZE_ERR 

尺寸错误 | Size error

CHECK_ERR 

校验错误 | Check error

NOT_SUPPORT 

不支持 | Not supported

NOT_FOUND 

未找到 | Not found

NO_RESPONSE 

无响应 | No response

NO_MEM 

内存不足 | Insufficient memory

NO_BUFF 

缓冲区不足 | Insufficient buffer

TIMEOUT 

超时 | Timeout

EMPTY 

为空 | Empty

FULL 

已满 | Full

BUSY 

忙碌 | Busy

PTR_NULL 

空指针 | Null pointer

OUT_OF_RANGE 

超出范围 | Out of range

Definition at line 124 of file libxr_def.hpp.

125{
126 PENDING = 1,
127 OK = 0,
128 FAILED = -1,
129 INIT_ERR = -2,
130 ARG_ERR = -3,
131 STATE_ERR = -4,
132 SIZE_ERR = -5,
133 CHECK_ERR = -6,
134 NOT_SUPPORT = -7,
135 NOT_FOUND = -8,
136 NO_RESPONSE = -9,
137 NO_MEM = -10,
138 NO_BUFF = -11,
139 TIMEOUT = -12,
140 EMPTY = -13,
141 FULL = -14,
142 BUSY = -15,
143 PTR_NULL = -16,
144 OUT_OF_RANGE = -17
145};
@ SIZE_ERR
尺寸错误 | Size error
@ CHECK_ERR
校验错误 | Check error
@ INIT_ERR
初始化错误 | Initialization error
@ OUT_OF_RANGE
超出范围 | Out of range
@ STATE_ERR
状态错误 | State error
@ BUSY
忙碌 | Busy
@ NOT_FOUND
未找到 | Not found
@ NO_MEM
内存不足 | Insufficient memory
@ NO_RESPONSE
无响应 | No response
@ PTR_NULL
空指针 | Null pointer
@ NO_BUFF
缓冲区不足 | Insufficient buffer
@ NOT_SUPPORT
不支持 | Not supported
@ FAILED
操作失败 | Operation failed
@ EMPTY
为空 | Empty
@ FULL
已满 | Full
@ PENDING
等待中 | Pending
@ OK
操作成功 | Operation successful
@ ARG_ERR
参数错误 | Argument error

◆ Foreground

enum class LibXR::Foreground : uint8_t
strong

Terminal foreground color / 终端前景色

Definition at line 42 of file libxr_color.hpp.

43{
44 NONE = 0,
45 BLACK,
46 RED,
47 GREEN,
48 YELLOW,
49 BLUE,
50 MAGENTA,
51 CYAN,
52 WHITE,
53 COUNT
54};

◆ LogLevel

enum class LibXR::LogLevel : uint8_t
strong

日志级别枚举 / Log level enumeration

Enumerator
XR_LOG_LEVEL_ERROR 

错误信息 / Error message

XR_LOG_LEVEL_WARN 

警告信息 / Warning message

XR_LOG_LEVEL_PASS 

通过信息 / Pass message

XR_LOG_LEVEL_INFO 

一般信息 / Informational message

XR_LOG_LEVEL_DEBUG 

调试信息 / Debug message

Definition at line 31 of file logger.hpp.

32{
38};
@ XR_LOG_LEVEL_INFO
一般信息 / Informational message
@ XR_LOG_LEVEL_DEBUG
调试信息 / Debug message
@ XR_LOG_LEVEL_WARN
警告信息 / Warning message
@ XR_LOG_LEVEL_ERROR
错误信息 / Error message
@ XR_LOG_LEVEL_PASS
通过信息 / Pass message

◆ Preset

enum class LibXR::Preset : uint8_t
strong

Terminal text preset / 终端文本预设

Precomposed ANSI presets such as yellow bold, red bold, and bold on red. 预组合的 ANSI 文本预设,例如黄色粗体、红色粗体、红底粗体等。

Definition at line 78 of file libxr_color.hpp.

79{
80 NONE = 0,
81 YELLOW_BOLD,
82 RED_BOLD,
83 BOLD_ON_RED,
84 COUNT
85};

◆ SizeLimitMode

enum class LibXR::SizeLimitMode : uint8_t
strong

定义尺寸限制模式

Defines size limit modes

Enumerator
EQUAL 

尺寸必须相等 | Size must be equal

LESS 

尺寸必须小于等于 | Size must be less than or equal

MORE 

尺寸必须大于等于 | Size must be greater than or equal

NONE 

无限制 | No restriction

Definition at line 152 of file libxr_def.hpp.

153{
154 EQUAL = 0,
155 LESS = 1,
156 MORE = 2,
157 NONE = 3
158};
@ LESS
尺寸必须小于等于 | Size must be less than or equal
@ EQUAL
尺寸必须相等 | Size must be equal
@ MORE
尺寸必须大于等于 | Size must be greater than or equal

◆ TerminalControl

enum class LibXR::TerminalControl : uint8_t
strong

Terminal control sequence / 终端控制序列

Defines ANSI terminal control commands such as RESET and ERASE_LINE. 定义 ANSI 终端控制命令,如 RESET(重置)和 ERASE_LINE(清除当前行)。

Definition at line 31 of file libxr_color.hpp.

32{
33 NONE = 0,
34 RESET,
35 ERASE_LINE,
36 COUNT
37};

◆ TextStyle

enum class LibXR::TextStyle : uint8_t
strong

Terminal text style / 终端文本样式

Defines ANSI text styles such as BOLD, DIM, and UNDERLINE. 定义 ANSI 文本样式,如 BOLD(加粗)、DIM(弱化)、UNDERLINE(下划线)等。

Definition at line 14 of file libxr_color.hpp.

15{
16 NONE = 0,
17 BOLD,
18 DIM,
19 UNDERLINE,
20 BLINK,
21 REVERSE,
22 CONCEALED,
23 COUNT
24};

Function Documentation

◆ ch32_get_gpio_periph()

uint32_t LibXR::ch32_get_gpio_periph ( GPIO_TypeDef * port)

Definition at line 6 of file ch32_gpio.cpp.

7{
8 if (false)
9 {
10 }
11#if defined(GPIOA)
12 else if (port == GPIOA)
13 {
14 return RCC_APB2Periph_GPIOA;
15#endif
16#if defined(GPIOB)
17 }
18 else if (port == GPIOB)
19 {
20 return RCC_APB2Periph_GPIOB;
21#endif
22#if defined(GPIOC)
23 }
24 else if (port == GPIOC)
25 {
26 return RCC_APB2Periph_GPIOC;
27#endif
28#if defined(GPIOD)
29 }
30 else if (port == GPIOD)
31 {
32 return RCC_APB2Periph_GPIOD;
33#endif
34#if defined(GPIOE)
35 }
36 else if (port == GPIOE)
37 {
38 return RCC_APB2Periph_GPIOE;
39 }
40#endif
41 return 0;
42}

◆ CheckTopicPayload()

template<typename Data >
void LibXR::CheckTopicPayload ( )
constexpr

在模板上下文里断言 payload 类型满足 topic 契约 / Assert in template context that one payload type satisfies the topic contract

Template Parameters
Data待检查的 payload 类型 / Payload type to validate

Definition at line 39 of file topic.hpp.

40{
41 static_assert(TopicPayload<Data>,
42 "LibXR::Topic typed payload must be a non-cv/ref object type that is "
43 "default-constructible, copy-assignable, and trivially destructible.");
44}
topic 可承载 payload 的类型约束 / Type constraint for payloads carried by one topic
Definition topic.hpp:28

◆ ContainerOf() [1/2]

template<typename OwnerType , typename MemberType >
requires MemberObjectPointer<OwnerType, MemberType>
const OwnerType * LibXR::ContainerOf ( const MemberType * ptr,
MemberType OwnerType::* member )
inlinenodiscardnoexcept

Definition at line 112 of file libxr_def.hpp.

114{
115 return reinterpret_cast<const OwnerType*>(reinterpret_cast<const std::byte*>(ptr) -
116 OffsetOf(member));
117}
size_t OffsetOf(MemberType OwnerType::*member) noexcept
计算成员在宿主对象中的偏移量
Definition libxr_def.hpp:88

◆ ContainerOf() [2/2]

template<typename OwnerType , typename MemberType >
requires MemberObjectPointer<OwnerType, MemberType>
OwnerType * LibXR::ContainerOf ( MemberType * ptr,
MemberType OwnerType::* member )
inlinenodiscardnoexcept

通过成员指针恢复其所属对象指针

Recover the owning object pointer from a member pointer

Parameters
ptr指向成员的指针 | Pointer to the member
member指向成员的成员指针,如 &Type::member | Member pointer such as &Type::member
Returns
所属对象指针 | Pointer to the owning object

Definition at line 103 of file libxr_def.hpp.

105{
106 return reinterpret_cast<OwnerType*>(reinterpret_cast<std::byte*>(ptr) -
107 OffsetOf(member));
108}

◆ max()

template<typename LeftType , typename RightType >
requires CommonOrdered<LeftType, RightType>
auto LibXR::max ( LeftType a,
RightType b ) -> std::common_type_t<LeftType, RightType>
constexpr

计算两个数的最大值

Computes the maximum of two numbers

Template Parameters
LeftType第一个数的类型 | Type of the first number
RightType第二个数的类型 | Type of the second number
Parameters
a第一个数 | First number
b第二个数 | Second number
Returns
两数中的较大值 | The larger of the two numbers

Definition at line 344 of file libxr_def.hpp.

345{
346 return (a > b) ? a : b;
347}

◆ min()

template<typename LeftType , typename RightType >
requires CommonOrdered<LeftType, RightType>
auto LibXR::min ( LeftType a,
RightType b ) -> std::common_type_t<LeftType, RightType>
constexpr

计算两个数的最小值

Computes the minimum of two numbers

Template Parameters
LeftType第一个数的类型 | Type of the first number
RightType第二个数的类型 | Type of the second number
Parameters
a第一个数 | First number
b第二个数 | Second number
Returns
两数中的较小值 | The smaller of the two numbers

Definition at line 360 of file libxr_def.hpp.

361{
362 return (a < b) ? a : b;
363}

◆ OffsetOf()

template<typename OwnerType , typename MemberType >
requires MemberObjectPointer<OwnerType, MemberType>
size_t LibXR::OffsetOf ( MemberType OwnerType::* member)
inlinenodiscardnoexcept

计算成员在宿主对象中的偏移量

Computes the offset of a member within the owning object

Parameters
member指向成员的成员指针,如 &Type::member | Member pointer such as &Type::member
Returns
成员偏移量 | Member offset

Definition at line 88 of file libxr_def.hpp.

89{
90 return reinterpret_cast<size_t>(
91 &(reinterpret_cast<const volatile OwnerType*>(0)->*member));
92}

◆ PlatformInit()

void LibXR::PlatformInit ( uint32_t timer_pri = 2,
uint32_t timer_stack_depth = 65536 )

平台初始化函数 Platform initialization function

Parameters
timer_pri定时器任务的优先级(默认值 2) Timer task priority (default: 2)
timer_stack_depth定时器任务的栈深度(默认值 65536) Timer task stack depth (default: 65536)

该函数用于初始化 Linux 主机运行时,包括:

  • 定时器线程默认参数
  • 标准输入输出端口
  • 终端模式
  • 后台 STDIO 线程 在使用依赖主机运行时的 LibXR 组件之前,应调用该函数。

This function initializes the Linux host runtime, including:

  • default timer-thread parameters
  • STDIO ports
  • terminal mode
  • background STDIO threads It should be called before using LibXR components that depend on the host runtime.

Definition at line 97 of file libxr_system.cpp.

98{
99 LibXR::Timer::priority_ = static_cast<LibXR::Thread::Priority>(timer_pri);
100 LibXR::Timer::stack_depth_ = timer_stack_depth;
101 auto write_fun = [](WritePort& port, bool)
102 {
103 UNUSED(port);
104 stdo_sem.Post();
106 };
107
108 LibXR::STDIO::write_ = new LibXR::WritePort(32, host_stdio_queue_bytes);
109
110 *LibXR::STDIO::write_ = write_fun;
111
112 auto read_fun = [](ReadPort& port, bool)
113 {
114 UNUSED(port);
116 };
117
118 LibXR::STDIO::read_ = new LibXR::ReadPort(host_stdio_queue_bytes);
119
120 *LibXR::STDIO::read_ = read_fun;
121
122 UNUSED(clock_gettime(CLOCK_MONOTONIC, &libxr_linux_start_time_spec));
123
124 struct termios tty;
125 tcgetattr(STDIN_FILENO, &tty); // 获取当前终端属性
126 tty.c_lflag &= ~(ICANON | ECHO); // 禁用规范模式和回显
127 tcsetattr(STDIN_FILENO, TCSANOW, &tty); // 立即生效
128
129 LibXR::Thread stdi_thread, stdo_thread;
130 stdi_thread.Create<LibXR::ReadPort*>(LibXR::STDIO::read_, StdiThread, "STDIO.read_",
132
133 stdo_thread.Create<LibXR::WritePort*>(LibXR::STDIO::write_, StdoThread, "STDIO.write_",
135}
ReadPort class for handling read operations.
Definition read_port.hpp:18
static ReadPort * read_
Read port instance. 读取端口。
Definition stdio.hpp:25
static WritePort * write_
Write port instance. 写入端口。
Definition stdio.hpp:26
void Post()
释放(增加)信号量 Releases (increments) the semaphore
Definition semaphore.cpp:44
线程管理类,封装 POSIX 线程创建和调度 Thread management class encapsulating POSIX thread creation and scheduling
Definition thread.hpp:18
Priority
线程优先级枚举 Enumeration for thread priorities
Definition thread.hpp:25
@ MEDIUM
中等优先级 Medium priority
void Create(ArgType arg, void(*function)(ArgType arg), const char *name, size_t stack_depth, Thread::Priority priority)
创建新线程 Creates a new thread
Definition thread.hpp:68
static uint32_t stack_depth_
线程栈深度 Thread stack depth
Definition timer.hpp:169
static LibXR::Thread::Priority priority_
线程优先级 Thread priority
Definition timer.hpp:167
WritePort class for handling write operations.

◆ SizeLimitCheck()

bool LibXR::SizeLimitCheck ( SizeLimitMode mode,
size_t limit,
size_t size )
nodiscardconstexprnoexcept

尺寸约束的纯判断函数

Pure predicate for size-limit comparisons

This helper only answers whether the requested size relation holds. It does not decide whether the caller should assert, require, or return an error code. 这个辅助函数只判断尺寸关系是否成立; 它本身不决定调用方应该断言、强约束终止,还是返回错误码。

Definition at line 170 of file libxr_def.hpp.

172{
173 switch (mode)
174 {
175 case SizeLimitMode::EQUAL:
176 return limit == size;
177 case SizeLimitMode::LESS:
178 return limit >= size;
179 case SizeLimitMode::MORE:
180 return limit <= size;
181 case SizeLimitMode::NONE:
182 return true;
183 }
184 return false;
185}

◆ STM32_CallDCacheByAddr() [1/3]

template<typename FunctionType >
requires DCacheFunctionAcceptsVoidPtr<FunctionType>
void LibXR::STM32_CallDCacheByAddr ( FunctionType function,
void * addr,
int32_t dsize )
inline

Calls the CMSIS D-Cache helper with the pointer type accepted by the current toolchain.

按当前工具链接受的指针类型调用 CMSIS D-Cache 接口

Definition at line 34 of file stm32_dcache.hpp.

35{
36 function(addr, dsize);
37}

◆ STM32_CallDCacheByAddr() [2/3]

template<typename FunctionType >
requires (!DCacheFunctionAcceptsVoidPtr<FunctionType> && DCacheFunctionAcceptsVolatileVoidPtr<FunctionType>)
void LibXR::STM32_CallDCacheByAddr ( FunctionType function,
void * addr,
int32_t dsize )
inline

Definition at line 42 of file stm32_dcache.hpp.

43{
44 function(reinterpret_cast<volatile void*>(addr), dsize);
45}

◆ STM32_CallDCacheByAddr() [3/3]

template<typename FunctionType >
requires (!DCacheFunctionAcceptsVoidPtr<FunctionType> && !DCacheFunctionAcceptsVolatileVoidPtr<FunctionType>)
void LibXR::STM32_CallDCacheByAddr ( FunctionType function,
void * addr,
int32_t dsize )
inline

Definition at line 50 of file stm32_dcache.hpp.

51{
52 function(reinterpret_cast<uint32_t*>(addr), dsize);
53}

◆ STM32_CleanDCacheByAddr()

void LibXR::STM32_CleanDCacheByAddr ( const void * addr,
size_t size )
inline

Cleans D-Cache lines covering the specified memory range.

清理指定内存范围覆盖的 D-Cache cache line

Definition at line 59 of file stm32_dcache.hpp.

60{
61#if defined(__DCACHE_PRESENT) && (__DCACHE_PRESENT == 1U)
62 auto* raw = const_cast<void*>(addr);
63 const auto dsize = static_cast<int32_t>(size);
64 STM32_CallDCacheByAddr(&SCB_CleanDCache_by_Addr, raw, dsize);
65#else
66 (void)addr;
67 (void)size;
68#endif
69}
void STM32_CallDCacheByAddr(FunctionType function, void *addr, int32_t dsize)
Calls the CMSIS D-Cache helper with the pointer type accepted by the current toolchain.

◆ STM32_InvalidateDCacheByAddr()

void LibXR::STM32_InvalidateDCacheByAddr ( const void * addr,
size_t size )
inline

Invalidates D-Cache lines covering the specified memory range.

失效指定内存范围覆盖的 D-Cache cache line

Definition at line 75 of file stm32_dcache.hpp.

76{
77#if defined(__DCACHE_PRESENT) && (__DCACHE_PRESENT == 1U)
78 auto* raw = const_cast<void*>(addr);
79 const auto dsize = static_cast<int32_t>(size);
80 STM32_CallDCacheByAddr(&SCB_InvalidateDCache_by_Addr, raw, dsize);
81#else
82 (void)addr;
83 (void)size;
84#endif
85}

◆ STM32FlashBankOf()

uint32_t LibXR::STM32FlashBankOf ( uint32_t )
inline

Definition at line 43 of file stm32_flash.hpp.

43{ return 1; }

Variable Documentation

◆ ALIGN_SIZE

size_t LibXR::ALIGN_SIZE = sizeof(void*)
inlineconstexpr

平台自然对齐大小 / Native platform alignment size

Definition at line 59 of file libxr_def.hpp.

◆ CACHE_LINE_SIZE

size_t LibXR::CACHE_LINE_SIZE = (sizeof(void*) == 8) ? 64 : 32
inlineconstexpr

缓存行大小 / Cache line size

Definition at line 56 of file libxr_def.hpp.

◆ ESP32_WATCHDOG_DEFAULT_INSTANCE

wdt_inst_t LibXR::ESP32_WATCHDOG_DEFAULT_INSTANCE = WDT_MWDT1
constexpr

Definition at line 31 of file esp_watchdog.hpp.

◆ IPADDR_STRLEN

size_t LibXR::IPADDR_STRLEN = 16
constexpr

Definition at line 12 of file net.hpp.

◆ LIBXR_BACKGROUND_STR

const char* LibXR::LIBXR_BACKGROUND_STR[]
inlineconstexpr
Initial value:
= {
"", "\033[40m", "\033[41m", "\033[42m", "\033[43m",
"\033[44m", "\033[45m", "\033[46m", "\033[47m"}

ANSI escape sequences for background color / ANSI转义序列 - 背景颜色

Definition at line 109 of file libxr_color.hpp.

109 {
110 "", "\033[40m", "\033[41m", "\033[42m", "\033[43m",
111 "\033[44m", "\033[45m", "\033[46m", "\033[47m"};

◆ LIBXR_DATABASE_VERSION

uint16_t LibXR::LIBXR_DATABASE_VERSION = 3
staticconstexpr

数据库存储格式版本号 (Database storage-format version).

Definition at line 17 of file interface.hpp.

◆ LIBXR_FOREGROUND_STR

const char* LibXR::LIBXR_FOREGROUND_STR[]
inlineconstexpr
Initial value:
= {
"", "\033[30m", "\033[31m", "\033[32m", "\033[33m",
"\033[34m", "\033[35m", "\033[36m", "\033[37m"}

ANSI escape sequences for foreground colors / ANSI转义序列 - 前景色

Definition at line 102 of file libxr_color.hpp.

102 {
103 "", "\033[30m", "\033[31m", "\033[32m", "\033[33m",
104 "\033[34m", "\033[35m", "\033[36m", "\033[37m"};

◆ LIBXR_PRESET_STR

const char* LibXR::LIBXR_PRESET_STR[]
inlineconstexpr
Initial value:
= {
"", "\033[33m\033[1m", "\033[31m\033[1m", "\033[1m\033[41m"}

ANSI escape sequences for text presets / ANSI转义序列 - 文本预设

Definition at line 116 of file libxr_color.hpp.

116 {
117 "", "\033[33m\033[1m", "\033[31m\033[1m", "\033[1m\033[41m"};

◆ LIBXR_TERMINAL_CONTROL_STR

const char* LibXR::LIBXR_TERMINAL_CONTROL_STR[] = {"", "\033[m", "\033[K"}
inlineconstexpr

ANSI escape sequences for terminal controls / ANSI转义序列 - 终端控制

Definition at line 97 of file libxr_color.hpp.

97{"", "\033[m", "\033[K"};

◆ LIBXR_TEXT_STYLE_STR

const char* LibXR::LIBXR_TEXT_STYLE_STR[]
inlineconstexpr
Initial value:
= {"", "\033[1m", "\033[2m",
"\033[4m", "\033[5m", "\033[7m",
"\033[8m"}

ANSI escape sequences for text styles / ANSI转义序列 - 文本样式

Definition at line 90 of file libxr_color.hpp.

90 {"", "\033[1m", "\033[2m",
91 "\033[4m", "\033[5m", "\033[7m",
92 "\033[8m"};

◆ MACADDR_STRLEN

size_t LibXR::MACADDR_STRLEN = 18
constexpr

Definition at line 13 of file net.hpp.

◆ MAX_PORTS

uint8_t LibXR::MAX_PORTS = 1
constexpr

Definition at line 14 of file mspm0_gpio.hpp.

◆ PI

double LibXR::PI = 3.14159265358979323846
inlineconstexpr

PI 常量 / PI constant.

Definition at line 47 of file libxr_def.hpp.

◆ PID_SIGMA

DefaultScalar LibXR::PID_SIGMA = 1e-6f
constexpr

Definition at line 13 of file pid.hpp.

◆ STANDARD_GRAVITY

double LibXR::STANDARD_GRAVITY = 9.80665
inlineconstexpr

标准重力加速度(m/s²) / Standard gravitational acceleration (m/s²)

Definition at line 53 of file libxr_def.hpp.

◆ TWO_PI

double LibXR::TWO_PI = 2.0 * PI
inlineconstexpr

2PI 常量 / 2PI constant

Definition at line 50 of file libxr_def.hpp.