On plane down to Sayulita I carefully read DecaWave device driver API.
Porting has been considered with some care.  For new hardware one has to implement ~5 native architecture specific functions to talk to chip.
SPI read and write; an ISR;  DW-SPI mutex operations: enter and leave.
Rest of the API should just need recompiling.
Sadly that’s not going to be the end of it.  The API is low-level, and there’s a lot of work to do to initialize, calibrate, and configure, before even starting to think about ranging. 
Accurate ranging demands calibration to trim crystal, and estimate antenna delay, and other questionable fudge factors.  Multiple refs in document to consult DW to learn how to do calibration!
No range functions in API.  Have to roll your own from basic time stamping functions.’
Complex-domain temporal signal sample data available to assess the quality of the signal.  Looks like for accurate results have to detect first “edge” yourself!  Hoping standard examples are in some demo code somewhere.
All looks daunting and I wonder if DW has higher level stuff avail now. 
BeSpoon apparent approach of having all this stuff canned seems very attractive

Leave a Reply