1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
|
/**
******************************************************************************
* @file appli_generic.h
* @author BLE Mesh Team
* @brief Application interface for Generic Mesh Models
******************************************************************************
* @attention
*
* <h2><center>© Copyright (c) 2020 STMicroelectronics.
* All rights reserved.</center></h2>
*
* This software component is licensed by ST under Ultimate Liberty license
* SLA0044, the "License"; You may not use this file except in compliance with
* the License. You may obtain a copy of the License at:
* www.st.com/SLA0044
*
******************************************************************************
*/
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __APPLI_GENERIC_H
#define __APPLI_GENERIC_H
/* Includes ------------------------------------------------------------------*/
#include "types.h"
#include "generic.h"
#include "mesh_cfg.h"
/* Exported macro ------------------------------------------------------------*/
/* user configuration for Battery status */
#define BATTERY_ABSENT 0X00
#define BATTERY_PRESENT_REMOVABLE 0X01
#define BATTERY_PRESENT_NON_REMOVABLE 0X02
#define BATTERY_UNKNOWN 0X03
#define BATTERY_CRITICAL_LOW_LEVEL 0X00
#define BATTERY_LOW_LEVEL 0X01
#define BATTERY_GOOD_LEVEL 0X02
#define BATTERY_LEVEL_UNKNOWN 0X03
#define BATTERY_NOT_CHARGEABLE 0X00
#define BATTERY_NOT_CHARGING 0X01
#define BATTERY_IS_CHARGING 0X02
#define BATTERY_CHARGING_UNKNOWN 0X03
#define BATTERY_SERVICE_RFU 0X00
#define BATTERY_REQUIRE_NO_SERVICE 0X01
#define BATTERY_REQUIRE_SERVICE 0X02
#define BATTERY_SERVICE_UNKNOWN 0X03
/* Exported variables ------------------------------------------------------- */
/* Application Variable-------------------------------------------------------*/
#pragma pack(1)
typedef struct
{
MOBLEUINT8 Present_OnOff;
MOBLEUINT16 Present_OnOffValue;
MOBLEUINT16 TargetValue;
}Appli_Generic_OnOffSet;
typedef struct
{
MOBLEINT16 Present_Level16;
MOBLEINT16 Target_Level16;
MOBLEUINT8 RemainingTime;
MOBLEUINT8 Last_Level_TID;
MOBLEINT16 Last_Present_Level16;
MOBLEINT32 Last_delta_level;
}Appli_Generic_LevelSet;
typedef struct
{
MOBLEINT16 PowerOnState;
}Appli_Generic_PowerOnOffSet;
typedef struct
{
MOBLEUINT8 DefaultTransitionTime;
}Appli_Generic_DefaultTransitionSet;
typedef struct
{
MOBLEUINT8 Is_BatteryPresent;
MOBLEUINT8 Is_Chargeable;
MOBLEUINT8 Is_Serviceable;
}Appli_BatteryUserflag_param_t;
#pragma pack(4)
/* Exported Functions Prototypes ---------------------------------------------*/
MOBLE_RESULT Appli_Generic_OnOff_Set(Generic_OnOffStatus_t*,
MOBLEUINT8,
MOBLEUINT16 dstPeer,
MOBLEUINT8 elementIndex);
MOBLE_RESULT Appli_Generic_OnOff_Status(MOBLEUINT8 const *pOnOff_status,
MOBLEUINT32 plength,
MOBLEUINT16 dstPeer,
MOBLEUINT8 elementIndex);
MOBLE_RESULT Appli_Generic_Level_Set(Generic_LevelStatus_t*,
MOBLEUINT8,
MOBLEUINT16 dstPeer,
MOBLEUINT8 elementIndex);
MOBLE_RESULT Appli_Generic_Delta_Set(Generic_LevelStatus_t*,
MOBLEUINT8,
MOBLEUINT16 dstPeer,
MOBLEUINT8 elementIndex);
MOBLE_RESULT Appli_Generic_Move_Set(Generic_LevelStatus_t* pdeltaMoveParam,
MOBLEUINT8 OptionalValid,
MOBLEUINT16 dstPeer,
MOBLEUINT8 elementIndex);
MOBLE_RESULT Appli_Generic_Level_Status(MOBLEUINT8 const *plevel_status,
MOBLEUINT32 plength,
MOBLEUINT16 dstPeer,
MOBLEUINT8 elementIndex);
MOBLE_RESULT Appli_Generic_PowerOnOff_Set(Generic_PowerOnOffParam_t* pPowerOnOffParam,
MOBLEUINT8 OptionalValid,
MOBLEUINT16 dstPeer,
MOBLEUINT8 elementIndex);
MOBLE_RESULT Appli_Generic_PowerOnOff_Status(MOBLEUINT8 const *powerOnOff_status ,
MOBLEUINT32 plength,
MOBLEUINT16 dstPeer,
MOBLEUINT8 elementIndex);
MOBLE_RESULT Appli_Generic_DefaultTransitionTime_Set(Generic_DefaultTransitionParam_t* pDefaultTimeParam,
MOBLEUINT8 OptionalValid,
MOBLEUINT16 dstPeer,
MOBLEUINT8 elementIndex);
MOBLE_RESULT Appli_Generic_DefaultTransitionTime_Status(MOBLEUINT8 const *pTransition_status ,
MOBLEUINT32 plength,
MOBLEUINT16 dstPeer,
MOBLEUINT8 elementIndex);
MOBLE_RESULT Appli_Generic_GetOnOffStatus(MOBLEUINT8* pOnOff_Status,
MOBLEUINT16 dstPeer,
MOBLEUINT8 elementIndex);
MOBLE_RESULT Appli_Generic_GetOnOffValue(MOBLEUINT8* pOnOff_Value,
MOBLEUINT16 dstPeer,
MOBLEUINT8 elementIndex);
MOBLE_RESULT Appli_Generic_GetLevelStatus(MOBLEUINT8* pLevel_Status,
MOBLEUINT16 dstPeer,
MOBLEUINT8 elementIndex);
MOBLE_RESULT Appli_Generic_GetPowerOnOffStatus(MOBLEUINT8* pLevel_Status,
MOBLEUINT16 dstPeer,
MOBLEUINT8 elementIndex);
void Appli_Generic_Restore_PowerOn_Value(MOBLEUINT8 restoreValue,
MOBLEUINT16 dstPeer,
MOBLEUINT8 elementIndex);
MOBLE_RESULT Appli_Generic_GetDefaultTransitionStatus(MOBLEUINT8* pTransition_Status,
MOBLEUINT16 dstPeer,
MOBLEUINT8 elementIndex);
MOBLE_RESULT Appli_Generic_OnOff_Status(MOBLEUINT8 const *pOnOff_status,
MOBLEUINT32 plength,
MOBLEUINT16 dstPeer,
MOBLEUINT8 elementIndex);
#endif /* __APPLI_GENERIC_H */
/******************* (C) COPYRIGHT 2020 STMicroelectronics *****END OF FILE****/
|