T-Box Basic dev
Loading...
Searching...
No Matches
sys.h File Reference

系统控制对外 API 接口 More...

#include "tbox/time.h"
#include <stdbool.h>
#include <stdint.h>

Go to the source code of this file.

Data Structures

struct  sys_did_item_t
struct  sys_timer_task_event_t
struct  sys_callback_t

Typedefs

typedef void(* sys_timer_task_cb) (uint8_t *para_data, uint32_t para_len)
typedef void(* sys_pm_state_event_cb) (sys_pm_state_t pm_state, uint8_t wakeup_source)

Enumerations

enum  sys_pm_state_t { SYS_PM_STATE_NORMAL = 0 , SYS_PM_STATE_READY_SLEEP = 1 , SYS_PM_STATE_ENTER_SLEEP = 2 }

Functions

int sys_did_get (uint32_t did, uint8_t *data, uint16_t *len)
 获取单个 DID 数据
int sys_did_set (uint32_t did, const uint8_t *data, uint16_t len)
 设置单个 DID 数据并同步到 MCU
int sys_did_sets (const sys_did_item_t **items, uint8_t item_cnt)
 批量设置 DID 数据并同步到 MCU
int sys_set_work_status (bool active)
 设置应用工作状态(激活/去激活)
int sys_set_can_nm_status (bool active)
 设置 CAN NM 工作状态(激活/去激活)
int sys_time_set_ts (time_t unix_ts)
 通过 utc 时间戳设置系统时间
int sys_wakeup_system (void)
 唤醒系统
int sys_timer_add (const char *task_name, tbox_time_info_t *date_time, uint8_t *para_data, uint32_t para_len)
 添加定时任务
int sys_timer_get (char *task_name, tbox_time_info_t *date_time, uint8_t *para_data, uint32_t *para_len)
 获取定时任务信息
int sys_timer_delete (const char *task_name)
 删除定时任务
int sys_register_callback (sys_callback_t *p_callback)
 注册系统控制回调(唤醒/睡眠/时间校准)

Detailed Description

系统控制对外 API 接口

Version
1.0.0
Date
2026-07-03

Function Documentation

◆ sys_did_get()

int sys_did_get ( uint32_t did,
uint8_t * data,
uint16_t * len )

获取单个 DID 数据

Parameters
[in]didDID identifier
[out]dataoutput buffer
[in,out]leninput: buffer capacity; output: actual data length
Returns
int 0 on success, non-zero on failure

◆ sys_did_set()

int sys_did_set ( uint32_t did,
const uint8_t * data,
uint16_t len )

设置单个 DID 数据并同步到 MCU

Parameters
[in]didDID 标识
[in]dataDID 数据指针
[in]len数据长度
Returns
int 0 表示成功,其他表示失败

◆ sys_did_sets()

int sys_did_sets ( const sys_did_item_t ** items,
uint8_t item_cnt )

批量设置 DID 数据并同步到 MCU

Parameters
[in]itemsDID 设置项数组
[in]item_cnt设置项个数
Returns
int 0 表示成功,其他表示失败

◆ sys_register_callback()

int sys_register_callback ( sys_callback_t * p_callback)

注册系统控制回调(唤醒/睡眠/时间校准)

Parameters
[in]p_callback回调函数集合指针
Returns
int 0 表示成功,其他表示失败

◆ sys_set_can_nm_status()

int sys_set_can_nm_status ( bool active)

设置 CAN NM 工作状态(激活/去激活)

Parameters
[in]active工作状态
Returns
int 0 表示成功,其他表示失败

◆ sys_set_work_status()

int sys_set_work_status ( bool active)

设置应用工作状态(激活/去激活)

Parameters
[in]active工作状态
Returns
int 0 表示成功,其他表示失败

◆ sys_time_set_ts()

int sys_time_set_ts ( time_t unix_ts)

通过 utc 时间戳设置系统时间

Parameters
unix_tsUnix 时间戳
Returns
0 成功,其仕值失败

◆ sys_timer_add()

int sys_timer_add ( const char * task_name,
tbox_time_info_t * date_time,
uint8_t * para_data,
uint32_t para_len )

添加定时任务

Parameters
[in]task_name任务名称,为 NULL 时使用当前 DBus 连接名
[in]date_time触发时间,week_bit低7位为星期掩码(bit0=周日…bit6=周六),全零为绝对时间一次性任务,bit7=1为周期任务
[in]para_data任务参数数据,可为 NULL
[in]para_len参数数据长度
Returns
int 0 表示成功,其他表示失败

◆ sys_timer_delete()

int sys_timer_delete ( const char * task_name)

删除定时任务

Parameters
[in]task_name任务名称,为 NULL 时使用当前 DBus 连接名
Returns
int 0 表示成功,其他表示失败

◆ sys_timer_get()

int sys_timer_get ( char * task_name,
tbox_time_info_t * date_time,
uint8_t * para_data,
uint32_t * para_len )

获取定时任务信息

Parameters
[in]task_name任务名称
[out]date_time触发时间输出,可为 NULL
[out]para_data任务参数数据缓冲区,可为 NULL
[in,out]para_len入参:para_data 缓冲区大小;出参:实际参数长度。可为 NULL
Returns
int 0 表示成功,其他表示失败

◆ sys_wakeup_system()

int sys_wakeup_system ( void )

唤醒系统

Returns
int 0 表示成功,其他表示失败