/* * Update and redraw thumb text of screensave timeout slider. */ void update_screenbox( void ) { OBJECT *tree = (OBJECT *)rs_trindex[MACCEL]; if( dodelay ) sl_delay(); TedText(SCRNTHUM)[0] = '0' + ma_work.timeout; Objc_draw( tree, SCRNTHUM, MAX_DEPTH, NULL ); }
/* * Update and redraw thumb text of autopark timeout slider. */ void update_parkbox( void ) { OBJECT *tree = (OBJECT *)rs_trindex[MACCEL]; if( dodelay ) sl_delay(); itoa2( ma_work.savepark, TedText(PARKTHUM) ); Objc_draw( tree, PARKTHUM, MAX_DEPTH, NULL ); }
int main(int argc, char *argv[]) { #ifdef __XENO__ struct sched_param param = { 99 }; mlockall(MCL_CURRENT | MCL_FUTURE); pthread_setschedparam(pthread_self(), SCHED_FIFO, ¶m); #endif if (!raspi_map_hw()) { perror("Could not map hardware registers"); exit(1); } #ifdef __XENO__ pthread_set_mode_np(0, PTHREAD_WARNSW|PTHREAD_PRIMARY); #endif // ILI9341(int8_t _CS, int8_t _DC, int8_t _RST, int8_t _BL, int8_t _MOSI, int8_t _SCLK, int8_t _MISO); ILI9341 tft = ILI9341(PIN_CS, PIN_DC, PIN_RESET, PIN_BL, PIN_MOSI, PIN_SCLK, PIN_MISO); printf("Setting up TFT...\n"); tft.begin(); g_HWSPI=0; if (argc > 1) { g_HWSPI=1; } if (g_HWSPI) { printf("Setup HW SPI parameters...\n"); } else { printf("Setup SW SPI (Bit-Banger) parameters...\n"); } printf("HWReset done, initializing display\n") ; int i, colors[8] = { ILI9341_BLACK, ILI9341_BLUE, ILI9341_RED, ILI9341_GREEN, ILI9341_CYAN, ILI9341_MAGENTA, ILI9341_WHITE, ILI9341_YELLOW }; begin(); printf("Done intializing, now fill screens...\n"); for (i=0;i<8 ;i++ ) { fillScreen(ILI9341_BLACK); //sleep(1); fillScreen(colors[i]); //sleep (2); } printf("Setting up for HWreset\n"); printf("Benchmark\tTime (microseconds)\n"); printf("Screen fill\t%f\n", testFillScreen()); sl_delay(500); printf("Text\t%f\n",testText()); sl_delay(3000); printf("Lines\t%f\n",testLines(ILI9341_CYAN)); sl_delay(500); printf("Horiz/Vert Lines\t%f\n", testFastLines(ILI9341_RED, ILI9341_BLUE)); sl_delay(500); printf("Rectangles (outline)\t%f",testRects(ILI9341_GREEN)); sl_delay(500); printf("Rectangles (filled)\t%f\n", testFilledRects(ILI9341_YELLOW, ILI9341_MAGENTA)); sl_delay(500); printf("Circles (filled)\t%f\n", testFilledCircles(10, ILI9341_MAGENTA)); printf("Circles (outline)\t%f\n", testCircles(10, ILI9341_WHITE)); sl_delay(500); printf("Triangles (outline)\t%f\n", testTriangles()); sl_delay(500); printf("Triangles (filled)\t%f\n", testFilledTriangles()); sl_delay(500); printf("Rounded rects (outline)\t%f\n", testRoundRects()); sl_delay(500); printf("Rounded rects (filled)\t%f\n", testFilledRoundRects()); sl_delay(500); printf("Done!\n"); for(uint8_t rotation=0; rotation<4; rotation++) { tft.setRotation(rotation); testText(); sl_delay(1000); } #ifdef __XENO__ pthread_set_mode_np(PTHREAD_WARNSW, 0); #endif return 1; }