added writeJSON

This commit is contained in:
Federico Fissore 2013-06-20 16:54:08 +02:00
parent 4ec08ef6cc
commit 5f32476ddb
3 changed files with 24 additions and 18 deletions

View File

@ -72,6 +72,11 @@ void BridgeClass::writeMessage(const String& str) {
writeMessage((uint8_t*) str.c_str(), str.length());
}
void BridgeClass::writeJSON(const String& str) {
uint8_t cmd[] = {'J'};
transfer(cmd, 1, (uint8_t*) str.c_str(), str.length(), NULL, 0);
}
unsigned int BridgeClass::messageAvailable() {
uint8_t tmp[] = {'n'};
uint8_t res[2];

View File

@ -31,6 +31,7 @@ public:
unsigned int readMessage(uint8_t *buffer, unsigned int size);
void writeMessage(const uint8_t *buffer, unsigned int size);
void writeMessage(const String& str);
void writeJSON(const String& str);
unsigned int messageAvailable();
// Methods to handle key/value datastore

View File

@ -90,23 +90,23 @@ void modeCommand(String command) {
}
void reportPinMode(int pin, String mode) {
String message = "{\"pin\":";
message += pin;
message += ", \"mode\": \"";
message += mode;
message += "\"}";
Bridge.writeMessage(message);
String json = "{\"pin\":";
json += pin;
json += ", \"mode\": \"";
json += mode;
json += "\"}";
Bridge.writeJSON(json);
}
void reportDigitalRead(int pin, boolean dataset) {
int value = digitalRead(pin);
String message = "{\"pin\":";
message += pin;
message += ", \"value\": ";
message += value;
message += "}";
Bridge.writeMessage(message);
String json = "{\"pin\":";
json += pin;
json += ", \"value\": ";
json += value;
json += "}";
Bridge.writeJSON(json);
if (dataset) {
String key = "D";
@ -118,12 +118,12 @@ void reportDigitalRead(int pin, boolean dataset) {
void reportAnalogRead(int pin, boolean dataset) {
int value = analogRead(pin);
String message = "{\"pin\":";
message += pin;
message += ", \"value\": ";
message += value;
message += "}";
Bridge.writeMessage(message);
String json = "{\"pin\":";
json += pin;
json += ", \"value\": ";
json += value;
json += "}";
Bridge.writeJSON(json);
if (dataset) {
String key = "A";