Tange Cloud for Device
 Rev.362
载入中...
搜索中...
未找到
TgCloudCmd_sp.h
浏览该文件的文档.
1/** \file TgCloudCmd_sp.h
2 *
3 * 本文件包含特殊类型设备的命令和数据结构
4 */
5#pragma once
6
7#include "TgCloudCmd.h"
8#ifdef __cplusplus
9extern "C" {
10#endif
11
12
13/** @addtogroup p2pcmds
14 * @{*/
15
16/** @anchor pet_feeder */
17/** @name 喂食器
18 - DeviceType = PetFeeder
19 @{*/
20#define TCMD_FEEDER_GET_CONFIG 0x0500 ///< 查询配置. req: none; resp: Tcis_FeederConfig
21#define TCMD_FEEDER_SET_TIMERS 0x0502 ///< 设置喂食定时. req: Tcis_FeederTimers; resp: generic
22#define TCMD_FEEDER_GET_TIMERS 0x0504 ///< 获取喂食定时器设置. req: none; resp: Tcis_FeederTimers
23#define TCMD_FEEDER_FEED_FOOD 0x0506 ///< 手工喂食. req: Tcis_Feed; resp: generic
24
25/** 喂食器配置.
26 * TCMD_FEEDER_GET_CONFIG = 0x0500 \n
27 * 这个结构可能扩展. App 端要检查收到的数据包的长度
28 */
29typedef struct Tcis_FeederConfig {
30 int max_timers; ///< 支持的定时配置数
31 int max_servings; ///< 最大供食份数
32} __PACKED__ Tcis_FeederConfig;
33
34/** 喂食定时器 */
35typedef struct FEEDERTIMER {
36 CLOCKTIME clock; ///< 喂食时间
37 uint8_t state; ///< 0:禁止(或单次定时器已执行); 1:有效(调度中)
38 uint8_t repeat; ///< weekdays mask. bit0:Sunday; bit1-Monday; ...
39 uint16_t serving; ///< 食物份数
40} __PACKED__ FEEDERTIMER;
41
42/** 喂食定时设置.
43 * TCMD_FEEDER_SET_TIMERS = 0x0500
44 * TCMD_FEEDER_GET_TIMERS = 0x0502
45 */
46typedef struct Tcis_FeederTimers {
47 int nTimers;
48 FEEDERTIMER tiems[1];
49} __PACKED__ Tcis_FeederTimers;
50
51/** 手动喂食.
52 * TCMD_FEEDER_FEED_FOOD = 0x0506
53 */
54typedef struct Tcis_Feed {
55 int nServing; ///< 投喂份数
56 int reserved; ///< 0
57} __PACKED__ Tcis_Feed;
58
59/**@}*/ //喂食器
60
61/**@}*/ //end of addtogroup p2pcmds
62#ifdef __cplusplus
63} /* extern "C" */
64#endif
P2p Commands and Structures
时钟表示.
uint16_t serving
食物份数
CLOCKTIME clock
喂食时间
uint8_t state
0:禁止(或单次定时器已执行); 1:有效(调度中)
int nServing
投喂份数
int max_timers
支持的定时配置数
int max_servings
最大供食份数
uint8_t repeat
weekdays mask. bit0:Sunday; bit1-Monday; ...
喂食定时器
手动喂食.
喂食定时设置.