diff --git a/keywords.txt b/keywords.txt index 49780a1..8d0ab82 100644 --- a/keywords.txt +++ b/keywords.txt @@ -9,6 +9,7 @@ Temboo KEYWORD1 TembooMQTTEdgeDevice KEYWORD1 TembooCoAPEdgeDevice KEYWORD1 +TembooYunShield KEYWORD1 ####################################### # Datatypes (KEYWORD2) @@ -17,6 +18,7 @@ TembooCoAPEdgeDevice KEYWORD1 TembooChoreo KEYWORD2 TembooCoAPChoreo KEYWORD2 TembooMQTTChoreo KEYWORD2 +TembooYunShieldChoreo KEYWORD2 ####################################### # Methods and Functions (KEYWORD2) diff --git a/library.properties b/library.properties index 34b1b7f..239e1f2 100644 --- a/library.properties +++ b/library.properties @@ -6,5 +6,5 @@ paragraph=Use this library to connect your Arduino or Genuino board to Temboo, m category=Communication url=http://www.temboo.com/arduino architectures=* -version=1.1.4 +version=1.1.6 core-dependencies=arduino (>=1.5.0) diff --git a/src/TembooYunShield.h b/src/TembooYunShield.h new file mode 100644 index 0000000..c297efb --- /dev/null +++ b/src/TembooYunShield.h @@ -0,0 +1,55 @@ +/* +############################################################################### +# +# Temboo Arduino library +# +# Copyright 2015, Temboo Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, +# either express or implied. See the License for the specific +# language governing permissions and limitations under the License. +# +############################################################################### +*/ + +#ifndef TEMBOOYUNSHIELD_H_ +#define TEMBOOYUNSHIELD_H_ + +#include + +/////////////////////////////////////////////////////// +// BEGIN ARDUINO YUN SHIELD SUPPORT +/////////////////////////////////////////////////////// + +#include + +class TembooYunShieldChoreo : public Process { + + public: + void begin() {Process::begin("temboo");} + void setAccountName(const String& accountName) { addParameter("-a" + accountName);} + void setAppKeyName(const String& appKeyName) { addParameter("-u" + appKeyName);} + void setAppKey(const String& appKey) { addParameter("-p" + appKey);} + void setChoreo(const String& choreo) { addParameter("-c" + choreo);} + void setCredential(const String& credentialName) { addParameter("-e" + credentialName);} + void setSavedInputs(const String& savedInputsName) { addParameter("-e" + savedInputsName);} + void setProfile(const String& profileName) { addParameter("-e" + profileName);} + void addInput(const String& inputName, const String& inputValue) { addParameter("-i" + inputName + ":" + inputValue);} + void addOutputFilter(const String& filterName, const String& filterPath, const String& variableName) { addParameter("-o" + filterName + ":" + filterPath + ":" + variableName);} + void setSettingsFileToWrite(const String& filePath) { addParameter("-w" + filePath);} + void setSettingsFileToRead(const String& filePath) { addParameter("-r" + filePath);} + void setGatewayAddress(const String& addr) { addParameter("-s" + addr);} + +}; + + + +#endif //TEMBOOYUNSHIELD_H_ diff --git a/src/utility/TembooSession.cpp b/src/utility/TembooSession.cpp index 544f417..4e7d089 100644 --- a/src/utility/TembooSession.cpp +++ b/src/utility/TembooSession.cpp @@ -85,8 +85,9 @@ int TembooSession::executeChoreo( uint32toa((uint32_t)TembooSession::getTime(), buffer); uint16_t contentLength = getAuth(fmt, appKeyValue, buffer, auth); - - m_client.stop(); + if (m_client.connected()) { + m_client.stop(); + } m_client.flush(); int connected = 0;