Author Topic: Is "Listen Mode" demonstrated in any of the official demo sketches?  (Read 25394 times)

WhiteHare

  • Hero Member
  • *****
  • Posts: 1300
  • Country: us
Re: Is "Listen Mode" demonstrated in any of the official demo sketches?
« Reply #15 on: September 03, 2015, 06:15:04 PM »
Here's an update.  If I set both ListenRx and ListenIdle to each be 64 microseconds, then the transition times into ListenRx seems to decrease (see snapshot below) quite a bit, and that's a good news, because it means less current wasted while preparing to Rx.  The bad news is that you may have to measure whatever your cycle is in order to know how long that transition time, and thus energy drain, may be.  Based on two datapoints so far (the one below and the one above), the transition time doesn't appear to be a fixed constant.
« Last Edit: September 03, 2015, 06:16:41 PM by WhiteHare »

WhiteHare

  • Hero Member
  • *****
  • Posts: 1300
  • Country: us
Re: Is "Listen Mode" demonstrated in any of the official demo sketches?
« Reply #16 on: September 04, 2015, 09:46:02 AM »
What exactly does the value in register 0x2B (AKA RegRxTimeout2) denotes?  It is defined as "Timeout duration between RSSI detection and PayloadReady" and its default value is 0x00 (meaning "disabled").  I have confirmed using an oscilliscope that if it is left disabled while in Listen Mode, then once Rx is entered Rx will continue forever, regardless of what the duration for Rx was set to using RegListen1 and REgListen3.  That is truly bizarre.  It doesn't cycle between Rx and idle, even though in Listen Mode, as I would have expecteted.  Why not?  Moreover, there appears to be no guidance as to what register 0x2B's value should be set to.  Anyone happen to know?

