U< warning watchdog : PIC watchdog timer triggered
U< warning spurious <count> : spurious short circuit (fault) etc.
+ U< signalling-problem <train> <foredet> ....
+ U< signalling-problem <train> <foredet> detection <nowdet> : <message>
+
U< debug <context> : <debug message>
+ U< info : <informational message>
======================================================================
static int try(const char *data, const char *conv) {
if (!persist_convert(data,conv)) return 0;
- logmsg(0,0,0, "converted %s using %s",data,conv);
+ oprintf(UPO, "info : converted %s using %s",data,conv);
return 1;
}
return s;
}
-void vlogmsg(const char *intro, Train *tra, const SegmentInfo *segi,
- const char *fmt, va_list al) {
- oprintf(UPO, "log %s", intro);
- if (segi) oprintf(UPO, " @%s", segi->pname);
- if (tra) oprintf(UPO, " %s", tra->pname);
- if (segi || tra) oprintf(UPO, ":");
- oprintf(UPO," ");
- ovprintf(UPO,fmt,al);
- oprintf(UPO, "\n");
-}
-
-void logmsg(const char *intro, Train *tra, const SegmentInfo *segi,
- const char *fmt,...) {
- va_list al;
- va_start(al,fmt);
- vlogmsg(intro,tra,segi,fmt,al);
- va_end(al);
-}
-
void safety_vpanic(Train *tra, Segment *seg,const char *fmt,va_list al) {
char *msg, *where;
PicInsn piob;
static void detection_report_problem(Train *tra, Segment *seg,
void *pu, const char *message) {
- logmsg("SignallingProblemPredicted",tra,seg->i,
- "re detection @%s: %s", tra->foredetect->i->pname, message);
+ oprintf(UPO, "signalling-problem %s @%s detection @%s : %s",
+ tra->pname, tra->foredetect->i->pname, seg->i->pname, message);
}
void safety_notify_detection(Segment *seg) {
* handling, arg parsing, etc.
*/
-void vlogmsg(const char *intro, Train *tra, const SegmentInfo *segi,
- const char *fmt, va_list al) __attribute__((format(printf,4,0)));
-void logmsg(const char *intro, Train *tra, const SegmentInfo *segi,
- const char *fmt, ...) __attribute__((format(printf,4,5)));
-
void safety_vpanic(Train *tra, Segment *seg, const char *fmt, va_list al)
__attribute__((format(printf,3,0),noreturn));
void safety_panic(Train *tra, Segment *seg, const char *fmt,...)