/*
* 
* * $Rev: 51 $
* $Author: dsmith $
* $Date: 2010-06-11 10:17:22 -0700 (Fri, 11 Jun 2010) $
*
* YOU ACKNOWLEDGE AND AGREE THAT THE SOFTWARE AND DOCUMENTATION ARE PROVIDED “AS IS” WITHOUT WARRANTY 
* OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY, 
* TITLE, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL TEXAS INSTRUMENTS 
* OR ITS LICENSORS BE LIABLE OR OBLIGATED UNDER CONTRACT, NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION, 
* BREACH OF WARRANTY, OR OTHER LEGAL EQUITABLE THEORY ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES
* INCLUDING BUT NOT LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT, PUNITIVE OR CONSEQUENTIAL DAMAGES, 
* LOST PROFITS OR LOST DATA, COST OF PROCUREMENT OF SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY 
* CLAIMS BY THIRD PARTIES (INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF), OR OTHER SIMILAR COSTS.
*/
#include "../HAL/hal.h"
#include "../ZNP/application_configuration.h"  
#include "../HAL/hal_types.h"
#include "../HAL/hal_defs.h"

/** Creates an application configuration for a Source. 
You can modify the values in this for your application.
@return the applicationConfiguration for a Source
@see applicationConfiguration */
struct applicationConfiguration srceEP()
{
    struct applicationConfiguration ac;
    ac.endPoint =                       SRCE_ENDPOINT_ID;       /*must be same for all devices on the network*/
    ac.profileId =                      APP_PROFILE_ID;         /*must be same for all devices on the network*/
    ac.deviceId =                       SRCE_DEVICE_ID;              /*doesn't matter*/
    ac.deviceVersion =                  SRCE_DEVICE_VERSION;         /*doesn't matter*/
    ac.latencyRequested =               LATENCY_NORMAL;
    ac.numberOfBindingInputClusters =   SRCE_CLUSTER_IN_CNT; 
    ac.bindingOutputClusters[0] =       SRCE_REPORT_ID;    
    ac.numberOfBindingOutputClusters =  SRCE_CLUSTER_OUT_CNT;   
    return ac;
#ifdef __IAR_SYSTEMS_ICC__  /* IAR C Compiler */
};
#else 
}
#endif 

/** Creates an application configuration for a Sink. 
YOu can modify the values in this for your application.
@return the applicationConfiguration for a Sink
@see applicationConfiguration */

struct applicationConfiguration sinkEP()
{
    struct applicationConfiguration ac;
    ac.endPoint =                       SINK_ENDPOINT_ID;       /*must be same for all devices on the network*/
    ac.profileId =                      APP_PROFILE_ID;         /*must be same for all devices on the network*/
    ac.deviceId =                       SINK_DEVICE_ID;              /*doesn't matter*/
    ac.deviceVersion =                  SINK_DEVICE_VERSION;         /*doesn't matter*/
    ac.latencyRequested =               LATENCY_NORMAL;
    ac.numberOfBindingInputClusters =   SINK_CLUSTER_IN_CNT; 
    ac.bindingInputClusters[0] =        SRCE_REPORT_ID;    
    ac.numberOfBindingOutputClusters =  SINK_CLUSTER_OUT_CNT;   
    return ac;
#ifdef __IAR_SYSTEMS_ICC__  /* IAR C Compiler */
};
#else 
}
#endif 



