Home/Support/Support Forum/SM1/D70 (S2C Pro): no wakeup

SM1/D70 (S2C Pro): no wakeup

0 votes
Dear,
I'm trying to Sleep/Wake Up Endpoint, by ultra low power mode SM1.
I'm reading some examples, wakeup time (about 15s), etc.
Actually EndPoint is :
S2C Pro (Firmware 4059) :
EndPoint = API2, SM1, D70 : Arduino Uno
Coord = API2

Code:
#include <XBee.h> #define XBEE_sleepPin 9 int i=0; uint8_t text[] = {'H', 'e', 'l', 'l', 'o'}; XBee xbee = XBee(); XBeeAddress64 remoteAddress = XBeeAddress64(0x0013a200, 0x40d99bdd); //0x40e5f312); ZBTxRequest zbTx = ZBTxRequest(remoteAddress, text, sizeof(text)); void setup () { delay(1000); Serial.begin(9600); xbee.setSerial(Serial); } void loop () { i++; Serial.print("i=");Serial.println(i); xbee.send(zbTx); if (i==10) { sleep_XBEE(); delay(3000); } if (i==200){ wake_XBEE(); delay(20000); } if (i==400) i=0; } void sleep_XBEE() { pinMode (XBEE_sleepPin,INPUT); // put XBee to sleep //digitalWrite(XBEE_sleepPin,LOW); // Setting this pin to LOW turns off the pull up resistor, thus saving precious current digitalWrite(XBEE_sleepPin,HIGH); //?????? delay(400); } void wake_XBEE() { pinMode(XBEE_sleepPin,OUTPUT); // Set the "wake-up pin" to output digitalWrite(XBEE_sleepPin,LOW); // wake-up XBee delay(400); }

No wakeup, never ? In SM5, it's ok, but no SM1 ????
Do you have any idea ?
Best regards.
asked Oct 4, 2015 in ZigBee PRO Featureset (and legacy ZNet 2.5) by Rolland New to the Community (10 points)

Please log in or register to answer this question.

2 Answers

0 votes
That is because when you use Pin sleep, you use the DTR line of the XBee module to wake and sleep it. This means that you MUST use the hardware flow control lines and you must control the DTR line from your processor.
answered Oct 7, 2015 by mvut Veteran of the Digi Community (12,786 points)
0 votes
Dear,
Thank a lot for your response: but I don't anderstand it.
1) When you say, "... Must use the hardware flow control line... control the DTR line": how to do that, since for me

by this code (to sleep)
Code:
pinMode (XBEE_sleepPin,INPUT); digitalWrite(XBEE_sleepPin,HIGH);

with wire between DTR/xbee <---> Pin 9 arduino; must realize sleep mode ? I'm wrong?

Best regards.
Philippe.
answered Oct 7, 2015 by Rolland New to the Community (10 points)
...