diff options
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.h | 247 |
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>© Copyright (c) 2019 STMicroelectronics. + * <h2><center>© 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****/ |