chiark / gitweb /
suppress output of general pings to simulation log
authorian <ian>
Mon, 14 Jul 2008 22:08:31 +0000 (22:08 +0000)
committerian <ian>
Mon, 14 Jul 2008 22:08:31 +0000 (22:08 +0000)
hostside/realtime.c
hostside/realtime.h
hostside/startup.c

index 9a73731f49ca34211d69292f39a33b79c4d78bfd..6a6930287c9c2270795bd3886caeedb676b6037e 100644 (file)
@@ -284,6 +284,10 @@ void serial_indata_process(int buf_used) {
 /*---------- serial port output (not via liboop) ----------*/
 
 void serial_transmit(const PicInsn *pi) {
+  serial_transmit_maybenosim(pi, 0);
+}
+  
+void serial_transmit_maybenosim(const PicInsn *pi, int nosim) {
   const PicInsnInfo *pii;
   int obj, v, suppress=0;
 
@@ -312,11 +316,11 @@ void serial_transmit(const PicInsn *pi) {
     else if (pii->noiselevel > picio_send_noise)
       suppress= 1;
     else
-      oupicio("out",pii,obj,v,ouprintf);
+      oupicio("out",pii,obj,v, nosim ? ouprintf_only : ouprintf);
   }
 
   if (!suppress && picio_send_noise >= 2)
-    ouhex("picioh out", pi->d, pi->l);
+    (nosim ? ouhex_nosim : ouhex)("picioh out", pi->d, pi->l);
 
   /* note that the serial port is still in nonblocking mode.  if
    * we ever buffer up far enough that the kernel wants to make us
index 6df39a7451704e2a6e314b64b59a64f243434322..ca8d239ef637e80d37b26fd5bf6884e46ddc5f05 100644 (file)
@@ -150,6 +150,7 @@ void ouhex(const char *word, const Byte *command, int length);
 void ouhex_nosim(const char *word, const Byte *command, int length);
 
 void serial_transmit(const PicInsn *pi);
+void serial_transmit_maybenosim(const PicInsn *pi, int nosim);
 void command_doline(ParseState *ps, CommandInput *cmdi_arg);
 const CmdInfo *current_cmd;
 
index 1e42ae82815e84abd8b90a9d80a6b41057fcb609..1496e9754aeb2c8f028099095cd484546194333d 100644 (file)
@@ -25,7 +25,7 @@ static void timedout_ping(TimeoutEvent *toev) {
 
 static void timefor_ping(TimeoutEvent *toev) {
   enco_pic_ping(&piob, pong_seq ^ PING_PONG_PATTERN);
-  serial_transmit(&piob);
+  serial_transmit_maybenosim(&piob, toev->pclass == toev_fast_pclass);
   ping_toev.callback= timedout_ping;
   ping_toev.pclass= "startup";
   toev_start(&ping_toev);