ABle to connect to zigbee dongle now

This commit is contained in:
Ziver Koc 2021-01-02 18:08:19 +01:00
parent 6214c01157
commit 3b949b13f7
3 changed files with 13 additions and 10 deletions

View file

@ -26,7 +26,7 @@ public class HalZigbeeController implements HalSensorController, HalEventControl
private ZigBeePort serialPort; private ZigBeePort serialPort;
private ZigBeeDataStore dataStore; private ZigBeeDataStore dataStore;
private ZigBeeNetworkManager networkManager; protected ZigBeeNetworkManager networkManager;
private HalSensorReportListener sensorListener; private HalSensorReportListener sensorListener;
private HalEventReportListener eventListener; private HalEventReportListener eventListener;
@ -50,16 +50,12 @@ public class HalZigbeeController implements HalSensorController, HalEventControl
dataStore = new ZigBeeDataStore(); dataStore = new ZigBeeDataStore();
ZigBeeTransportTransmit dongle = getDongle("CC2531"); ZigBeeTransportTransmit dongle = getDongle("CC2531");
ZigBeeNetworkManager networkManager = new ZigBeeNetworkManager(dongle); networkManager = new ZigBeeNetworkManager(dongle);
networkManager.setNetworkDataStore(dataStore); networkManager.setNetworkDataStore(dataStore);
ZigBeeStatus initResponse = networkManager.initialize(); ZigBeeStatus initResponse = networkManager.initialize();
System.out.println("NetworkManager.initialize() returned " + initResponse); System.out.println("NetworkManager.initialize() returned " + initResponse);
System.out.println("PAN ID = " + networkManager.getZigBeePanId());
System.out.println("Extended PAN ID = " + networkManager.getZigBeeExtendedPanId());
System.out.println("Channel = " + networkManager.getZigBeeChannel());
if (dongle instanceof ZigBeeDongleTiCc2531) { if (dongle instanceof ZigBeeDongleTiCc2531) {
ZigBeeDongleTiCc2531 tiDongle = (ZigBeeDongleTiCc2531) dongle; ZigBeeDongleTiCc2531 tiDongle = (ZigBeeDongleTiCc2531) dongle;
tiDongle.setLedMode(1, false); tiDongle.setLedMode(1, false);
@ -89,7 +85,6 @@ public class HalZigbeeController implements HalSensorController, HalEventControl
serialPort.close(); serialPort.close();
} }
// -------------------------- // --------------------------
// Hal Overrides // Hal Overrides
// -------------------------- // --------------------------

View file

@ -179,7 +179,7 @@ public class ZigBeeJSerialCommPort implements ZigBeePort {
@Override @Override
public void write(int value) { public void write(int value) {
if (serialPort != null) if (serialPort == null)
throw new RuntimeException("Unable to write, Serial port is not open."); throw new RuntimeException("Unable to write, Serial port is not open.");
try { try {
@ -196,10 +196,13 @@ public class ZigBeeJSerialCommPort implements ZigBeePort {
@Override @Override
public int read(int timeout) { public int read(int timeout) {
if (serialPort != null) if (serialPort == null)
throw new RuntimeException("Unable to read, Serial port is not open."); throw new RuntimeException("Unable to read, Serial port is not open.");
try { try {
if (serialPort.getReadTimeout() != timeout)
serialPort.setComPortTimeouts(SerialPort.TIMEOUT_READ_BLOCKING, timeout, 0);
return serialInputstream.read(); return serialInputstream.read();
} catch (IOException e) { } catch (IOException e) {
logger.error("Was unable to read from serial port.", e); logger.error("Was unable to read from serial port.", e);
@ -209,7 +212,7 @@ public class ZigBeeJSerialCommPort implements ZigBeePort {
@Override @Override
public void purgeRxBuffer() { public void purgeRxBuffer() {
if (serialPort != null) if (serialPort == null)
return; return;
try { try {

View file

@ -40,6 +40,11 @@ public class HalZigbeeControllerTest {
HalZigbeeController controller = new HalZigbeeController(); HalZigbeeController controller = new HalZigbeeController();
controller.initialize("COM3"); controller.initialize("COM3");
System.out.println("PAN ID = " + controller.networkManager.getZigBeePanId());
System.out.println("Extended PAN ID = " + controller.networkManager.getZigBeeExtendedPanId());
System.out.println("Channel = " + controller.networkManager.getZigBeeChannel());
controller.networkManager.permitJoin(50);
System.out.println("Press ENTER to exit application."); System.out.println("Press ENTER to exit application.");
System.in.read(); System.in.read();