mirror of
https://gitee.com/dlmu-cone/bf_original_balance_chassis
synced 2026-07-24 19:47:44 +08:00
修复PID堵转检测错误,修复LK电机位置环计算错误,更新文档,修改了消息中心的命名(不影响app层)
This commit is contained in:
@@ -15,8 +15,8 @@
|
||||
|
||||
#include "stdint.h"
|
||||
|
||||
#define MAX_EVENT_NAME_LEN 32 // 最大的事件名长度,每个事件都有字符串来命名
|
||||
#define MAX_EVENT_COUNT 12 // 最多支持的事件数量
|
||||
#define MAX_TOPIC_NAME_LEN 32 // 最大的话题名长度,每个话题都有字符串来命名
|
||||
#define MAX_TOPIC_COUNT 12 // 最多支持的话题数量
|
||||
#define QUEUE_SIZE 1
|
||||
|
||||
typedef struct mqt
|
||||
@@ -28,30 +28,30 @@ typedef struct mqt
|
||||
uint8_t back_idx;
|
||||
uint8_t temp_size; // 当前队列长度
|
||||
|
||||
/* 指向下一个订阅了相同的事件的订阅者的指针 */
|
||||
struct mqt *next_subs_queue; // 使得发布者可以通过链表访问所有订阅了相同事件的订阅者
|
||||
/* 指向下一个订阅了相同的话题的订阅者的指针 */
|
||||
struct mqt *next_subs_queue; // 使得发布者可以通过链表访问所有订阅了相同话题的订阅者
|
||||
} Subscriber_t;
|
||||
|
||||
/**
|
||||
* @brief 发布者类型.每个发布者拥有发布者实例,并且可以通过链表访问所有订阅了自己发布的事件的订阅者
|
||||
* @brief 发布者类型.每个发布者拥有发布者实例,并且可以通过链表访问所有订阅了自己发布的话题的订阅者
|
||||
*
|
||||
*/
|
||||
typedef struct ent
|
||||
{
|
||||
/* 事件名称 */
|
||||
char event_name[MAX_EVENT_NAME_LEN + 1]; // 1个字节用于存放字符串结束符 '\0'
|
||||
uint8_t data_len; // 该事件的数据长度
|
||||
/* 指向第一个订阅了该事件的订阅者,通过链表访问所有订阅者 */
|
||||
/* 话题名称 */
|
||||
char topic_name[MAX_TOPIC_NAME_LEN + 1]; // 1个字节用于存放字符串结束符 '\0'
|
||||
uint8_t data_len; // 该话题的数据长度
|
||||
/* 指向第一个订阅了该话题的订阅者,通过链表访问所有订阅者 */
|
||||
Subscriber_t *first_subs;
|
||||
/* 指向下一个Publisher的指针 */
|
||||
struct ent *next_event_node;
|
||||
struct ent *next_topic_node;
|
||||
uint8_t pub_registered_flag; // 用于标记该发布者是否已经注册
|
||||
} Publisher_t;
|
||||
|
||||
/**
|
||||
* @brief 订阅name的事件消息
|
||||
* @brief 订阅name的话题消息
|
||||
*
|
||||
* @param name 事件名称
|
||||
* @param name 话题名称
|
||||
* @param data_len 消息长度,通过sizeof()获取
|
||||
* @return Subscriber_t* 返回订阅者实例
|
||||
*/
|
||||
@@ -60,7 +60,7 @@ Subscriber_t *SubRegister(char *name, uint8_t data_len);
|
||||
/**
|
||||
* @brief 注册成为消息发布者
|
||||
*
|
||||
* @param name 发布者发布的话题名称(事件)
|
||||
* @param name 发布者发布的话题名称(话题)
|
||||
* @return Publisher_t* 返回发布者实例
|
||||
*/
|
||||
Publisher_t *PubRegister(char *name, uint8_t data_len);
|
||||
@@ -75,7 +75,7 @@ Publisher_t *PubRegister(char *name, uint8_t data_len);
|
||||
uint8_t SubGetMessage(Subscriber_t *sub, void *data_ptr);
|
||||
|
||||
/**
|
||||
* @brief 发布者给所有订阅了事件的订阅者推送消息
|
||||
* @brief 发布者给所有订阅了话题的订阅者推送消息
|
||||
*
|
||||
* @param pub 发布者实例指针
|
||||
* @param data_ptr 指向要发布的数据的指针
|
||||
|
||||
Reference in New Issue
Block a user