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.h196
1 files changed, 196 insertions, 0 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
new file mode 100644
index 000000000..aaa600146
--- /dev/null
+++ b/Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE/BLE_MeshLightingPRFNode/STM32_WPAN/app/appli_light.h
@@ -0,0 +1,196 @@
+/**
+ ******************************************************************************
+ * @file appli_light.h
+ * @author BLE Mesh Team
+ * @brief Application interface for Light Mesh Model
+ ******************************************************************************
+ * @attention
+ *
+ * <h2><center>&copy; Copyright (c) 2019 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_LIGHT_H
+#define __APPLI_LIGHT_H
+
+/* Includes ------------------------------------------------------------------*/
+#include "types.h"
+#include "light.h"
+
+/* Exported macro ------------------------------------------------------------*/
+#define HUE_UPPER_LIMIT 360
+/* Exported variables -------------------------------------------------------*/
+
+/* Light Lightness set */
+#pragma pack(1)
+typedef struct
+{
+ MOBLEUINT16 PresentState16;
+ MOBLEUINT16 LastLightness16;
+ MOBLEUINT16 LightnessDefault;
+ MOBLEUINT8 StatusCode;
+ MOBLEUINT16 RangeMin;
+ MOBLEUINT16 RangeMax;
+}Appli_Light_lightnessSet;
+
+
+/* Light Lightness Linear set */
+typedef struct
+{
+ MOBLEUINT16 PresentState16;
+}Appli_Light_lightnessLinearSet;
+
+/* Light Ctl Set */
+typedef struct
+{
+ MOBLEUINT16 PresentLightness16;
+ MOBLEUINT16 PresentTemperature16;
+ MOBLEINT16 PresentCtlDelta16;
+}Appli_Light_CtlSet;
+
+/* Light Ctl Temperature Range Set */
+typedef struct
+{
+ MOBLEUINT8 StatusCode;
+ MOBLEUINT16 RangeMin;
+ MOBLEUINT16 RangeMax;
+}Appli_Light_CtlTemperatureRangeSet;
+
+/* Light Ctl Default set */
+typedef struct
+{
+ MOBLEUINT16 CtlDefaultLightness16;
+ MOBLEUINT16 CtlDefaultTemperature16;
+ MOBLEINT16 CtlDefaultDeltaUv;
+}Appli_Light_CtlDefaultSet;
+
+/* Light Hsl Hue set */
+typedef struct
+{
+ MOBLEUINT16 HslLightness16;
+ MOBLEUINT16 HslHueLightness16;
+ MOBLEUINT16 HslSaturation16;
+}Appli_Light_HslSet;
+
+/* Light Hsl Hue set */
+typedef struct
+{
+ MOBLEUINT16 HslDefaultLightness16;
+ MOBLEUINT16 HslDefaultHueLightness16;
+ MOBLEUINT16 HslDefaultSaturation16;
+}Appli_Light_HslDefaultSet;
+
+typedef struct
+{
+ MOBLEUINT16 Red_Value;
+ MOBLEUINT16 Green_Value;
+ MOBLEUINT16 Blue_Value;
+}Appli_Light_RGBSet;
+
+typedef struct
+{
+ MOBLEUINT8 StatusCode;
+ MOBLEUINT16 HslHueMinRange16;
+ MOBLEUINT16 HslHueMaxRange16;
+ MOBLEUINT16 HslMinSaturation16;
+ MOBLEUINT16 HslMaxSaturation16;
+}Appli_Light_HslRangeSet;
+
+typedef struct
+{
+ MOBLEUINT16 IntensityValue;
+ MOBLEUINT16 PwmRedValue;
+ MOBLEUINT16 PwmGreenValue;
+ MOBLEUINT16 PwmBlueValue;
+ MOBLEUINT16 PwmWarmValue;
+ MOBLEUINT16 PwmCoolValue;
+}Appli_LightPwmValue_t;
+#pragma pack(4)
+
+/* Exported Functions Prototypes ---------------------------------------------*/
+
+MOBLE_RESULT Appli_Light_Lightness_Set(Light_LightnessStatus_t*, MOBLEUINT8 OptionalValid);
+
+MOBLE_RESULT Appli_Light_Lightness_Status(MOBLEUINT8 const *pLightness_status, MOBLEUINT32 pLength);
+
+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);
+
+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_Range_Set(Light_LightnessRangeParam_t* pLight_LightnessRangeParam,
+ MOBLEUINT8 OptionalValid);
+MOBLE_RESULT Appli_Light_Lightness_Range_Status(MOBLEUINT8 const *pLightnessRange_status, MOBLEUINT32 pLength);
+
+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);
+
+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);
+
+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);
+
+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);
+
+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);
+
+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);
+
+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);
+
+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);
+
+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);
+void Appli_Light_PwmInit(void);
+void HSL2RGB_Conversion(void);
+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);
+#endif /* __APPLI_LIGHT_H */
+
+/******************* (C) COPYRIGHT 2019 STMicroelectronics *****END OF FILE****/
+