/********************************************************************* * @fn zclMS_HdlInSpecificCommands * * @brief Callback from ZCL to process incoming Commands specific * to this cluster library * * @param pInMsg - pointer to the incoming message * * @return ZStatus_t */ static ZStatus_t zclMS_HdlInSpecificCommands( zclIncoming_t *pInMsg ) { ZStatus_t stat = ZSuccess; zclMS_AppCallbacks_t *pCBs; // make sure endpoint exists pCBs = (void*)zclMS_FindCallbacks( pInMsg->msg->endPoint ); if ( pCBs == NULL ) return ( ZFailure ); switch ( pInMsg->msg->clusterId ) { case ZCL_CLUSTER_ID_MS_ILLUMINANCE_MEASUREMENT: stat = zclMS_ProcessIn_IlluminanceMeasurementCmds( pInMsg ); break; case ZCL_CLUSTER_ID_MS_ILLUMINANCE_LEVEL_SENSING_CONFIG: stat = zclMS_ProcessIn_IlluminanceLevelSensingCmds( pInMsg ); break; case ZCL_CLUSTER_ID_MS_TEMPERATURE_MEASUREMENT: stat = zclMS_ProcessIn_TemperatureMeasurementCmds( pInMsg ); break; case ZCL_CLUSTER_ID_MS_PRESSURE_MEASUREMENT: stat = zclMS_ProcessIn_PressureMeasurementCmds( pInMsg ); break; case ZCL_CLUSTER_ID_MS_FLOW_MEASUREMENT: stat = zclMS_ProcessIn_FlowMeasurementCmds( pInMsg ); break; case ZCL_CLUSTER_ID_MS_RELATIVE_HUMIDITY: stat = zclMS_ProcessIn_RelativeHumidityCmds( pInMsg ); break; case ZCL_CLUSTER_ID_MS_OCCUPANCY_SENSING: stat = zclMS_ProcessIn_OccupancySensingCmds( pInMsg ); break; default: stat = ZFailure; break; } return ( stat ); }
/********************************************************************* * @fn zclMS_HdlInSpecificCommands * * @brief Callback from ZCL to process incoming Commands specific * to this cluster library * * @param pInMsg - pointer to the incoming message * @param logicalClusterID * * @return ZStatus_t */ static ZStatus_t zclMS_HdlInSpecificCommands( zclIncoming_t *pInMsg, uint16 logicalClusterID ) { ZStatus_t stat = ZSuccess; switch ( logicalClusterID ) { case ZCL_MS_LOGICAL_CLUSTER_ID_ILLUMINANCE_MEASUREMENT: stat = zclMS_ProcessIn_IlluminanceMeasurementCmds( pInMsg ); break; case ZCL_MS_LOGICAL_CLUSTER_ID_ILLUMINANCE_LEVEL_SENSING_CFG: stat = zclMS_ProcessIn_IlluminanceLevelSensingCmds( pInMsg ); break; case ZCL_MS_LOGICAL_CLUSTER_ID_TEMPERATURE_MEASUREMENT: stat = zclMS_ProcessIn_TemperatureMeasurementCmds( pInMsg ); break; case ZCL_MS_LOGICAL_CLUSTER_ID_PRESSURE_MEASUREMENT: stat = zclMS_ProcessIn_PressureMeasurementCmds( pInMsg ); break; case ZCL_MS_LOGICAL_CLUSTER_ID_FLOW_MEASUREMENT: stat = zclMS_ProcessIn_FlowMeasurementCmds( pInMsg ); break; case ZCL_MS_LOGICAL_CLUSTER_ID_RELATIVE_HUMIDITY: stat = zclMS_ProcessIn_RelativeHumidityCmds( pInMsg ); break; case ZCL_MS_LOGICAL_CLUSTER_ID_OCCUPANCY_SENSING: stat = zclMS_ProcessIn_OccupancySensingCmds( pInMsg ); break; default: stat = ZFailure; break; } return ( stat ); }