/********************************************************************* * @fn zclElectricalMeasurement_HdlIncoming * * @brief Callback from ZCL to process incoming Commands specific * to this cluster library or Profile commands for attributes * that aren't in the attribute list * * @param pInMsg - pointer to the incoming message * * @return ZStatus_t */ static ZStatus_t zclElectricalMeasurement_HdlIncoming( zclIncoming_t *pInMsg ) { ZStatus_t stat = ZSuccess; #if defined ( INTER_PAN ) if ( StubAPS_InterPan( pInMsg->msg->srcAddr.panId, pInMsg->msg->srcAddr.endPoint ) ) { return ( stat ); // Cluster not supported thru Inter-PAN } #endif if ( zcl_ClusterCmd( pInMsg->hdr.fc.type ) ) { // Is this a manufacturer specific command? if ( pInMsg->hdr.fc.manuSpecific == 0 ) { stat = zclElectricalMeasurement_HdlInSpecificCommands( pInMsg ); } else { // We don't support any manufacturer specific command. stat = ZFailure; } } else { // Handle all the normal (Read, Write...) commands -- should never get here stat = ZFailure; } return ( stat ); }
int zclss_handleincoming( struct zclincomingmsg * zclincomingmsg){ int result = -1; #if defined ( INTER_PAN ) //todo #endif if (zcl_ClusterCmd(zclincomingmsg->zclframehdr.control.type)){ if(zclincomingmsg->zclframehdr.control.manuspecific == 0){ zclss_handlespecificcommands(zclincomingmsg); }else{ // We don't support any manufacturer specific command -- ignore it. result = -1; } }else{ result = -1; } return result; }
/********************************************************************* * @fn zclMS_HdlIncoming * * @brief Callback from ZCL to process incoming Commands specific * to this cluster library or Profile commands for attributes * that aren't in the attribute list * * @param pInMsg - pointer to the incoming message * @param logicalClusterID * * @return ZStatus_t */ static ZStatus_t zclMS_HdlIncoming( zclIncoming_t *pInMsg, uint16 logicalClusterID ) { ZStatus_t stat = ZSuccess; if ( zcl_ClusterCmd( pInMsg->hdr.fc.type ) ) { // Is this a manufacturer specific command? if ( pInMsg->hdr.fc.manuSpecific == 0 ) { stat = zclMS_HdlInSpecificCommands( pInMsg, logicalClusterID ); } else { // We don't support any manufacturer specific command -- ignore it. stat = ZFailure; } } else { // Handle all the normal (Read, Write...) commands stat = ZFailure; } return ( stat ); }