Hi Dialog,
Configuration - the DSPS firmware on a DA14580 (PAN1740) with external micro processor.
1) The RTS, from the DA14850 pulses at the same interval as the sleep when there is no data to be sent, this causes problems with waking the external processor. Is there any way to over come this?
2)维护CTS, DA14850并't seem to have any affect on waking it up, resulting in unreliable data transmission, the only solution is to disable sleep, and then much more current is consumed. Is there any way to fix these issues?
3) Is it possible to implement an external wake-up in the DSPS?
Thanks for your assistance.
Rob
Device:
Hi RobS,
The DSPS is never permanently inactive it falls asleep and wakes up in order to serve ble events, even if there isn't any data to send the da will wake up to keep the connection with the host active. When the device wakes up, it will toggle the RTS line to low in order to indicate that it he is ready (the device will pull the RTS low whenever it wakes up, in every connection interval or advertising interval). Also be aware that when the device is receiving, when the data transmitted reach the internal FIFO threshold the RTS will go back to high to notify to the other side that it should stop send data. So, this is not an issue but this is the implementation of the DSPS reference application. The external wake-up is not implemented, but you could send a signal for the external MCU to the wake-up controller to wake it up.
Thanks, PM_Dialog
Hi Dialog,
Thanks for your reply, that explains the behaviour. However, it's not much use TBH.
The RTS needs to behave like a RTS signal. Is there a way to modify the code to use two pins for the two functions? Because in addition when there is data waiting the RTS signal remains low (as expected) so now how does one know when the DA is awake?
An additional question, when the device wakes up the commandSetBits16(SYS_CTRL_REG, PAD_LATCH_EN, 1);causes the outputs to be reset. They then need to be reconfigured causing a glitch on the signal. Can this be avoided or is it a trait of the M0? It doesn't happen to the RTS signal.
Thanks,
Rob
Hi Robs,
Apologies for the delay. Can you please clarify your first question? Do you mean that you would like to reconfigure the RTS pin? When the chip wakes up, the BLE_WAKEUP_LP_Handler will be triggered, and as a result periph_init() will be executed in every wake up. The BLE_WAKEUP_LP_Handler. The PAD_LATCH_EN should be at 1 in order to enable the pads in every wake up.
Thanks, PM_Dialog
Hi Robs,
Can you please provide me more inputs reggarding your first question?
Thanks, PM_Dialog