34 #include "lib/simEnvChange.h" 36 #define IMPLEMENT_PRINTF 1 38 #ifndef MAX_LOG_LENGTH 39 #define MAX_LOG_LENGTH 8192 43 const struct simInterface simlog_interface;
46 char simLoggedData[MAX_LOG_LENGTH];
54 if (simLoggedLength + 1 > MAX_LOG_LENGTH) {
59 simLoggedData[simLoggedLength] = c;
65 simlog(
const char *message)
67 if (simLoggedLength + strlen(message) > MAX_LOG_LENGTH) {
72 memcpy(simLoggedData + simLoggedLength, message, strlen(message));
73 simLoggedLength += strlen(message);
78 log_message(
const char *part1,
const char *part2)
85 doInterfaceActionsBeforeTick(
void)
90 doInterfaceActionsAfterTick(
void)
94 static int log_putchar_with_slip;
96 log_set_putchar_with_slip(
int with)
98 log_putchar_with_slip = with;
105 #define SLIP_END 0300 106 static char debug_frame = 0;
108 if(log_putchar_with_slip) {
109 simlog_char(SLIP_END);
112 simlog_char(SLIP_END);
117 simlog_char((
char)c);
124 simlog_char(SLIP_END);
144 printf(
const char *fmt, ...)
147 static char buf[MAX_LOG_LENGTH];
152 res = vsnprintf(buf, MAX_LOG_LENGTH, fmt, ap);
156 for(i = 0; i < res; i++) {
164 SIM_INTERFACE(simlog_interface,
165 doInterfaceActionsBeforeTick,
166 doInterfaceActionsAfterTick);