- 添加CDC_PROTO_TYPE_LED_STATE、CDC_PROTO_TYPE_TIME_SYNC和 CDC_PROTO_TYPE_THEME_RGB协议类型定义 - 在protobuf中定义LedState、TimeSync和ThemeRgb消息结构 - 更新CdcPacketBody消息以包含新的协议类型 - 增加协议能力标志位以支持新功能
42 lines
1.3 KiB
C
42 lines
1.3 KiB
C
#include "time_sync_event.h"
|
|
|
|
static void log_time_sync_event(const struct app_event_header *aeh)
|
|
{
|
|
const struct time_sync_event *event = cast_time_sync_event(aeh);
|
|
|
|
APP_EVENT_MANAGER_LOG(aeh,
|
|
"ver:%u flags:0x%08x tz:%d utc_ms:%llu acc:%u",
|
|
event->version,
|
|
event->flags,
|
|
event->timezone_min,
|
|
event->utc_ms,
|
|
event->accuracy_ms);
|
|
}
|
|
|
|
static void profile_time_sync_event(struct log_event_buf *buf,
|
|
const struct app_event_header *aeh)
|
|
{
|
|
const struct time_sync_event *event = cast_time_sync_event(aeh);
|
|
|
|
nrf_profiler_log_encode_uint32(buf, event->version);
|
|
nrf_profiler_log_encode_uint32(buf, event->flags);
|
|
nrf_profiler_log_encode_int32(buf, event->timezone_min);
|
|
nrf_profiler_log_encode_uint32(buf, (uint32_t)(event->utc_ms & 0xFFFFFFFFULL));
|
|
nrf_profiler_log_encode_uint32(buf, event->accuracy_ms);
|
|
}
|
|
|
|
APP_EVENT_INFO_DEFINE(time_sync_event,
|
|
ENCODE(NRF_PROFILER_ARG_U32,
|
|
NRF_PROFILER_ARG_U32,
|
|
NRF_PROFILER_ARG_S32,
|
|
NRF_PROFILER_ARG_U32,
|
|
NRF_PROFILER_ARG_U32),
|
|
ENCODE("version", "flags", "timezone_min", "utc_ms_lo", "accuracy_ms"),
|
|
profile_time_sync_event);
|
|
|
|
APP_EVENT_TYPE_DEFINE(time_sync_event,
|
|
log_time_sync_event,
|
|
&time_sync_event_info,
|
|
APP_EVENT_FLAGS_CREATE(
|
|
APP_EVENT_TYPE_FLAGS_INIT_LOG_ENABLE));
|