#ifndef ATTR_BROADCAST_H #define ATTR_BROADCAST_H #include "cm_os.h" #include "nmea/nmea.h" // 版本类型定义 #define VERSION_TYPE_ATTRACTION 0 #define VERSION_TYPE_FENCE 1 // 操作类型定义 #define VERSION_OP_GET 0 #define VERSION_OP_SET 1 // 景点信息 typedef struct { double longitude; // 经度 double latitude; // 纬度 char name[50]; // 景点名称 char description[200]; // 景点描述 } Attraction; //位置信息 typedef struct { double longitude; double latitude; } Location; extern const char *park_desc[]; // 统一的版本号管理接口 // op: 操作类型 (VERSION_OP_GET 或 VERSION_OP_SET) 0:获取版本号 1:写入版本号 // type: 版本类型 (VERSION_TYPE_ATTRACTION 或 VERSION_TYPE_FENCE) 0:景区版本号 1:电子围栏版本号 // version: 用于设置或返回版本号的指针 int attr_broadcast_manage_version(uint8_t op, uint8_t type, uint32_t* version); //多文字tts,景区播报专用 void safe_tts_play(const char* segments[], int count); // 初始化景点播报系统 void attr_broadcast_init(void); // 添加景点 void attr_broadcast_add_attraction(uint32_t region_id, double lon, double lat, double radius, // 新增半径参数 const char* name, const char* desc); // 新增触发距离参数 // 根据区域ID删除景点 void attr_broadcast_remove_attraction_by_id(uint32_t region_id); // 停止景点播报任务 void attr_broadcast_stop(void); // 删除所有景点 void attr_broadcast_remove_all(void); // 设置播报距离阈值 (米) void attr_broadcast_set_distance_threshold(double threshold); #endif /* ATTR_BROADCAST_H */