esp8266 worked

esp8266 basic support, DMX now can be disabled
This commit is contained in:
livello
2018-05-22 20:45:02 +03:00
parent bc44c146b9
commit 2ce453db82
8 changed files with 125 additions and 74 deletions

View File

@@ -696,8 +696,11 @@ void Item::mb_fail(short addr, short op, int val, int cmd) {
setVal(val);
}
#ifndef MODBUS_DISABLE
extern ModbusMaster node;
int Item::VacomSetFan(int8_t val, int8_t cmd) {
int addr = getArg();
Serial.print(F("VC#"));
@@ -766,63 +769,6 @@ int Item::VacomSetHeat(int addr, int8_t val, int8_t cmd) {
modbusBusy = 0;
}
int Item::SendStatus(short cmd, short n, int *Par, boolean deffered) {
/// ToDo: relative patches, configuration
if (deffered) {
setCmd(cmd | CMD_REPORT);
Serial.println(F("Status deffered"));
// mqttClient.publish("/push", "1");
return 0;
// Todo: Parameters? Now expected that parameters already stored by setVal()
}
else { //publush to MQTT
char addrstr[32];
//char addrbuf[17];
char valstr[16] = "";
strcpy_P(addrstr, outprefix);
strncat(addrstr, itemArr->name, sizeof(addrstr));
switch (cmd) {
case CMD_ON:
strcpy(valstr, "ON");
break;
case CMD_OFF:
case CMD_HALT:
strcpy(valstr, "OFF");
break;
// TODO send Par
case 0:
case CMD_SET:
if (Par)
for (short i = 0; i < n; i++) {
char num[4];
snprintf(num, sizeof(num), "%d", Par[i]);
strncat(valstr, num, sizeof(valstr));
if (i != n - 1) {
strcpy(num, ",");
strncat(valstr, num, sizeof(valstr));
}
}
break;
default:
Serial.println(F("Unknown cmd "));
return -1;
}
Serial.print(F("Pub: "));
Serial.print(addrstr);
Serial.print(F("->"));
Serial.println(valstr);
mqttClient.publish(addrstr, valstr,true);
return 0;
}
}
int Item::modbusDimmerSet(int addr, uint16_t _reg, int _mask, uint16_t value) {
if (modbusBusy) {
@@ -856,7 +802,6 @@ int Item::modbusDimmerSet(int addr, uint16_t _reg, int _mask, uint16_t value) {
modbusBusy = 0;
}
int Item::checkFM() {
if (modbusBusy) return -1;
if (checkModbusRetry()) return -2;
@@ -1118,3 +1063,59 @@ void Item::sendDelayedStatus(){
setCmd(cmd);
}
}
#endif
int Item::SendStatus(short cmd, short n, int *Par, boolean deffered) {
/// ToDo: relative patches, configuration
if (deffered) {
setCmd(cmd | CMD_REPORT);
Serial.println(F("Status deffered"));
// mqttClient.publish("/push", "1");
return 0;
// Todo: Parameters? Now expected that parameters already stored by setVal()
}
else { //publush to MQTT
char addrstr[32];
//char addrbuf[17];
char valstr[16] = "";
strcpy_P(addrstr, outprefix);
strncat(addrstr, itemArr->name, sizeof(addrstr));
switch (cmd) {
case CMD_ON:
strcpy(valstr, "ON");
break;
case CMD_OFF:
case CMD_HALT:
strcpy(valstr, "OFF");
break;
// TODO send Par
case 0:
case CMD_SET:
if (Par)
for (short i = 0; i < n; i++) {
char num[4];
snprintf(num, sizeof(num), "%d", Par[i]);
strncat(valstr, num, sizeof(valstr));
if (i != n - 1) {
strcpy(num, ",");
strncat(valstr, num, sizeof(valstr));
}
}
break;
default:
Serial.println(F("Unknown cmd "));
return -1;
}
Serial.print(F("Pub: "));
Serial.print(addrstr);
Serial.print(F("->"));
Serial.println(valstr);
mqttClient.publish(addrstr, valstr,true);
return 0;
}
}