aboutsummaryrefslogtreecommitdiffstats
path: root/mock-server
diff options
context:
space:
mode:
Diffstat (limited to 'mock-server')
-rw-r--r--mock-server/MockServer.cpp103
-rw-r--r--mock-server/MockServer.h13
2 files changed, 116 insertions, 0 deletions
diff --git a/mock-server/MockServer.cpp b/mock-server/MockServer.cpp
index 981bd1c..d83ad17 100644
--- a/mock-server/MockServer.cpp
+++ b/mock-server/MockServer.cpp
@@ -121,6 +121,32 @@ MockServer::handleCommand (QTcpSocket *client, const QByteArray &line)
handleGsJcVersion (client);
else if (cmd == "GS_PH_VERSION")
handleGsPhVersion (client, params);
+ /* CN_ JC success shape (no params needed) */
+ else if (cmd == "CN_JETTING_ALL_ON" || cmd == "CN_JETTING_ON"
+ || cmd == "CN_JETTING_OFF" || cmd == "CN_JC_ID_LED_ON"
+ || cmd == "CN_JC_ID_LED_OFF" || cmd == "CN_JC_CALIBRATION"
+ || cmd == "CN_JC_RESET_FAULT_CODES")
+ handleCnJcSuccess (client, cmd);
+ /* CN_ PH success shape (params carry printheadId) */
+ else if (cmd == "CN_PH_JETTING_ON" || cmd == "CN_PH_JETTING_OFF"
+ || cmd == "CN_PH_ID_LED_ON" || cmd == "CN_PH_ID_LED_OFF"
+ || cmd == "CN_PH_CALIBRATION" || cmd == "CN_PH_RESET_FAULT_CODES"
+ || cmd == "CN_PH_NOZZLES_DISABLED")
+ handleCnPhSuccess (client, cmd, params);
+ /* CN_ custom-shape commands */
+ else if (cmd == "CN_PH_CALIBRATION_DATA")
+ handleCnPhCalibrationData (client, params);
+ else if (cmd == "CN_PH_CALIBRATION_RAW_DATA")
+ handleCnPhCalibrationRawData (client, params);
+ else if (cmd == "CN_PH_CALIBRATED_BASE_FREQUENCY")
+ handleCnPhCalibratedBaseFrequency (client, params);
+ /* CN_ status messaging (arrives on status port) */
+ else if (cmd == "CN_JC_STATUS_MESSAGING_START"
+ || cmd == "CN_PH_STATUS_MESSAGING_START")
+ handleCnStatusMessagingStart (client, cmd, params);
+ else if (cmd == "CN_JC_STATUS_MESSAGING_STOP"
+ || cmd == "CN_PH_STATUS_MESSAGING_STOP")
+ handleCnStatusMessagingStop (client, cmd);
else
qWarning ("%s Unknown command: %s",
qPrintable (logTag (client->localPort ())), cmd.constData ());
@@ -167,3 +193,80 @@ MockServer::handleGsPhVersion (QTcpSocket *client, const QByteArray &params)
+ ",\"3.10\",\"1.00\",\"Standard\","
"\"2.05\",\"1.02\",\"0.9.1\"\n");
}
+
+void
+MockServer::handleCnJcSuccess (QTcpSocket *client, const QByteArray &cmd)
+{
+ qDebug ("%s RX %s", qPrintable (logTag (client->localPort ())),
+ cmd.constData ());
+ sendReply (client, cmd + ",1,1\n");
+}
+
+void
+MockServer::handleCnPhSuccess (QTcpSocket *client, const QByteArray &cmd,
+ const QByteArray &params)
+{
+ qDebug ("%s RX %s,%s", qPrintable (logTag (client->localPort ())),
+ cmd.constData (), params.constData ());
+ /* Extract printhead ID (first field before any comma). */
+ int comma = params.indexOf (',');
+ QByteArray phId = (comma >= 0) ? params.left (comma) : params;
+ sendReply (client, cmd + ",1," + phId + ",1\n");
+}
+
+void
+MockServer::handleCnPhCalibrationData (QTcpSocket *client,
+ const QByteArray &params)
+{
+ qDebug ("%s RX CN_PH_CALIBRATION_DATA,%s",
+ qPrintable (logTag (client->localPort ())), params.constData ());
+ /* Reply: controllerId, phId, then 48 floats (-1 = uncalibrated). */
+ QByteArray reply = "CN_PH_CALIBRATION_DATA,1," + params;
+ for (int i = 0; i < 48; ++i)
+ reply += ",-1";
+ reply += '\n';
+ sendReply (client, reply);
+}
+
+void
+MockServer::handleCnPhCalibrationRawData (QTcpSocket *client,
+ const QByteArray &params)
+{
+ qDebug ("%s RX CN_PH_CALIBRATION_RAW_DATA,%s",
+ qPrintable (logTag (client->localPort ())), params.constData ());
+ QByteArray reply = "CN_PH_CALIBRATION_RAW_DATA,1," + params;
+ for (int i = 0; i < 48; ++i)
+ reply += ",-1";
+ reply += '\n';
+ sendReply (client, reply);
+}
+
+void
+MockServer::handleCnPhCalibratedBaseFrequency (QTcpSocket *client,
+ const QByteArray &params)
+{
+ qDebug ("%s RX CN_PH_CALIBRATED_BASE_FREQUENCY,%s",
+ qPrintable (logTag (client->localPort ())), params.constData ());
+ sendReply (client,
+ "CN_PH_CALIBRATED_BASE_FREQUENCY,1," + params + ",10.0,10.0\n");
+}
+
+void
+MockServer::handleCnStatusMessagingStart (QTcpSocket *client,
+ const QByteArray &cmd,
+ const QByteArray &params)
+{
+ qDebug ("%s RX %s,%s", qPrintable (logTag (client->localPort ())),
+ cmd.constData (), params.constData ());
+ /* Echo back: controllerId, level, interval, success. */
+ sendReply (client, cmd + ",1," + params + ",1\n");
+}
+
+void
+MockServer::handleCnStatusMessagingStop (QTcpSocket *client,
+ const QByteArray &cmd)
+{
+ qDebug ("%s RX %s", qPrintable (logTag (client->localPort ())),
+ cmd.constData ());
+ sendReply (client, cmd + ",1,1\n");
+}
diff --git a/mock-server/MockServer.h b/mock-server/MockServer.h
index ce76889..c07cdbe 100644
--- a/mock-server/MockServer.h
+++ b/mock-server/MockServer.h
@@ -43,6 +43,19 @@ private:
void handleKaPing (QTcpSocket *client, const QByteArray &params);
void handleGsJcVersion (QTcpSocket *client);
void handleGsPhVersion (QTcpSocket *client, const QByteArray &params);
+ /* CN_ control command handlers */
+ void handleCnJcSuccess (QTcpSocket *client, const QByteArray &cmd);
+ void handleCnPhSuccess (QTcpSocket *client, const QByteArray &cmd,
+ const QByteArray &params);
+ void handleCnPhCalibrationData (QTcpSocket *client,
+ const QByteArray &params);
+ void handleCnPhCalibrationRawData (QTcpSocket *client,
+ const QByteArray &params);
+ void handleCnPhCalibratedBaseFrequency (QTcpSocket *client,
+ const QByteArray &params);
+ void handleCnStatusMessagingStart (QTcpSocket *client, const QByteArray &cmd,
+ const QByteArray &params);
+ void handleCnStatusMessagingStop (QTcpSocket *client, const QByteArray &cmd);
Port m_command;
Port m_imaging;