void debug_exception(unsigned int type, unsigned int address) { __sync_synchronize(); console_set_fg_color(CONSOLE_RED); if (type == 0) { printf("\nUndefined exception at address: %p\n",address); } else if (type == 1) { printf("\nPrefetch abort at address: %p\n",address); } else if (type == 2) { printf("\nData abort at address: %p\n", address); } else { printf("\nUnknown exception! [%d]\n", type); } console_set_fg_color(CONSOLE_WHITE); #if defined (H3) h3_watchdog_disable(); #else bcm2835_watchdog_stop(); #endif for(;;); }
void TimeCode::Start(void) { console_save_cursor(); console_set_cursor(COLUMN, ROW); console_set_fg_color(CONSOLE_CYAN); console_puts(timecode); console_restore_cursor(); }
static void handle_bool(const bool b) { if (b) { console_save_color(); console_set_fg_color(CONSOLE_GREEN); console_puts("Yes"); console_restore_color(); } else { console_puts("No"); } }
/** * * @param ArtNetTimeCode */ void TimeCode::Handler(const struct TArtNetTimeCode *ArtNetTimeCode) { itoa_base10(ArtNetTimeCode->Hours, (char *) &timecode[0]); itoa_base10(ArtNetTimeCode->Minutes, (char *) &timecode[3]); itoa_base10(ArtNetTimeCode->Seconds, (char *) &timecode[6]); itoa_base10(ArtNetTimeCode->Frames, (char *) &timecode[9]); if ((prev_type != ArtNetTimeCode->Type) && (ArtNetTimeCode->Type < (uint8_t) 4)) { memcpy((char *) &timecode[12], (char *) types[ArtNetTimeCode->Type], 5); prev_type = ArtNetTimeCode->Type; } console_save_cursor(); console_set_cursor(COLUMN, ROW); console_set_fg_color(CONSOLE_CYAN); console_write(timecode, TIMECODE_LENGTH); console_restore_cursor(); }