Beispiel #1
0
void displayInfo() {
    Switch_t *swtch;
    unsigned int i, count, lines;

    SENSORS_PER_LINE = RIGHT_HALF / 10;
    lines = SENSORS_PER_LINE;
    lines = (TRAIN_SWITCH_COUNT / lines) + (TRAIN_SWITCH_COUNT % lines);
    count = TRAIN_SWITCH_COUNT;
    kdebug("Debugging Enabled...\r\nNumber of Debug Lines: %d", lines);
    kprintf("====Switches===" MOVE_TO_COL CHANGE_COLOR "Train Calibration:" CHANGE_COLOR "\r\n" MOVE_TO_COL
            "| Train | Velocity | Landmark | Distance (mm) | Next Landmark | ETA (ticks) | ATA (ticks) | Resv          | "
            MOVE_TO_COL, RIGHT_HALF + 5, YELLOW, 0, RIGHT_HALF + 5, 0);
    while (count > 0) {
        for (i = 0; i < MIN(count, SENSORS_PER_LINE); ++i) {
            if (count <= 4) {
                swtch = getSwitch(MULTI_SWITCH_OFFSET + (TRAIN_SWITCH_COUNT - count + i + 1));
            } else {
                swtch = getSwitch(TRAIN_SWITCH_COUNT - count + i + 1);
                if (swtch->id < 10) {
                    kputstr("00");
                } else if (swtch->id < 100) {
                    kputstr("0");
                }
            }
            kprintf("%d: %c    ", swtch->id, SWITCH_CHAR(swtch->state));
        }
        count -= MIN(SENSORS_PER_LINE, count);
        kputstr(NEW_LINE);
    }
    kputstr("\r\n====Sensors====\r\n\r\n\r\n");
    kprintf(SAVE_CURSOR SET_SCROLL RESTORE_CURSOR, TERM_OFFSET + lines + 4, TERMINAL_HEIGHT);
    TERM_BOTTOM = TERM_OFFSET + lines + 4;
}
Beispiel #2
0
void	kputnbr(int n)
{
  char	buff[21];
  int	i;

  i = 0;
  if (n < 0)
    {
      n = -n;
      buff[i++] = '-';
    }
  do
    {
      buff[i] = n % 10 + '0';
      n = n / 10;
      i++;
    }
  while (n != 0);
  buff[i] = 0;
  if (buff[0] == '-')
    krevstr(buff + 1);
  else
    krevstr(buff);
  kputstr(buff);
}
Beispiel #3
0
void initDebug() {
    initCalibration();
    kprintf(HIDE_CURSOR ERASE_SCREEN CHANGE_COLOR, 0);
    kprintf(SET_COLS_132 "\033[7;%dh", TERMINAL_WIDTH);
    #if DEBUG
        unsigned int i;
        kprintf(MOVE_CURSOR, BOTTOM_HALF, 0);
        /* print seperator for debug/command halves */
        for (i = 0; i < TERMINAL_WIDTH; ++i) {
            kputstr("=");
        }
        kprintf(MOVE_CURSOR, TOP_HALF, 0);
        kprintf(SET_SCROLL, BOTTOM_HALF + 1, TERMINAL_HEIGHT);
        kprintf(MOVE_CURSOR, BOTTOM_HALF + 1, 0);
        TERM_OFFSET = BOTTOM_HALF;
    #else
        TERM_OFFSET = TOP_HALF;
        kprintf(MOVE_CURSOR, TOP_HALF, 0);
    #endif
    kputstr("\033[37mCS452 Real-Time Microkernel (Version 0.2.0) \n"
            "Copyright <c> Max Chen (mqchen), Ford Peprah (hkpeprah).  All rights reserved.\033[0m \n"
            "\033[32mTime:           \033[35mCPU Idle:\033[0m\r\n\r\n");
    TERM_OFFSET += 5;
}
Beispiel #4
0
int kputoct(WORD w) {
  char buff[7];
  itoo(w, buff);
  return kputstr(buff,6);
}