2025-07-03 15:12:57 +08:00
|
|
|
|
#ifndef ATTR_BROADCAST_H
|
|
|
|
|
|
#define ATTR_BROADCAST_H
|
|
|
|
|
|
#include "cm_os.h"
|
|
|
|
|
|
#include "nmea/nmea.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-07-10 10:01:23 +08:00
|
|
|
|
|
2025-07-03 15:12:57 +08:00
|
|
|
|
// 景点信息
|
|
|
|
|
|
typedef struct {
|
|
|
|
|
|
double longitude; // 经度
|
|
|
|
|
|
double latitude; // 纬度
|
|
|
|
|
|
char name[50]; // 景点名称
|
|
|
|
|
|
char description[200]; // 景点描述
|
|
|
|
|
|
} Attraction;
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-07-10 10:01:23 +08:00
|
|
|
|
//位置信息
|
|
|
|
|
|
typedef struct {
|
|
|
|
|
|
double longitude;
|
|
|
|
|
|
double latitude;
|
|
|
|
|
|
} Location;
|
|
|
|
|
|
|
|
|
|
|
|
extern const char *park_desc[];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//多文字tts,景区播报专用
|
|
|
|
|
|
void safe_tts_play(const char* segments[], int count);
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-07-03 15:12:57 +08:00
|
|
|
|
// 初始化景点播报系统
|
|
|
|
|
|
void attr_broadcast_init(void);
|
|
|
|
|
|
|
|
|
|
|
|
// 添加景点
|
2025-07-16 13:31:57 +08:00
|
|
|
|
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);
|
|
|
|
|
|
|
2025-07-03 15:12:57 +08:00
|
|
|
|
// 停止景点播报任务
|
|
|
|
|
|
void attr_broadcast_stop(void);
|
|
|
|
|
|
|
2025-07-16 13:31:57 +08:00
|
|
|
|
// 删除所有景点
|
|
|
|
|
|
void attr_broadcast_remove_all(void);
|
|
|
|
|
|
|
2025-07-03 15:12:57 +08:00
|
|
|
|
// 设置播报距离阈值 (米)
|
|
|
|
|
|
void attr_broadcast_set_distance_threshold(double threshold);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif /* ATTR_BROADCAST_H */
|