[Aside:, a closer read of the SX1231H datasheet reveals that the duration specified for TListenRx *includes* the time spent starting up the receiver.  So, what is that value?  Well, it appears I'm on my own to calculate that from the values shown shown in one of Figures 18, 19, or 20, depending on which mode I'm in.  A pity there's no library function to compute the value of that. ]
« Last Edit: September 04, 2015, 11:57:00 AM by WhiteHare »

WhiteHare

  • Hero Member
  • *****
  • Posts: 1300
  • Country: us
Re: Is "Listen Mode" demonstrated in any of the official demo sketches?
« Reply #17 on: September 04, 2015, 10:24:53 AM »
BTW, I notice Freescale sells a SIP (MKW01Z128) which basically combines this Semtech radio with an ARM Cortex M0+.  So, perhaps it has additional documentation.  Surely somebody would have documented register 0x2B better than it is on the datasheet alone, especially as it relates to Listen Mode?
« Last Edit: September 04, 2015, 10:37:58 AM by WhiteHare »

WhiteHare

  • Hero Member
  • *****
  • Posts: 1300
  • Country: us
Re: Is "Listen Mode" demonstrated in any of the official demo sketches?
« Reply #18 on: September 04, 2015, 10:56:17 AM »
The SX1231J datasheet, not "H", may hold an essential clue.  It says RegRxTimeout2 denotes TimeoutRssiThresh.  "Timeout interrupt is generated TimeoutRssiThresh*16*Tbit after Rssi interrupt if PayloadReady interrupt doesn’t occur."  Does this determine the actual Rx period (excluding Rx startup time) within TListenRx? 
« Last Edit: September 04, 2015, 11:54:05 AM by WhiteHare »

Felix

  • Administrator
  • Hero Member
  • *****
  • Posts: 6866
  • Country: us
    • LowPowerLab
Re: Is "Listen Mode" demonstrated in any of the official demo sketches?
« Reply #19 on: September 04, 2015, 11:08:33 AM »
BTW, I notice Freescale sells a SIP (MKW01Z128) which basically combines this Semtech radio with an ARM Cortex M0+.
Interesting find! I was not aware about this one. Semtech must be licensing the radio chips to others, like Freescale in this case.
At a glance I see some slight differences, probably a SX1231 non H variant - output is topped at 17dBm, and it has a max 600kbps data rate, double that of the other 1231 radios I've seen before. Price is right in quantity but low stocks everywhere.

TomWS

  • Hero Member
  • *****
  • Posts: 1930
Re: Is "Listen Mode" demonstrated in any of the official demo sketches?
« Reply #20 on: September 04, 2015, 03:59:08 PM »
BTW, I notice Freescale sells a SIP (MKW01Z128) which basically combines this Semtech radio with an ARM Cortex M0+.  So, perhaps it has additional documentation.  Surely somebody would have documented register 0x2B better than it is on the datasheet alone, especially as it relates to Listen Mode?
Can you please include a link to the SIP package?  All I can find is the 60 pin LGA.

Tom

WhiteHare

  • Hero Member
  • *****
  • Posts: 1300
  • Country: us
Re: Is "Listen Mode" demonstrated in any of the official demo sketches?
« Reply #21 on: September 04, 2015, 04:38:05 PM »
BTW, I notice Freescale sells a SIP (MKW01Z128) which basically combines this Semtech radio with an ARM Cortex M0+.  So, perhaps it has additional documentation.  Surely somebody would have documented register 0x2B better than it is on the datasheet alone, especially as it relates to Listen Mode?
Can you please include a link to the SIP package?  All I can find is the 60 pin LGA.

Tom

http://cache.freescale.com/files/microcontrollers/doc/ref_manual/MKW01xxRM.pdf

WhiteHare

  • Hero Member
  • *****
  • Posts: 1300
  • Country: us
Re: Is "Listen Mode" demonstrated in any of the official demo sketches?
« Reply #22 on: September 04, 2015, 04:49:09 PM »
There's also this:
http://cache.freescale.com/files/rf_if/doc/ref_manual/MC12311RM.pdf
which is the same idea, but an older effort using an 8-bit MCU.  Not quite as sexy, but maybe cheaper and more available.

TomWS

  • Hero Member
  • *****
  • Posts: 1930
Re: Is "Listen Mode" demonstrated in any of the official demo sketches?
« Reply #23 on: September 04, 2015, 05:21:14 PM »
BTW, I notice Freescale sells a SIP (MKW01Z128) which basically combines this Semtech radio with an ARM Cortex M0+.  So, perhaps it has additional documentation.  Surely somebody would have documented register 0x2B better than it is on the datasheet alone, especially as it relates to Listen Mode?
Can you please include a link to the SIP package?  All I can find is the 60 pin LGA.

Tom


http://cache.freescale.com/files/microcontrollers/doc/ref_manual/MKW01xxRM.pdf
I guess I misunderstood what you meant when you said "sells a SIP".  I expected to find a Single Inline Package.  What did you mean by the term?

Tom

WhiteHare

  • Hero Member
  • *****
  • Posts: 1300
  • Country: us
Re: Is "Listen Mode" demonstrated in any of the official demo sketches?
« Reply #24 on: September 04, 2015, 05:51:51 PM »
BTW, I notice Freescale sells a SIP (MKW01Z128) which basically combines this Semtech radio with an ARM Cortex M0+.  So, perhaps it has additional documentation.  Surely somebody would have documented register 0x2B better than it is on the datasheet alone, especially as it relates to Listen Mode?
Can you please include a link to the SIP package?  All I can find is the 60 pin LGA.

Tom


http://cache.freescale.com/files/microcontrollers/doc/ref_manual/MKW01xxRM.pdf
I guess I misunderstood what you meant when you said "sells a SIP".  I expected to find a Single Inline Package.  What did you mean by the term?

Tom

System in package

WhiteHare

  • Hero Member
  • *****
  • Posts: 1300
  • Country: us
Re: Is "Listen Mode" demonstrated in any of the official demo sketches?
« Reply #25 on: September 17, 2015, 02:29:31 PM »
Starting with demo code and hacking the extension library, I'm now at the point where I have the Moteino's RFM69 constantly in Listen Mode such that it's in Rx for 1ms out of every second, with the arduino asleep.  Setup this way I estimate average current consumption is about 16uA, or about a 1000x reduction, as compared to having the radio in Rx mode all the time.  There is additional power savings from keeping the arduino in deep sleep rather than having it wake up every 8 seconds.  I could reduce power consumption by an additional factor of 67 by stretching out the idle period between Rx windows to 67 seconds, but the tradeoff would be greater latency in responding to commands.  For some applications, like weather sensors, that may not matter.  For some remote controlled applications, though, it would be too long.  Either way, Listen-Mode can serve the purpose of an ultra low power wake-up radio, if so desired.

Now that I have address filtering turned on, I'm hoping I can lower the RSSI sensitivity threshhold and thereby gain back some range.  At least in my view, the two biggest selling points for the RFM69 radio (and thus the Moteino) are range and Listen-Mode.
« Last Edit: September 17, 2015, 03:00:35 PM by WhiteHare »

Felix

  • Administrator
  • Hero Member
  • *****
  • Posts: 6866
  • Country: us
    • LowPowerLab
Re: Is "Listen Mode" demonstrated in any of the official demo sketches?
« Reply #26 on: September 17, 2015, 02:51:08 PM »
Starting with demo code and hacking the extension library, I'm now at the point where I have the Moteino's RFM69 constantly in Listen Mode such that it's in Rx for 1ms out of every second, with the arduino asleep.  Setup this way I estimate average current consumption ia about 16uA, or about a 1000x reduction, as compared to having the radio in Rx mode all the time.
Nice savings, but that also means you'd only receive an average of 1 out of 1000 packets sent to it, right?

Felix

  • Administrator
  • Hero Member
  • *****
  • Posts: 6866
  • Country: us
    • LowPowerLab
Re: Is "Listen Mode" demonstrated in any of the official demo sketches?
« Reply #27 on: September 17, 2015, 04:08:42 PM »
My point is ... you can only receive when you listen.
So .. nice battery savings, but that also means you'd only receive an average of 1 out of 1000 packets sent to it, when you listen 1 out of 1000 units of time, right?

joelucid

  • Hero Member
  • *****
  • Posts: 868
Re: Is "Listen Mode" demonstrated in any of the official demo sketches?
« Reply #28 on: September 17, 2015, 04:35:52 PM »
Quote
Nice savings, but that also means you'd only receive an average of 1 out of 1000 packets sent to it, right?

It really depends on the app logic. For example when I trigger a wireless install then yes, I'll send on average 4500 packets to the listen client until it wakes up. But it then very efficiently receives the update no longer using listen mode. So on average it receives a much higher ratio of packets.

Also if you can narrow the time when you might receive a packet (say using a RTC, or switch to listen mode for 50ms after each update) you can significantly reduce missed packets.

But yeah, the laws of physics still apply ;)

TomWS

  • Hero Member
  • *****
  • Posts: 1930
Re: Is "Listen Mode" demonstrated in any of the official demo sketches?
« Reply #29 on: September 17, 2015, 05:01:47 PM »
@Felix, I think one clarification that may be useful is that Listen Mode (at least in this form) is used to allow the system to go to the lowest possible power state and still permit waking in almost real time so that useful communication can take place AFTER waking. 

While useful information can be sent in the ListenMode packet, as you point out, it's rather sparse, time-wise.  However, it is also very short (a second or so depending on the parameters) and relatively quick to establish a meaningful communication link.

Tom