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 'Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_light.h')
-rw-r--r--Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_light.h247
1 files changed, 199 insertions, 48 deletions
diff --git a/Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_light.h b/Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_light.h
index aaa600146..c5bb76ec0 100644
--- a/Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_light.h
+++ b/Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_light.h
@@ -6,7 +6,7 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
+ * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
* All rights reserved.</center></h2>
*
* This software component is licensed by ST under Ultimate Liberty license
@@ -54,6 +54,9 @@ typedef struct
MOBLEUINT16 PresentLightness16;
MOBLEUINT16 PresentTemperature16;
MOBLEINT16 PresentCtlDelta16;
+ MOBLEUINT16 TargetLightness16;
+ MOBLEUINT16 TargetTemperature16;
+ MOBLEINT16 TargetCtlDelta16;
}Appli_Light_CtlSet;
/* Light Ctl Temperature Range Set */
@@ -78,6 +81,9 @@ typedef struct
MOBLEUINT16 HslLightness16;
MOBLEUINT16 HslHueLightness16;
MOBLEUINT16 HslSaturation16;
+ MOBLEUINT16 TargetHslLightness16;
+ MOBLEUINT16 TargetHslHueLightness16;
+ MOBLEUINT16 TargetHslSaturation16;
}Appli_Light_HslSet;
/* Light Hsl Hue set */
@@ -117,80 +123,225 @@ typedef struct
/* Exported Functions Prototypes ---------------------------------------------*/
-MOBLE_RESULT Appli_Light_Lightness_Set(Light_LightnessStatus_t*, MOBLEUINT8 OptionalValid);
+MOBLE_RESULT Appli_Light_Lightness_Set(Light_LightnessStatus_t*,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
-MOBLE_RESULT Appli_Light_Lightness_Status(MOBLEUINT8 const *pLightness_status, MOBLEUINT32 pLength);
+MOBLE_RESULT Appli_Light_Lightness_Status(MOBLEUINT8 const *pLightness_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
MOBLE_RESULT Appli_Light_Lightness_Linear_Set(Light_LightnessStatus_t* pLight_LightnessLinearParam,
- MOBLEUINT8 OptionalValid);
-MOBLE_RESULT Appli_Light_Lightness_Linear_Status(MOBLEUINT8 const *pLightnessLinear_status, MOBLEUINT32 pLength);
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
-MOBLE_RESULT Appli_Light_Lightness_Default_Set(Light_LightnessDefaultParam_t* pLight_LightnessDefaultParam,
- MOBLEUINT8 OptionalValid);
-MOBLE_RESULT Appli_Light_Lightness_Default_Status(MOBLEUINT8 const *pLightnessDefault_status, MOBLEUINT32 pLength);
+MOBLE_RESULT Appli_Light_Lightness_Linear_Status(MOBLEUINT8 const *pLightnessLinear_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+MOBLE_RESULT Appli_Light_Lightness_Default_Set(Light_LightnessDefaultParam_t* pLight_LightnessDefaultParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_Lightness_Last_Status(MOBLEUINT8 const *pLightnessDefault_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_Lightness_Default_Status(MOBLEUINT8 const *pLightnessLast_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_Lightness_Last_Set(Light_LightnessStatus_t* pLight_LightnessParam,
+ MOBLEUINT8 elementIndex);
+
MOBLE_RESULT Appli_Light_Lightness_Range_Set(Light_LightnessRangeParam_t* pLight_LightnessRangeParam,
- MOBLEUINT8 OptionalValid);
-MOBLE_RESULT Appli_Light_Lightness_Range_Status(MOBLEUINT8 const *pLightnessRange_status, MOBLEUINT32 pLength);
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_Lightness_Range_Status(MOBLEUINT8 const *pLightnessRange_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
MOBLE_RESULT Appli_Light_Ctl_Set(Light_CtlStatus_t* pLight_CtlParam,
- MOBLEUINT8 OptionalValid);
-MOBLE_RESULT Appli_Light_Ctl_Status(MOBLEUINT8 const *pLightCtl_status, MOBLEUINT32 pLength);
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_Ctl_Status(MOBLEUINT8 const *pLightCtl_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
MOBLE_RESULT Appli_Light_CtlTemperature_Set(Light_CtlStatus_t* pLight_CtltempParam,
- MOBLEUINT8 OptionalValid);
-MOBLE_RESULT Appli_Light_CtlTemperature_Status(MOBLEUINT8 const *pLightCtlTemp_status, MOBLEUINT32 pLength);
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_CtlTemperature_Status(MOBLEUINT8 const *pLightCtlTemp_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
MOBLE_RESULT Appli_Light_CtlTemperature_Range_Set(Light_CtlTemperatureRangeParam_t* pLight_CtlTempRangeParam,
- MOBLEUINT8 OptionalValid);
-MOBLE_RESULT Appli_Light_CtlTemperature_Range_Status(MOBLEUINT8 const *pCtlTempRange_status, MOBLEUINT32 pLength);
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_CtlTemperature_Range_Status(MOBLEUINT8 const *pCtlTempRange_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
MOBLE_RESULT Appli_Light_CtlDefault_Set(Light_CtlDefaultParam_t* pLight_CtlDefaultParam,
- MOBLEUINT8 OptionalValid);
-MOBLE_RESULT Appli_Light_CtlDefault_Status(MOBLEUINT8 const *pCtlDefault_status, MOBLEUINT32 pLength);
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_CtlDefault_Status(MOBLEUINT8 const *pCtlDefault_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
MOBLE_RESULT Appli_Light_Hsl_Set(Light_HslStatus_t* pLight_HslParam,
- MOBLEUINT8 OptionalValid);
-MOBLE_RESULT Appli_Light_Hsl_Status(MOBLEUINT8 const *pHsl_status, MOBLEUINT32 pLength);
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_Hsl_Status(MOBLEUINT8 const *pHsl_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
MOBLE_RESULT Appli_Light_HslHue_Set(Light_HslStatus_t* pLight_HslHueParam,
- MOBLEUINT8 OptionalValid);
-MOBLE_RESULT Appli_Light_HslHue_Status(MOBLEUINT8 const *pHslHue_status, MOBLEUINT32 pLength);
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_HslHue_Status(MOBLEUINT8 const *pHslHue_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
MOBLE_RESULT Appli_Light_HslSaturation_Set(Light_HslStatus_t* pLight_HslSaturationParam,
- MOBLEUINT8 OptionalValid);
-MOBLE_RESULT Appli_Light_HslSaturation_Status(MOBLEUINT8 const *pHslSaturation_status, MOBLEUINT32 pLength);
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_HslSaturation_Status(MOBLEUINT8 const *pHslSaturation_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
MOBLE_RESULT Appli_Light_HslDefault_Set(Light_HslStatus_t* pLight_HslDefaultParam,
- MOBLEUINT8 OptionalValid);
-MOBLE_RESULT Appli_Light_HslDefault_Status(MOBLEUINT8 const *pHslDefault_status, MOBLEUINT32 pLength);
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_HslDefault_Status(MOBLEUINT8 const *pHslDefault_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
MOBLE_RESULT Appli_Light_HslRange_Set(Light_HslRangeParam_t* pLight_HslDefaultParam,
- MOBLEUINT8 OptionalValid);
-MOBLE_RESULT Appli_Light_HslRange_Status(MOBLEUINT8 const *pHslRange_status, MOBLEUINT32 pLength);
-
-MOBLE_RESULT Appli_Light_GetLightnessStatus(MOBLEUINT8* lLightnessState);
-MOBLE_RESULT Appli_Light_GetLightnessLinearStatus(MOBLEUINT8* lLightnessState);
-MOBLE_RESULT Appli_Light_GetLightnessDefaultStatus(MOBLEUINT8* lDefaultState);
-MOBLE_RESULT Appli_Light_GetLightnessLastStatus(MOBLEUINT8* lLastState);
-MOBLE_RESULT Appli_Light_GetLightnessRangeStatus(MOBLEUINT8* lRangeState);
-MOBLE_RESULT Appli_Light_GetCtlLightStatus(MOBLEUINT8* lCtlLightState);
-MOBLE_RESULT Appli_Light_GetCtlTemperatureStatus(MOBLEUINT8* lCtlTempState);
-MOBLE_RESULT Appli_Light_GetCtlTemperatureRange(MOBLEUINT8* lCtlTempRange);
-MOBLE_RESULT Appli_Light_GetCtlDefaultStatus(MOBLEUINT8* lCtlDefaultState);
-MOBLE_RESULT Appli_Light_GetHslStatus(MOBLEUINT8* lHslState);
-MOBLE_RESULT Appli_Light_GetHslHueStatus(MOBLEUINT8* lHslHueState);
-MOBLE_RESULT Appli_Light_GetHslSaturationStatus(MOBLEUINT8* lHslSaturationState);
-MOBLE_RESULT Appli_Light_GetHslHueRange(MOBLEUINT8* lHslHueRange);
-MOBLE_RESULT Appli_Light_GetHslSatRange(MOBLEUINT8* lHslSatRange);
-MOBLE_RESULT Appli_Light_GetHslDefaultStatus(MOBLEUINT8* lHslDefaultState);
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_HslRange_Status(MOBLEUINT8 const *pHslRange_status,
+ MOBLEUINT32 pLength,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetLightnessStatus(MOBLEUINT8* lLightnessState,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetLightnessLinearStatus(MOBLEUINT8* lLightnessState,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetLightnessDefaultStatus(MOBLEUINT8* lDefaultState,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetLightnessLastStatus(MOBLEUINT8* lLastState,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetLightnessRangeStatus(MOBLEUINT8* lRangeState,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetCtlLightStatus(MOBLEUINT8* lCtlLightState,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetCtlTargetStatus(MOBLEUINT8* lCtlLightState,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetCtlTemperatureStatus(MOBLEUINT8* lCtlTempState,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetCtlTemperatureRange(MOBLEUINT8* lCtlTempRange,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetCtlDefaultStatus(MOBLEUINT8* lCtlDefaultState,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetHslStatus(MOBLEUINT8* lHslState,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetHslTargetStatus(MOBLEUINT8* lHslState,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetHslHueStatus(MOBLEUINT8* lHslHueState,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetHslSaturationStatus(MOBLEUINT8* lHslSaturationState,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetHslHueRange(MOBLEUINT8* lHslHueRange,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetHslSatRange(MOBLEUINT8* lHslSatRange,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_GetHslDefaultStatus(MOBLEUINT8* lHslDefaultState,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
void Appli_Light_PwmInit(void);
-void HSL2RGB_Conversion(void);
+void HSL2RGB_Conversion(MOBLEUINT8 elementIndex);
void Ctl_LedOffState(void);
void Rgb_LedOffState(void);
-void RgbF_Create(MOBLEUINT16 value1, MOBLEUINT16 value2, MOBLEUINT16 value3);
-void Light_UpdateLedValue(MOBLEUINT8 state , Appli_LightPwmValue_t light_state);
+void RgbF_Create(MOBLEUINT16 value1,
+ MOBLEUINT16 value2,
+ MOBLEUINT16 value3,
+ MOBLEUINT8 elementIndex);
+void Light_UpdateLedValue(MOBLEUINT8 state,
+ Appli_LightPwmValue_t light_state);
+
+/******************************************************************************/
#endif /* __APPLI_LIGHT_H */
+/******************************************************************************/
-/******************* (C) COPYRIGHT 2019 STMicroelectronics *****END OF FILE****/
+/******************* (C) COPYRIGHT 2020 STMicroelectronics *****END OF FILE****/