DK flashing White slowly


#1

My DK is running Gateway client code (that never really worked on that board).

When I connect to the DK with my phone, the flashing changes from Green to White (with or without Gateway being powered).

How can I change the DK firmware then (obviously without a Factory Reset)?

Thank you.


#2

Blinking white means you are in local communication mode: http://docs.bluz.io/tutorials/states/

This means you must have put the board into a different mode. What code did you use? Were you following the tutorial in the docs? If so, there is usually a failsafe in our examples, like this:

pinMode(D6, INPUT_PULLDOWN);
    if (digitalRead(D6) == HIGH) {
        SYSTEM_MODE(AUTOMATIC);
    }

That would allow you to pull the pin HIGH on startup to exit local communication mode. Is this in your code?


#3

Thank you @eric.

I followed all the code EXCEPT the code you included above.

pinMode(D6, INPUT_PULLDOWN);
if (digitalRead(D6) == HIGH) {
SYSTEM_MODE(AUTOMATIC);
}

My rationale is what is the purpose of the local mode anyway if it needs to be bypassed? How does this work?

Thanks again.


#4

Hi @eric

I followed the exact code from (http://docs.bluz.io/tutorials/local_communication/).

I also have pin 6 high on startup. The DK keeps flashing green but the Gateway never sees it (Bluz Devices Online O O O).

Why is the DK not connecting to the Shield?

Thanks again.


#5

Hi @eric

OK, it is now working. Apparently, the sequence of whether you start the Shield first or the DK makes a difference?

I have pin6 on HIGH on startup. When I restarted the shield, indeed, it hooks up and then after the shield hooks up, the DK changed flashing from Green to Cyan and the Shield started seeing it.

If the sequence of start is important, are the DK users implementing some kind of delay when the systems have to be restarted?

(I still do not understand the reason for SYSTEM_MODE(MANUAL); )?

Thanks again.


#6

OK, I understand now how it works :-).

The DK board has to be in local mode to talk to the Gateway. The Pin6 code is a failsafe part to be able to hook up to the DK board to re-flash it if necessary.

So finally, I can now do some real work!

I would appreciate help in showing me example code on how to send a DOUBLE to the shield? I am a VB programmer (hence the handicap!).

Thanks in advance.


#7

What you want to do is convert the double to a byte array and send that, and then convert it back on the other side. There are many ways to do this in C, here is one example on Stack Overflow: http://stackoverflow.com/questions/24420246/c-function-to-convert-float-to-byte-array


#8

Thank you @eric, I appreciate it.

I spent the entire day today (4-5 hours) trying to get the shield to work with my DK. It starts working, I change something and then it stops working.

I have no idea what is going on and why it is so finicky. I am using the basic code in the tutorial and have the DK on a simple breadboard and also tried the coin shield. The shield connects to the photon all the time, but I can not get the DK to connect to the shield. I have basically no idea why it works sometimes but most of the time it does not. The DK just keeps flashing green ,

Has the DK, shield and photon been tested with the latest firmware?

What else should I try?

Thanks again.


#9

How far apart are the devices? And is there possibly any other interferers in your environment? How long are you giving bluz to connect? It can sometimes take up to 60 seconds for the gateway shield to connect. Also, how many bluz devices are you attempting to connect?


#10

The devices were just about 1 foot apart.

I checked, other than my phone, there is a PC a few feet away.

I have waited sometimes minutes with no connection. The few times it did connect, the connection was within one minute.

I just have 1 DK, 1 Gateway and 1 Photon.