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

github.com/Flipper-Zero/STM32CubeWB.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Inc/light_client.h')
-rw-r--r--Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Inc/light_client.h256
1 files changed, 234 insertions, 22 deletions
diff --git a/Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Inc/light_client.h b/Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Inc/light_client.h
index d9282d3b3..544c111dd 100644
--- a/Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Inc/light_client.h
+++ b/Middlewares/ST/STM32_WPAN/ble/mesh/MeshModel/Inc/light_client.h
@@ -27,12 +27,15 @@
/* Exported macro ------------------------------------------------------------*/
+#define LIGHT_LIGHTNESS_CLIENT_MODEL_ID 0x1302
/* Variable ------------------------------------------------------------------*/
#pragma pack(1)
typedef union {
Light_LightnessParam_t sLight_LightnessParam;
MOBLEUINT8 a_Lightness_param[sizeof(Light_LightnessParam_t)];
} _Light_LightnessParam;
+
+
/******************************************************************************/
/********** Following Section defines the Opcodes for the Messages ************/
/******************************************************************************/
@@ -40,31 +43,240 @@ typedef union {
/* Exported Functions Prototypes ---------------------------------------------*/
MOBLE_RESULT LightModelClient_GetOpcodeTableCb(const MODEL_OpcodeTableParam_t **data,
- MOBLEUINT16 *length);
-
-MOBLE_RESULT LightModelClient_GetStatusRequestCb(MOBLE_ADDRESS peer_addr,
- MOBLE_ADDRESS dst_peer,
- MOBLEUINT16 opcode,
- MOBLEUINT8 *pResponsedata,
- MOBLEUINT32 *plength,
- MOBLEUINT8 const *pRxData,
- MOBLEUINT32 dataLength,
- MOBLEBOOL response);
-
-MOBLE_RESULT LightModelClient_ProcessMessageCb(MOBLE_ADDRESS peer_addr,
- MOBLE_ADDRESS dst_peer,
+ MOBLEUINT16 *length);
+
+MOBLE_RESULT LightModelClient_GetStatusRequestCb(MODEL_MessageHeader_t* pmsgParam,
MOBLEUINT16 opcode,
- MOBLEUINT8 const *pRxData,
- MOBLEUINT32 dataLength,
- MOBLEBOOL response
- );
+ MOBLEUINT8 *pResponsedata,
+ MOBLEUINT32 *plength,
+ MOBLEUINT8 const *pRxData,
+ MOBLEUINT32 dataLength,
+ MOBLEBOOL response);
+
+MOBLE_RESULT LightModelClient_ProcessMessageCb(MODEL_MessageHeader_t* pmsgParam,
+ MOBLEUINT16 opcode,
+ MOBLEUINT8 const *pRxData,
+ MOBLEUINT32 dataLength,
+ MOBLEBOOL response);
+
+MOBLE_RESULT LightClient_Lightness_Get(MOBLEUINT8 elementIndex);
+MOBLE_RESULT LightClient_Lightness_Set_Ack(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 *pLightness_param,
+ MOBLEUINT32 length);
+MOBLE_RESULT LightClient_Lightness_Set_Unack(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 *pLightness_param,
+ MOBLEUINT32 length);
+
+MOBLE_RESULT LightClient_Lightness_Linear_Get(MOBLEUINT8 elementIndex);
+MOBLE_RESULT LightClient_Lightness_Linear_Set_Ack(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 *pLightnessLinear_param,
+ MOBLEUINT32 length);
+MOBLE_RESULT LightClient_Lightness_Linear_Set_Unack(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 *pLightnessLinear_param,
+ MOBLEUINT32 length);
+
+MOBLE_RESULT LightClient_Lightness_Default_Get(MOBLEUINT8 elementIndex);
+MOBLE_RESULT LightClient_Lightness_Default_Set_Ack(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 *pLightnessDefault_param,
+ MOBLEUINT32 length);
+MOBLE_RESULT LightClient_Lightness_Default_Set_Unack(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 *pLightnessDefault_param,
+ MOBLEUINT32 length);
+
+MOBLE_RESULT LightClient_Lightness_Range_Get(MOBLEUINT8 elementIndex);
+MOBLE_RESULT LightClient_Lightness_Range_Set_Ack(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 *pLightnessRange_param,
+ MOBLEUINT32 length);
+MOBLE_RESULT LightClient_Lightness_Range_Set_Unack(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 *pLightnessRange_param,
+ MOBLEUINT32 length);
+
+MOBLE_RESULT LightClient_Ctl_Get(MOBLEUINT8 elementIndex);
+MOBLE_RESULT LightClient_Ctl_Set_Ack(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 *pLightCtl_param,
+ MOBLEUINT32 length);
+MOBLE_RESULT LightClient_Ctl_Set_Unack(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 *pLightCtl_param,
+ MOBLEUINT32 length);
+
+MOBLE_RESULT LightClient_Ctl_Temperature_Get(MOBLEUINT8 elementIndex);
+MOBLE_RESULT LightClient_Ctl_Temperature_Set_Ack(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 *pLightCtlTemperature_param,
+ MOBLEUINT32 length);
+MOBLE_RESULT LightClient_Ctl_Temperature_Set_Unack(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 *pLightCtlTemperature_param,
+ MOBLEUINT32 length);
+
+MOBLE_RESULT LightClient_Ctl_Temperature_Range_Get(MOBLEUINT8 elementIndex);
+MOBLE_RESULT LightClient_Ctl_Temperature_Range_Set_Ack(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 *pLightCtlTemperatureRange_param,
+ MOBLEUINT32 length);
+MOBLE_RESULT LightClient_Ctl_Temperature_Range_Set_Unack(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 *pLightCtlTemperatureRange_param,
+ MOBLEUINT32 length);
+
+MOBLE_RESULT LightClient_Ctl_Default_Get(MOBLEUINT8 elementIndex);
+MOBLE_RESULT LightClient_Ctl_Default_Set_Ack(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 *pLightCtlDefault_param,
+ MOBLEUINT32 length);
+MOBLE_RESULT LightClient_Ctl_Default_Set_Unack(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 *pLightCtlDefault_param,
+ MOBLEUINT32 length);
+
+MOBLE_RESULT LightClient_Hsl_Get(MOBLEUINT8 elementIndex) ;
+MOBLE_RESULT LightClient_Hsl_Set_Ack(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 *pLightHsl_param,
+ MOBLEUINT32 length);
+
+MOBLE_RESULT LightClient_Hsl_Set_Unack(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 *pLightHsl_param,
+ MOBLEUINT32 length);
+
+MOBLE_RESULT LightClient_Hsl_Default_Get(MOBLEUINT8 elementIndex);
+MOBLE_RESULT LightClient_Hsl_Default_Set_Ack(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 *pLightHslDefault_param,
+ MOBLEUINT32 length);
+MOBLE_RESULT LightClient_Hsl_Default_Set_Unack(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 *pLightHslDefault_param,
+ MOBLEUINT32 length);
+
+MOBLE_RESULT LightClient_Hsl_Range_Get(MOBLEUINT8 elementIndex);
+MOBLE_RESULT LightClient_Hsl_Range_Set_Ack(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 *pLightHslRange_param,
+ MOBLEUINT32 length);
+MOBLE_RESULT LightClient_Hsl_Range_Set_Unack(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 *pLightHslRange_param,
+ MOBLEUINT32 length);
+
+MOBLE_RESULT LightClient_Hsl_Hue_Get(MOBLEUINT8 elementIndex);
+MOBLE_RESULT LightClient_Hsl_Hue_Set_Ack(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 *pLightHslHue_param,
+ MOBLEUINT32 length);
+MOBLE_RESULT LightClient_Hsl_Hue_Set_Unack(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 *pLightHslHue_param,
+ MOBLEUINT32 length);
+
+MOBLE_RESULT LightClient_Hsl_Saturation_Get(MOBLEUINT8 elementIndex);
+MOBLE_RESULT LightClient_Hsl_Saturation_Set_Ack(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 *pLightHslSaturation_param,
+ MOBLEUINT32 length);
+MOBLE_RESULT LightClient_Hsl_Saturation_Set_Unack(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 *pLightHslSaturation_param,
+ MOBLEUINT32 length);
+
+#ifdef ENABLE_LIGHT_MODEL_CLIENT_LC
+MOBLE_RESULT LightClient_LC_Mode_Get(MOBLEUINT8 elementIndex);
+MOBLE_RESULT LightClient_LC_Mode_Set_Ack(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 *pLightLCMode_param,
+ MOBLEUINT32 length);
+MOBLE_RESULT LightClient_LC_Mode_Set_Unack(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 *pLightLCMode_param,
+ MOBLEUINT32 length);
+
+MOBLE_RESULT LightClient_LC_OM_Get(MOBLEUINT8 elementIndex);
+MOBLE_RESULT LightClient_LC_OM_Set_Ack(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 *pLightLCOccupancyMode_param,
+ MOBLEUINT32 length);
+MOBLE_RESULT LightClient_LC_OM_Set_Unack(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 *pLightLCOccupancyMode_param,
+ MOBLEUINT32 length);
+
+MOBLE_RESULT LightClient_LC_OnOff_Get(MOBLEUINT8 elementIndex);
+MOBLE_RESULT LightClient_LC_OnOff_Set_Ack(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 *pLightLCOnOff_param,
+ MOBLEUINT32 length);
+MOBLE_RESULT LightClient_LC_OnOff_Set_Unack(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 *pLightLCOnOff_param,
+ MOBLEUINT32 length);
+
+MOBLE_RESULT LightClient_LC_Property_Get(MOBLEUINT8 elementIndex, MOBLEUINT8 *pPropertyID);
+MOBLE_RESULT LightClient_LC_Property_Set_Ack(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 *pLightLCProperty_param,
+ MOBLEUINT32 length);
+MOBLE_RESULT LightClient_LC_Property_Set_Unack(MOBLEUINT8 elementIndex,
+ MOBLEUINT8 *pLightLCProperty_param,
+ MOBLEUINT32 length);
+#endif /* #ifdef ENABLE_LIGHT_MODEL_CLIENT_LC */
-MOBLE_RESULT LightClient_Lightness_Set_Unack(MOBLE_ADDRESS element_number,
- _Light_LightnessParam *pLightness_param,
- MOBLEUINT32 length);
-MOBLE_RESULT Light_Client_Lightness_Status(MOBLEUINT8 const *pLightness_status, MOBLEUINT32 plength);
+// Status
+MOBLE_RESULT Light_Client_Lightness_Status(MOBLEUINT8 const *pLightness_status,
+ MOBLEUINT32 plength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT Light_Client_Lightness_Linear_Status(MOBLEUINT8 const *pLightnessLinear_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT Light_Client_Lightness_Last_Status(MOBLEUINT8 const *pLightnessLast_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT Light_Client_Lightness_Default_Status(MOBLEUINT8 const *pLightnessDefault_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT Light_Client_Lightness_Range_Status(MOBLEUINT8 const *pLightnessRange_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT Light_Client_Ctl_Status(MOBLEUINT8 const *pLightCtl_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT Light_Client_CtlTemperature_Range_Status(MOBLEUINT8 const *pCtlTempRange_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT Light_Client_CtlDefault_Status(MOBLEUINT8 const *pCtlDefault_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT Light_Client_CtlTemperature_Status(MOBLEUINT8 const *pLightCtlTemp_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT Light_Client_Hsl_Status(MOBLEUINT8 const *pHsl_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT Light_Client_HslDefault_Status(MOBLEUINT8 const *pHslDefault_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT Light_Client_HslRange_Status(MOBLEUINT8 const *pHslRange_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT Light_Client_HslTarget_Status(MOBLEUINT8 const *pHslTarget_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT Light_Client_HslHue_Status(MOBLEUINT8 const *pHslHue_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT Light_Client_HslSaturation_Status(MOBLEUINT8 const *pHslSaturation_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT LightLC_Client_Mode_Status(MOBLEUINT8 const *pLCMode_status,
+ MOBLEUINT32 plength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT LightLC_Client_OM_Status(MOBLEUINT8 const *pLCOccupancyMode_status,
+ MOBLEUINT32 plength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT LightLC_Client_OnOff_Status(MOBLEUINT8 const *pLCOnOff_status,
+ MOBLEUINT32 plength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT LightLC_Client_Property_Status(MOBLEUINT8 const *pLCProperty_status,
+ MOBLEUINT32 plength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
#endif /* __LIGHT_CLIENT_H */
-/******************* (C) COPYRIGHT 2017 STMicroelectronics *****END OF FILE****/
+/******************* (C) COPYRIGHT 2020 STMicroelectronics *****END OF FILE****/