Welcome to mirror list, hosted at ThFree Co, Russian Federation.

appli_generic.h « app « STM32_WPAN « BLE_MeshLightingPRFNode « BLE « Applications « NUCLEO-WB15CC « Projects - github.com/Flipper-Zero/STM32CubeWB.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 755e95db5a47fe5ccb70da26fdd15cfeab591392 (plain)
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
158
/* USER CODE BEGIN Header */
/**
  ******************************************************************************
  * @file    appli_generic.h
  * @author  MCD Application Team
  * @brief   Application interface for Generic Mesh Models  
  ******************************************************************************
  * @attention
  *
  * Copyright (c) 2021 STMicroelectronics.
  * All rights reserved.
  *
  * This software is licensed under terms that can be found in the LICENSE file
  * in the root directory of this software component.
  * If no LICENSE file comes with this software, it is provided AS-IS.
  *
  ******************************************************************************
  */
/* USER CODE END Header */

/* 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(push, 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(pop)

/* 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);
 


#endif /* __APPLI_GENERIC_H */