The program flow for version 10 of the sketch and version 13 of the app.
dropController blinks the waiting LED to show not connected.
In the app, the user selects a COM port and clicks the connect button.
The app sends a “HELLO” to the dropController.
The dropController get the “HELLO” and turns on the waiting LED (it stops blinking).
The dropController sends back “HELLO”
The app gets the reply and turns on the START button.
The user enters the drop data and sequence method
Clicks the START button.
The Loop Page opens.
Depending on the mode the user may need to click the Loop Page START button.
The app calculates the drop data based on any delta values and then sends the drop data as asscii to the dropController.
The START button becomes inactive
A timer is started. The timer is used to check for replies from the dropController.
The dropController gets the drop data, makes the drops, and when finished send “FTS” to the app.
The app gets the “FTS” and makes the START button active, or returns to the main page depending on the mode.
If the app does not get the “FTS” it times out and an error message is displayed.
In the app, clicking “Dis-connect” send a “BYE” message to the dropController and closes the connection.
When the DropController gets the “BYE” message it resets to non connected.
– – – – – – – – – – – – – – – – – – –
I have to admit I am at a bit of a loss now. Last night I contacted a couple of friends I built devices for and they say everything works fine (one of them is still using an older firmware though). All my tests have been good as well.
The sketch was created in IDE 1.6.3 and has been updated using 1.8.3.
I have tried on Windows XP, Win 7 and Win 8.1 (I don’t have 10) and all worked as expected.
Just as a note, I only use the zip file versions of the IDE, I have several ones that are setup up for different things.
Something is breaking the connection just after or during the drop data transmission. No idea what though at this time. I’ll keep looking.
There is basic error checking in the sketch and when incomplete drop data is received the waiting LED is used to indicate an error. When things stop, does the waiting LED on the dropController flash?