/********************************************************************* * @fn zclHomelink_Init * * @brief Initialization function for the zclGeneral layer. * * @param none * * @return none */ void zclHomelink_Init( byte task_id ) { zclHomelink_UARTInit(); zclHomelink_TaskID = task_id; // Set destination address to indirect for bindings zclHomelink_BindDstAddr.addrMode = (afAddrMode_t)AddrNotPresent; zclHomelink_BindDstAddr.endPoint = 0; zclHomelink_BindDstAddr.addr.shortAddr = 0; // This app is part of the Home Automation Profile zclHA_Init( &zclHomelink_SimpleDesc[0] ); zclHA_Init( &zclHomelink_SimpleDesc[1] ); zclHA_Init( &zclHomelink_SimpleDesc[2] ); // Register the ZCL General Cluster Library callback functions zclGeneral_RegisterCmdCallbacks( ENDPOINT, &zclHomelink_CmdCallbacks ); zclGeneral_RegisterCmdCallbacks( ENDPOINT+1, &zclHomelink_CmdCallbacks ); zclGeneral_RegisterCmdCallbacks( ENDPOINT+2, &zclHomelink_CmdCallbacks ); // Register the application's attribute list zcl_registerAttrList( ENDPOINT, SAMPLESW_MAX_ATTRIBUTES, zclHomelink_Attrs ); zcl_registerAttrList( ENDPOINT+1, SAMPLESW_MAX_ATTRIBUTES, zclHomelink_Attrs ); zcl_registerAttrList( ENDPOINT+2, SAMPLESW_MAX_ATTRIBUTES, zclHomelink_Attrs ); // Register the Application to receive the unprocessed Foundation command/response messages zcl_registerForMsg( zclHomelink_TaskID ); // Register for all key events - This app will handle all key events RegisterForKeys( zclHomelink_TaskID ); ZDO_RegisterForZDOMsg( zclHomelink_TaskID, End_Device_Bind_rsp ); ZDO_RegisterForZDOMsg( zclHomelink_TaskID, Match_Desc_rsp ); }
/********************************************************************* * @fn zclSampleSw_Init * * @brief Initialization function for the zclGeneral layer. * * @param none * * @return none */ void zclSampleSw_Init( byte task_id ) { osal_nv_write(ZCD_NV_EXTADDR, 0, Z_EXTADDR_LEN, ieeeAddr); zclSampleSw_TaskID = task_id; // Set destination address to indirect zclSampleSw_DstAddr.addrMode = (afAddrMode_t)AddrNotPresent; zclSampleSw_DstAddr.endPoint = 0; zclSampleSw_DstAddr.addr.shortAddr = 0; // This app is part of the Home Automation Profile zclHA_Init( &zclSampleSw_SimpleDesc ); // Register the ZCL General Cluster Library callback functions zclGeneral_RegisterCmdCallbacks( SAMPLESW_ENDPOINT, &zclSampleSw_CmdCallbacks ); // Register the application's attribute list zcl_registerAttrList( SAMPLESW_ENDPOINT, SAMPLESW_MAX_ATTRIBUTES, zclSampleSw_Attrs ); // Register the Application to receive the unprocessed Foundation command/response messages zcl_registerForMsg( zclSampleSw_TaskID ); // Register for all key events - This app will handle all key events RegisterForKeys( zclSampleSw_TaskID ); // Register for a test endpoint afRegister( &sampleSw_TestEp ); ZDO_RegisterForZDOMsg( zclSampleSw_TaskID, End_Device_Bind_rsp ); ZDO_RegisterForZDOMsg( zclSampleSw_TaskID, Match_Desc_rsp ); }
/********************************************************************* * @fn zclSampleLight_Init * * @brief Initialization function for the zclGeneral layer. * * @param none * * @return none */ void zclSampleLight_Init( byte task_id ) { zclSampleLight_TaskID = task_id; // Set destination address to indirect //zclSampleLight_DstAddr.addrMode = (afAddrMode_t)AddrNotPresent; //zclSampleLight_DstAddr.endPoint = 0; //zclSampleLight_DstAddr.addr.shortAddr = 0; // This app is part of the Home Automation Profile zclHA_Init( &zclSampleLight_SimpleDesc ); // Register the ZCL General Cluster Library callback functions zclGeneral_RegisterCmdCallbacks( SAMPLELIGHT_ENDPOINT, &zclSampleLight_CmdCallbacks ); // Register the application's attribute list zcl_registerAttrList( SAMPLELIGHT_ENDPOINT, SAMPLELIGHT_MAX_ATTRIBUTES, zclSampleLight_Attrs ); // Register the Application to receive the unprocessed Foundation command/response messages zcl_registerForMsg( zclSampleLight_TaskID ); // Register for all key events - This app will handle all key events RegisterForKeys( zclSampleLight_TaskID ); // Register for a test endpoint afRegister( &sampleLight_TestEp ); }
/********************************************************************* * @fn zclSampleSw_Init * * @brief Initialization function for the zclGeneral layer. * * @param none * * @return none */ void zclSampleSw_Init( byte task_id ) { zclSampleSw_TaskID = task_id; #ifdef ZCL_ON_OFF // Set destination address to indirect zclSampleSw_DstAddr.addrMode = (afAddrMode_t)AddrNotPresent; zclSampleSw_DstAddr.endPoint = 0; zclSampleSw_DstAddr.addr.shortAddr = 0; #endif // This app is part of the Home Automation Profile zclHA_Init( &zclSampleSw_SimpleDesc ); // Register the ZCL General Cluster Library callback functions zclGeneral_RegisterCmdCallbacks( SAMPLESW_ENDPOINT, &zclSampleSw_CmdCallbacks ); // Register the application's attribute list zcl_registerAttrList( SAMPLESW_ENDPOINT, SAMPLESW_MAX_ATTRIBUTES, zclSampleSw_Attrs ); // Register the Application to receive the unprocessed Foundation command/response messages zcl_registerForMsg( zclSampleSw_TaskID ); #ifdef ZCL_EZMODE // Register EZ-Mode zcl_RegisterEZMode( &zclSampleSw_RegisterEZModeData ); // Register with the ZDO to receive Match Descriptor Responses ZDO_RegisterForZDOMsg(task_id, Match_Desc_rsp); #endif // Register for all key events - This app will handle all key events RegisterForKeys( zclSampleSw_TaskID ); // Register for a test endpoint afRegister( &sampleSw_TestEp ); ZDO_RegisterForZDOMsg( zclSampleSw_TaskID, End_Device_Bind_rsp ); ZDO_RegisterForZDOMsg( zclSampleSw_TaskID, Match_Desc_rsp ); #ifdef LCD_SUPPORTED HalLcdWriteString ( (char *)sDeviceName, HAL_LCD_LINE_3 ); #endif #if defined (OTA_CLIENT) && (OTA_CLIENT == TRUE) // Register for callback events from the ZCL OTA zclOTA_Register(zclSampleSw_TaskID); #endif }
/********************************************************************* * @fn zclRouterVersion1_Init * * @brief Initialization function for the zclGeneral layer. * * @param none * * @return none */ void zclRouterVersion1_Init( byte task_id ) { zclRouterVersion1_TaskID = task_id; // Set destination address to indirect zclRouterVersion1_DstAddr.addrMode = (afAddrMode_t)Addr16Bit; zclRouterVersion1_DstAddr.endPoint = 2; zclRouterVersion1_DstAddr.addr.shortAddr = 0x0000; // This app is part of the Home Automation Profile zclHA_Init( &zclRouterVersion1_SimpleDesc ); // Register the ZCL General Cluster Library callback functions zclGeneral_RegisterCmdCallbacks( ROUTERVERSION1_ENDPOINT, &zclRouterVersion1_CmdCallbacks ); // Register the application's attribute list zcl_registerAttrList( ROUTERVERSION1_ENDPOINT, zclRouterVersion1_NumAttributes, zclRouterVersion1_Attrs ); // Register the Application to receive the unprocessed Foundation command/response messages zcl_registerForMsg( zclRouterVersion1_TaskID ); // Register for all key events - This app will handle all key events RegisterForKeys( zclRouterVersion1_TaskID ); // Register for a test endpoint afRegister( &sampleLight_TestEp ); ZDO_RegisterForZDOMsg(task_id, Device_annce); osal_start_timerEx(zclRouterVersion1_TaskID, SET_PARAMETER, 1000); HAL_CONFIG_IO_OUTPUT(1,2,0); HAL_CONFIG_IO_OUTPUT(1,3,0); HAL_CONFIG_IO_OUTPUT(0,0,0); HAL_CONFIG_IO_OUTPUT(0,1,0); HAL_CONFIG_IO_OUTPUT(0,2,0); HAL_CONFIG_IO_OUTPUT(0,3,0); HAL_CONFIG_IO_OUTPUT(0,4,0); HAL_CONFIG_IO_OUTPUT(0,7,0); HalLedSet(HAL_LED_1,HAL_LED_MODE_OFF); HalLedSet(HAL_LED_2,HAL_LED_MODE_OFF); //ZDOInitDevice(0); if (ZDApp_ReadNetworkRestoreState() == 0) { ZDOInitDevice(0); } }
void AT_ZCL_ONOFF_SWITCH_Init( byte task_id ) { AT_ZCL_ONOFF_SWITCH_TaskID = task_id; // This app is part of the Home Automation Profile zclHA_Init( &AT_ZCL_ONOFF_SWITCH_SimpleDesc ); // Register the ZCL General Cluster Library callback functions zclGeneral_RegisterCmdCallbacks( AT_ZCL_ONOFF_SWITCH_ENDPOINT, &AT_ZCL_ONOFF_SWITCH_GEN_CmdCallbacks ); // Register the application's attribute list zcl_registerAttrList( AT_ZCL_ONOFF_SWITCH_ENDPOINT, AT_ZCL_ONOFF_SWITCH_MAX_ATTRIBUTES, AT_ZCL_ONOFF_SWITCH_Attrs ); //register for AT command system enable/disable call back function AT_ZCL_EP_ENABLE_Register( AT_ZCL_ONOFF_SWITCH_ENDPOINT,AT_ZCL_ONOFF_SWITCH_EP_ENABLE); //initialize the switch device switch_init(); }
/********************************************************************* * @fn zclSampleTemperatureSensor_Init * * @brief Initialization function for the zclGeneral layer. * * @param none * * @return none */ void zclSampleTemperatureSensor_Init( byte task_id ) { zclSampleTemperatureSensor_TaskID = task_id; // Set destination address to indirect zclSampleTemperatureSensor_DstAddr.addrMode = (afAddrMode_t)AddrNotPresent; zclSampleTemperatureSensor_DstAddr.endPoint = 0; zclSampleTemperatureSensor_DstAddr.addr.shortAddr = 0; // This app is part of the Home Automation Profile zclHA_Init( &zclSampleTemperatureSensor_SimpleDesc ); // Register the ZCL General Cluster Library callback functions zclGeneral_RegisterCmdCallbacks( SAMPLETEMPERATURESENSOR_ENDPOINT, &zclSampleTemperatureSensor_CmdCallbacks ); // Register the application's attribute list zcl_registerAttrList( SAMPLETEMPERATURESENSOR_ENDPOINT, SAMPLETEMPERATURESENSOR_MAX_ATTRIBUTES, zclSampleTemperatureSensor_Attrs ); // Register the Application to receive the unprocessed Foundation command/response messages zcl_registerForMsg( zclSampleTemperatureSensor_TaskID ); #ifdef ZCL_EZMODE // Register EZ-Mode zcl_RegisterEZMode( &zclSampleTemperatureSensor_RegisterEZModeData ); // Register with the ZDO to receive Match Descriptor Responses ZDO_RegisterForZDOMsg(task_id, Match_Desc_rsp); #endif // Register for all key events - This app will handle all key events RegisterForKeys( zclSampleTemperatureSensor_TaskID ); // Register for a test endpoint afRegister( &sampleTemperatureSensor_TestEp ); #ifdef LCD_SUPPORTED // display the device name HalLcdWriteString( (char *)sDeviceName, HAL_LCD_LINE_3 ); #endif }
void zclEnergyHarvester_Init( byte task_id ) { zclEnergyHarvester_TaskID = task_id; // This app is part of the Home Automation Profile zclHA_Init( &zclSampleLight_SimpleDesc ); // Register for a test endpoint afRegister( &testEp ); zcl_registerPlugin( ZCL_CLUSTER_ID_MS_ILLUMINANCE_MEASUREMENT, ZCL_CLUSTER_ID_MS_ALL, zclEnergyHarvester_HdlIncoming ); ZDO_RegisterForZDOMsg( zclEnergyHarvester_TaskID, End_Device_Bind_rsp ); #if DEV_TYPE == COORDINATOR ZDO_RegisterForZDOMsg( zclEnergyHarvester_TaskID, Device_annce ); #else adc_Init(); // Configure signal from off-chip timer to be wake-up signal GPIODirModeSet( GPIO_B_BASE, GPIO_PIN_3 , GPIO_DIR_MODE_IN ); // Configure deep sleep in power mode 3, woken up by off-chip timer SysCtrlDeepSleepSetting(); SysCtrlPowerModeSet( SYS_CTRL_PM_3 ); GPIODirModeSet( GPIO_B_BASE, GPIO_PIN_4 , GPIO_DIR_MODE_IN ); HWREG( SYS_CTRL_IWE ) = 0x02; GPIOPowIntTypeSet( GPIO_B_BASE, GPIO_PIN_4, GPIO_POW_RISING_EDGE ); GPIOPowIntClear( GPIO_B_BASE, GPIO_PIN_4 ); GPIOPowIntEnable( GPIO_B_BASE, GPIO_PIN_4 ); // Done with off-chip timer acknowledge GPIOPinWrite( GPIO_B_BASE, GPIO_PIN_5, GPIO_PIN_5 ); #endif }