Oh thanks. Well done sirrah!I hope to be through this wretched video crap soon, and back to TS – assuming I'm allowed. I need to rent a cupboard-sized office at a secret location about 10 yards up the street!
//MikOn Thu, Jan 22, 2015 at 9:11 AM, David Carkeek <email@example.com> wrote:
I have copied most of the files to TS06BeSpoonForum files. They seem to be pretty good about updating stuff. The latest release is 1/15.When I downloaded the big zip files Chrome said "This file is malicious". I dismissed the warning but perhaps it's best to be cautious in case Fabre Pascal's computer is infected with something (I doubt it).On Wed, Jan 21, 2015 at 10:10 PM, Mik Lamming <firstname.lastname@example.org> wrote:No I didn't. I'll track them down and have a look tomorrow.
//MikOn Wed, Jan 21, 2015 at 12:14 PM, David Carkeek <email@example.com> wrote:
Some important facts about BLE Phy
Raw data rate is 1Mb/s
Receiver sensitivity must be better than -70dBm
Packets have a 37-byte payload and 10-bytes of decoration = 47B
Bytes are sent least-sig-bit first.
A typical scenario for transmitting data on a button press is to have BLE connection with relatively low connection interval but with high slave latency. Low connection interval will enable your device to send packets frequently, i.e. to have a good response on a button press. High slave latency will allow your device to not send packets on every connection event, thereby saving current.
Sleep Clock Accuracy
NRF_CLOCK_LFCLKSRC_SYNTH_250_PPM, /**< LFCLK Synthesized from HFCLK. */
NRF_CLOCK_LFCLKSRC_XTAL_500_PPM, /**< LFCLK crystal oscillator 500 PPM accuracy. */
NRF_CLOCK_LFCLKSRC_XTAL_250_PPM, /**< LFCLK crystal oscillator 250 PPM accuracy. */
NRF_CLOCK_LFCLKSRC_XTAL_150_PPM, /**< LFCLK crystal oscillator 150 PPM accuracy. */
NRF_CLOCK_LFCLKSRC_XTAL_100_PPM, /**< LFCLK crystal oscillator 100 PPM accuracy. */
NRF_CLOCK_LFCLKSRC_XTAL_75_PPM, /**< LFCLK crystal oscillator 75 PPM accuracy. */
NRF_CLOCK_LFCLKSRC_XTAL_50_PPM, /**< LFCLK crystal oscillator 50 PPM accuracy. */
NRF_CLOCK_LFCLKSRC_XTAL_30_PPM, /**< LFCLK crystal oscillator 30 PPM accuracy. */
NRF_CLOCK_LFCLKSRC_XTAL_20_PPM, /**< LFCLK crystal oscillator 20 PPM accuracy. */
NRF_CLOCK_LFCLKSRC_RC_250_PPM_250MS_CALIBRATION, /**< LFCLK RC oscillator, 250ms calibration interval.*/
NRF_CLOCK_LFCLKSRC_RC_250_PPM_500MS_CALIBRATION, /**< LFCLK RC oscillator, 500ms calibration interval.*/
NRF_CLOCK_LFCLKSRC_RC_250_PPM_1000MS_CALIBRATION, /**< LFCLK RC oscillator, 1000ms calibration interval.*/
NRF_CLOCK_LFCLKSRC_RC_250_PPM_2000MS_CALIBRATION, /**< LFCLK RC oscillator, 2000ms calibration interval.*/
NRF_CLOCK_LFCLKSRC_RC_250_PPM_4000MS_CALIBRATION, /**< LFCLK RC oscillator, 4000ms calibration interval.*/
NRF_CLOCK_LFCLKSRC_RC_250_PPM_8000MS_CALIBRATION, /**< LFCLK RC oscillator, 8000ms calibration interval.*/
NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_1000MS_CALIBRATION, /**< LFCLK RC oscillator. Temperature checked every 1000ms, if changed above a threshold, a calibration is done.*/
NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_2000MS_CALIBRATION, /**< LFCLK RC oscillator. Temperature checked every 2000ms, if changed above a threshold, a calibration is done.*/
NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_4000MS_CALIBRATION, /**< LFCLK RC oscillator. Temperature checked every 4000ms, if changed above a threshold, a calibration is done.*/
NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_8000MS_CALIBRATION, /**< LFCLK RC oscillator. Temperature checked every 8000ms, if changed above a threshold, a calibration is done.*/
NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_16000MS_CALIBRATION, /**< LFCLK RC oscillator. Temperature checked every 16000ms, if changed above a threshold, a calibration is done.*/
Direct Test Mode
The following seems potentially useful in some way (possibly illegal) way.
- channel number
- payload length (0-37 bytes)
- byte pattern (9 bit pseduo randm bit seq / 0xF0 / 0xAA / 0x0F / 0x55 / 15bit PRBS
- 1 byte preamble 10101010 or 01010101
- 4 byte address 10010100 10000010 01101110 10001110
- 1 byte packet-type header
- 1 byte length
- 37 bytes of data
- 3 bytes of CRC
While at McCarren waiting to fly home we talked about ways to synchronise the ranging nodes. We revisited the wake-up radio concept. Mik wondered about a crystal set that would use no power but could trigger a relay to turn on receiver. David, who spent his youth building crystal sets came up with a possibly more practical idea.
- Use BLE to repeatedly transmit small packets.
- Packets are received by BLE antenna network and fed through chain of notch filters and op-amps to produce a voltage that can generate an interrupt.
- The packet repeat frequency is chosen to hit the sweet spot of the op amp.
Mik recalled some very low-power op-amp he had seen used to measure very low currents.
the AD8428. It has a fixed gain of 2000 and a bandwidth of 3.5 MHz. described in this article.
By then we are waiting for take off, but David finds even better OpAmps with tiny power requirements.
We kicked it around and wondered if we could make some prototype to test out the concept.
I ran across an excellent article from Linear Technology, written in 1998.http://cds.linear.com/docs/en/
The Schottky diode (named after German physicist Walter H. Schottky); also known as hot carrier diode is a semiconductor diode with a low forward voltage drop and a very fast switching action. The cat’s-whisker detectors used in the early days of wireless and metal rectifiers used in early power applications can be considered primitive Schottky diodes.
David and I went to CES for three days. Here’s pics.
TRX thought UWB was too big and too expensive for indoor location.
Three-contact detector of gaze direction, blink etc.
So I struggled all day to deal with the problem I was having yesterday. It is all ultra-confusing. I came to the conclusion that I have found a bug. At least if it isn’t a bug, then its a crappy design.
How naive can I be. I got this response from one of the contributors.
you could check that in bugzilla, the bug is known since 2007 !?