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
 应用模块抽象类,需实现 OnMonitor 方法 More...
 
class  ApplicationManager
 应用模块管理器 More...
 
class  Assert
 运行时错误检查的断言工具类。 Provides assertion mechanisms for runtime error checking. 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
 常量原始数据封装类。 A class for encapsulating constant raw data. 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
 
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  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
 内存操作类 / Memory operation class More...
 
class  MicrosecondTimestamp
 表示微秒级时间戳的类。Class representing a timestamp in microseconds. More...
 
class  MillisecondTimestamp
 表示毫秒级时间戳的类。Class representing a timestamp in milliseconds. 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
 轻量级的内存文件系统,实现基本的文件、目录和设备管理 A lightweight in-memory file system implementing basic file, directory, and device management More...
 
class  RawData
 原始数据封装类。 A class for encapsulating raw data. 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  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/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  String
 A fixed-length string class with safe operations. 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
 主题(Topic)管理类 / Topic management class More...
 
class  Transform
 表示三维空间中的刚体变换,包括旋转和位移。Represents rigid body transformations in 3D space, including rotation and translation. More...
 
class  TypeID
 类型标识符生成器,替代 typeid 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...
 

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 operations.
 
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  Style : uint8_t {
  NONE = 0 , RESET , BOLD , DIM ,
  UNDERLINE , BLINK , REVERSE , CONCEALED ,
  ERASE_LINE , COUNT
}
 Terminal text style / 终端文本样式 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)
 
uint32_t STM32FlashBankOf (uint32_t)
 
void PlatformInit (uint32_t timer_pri=2, uint32_t timer_stack_depth=65536)
 平台初始化函数 Platform initialization function
 
template<typename T1 , typename T2 >
constexpr auto max (T1 a, T2 b) -> typename std::common_type< T1, T2 >::type
 计算两个数的最大值
 
template<typename T1 , typename T2 >
constexpr auto min (T1 a, T2 b) -> typename std::common_type< T1, T2 >::type
 计算两个数的最小值
 

Variables

constexpr wdt_inst_t kESP32WatchdogDefaultInstance = WDT_MWDT1
 
constexpr uint8_t MAX_PORTS = 1
 
constexpr const char * LIBXR_STYLE_STR []
 ANSI escape sequences for text styles / 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 size_t IPADDR_STRLEN = 16
 
constexpr size_t MACADDR_STRLEN = 18
 
static constexpr uint16_t LIBXR_DATABASE_VERSION = 3
 
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 operations.

读取操作的函数指针类型。

Definition at line 356 of file libxr_rw.hpp.

◆ ReadOperation

Read operation type.

读取操作类型。

Definition at line 344 of file libxr_rw.hpp.

◆ WriteFun

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

Function pointer type for write operations.

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

Definition at line 352 of file libxr_rw.hpp.

◆ WriteOperation

Write operation type.

写入操作类型。

Definition at line 348 of file libxr_rw.hpp.

Enumeration Type Documentation

◆ Background

enum class LibXR::Background : uint8_t
strong

Terminal background color / 终端背景色

Definition at line 48 of file libxr_color.hpp.

49{
50 NONE = 0,
51 BLACK,
52 RED,
53 GREEN,
54 YELLOW,
55 BLUE,
56 MAGENTA,
57 CYAN,
58 WHITE,
59 COUNT
60};

◆ 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 63 of file libxr_def.hpp.

64{
65 PENDING = 1,
66 OK = 0,
67 FAILED = -1,
68 INIT_ERR = -2,
69 ARG_ERR = -3,
70 STATE_ERR = -4,
71 SIZE_ERR = -5,
72 CHECK_ERR = -6,
73 NOT_SUPPORT = -7,
74 NOT_FOUND = -8,
75 NO_RESPONSE = -9,
76 NO_MEM = -10,
77 NO_BUFF = -11,
78 TIMEOUT = -12,
79 EMPTY = -13,
80 FULL = -14,
81 BUSY = -15,
82 PTR_NULL = -16,
83 OUT_OF_RANGE = -17
84};
@ 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 31 of file libxr_color.hpp.

32{
33 NONE = 0,
34 BLACK,
35 RED,
36 GREEN,
37 YELLOW,
38 BLUE,
39 MAGENTA,
40 CYAN,
41 WHITE,
42 COUNT
43};

◆ 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 18 of file logger.hpp.

19{
25};
@ 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 67 of file libxr_color.hpp.

68{
69 NONE = 0,
70 YELLOW_BOLD,
71 RED_BOLD,
72 BOLD_ON_RED,
73 COUNT
74};

◆ SizeLimitMode

enum class LibXR::SizeLimitMode : uint8_t
strong

定义尺寸限制模式

Defines size limit modes

Enumerator
EQUAL 

尺寸必须相等 | Size must be equal

LESS 

尺寸必须小于 | Size must be less

MORE 

