- Cool Paging for Telemetry

- Added basic led library
- updated readme
- implemented fanoverride and lightActive transmission
This commit is contained in:
2018-05-10 15:57:38 +02:00
parent 0c3d258bd0
commit d6027e093b
7 changed files with 158 additions and 44 deletions

View File

@ -54,6 +54,22 @@ long lastPacket = 0;
bool isConnected = false;
#define FANS_AUTO 0
#define FANS_ON 1
#define FANS_OFF 2
bool lightActive = false;
int fanMode = FANS_AUTO;
#include "lights.h"
void setBoardOptions(uint8_t options) {
Serial.print("opt: ");
Serial.println(options, BIN);
lightActive = options & 1;
fanMode = (options >> 2) & 3;
}
// ESPNOW Functions ############################
// config AP
void configDeviceAP(bool hidden) {
@ -76,7 +92,7 @@ void OnDataRecv(const uint8_t *mac_addr, const uint8_t *data, int data_len) {
snprintf(macStr, sizeof(macStr), "%02x:%02x:%02x:%02x:%02x:%02x",
mac_addr[0], mac_addr[1], mac_addr[2], mac_addr[3], mac_addr[4], mac_addr[5]);
Serial.print("Last Packet Recv from: "); Serial.println(macStr);
uint8_t recData[2];
uint8_t recData[3];
memcpy(recData, data, data_len);
Serial.print("Last Packet Recv Data: "); Serial.println(recData[0]); Serial.print(" "); Serial.print(recData[1]); Serial.print(" len:"); Serial.println(data_len);
@ -110,6 +126,7 @@ void OnDataRecv(const uint8_t *mac_addr, const uint8_t *data, int data_len) {
isConnected = true;
// Could check mac here for some security
writeServos(recData[0], recData[1]);
setBoardOptions(recData[2]);
display.clear();
char buf[25];
@ -196,8 +213,19 @@ void checkTemperature() {
temperature = sensors.getTempCByIndex(0);
//Serial.print("Temp: ");
//Serial.println(temperature);
if(temperature < 35) digitalWrite(fanRelais, LOW);
if(temperature > 40) digitalWrite(fanRelais, HIGH);
switch(fanMode) {
case FANS_AUTO:
if(temperature < 35) digitalWrite(fanRelais, LOW);
if(temperature > 40) digitalWrite(fanRelais, HIGH);
break;
case FANS_ON:
digitalWrite(fanRelais, HIGH);
break;
case FANS_OFF:
digitalWrite(fanRelais, LOW);
break;
}
sendTemperature = abs(floor(temperature));
sendTemperatureDecimals = (temperature - sendTemperature) * 100;
}