[zb4osgi-changeset] [scm] ZigBee 4 OSGi repository change: r811 - /projects/zb4osgi/trunk/zigbee.CC2530.driver/src/main/java/it/cnr/isti/zigbee/dongle/CC2530/impl/DriverCC2530.java
scm-notify at zb4osgi.aaloa.org
scm-notify at zb4osgi.aaloa.org
Wed Sep 25 18:42:05 CEST 2013
Author: stefano.lenzi
Date: Wed Sep 25 18:42:04 2013
New Revision: 811
Log:
Changed the ZigBee stack creation in orther to match Philipp message on the mailing-list (http://zb4osgi.aaloa.org/pipermail/dev/2013-September/000605.html)
Modified:
projects/zb4osgi/trunk/zigbee.CC2530.driver/src/main/java/it/cnr/isti/zigbee/dongle/CC2530/impl/DriverCC2530.java
Modified: projects/zb4osgi/trunk/zigbee.CC2530.driver/src/main/java/it/cnr/isti/zigbee/dongle/CC2530/impl/DriverCC2530.java
==============================================================================
--- projects/zb4osgi/trunk/zigbee.CC2530.driver/src/main/java/it/cnr/isti/zigbee/dongle/CC2530/impl/DriverCC2530.java (original)
+++ projects/zb4osgi/trunk/zigbee.CC2530.driver/src/main/java/it/cnr/isti/zigbee/dongle/CC2530/impl/DriverCC2530.java Wed Sep 25 18:42:04 2013
@@ -871,16 +871,6 @@
return response != null;
}
- private boolean dongleClearState(){
- dongleSetCleanState(true);
-
- boolean result = dongleReset();
-
- dongleSetCleanState(false);
-
- return result;
- }
-
private boolean dongleSetCleanState(boolean clean){
ZB_WRITE_CONFIGURATION_RSP response;
if(clean){
@@ -1007,58 +997,47 @@
createCustomDevicesOnDongle();
switch (mode) {
- case Coordinator:
- return doCoordinatorCreateNetwork();
- case Router:
- //TODO Implements start up as Router
+
+ case Coordinator: {
+ logger.info("Creating network as Coordintator");
+ } ; break ;
+
+ case Router: {
+ logger.info("Creating network as Router");
+ } ; break ;
+
+ case EndDevice: {
+ logger.info("Creating network as EndDevice");
+ } ; break ;
+
+ }
+
+ final int INSTANT_STARTUP = 0;
+
+ ZDO_STARTUP_FROM_APP_SRSP response = (ZDO_STARTUP_FROM_APP_SRSP) sendSynchrouns(
+ high, new ZDO_STARTUP_FROM_APP(INSTANT_STARTUP)
+ );
+ if ( response == null ) return false;
+ switch ( response.Status ) {
+ case 0: {
+ logger.info("Initialized ZigBee Network with OLD Network State");
+ return true;
+ }
+ case 1: {
+ logger.info("Initialized ZigBee Network with NEW Network State");
+ return true;
+ }
+ case 2: {
+ logger.warn("Failed to initialized ZigBee Network");
return false;
- case EndDevice:
- return doEndDeviceCreateNetwok();
- }
-
- /*
- * This code is unreachable but compiler can't find this out yet.
- * It may introduce a compilation issue of future compilers
- */
- return false;
- }
-
- private boolean doEndDeviceCreateNetwok() {
- logger.debug("Creating network as EndDevice");
-
- ZDO_STARTUP_FROM_APP_SRSP response = (ZDO_STARTUP_FROM_APP_SRSP) sendSynchrouns(
- high, new ZDO_STARTUP_FROM_APP(ZDO_STARTUP_FROM_APP.RESET_TYPE.TARGET_DEVICE)
- );
- if ( response == null ) {
- return false;
- } else {
- return true;//TODO: response.Status == ZDO_STARTUP_FROM_APP_SRSP.AF_STATUS.SUCCESS;
- }
- }
-
- private boolean doCoordinatorCreateNetwork() {
- logger.info("Creating network as Coordintator");
-
- ZB_READ_CONFIGURATION_RSP response = (ZB_READ_CONFIGURATION_RSP) sendSynchrouns(
- high, new ZB_READ_CONFIGURATION(3));
-
- if(response!=null && response.Status==0){
- if(response.Len==1 && response.Value[0]==0){
- dongleSetCleanState(false);
- }
- }else{
- logger.error("Couldn´t get dongle status for startup");
- return false;
- }
-
- ZDO_STARTUP_FROM_APP_SRSP response2 = (ZDO_STARTUP_FROM_APP_SRSP) sendSynchrouns(
- high, new ZDO_STARTUP_FROM_APP(ZDO_STARTUP_FROM_APP.RESET_TYPE.TARGET_DEVICE)
- );
- if ( response2 == null ) {
- return false;
- } else {
- return true;//TODO response.Status == ZDO_STARTUP_FROM_APP_SRSP.AF_STATUS.SUCCESS;
- }
+ }
+ default: {
+ logger.error("Unxpected response state for ZDO_STARTUP_FROM_APP {}", response.Status);
+ return false;
+ }
+ }
+
+
}
/*
@@ -1103,7 +1082,7 @@
boolean cleanNetworkState = cleanStatus;
- if(cleanNetworkState){
+ if ( cleanNetworkState ) {
if ( doCleanAndSetConfiguration() == false ) {
return false;
}
@@ -1156,12 +1135,6 @@
private boolean doCleanAndSetConfiguration() {
logger.debug("Cleaning dongle networks stack status");
-// if( ! dongleClearState() ){
-// logger.error("Unable to CLEAN the ZigBee network stack staus");
-// return false;
-// } else {
-// logger.info("ZigBee network stack status CLEANED");
-// }
if( ! dongleSetCleanState(true) ){
logger.error("Unable to set clean state for dongle");
return false;
@@ -1192,12 +1165,6 @@
logger.error("Unable to unset clean state for dongle");
return false;
}
-// if ( dongleMasterReset() == false ) {
-// logger.error("Unable to send the master reset for ZigBee Network");
-// return false;
-// } else {
-// logger.info("master reset sent");
-// }
return true;
}
More information about the Commit
mailing list