尺寸必须大于 | Size must be more

NONE 

无限制 | No restriction

Definition at line 91 of file libxr_def.hpp.

92{
93 EQUAL = 0,
94 LESS = 1,
95 MORE = 2,
96 NONE = 3
97};
@ LESS
尺寸必须小于 | Size must be less
@ EQUAL
尺寸必须相等 | Size must be equal
@ MORE
尺寸必须大于 | Size must be more

◆ Style

enum class LibXR::Style : uint8_t
strong

Terminal text style / 终端文本样式

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

Definition at line 14 of file libxr_color.hpp.

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

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}

◆ max()

template<typename T1 , typename T2 >
auto LibXR::max ( T1 a,
T2 b ) -> typename std::common_type<T1, T2>::type
constexpr

计算两个数的最大值

Computes the maximum of two numbers

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

Definition at line 169 of file libxr_def.hpp.

170{
171 return (a > b) ? a : b;
172}

◆ min()

template<typename T1 , typename T2 >
auto LibXR::min ( T1 a,
T2 b ) -> typename std::common_type<T1, T2>::type
constexpr

计算两个数的最小值

Computes the minimum of two numbers

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

Definition at line 184 of file libxr_def.hpp.

185{
186 return (a < b) ? a : b;
187}

◆ 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 96 of file libxr_system.cpp.

97{
98 LibXR::Timer::priority_ = static_cast<LibXR::Thread::Priority>(timer_pri);
99 LibXR::Timer::stack_depth_ = timer_stack_depth;
100 auto write_fun = [](WritePort& port, bool)
101 {
102 UNUSED(port);
103 stdo_sem.Post();
105 };
106
108 new LibXR::WritePort(32, static_cast<size_t>(4 * LIBXR_PRINTF_BUFFER_SIZE));
109
110 *LibXR::STDIO::write_ = write_fun;
111
112 auto read_fun = [](ReadPort& port, bool)
113 {
114 UNUSED(port);
116 };
117
119 new LibXR::ReadPort(static_cast<size_t>(4 * LIBXR_PRINTF_BUFFER_SIZE));
120
121 *LibXR::STDIO::read_ = read_fun;
122
123 UNUSED(clock_gettime(CLOCK_MONOTONIC, &libxr_linux_start_time_spec));
124
125 struct termios tty;
126 tcgetattr(STDIN_FILENO, &tty); // 获取当前终端属性
127 tty.c_lflag &= ~(ICANON | ECHO); // 禁用规范模式和回显
128 tcsetattr(STDIN_FILENO, TCSANOW, &tty); // 立即生效
129
130 LibXR::Thread stdi_thread, stdo_thread;
131 stdi_thread.Create<LibXR::ReadPort*>(LibXR::STDIO::read_, StdiThread, "STDIO.read_",
133
134 stdo_thread.Create<LibXR::WritePort*>(LibXR::STDIO::write_, StdoThread, "STDIO.write_",
136}
ReadPort class for handling read operations.
Definition libxr_rw.hpp:379
static ReadPort * read_
Read port instance. 读取端口。
Definition libxr_rw.hpp:771
static WritePort * write_
Write port instance. 写入端口。
Definition libxr_rw.hpp:772
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.
Definition libxr_rw.hpp:538

◆ STM32FlashBankOf()

uint32_t LibXR::STM32FlashBankOf ( uint32_t )
inline

Definition at line 43 of file stm32_flash.hpp.

43{ return 1; }

Variable Documentation

◆ IPADDR_STRLEN

size_t LibXR::IPADDR_STRLEN = 16
constexpr

Definition at line 12 of file net.hpp.

◆ kESP32WatchdogDefaultInstance

wdt_inst_t LibXR::kESP32WatchdogDefaultInstance = WDT_MWDT1
constexpr

Definition at line 31 of file esp_watchdog.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 93 of file libxr_color.hpp.

93 {
94 "", "\033[40m", "\033[41m", "\033[42m", "\033[43m",
95 "\033[44m", "\033[45m", "\033[46m", "\033[47m"};

◆ LIBXR_DATABASE_VERSION

uint16_t LibXR::LIBXR_DATABASE_VERSION = 3
staticconstexpr

Definition at line 15 of file database.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 86 of file libxr_color.hpp.

86 {
87 "", "\033[30m", "\033[31m", "\033[32m", "\033[33m",
88 "\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 100 of file libxr_color.hpp.

100 {
101 "", "\033[33m\033[1m", "\033[31m\033[1m", "\033[1m\033[41m"};

◆ LIBXR_STYLE_STR

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

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

Definition at line 79 of file libxr_color.hpp.

79 {"", "\033[m", "\033[1m",
80 "\033[2m", "\033[4m", "\033[5m",
81 "\033[7m", "\033[8m", "\033[K"};

◆ 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.

◆ PID_SIGMA

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

Definition at line 13 of file pid.hpp.