|
|
@@ -608,6 +608,7 @@ static void handleTcpBridgeClient(WiFiClient& client)
|
|
|
Serial.printf("TCP WRITE addr=0x%04X len=%u regSz=%u safeload=%u\n",
|
|
|
writeHeader.address, writeHeader.dataLen, registerSize, writeHeader.safeload);
|
|
|
|
|
|
+ bool writeOk = true;
|
|
|
if (writeHeader.safeload == 1) {
|
|
|
if (writeHeader.dataLen % 4 != 0) {
|
|
|
Serial.printf("TCP safeload dataLen %u not multiple of 4\n", writeHeader.dataLen);
|
|
|
@@ -623,13 +624,14 @@ static void handleTcpBridgeClient(WiFiClient& client)
|
|
|
regAddress++; slri += 4; writeCount--; delay(0);
|
|
|
}
|
|
|
} else {
|
|
|
- DSPWriter::writeRegisterBlock(regAddress, writeHeader.dataLen,
|
|
|
- &dataBuffer[readIndex], registerSize);
|
|
|
+ writeOk = DSPWriter::writeRegisterBlock(regAddress, writeHeader.dataLen,
|
|
|
+ &dataBuffer[readIndex], registerSize);
|
|
|
+ if (!writeOk) Serial.println("TCP DSP block write failed");
|
|
|
}
|
|
|
|
|
|
readIndex += writeHeader.dataLen;
|
|
|
- sendWriteAck(client, true);
|
|
|
- ledOff();
|
|
|
+ if (!writeOk) ledErrorFlash(); else ledOff();
|
|
|
+ sendWriteAck(client, writeOk);
|
|
|
currentState = STATE_START;
|
|
|
processedSomething = true;
|
|
|
continue;
|