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/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_light.h')
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_light.h281
1 files changed, 281 insertions, 0 deletions
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_light.h b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_light.h
new file mode 100644
index 000000000..d36af58c0
--- /dev/null
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE/BLE_MeshLightingLPN/STM32_WPAN/app/appli_light.h
@@ -0,0 +1,281 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file appli_light.h
+ * @author MCD Application Team
+ * @brief Application interface for Light Mesh Model
+ ******************************************************************************
+ * @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_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(push, 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;
+ MOBLEUINT16 TargetLightness16;
+ MOBLEUINT16 TargetTemperature16;
+ MOBLEINT16 TargetCtlDelta16;
+}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;
+ MOBLEUINT16 TargetHslLightness16;
+ MOBLEUINT16 TargetHslHueLightness16;
+ MOBLEUINT16 TargetHslSaturation16;
+}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(pop)
+
+/* Exported Functions Prototypes ---------------------------------------------*/
+
+MOBLE_RESULT Appli_Light_Lightness_Set(Light_LightnessStatus_t*,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_Lightness_Linear_Set(Light_LightnessStatus_t* pLight_LightnessLinearParam,
+ MOBLEUINT8 OptionalValid,
+ 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_Set(Light_LightnessStatus_t* pLight_LightnessParam,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_Lightness_Range_Set(Light_LightnessRangeParam_t* pLight_LightnessRangeParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_Ctl_Set(Light_CtlStatus_t* pLight_CtlParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_CtlTemperature_Set(Light_CtlStatus_t* pLight_CtltempParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_CtlTemperature_Range_Set(Light_CtlTemperatureRangeParam_t* pLight_CtlTempRangeParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_CtlDefault_Set(Light_CtlDefaultParam_t* pLight_CtlDefaultParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_Hsl_Set(Light_HslStatus_t* pLight_HslParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_HslHue_Set(Light_HslStatus_t* pLight_HslHueParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_HslSaturation_Set(Light_HslStatus_t* pLight_HslSaturationParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_HslDefault_Set(Light_HslDefaultParam_t* pLight_HslDefaultParam,
+ MOBLEUINT8 OptionalValid,
+ MOBLEUINT16 dstPeer,
+ MOBLEUINT8 elementIndex);
+
+MOBLE_RESULT Appli_Light_HslRange_Set(Light_HslRangeParam_t* pLight_HslDefaultParam,
+ MOBLEUINT8 OptionalValid,
+ 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(MOBLEUINT8 elementIndex);
+void Ctl_LedOffState(void);
+void Rgb_LedOffState(void);
+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 */
+/******************************************************************************/
+
+