Hello,
I am trying to implement a beacon based model using CC1201 and would appreciate any pointers on how to configure CC1201 eWoR for beacon processing.
The approach i was hoping to take was this - Use RxSniff when End Device waits to receive the first beacon (turn on/ loss of sync), then switch timer values to go into eWoR mode waiting for subsequent beacons. I was hoping to use Rx Termination timers to provide guard bands for receiving data and timer capture registers to adjust the eWoR timing. But so far i have not been able to configure the chip properly yet.
I am using a proprietary board - not the dev boards and we don't have an external 40k oscillator connected to CC1201, and so the internal oscillator is being used.
Rx Sniff mode - I started with the configuration from the app note, and this works fine. My issue is switching from Rx Sniff to eWoR - i am not sure what all i need to do to achieve that.
To disable RxSniff and go into eWoR mode, i assume all i need to do is enable Rx Timout and disable Rx Duty Cycle mode.
Looking at the Rx Timeout formula, i am not sure how i can get a Rx Timeout value that is less than tEvent0. For example: 10s Event0 timeout with WOR_RES=1 @ 40KHz XOsc is EVENT0 = 12500.
With RX_TIME set to 6
RX TIMEOUT = MAX(1, Floor(12500/512))*16*(1250/40000) = (24*16*1250)/40000 = 12.0s.
I am obviously missing some thing obvious - but what?
I switch EVENT0 values from high rate to low rate when i get the Sync Start - of course this introduces slop based on when the timer starts, but i assumed i could get around that with Rx Timeout.
Another issue i have is while reading Timer Capture registers, i fairly consistently get 0 or very low values. At this point, i am lost trying to figure out how various register values will affect each other - Rx Sniff document unfortunately does not delve much into the eWoR configuration.
Thanks,