diff --git a/Makefile b/Makefile index 6c48ca424..fe9c06fcd 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ CXX=g++ # -std=gnu++17 VERSION=OSPI -CXXFLAGS=-std=gnu++14 -D$(VERSION) -DSMTP_OPENSSL -Wall -include string.h -Iexternal/TinyWebsockets/tiny_websockets_lib/include -Iexternal/OpenThings-Framework-Firmware-Library/ +CXXFLAGS=-std=gnu++14 -D$(VERSION) -DSMTP_OPENSSL -Wall -include string.h -include cstdint -Iexternal/TinyWebsockets/tiny_websockets_lib/include -Iexternal/OpenThings-Framework-Firmware-Library/ LD=$(CXX) LIBS=pthread mosquitto ssl crypto LDFLAGS=$(addprefix -l,$(LIBS)) diff --git a/OpenSprinkler.cpp b/OpenSprinkler.cpp index cdf25ec95..10180a743 100644 --- a/OpenSprinkler.cpp +++ b/OpenSprinkler.cpp @@ -2019,13 +2019,13 @@ int8_t OpenSprinkler::send_http_request(const char* server, uint16_t port, char* DEBUG_PRINTLN(F("client no longer connected")); } memset(ether_buffer, 0, ETHER_BUFFER_SIZE); - uint32_t stoptime = millis()+timeout; int pos = 0; #if defined(ARDUINO) // with ESP8266 core 3.0.2, client->connected() is not always true even if there is more data // so this loop is going to take longer than it should be // todo: can consider using HTTPClient for ESP8266 + uint32_t stoptime = millis()+timeout; while(true) { int nbytes = client->available(); if(nbytes>0) { @@ -2151,7 +2151,9 @@ void OpenSprinkler::switch_remotestation(RemoteOTCStationData *data, bool turnon turnon, timer); bf.emit_p(PSTR(" HTTP/1.0\r\nHOST: $S\r\nConnection:close\r\n\r\n"), DEFAULT_OTC_SERVER_APP); - int x = send_http_request(DEFAULT_OTC_SERVER_APP, DEFAULT_OTC_PORT_APP, p, remote_http_callback, true); + + // TODO: Logging. If we can't return an error, maybe we should log something. + (void) send_http_request(DEFAULT_OTC_SERVER_APP, DEFAULT_OTC_PORT_APP, p, remote_http_callback, true); } /** Switch http(s) station diff --git a/build.sh b/build.sh index ff1da16ca..f384628e9 100755 --- a/build.sh +++ b/build.sh @@ -34,7 +34,7 @@ if [ "$1" == "demo" ]; then ws=$(ls external/TinyWebsockets/tiny_websockets_lib/src/*.cpp) otf=$(ls external/OpenThings-Framework-Firmware-Library/*.cpp) - g++ -o OpenSprinkler -DDEMO -DSMTP_OPENSSL $DEBUG -std=c++14 -include string.h main.cpp OpenSprinkler.cpp program.cpp opensprinkler_server.cpp utils.cpp weather.cpp gpio.cpp mqtt.cpp smtp.c -Iexternal/TinyWebsockets/tiny_websockets_lib/include $ws -Iexternal/OpenThings-Framework-Firmware-Library/ $otf -lpthread -lmosquitto -lssl -lcrypto + g++ -o OpenSprinkler -DDEMO -DSMTP_OPENSSL $DEBUG -std=c++14 -include string.h -include cstdint main.cpp OpenSprinkler.cpp program.cpp opensprinkler_server.cpp utils.cpp weather.cpp gpio.cpp mqtt.cpp smtp.c -Iexternal/TinyWebsockets/tiny_websockets_lib/include $ws -Iexternal/OpenThings-Framework-Firmware-Library/ $otf -lpthread -lmosquitto -lssl -lcrypto elif [ "$1" == "osbo" ]; then echo "Installing required libraries..." apt-get install -y libmosquitto-dev libssl-dev @@ -42,7 +42,7 @@ elif [ "$1" == "osbo" ]; then ws=$(ls external/TinyWebsockets/tiny_websockets_lib/src/*.cpp) otf=$(ls external/OpenThings-Framework-Firmware-Library/*.cpp) - g++ -o OpenSprinkler -DOSBO -DSMTP_OPENSSL $DEBUG -std=c++14 -include string.h main.cpp OpenSprinkler.cpp program.cpp opensprinkler_server.cpp utils.cpp weather.cpp gpio.cpp mqtt.cpp smtp.c -Iexternal/TinyWebsockets/tiny_websockets_lib/include $ws -Iexternal/OpenThings-Framework-Firmware-Library/ $otf -lpthread -lmosquitto -lssl -lcrypto + g++ -o OpenSprinkler -DOSBO -DSMTP_OPENSSL $DEBUG -std=c++14 -include string.h -include cstdint main.cpp OpenSprinkler.cpp program.cpp opensprinkler_server.cpp utils.cpp weather.cpp gpio.cpp mqtt.cpp smtp.c -Iexternal/TinyWebsockets/tiny_websockets_lib/include $ws -Iexternal/OpenThings-Framework-Firmware-Library/ $otf -lpthread -lmosquitto -lssl -lcrypto else echo "Installing required libraries..." apt-get update @@ -66,7 +66,7 @@ else echo "Compiling ospi firmware..." ws=$(ls external/TinyWebsockets/tiny_websockets_lib/src/*.cpp) otf=$(ls external/OpenThings-Framework-Firmware-Library/*.cpp) - g++ -o OpenSprinkler -DOSPI $USEGPIO -DSMTP_OPENSSL $DEBUG -std=c++14 -include string.h main.cpp OpenSprinkler.cpp program.cpp opensprinkler_server.cpp utils.cpp weather.cpp gpio.cpp mqtt.cpp smtp.c -Iexternal/TinyWebsockets/tiny_websockets_lib/include $ws -Iexternal/OpenThings-Framework-Firmware-Library/ $otf -lpthread -lmosquitto -lssl -lcrypto $GPIOLIB + g++ -o OpenSprinkler -DOSPI $USEGPIO -DSMTP_OPENSSL $DEBUG -std=c++14 -include string.h -include cstdint main.cpp OpenSprinkler.cpp program.cpp opensprinkler_server.cpp utils.cpp weather.cpp gpio.cpp mqtt.cpp smtp.c -Iexternal/TinyWebsockets/tiny_websockets_lib/include $ws -Iexternal/OpenThings-Framework-Firmware-Library/ $otf -lpthread -lmosquitto -lssl -lcrypto $GPIOLIB fi if [ -f /etc/init.d/OpenSprinkler.sh ]; then diff --git a/mqtt.cpp b/mqtt.cpp index fa17b670c..bf3bc68ff 100644 --- a/mqtt.cpp +++ b/mqtt.cpp @@ -694,7 +694,7 @@ int OSMqtt::_publish(const char *topic, const char *payload) { void subscribe_callback(struct mosquitto *mosq, void *obj, const struct mosquitto_message *message){ DEBUG_LOGF("Callback\r\n"); - char *topic = message->topic; + // char *topic = message->topic; char *msg = (char*)(message->payload); if(!checkPassword(msg)){ diff --git a/opensprinkler_server.cpp b/opensprinkler_server.cpp index f2acfc5a4..ef416e642 100644 --- a/opensprinkler_server.cpp +++ b/opensprinkler_server.cpp @@ -517,7 +517,7 @@ void server_change_board_attrib(char *p, char header, unsigned char *attrib) unsigned char bid; tbuf2[0]=header; for(bid=0;bid