Prusa MINI Firmware overview
test_display.c File Reference
#include <inttypes.h>
#include <stdlib.h>
#include "cmsis_os.h"
#include "dbg.h"
#include "gui.h"
#include "resource.h"

Typedefs

typedef void() test_display_t(uint16_t cnt)
 

Functions

void test_display_random_dots (uint16_t cnt)
 
void test_display_random_lines (uint16_t cnt)
 
void test_display_random_rects (uint16_t cnt)
 
void test_display_random_filled_rects (uint16_t cnt)
 
void test_display_random_chars_small (uint16_t cnt)
 
void test_display_random_chars_normal (uint16_t cnt)
 
void test_display_random_chars_big (uint16_t cnt)
 
void test_display_random_chars_terminal (uint16_t cnt)
 
void test_display_fade (uint16_t cnt)
 
void test_display_rgbcolors (uint16_t cnt)
 
void test_display_spectrum (uint16_t cnt)
 
void do_test (test_display_t *func, int cnt, char *name, char *unit)
 
void test_display (void)
 
void test_display_random_chars (uint16_t cnt, font_t *font)
 
void spectral_color (float l, float *pr, float *pg, float *pb)
 
void display_fill_rect_sub_rect (rect_ui16_t rc, rect_ui16_t rc1, color_t clr)
 
void test_display_random_png_64x64 (uint16_t count)
 
int __read (struct _reent *_r, void *pv, char *pc, int n)
 
int __write (struct _reent *_r, void *pv, const char *pc, int n)
 
void test_display2 (void)
 

Variables

const uint8_t png_icon_64x64_noise []
 
const uint16_t png_icon_64x64_noise_size
 

Typedef Documentation

◆ test_display_t

typedef void() test_display_t(uint16_t cnt)

Function Documentation

◆ test_display_random_dots()

void test_display_random_dots ( uint16_t  cnt)
57  {
58  uint16_t x;
59  uint16_t y;
60  uint16_t n;
61  uint8_t r;
62  uint8_t g;
63  uint8_t b;
64  color_t clr;
65  for (n = 0; n < cnt; n++) {
66  x = display->w * ((float)rand() / RAND_MAX);
67  y = display->h * ((float)rand() / RAND_MAX);
68  r = 0xff * ((float)rand() / RAND_MAX);
69  g = 0xff * ((float)rand() / RAND_MAX);
70  b = 0xff * ((float)rand() / RAND_MAX);
71  clr = color_rgb(r, g, b);
72  display->set_pixel(point_ui16(x, y), clr);
73  }
74 }
Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_display_random_lines()

void test_display_random_lines ( uint16_t  cnt)
76  {
77  uint16_t x;
78  uint16_t y;
79  uint16_t x1;
80  uint16_t y1;
81  uint16_t n;
82  uint8_t r;
83  uint8_t g;
84  uint8_t b;
85  color_t clr;
86  for (n = 0; n < cnt; n++) {
87  x = display->w * ((float)rand() / RAND_MAX);
88  y = display->h * ((float)rand() / RAND_MAX);
89  x1 = display->w * ((float)rand() / RAND_MAX);
90  y1 = display->h * ((float)rand() / RAND_MAX);
91  r = 0xff * ((float)rand() / RAND_MAX);
92  g = 0xff * ((float)rand() / RAND_MAX);
93  b = 0xff * ((float)rand() / RAND_MAX);
94  clr = color_rgb(r, g, b);
95  display->draw_line(point_ui16(x, y), point_ui16(x1, y1), clr);
96  }
97 }
Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_display_random_rects()

void test_display_random_rects ( uint16_t  cnt)
99  {
100  uint16_t x;
101  uint16_t y;
102  uint16_t w;
103  uint16_t h;
104  uint16_t n;
105  uint8_t r;
106  uint8_t g;
107  uint8_t b;
108  color_t clr;
109  for (n = 0; n < cnt; n++) {
110  x = display->w * ((float)rand() / RAND_MAX);
111  y = display->h * ((float)rand() / RAND_MAX);
112  w = (display->w - x) * ((float)rand() / RAND_MAX);
113  h = (display->h - y) * ((float)rand() / RAND_MAX);
114  r = 0xff * ((float)rand() / RAND_MAX);
115  g = 0xff * ((float)rand() / RAND_MAX);
116  b = 0xff * ((float)rand() / RAND_MAX);
117  clr = color_rgb(r, g, b);
118  display->draw_rect(rect_ui16(x, y, w, h), clr);
119  }
120 }
Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_display_random_filled_rects()

void test_display_random_filled_rects ( uint16_t  cnt)
122  {
123  uint16_t x;
124  uint16_t y;
125  uint16_t w;
126  uint16_t h;
127  uint16_t n;
128  uint8_t r;
129  uint8_t g;
130  uint8_t b;
131  color_t clr;
132  for (n = 0; n < cnt; n++) {
133  x = display->w * ((float)rand() / RAND_MAX);
134  y = display->h * ((float)rand() / RAND_MAX);
135  w = (display->w - x) * ((float)rand() / RAND_MAX);
136  h = (display->h - y) * ((float)rand() / RAND_MAX);
137  r = 0xff * ((float)rand() / RAND_MAX);
138  g = 0xff * ((float)rand() / RAND_MAX);
139  b = 0xff * ((float)rand() / RAND_MAX);
140  clr = color_rgb(r, g, b);
141  display->fill_rect(rect_ui16(x, y, w, h), clr);
142  }
143 }
Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_display_random_chars_small()

void test_display_random_chars_small ( uint16_t  cnt)
172  {
174  test_display_random_chars(cnt, font);
175 }
Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_display_random_chars_normal()

void test_display_random_chars_normal ( uint16_t  cnt)
177  {
179  test_display_random_chars(cnt, font);
180 }
Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_display_random_chars_big()

void test_display_random_chars_big ( uint16_t  cnt)
182  {
184  test_display_random_chars(cnt, font);
185 }
Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_display_random_chars_terminal()

void test_display_random_chars_terminal ( uint16_t  cnt)
187  {
189  test_display_random_chars(cnt, font);
190 }
Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_display_fade()

void test_display_fade ( uint16_t  cnt)
240  {
241  int b;
242  color_t clr;
243  int i;
244  for (i = 0; i < cnt; i++) {
245  b = 255 * i / (cnt - 1);
246  clr = color_rgb(b, b, b);
247  display->clear(clr);
248  }
249 }
Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_display_rgbcolors()

void test_display_rgbcolors ( uint16_t  cnt)
263  {
264  color_t colors[] = {
271  };
272  char *names[] = {
273  "BLACK", "WHITE",
274  "RED", "LIME", "BLUE",
275  "YELLOW", "CYAN", "MAGENTA",
276  "SILVER", "GRAY",
277  "MAROON", "OLIVE", "GREEN",
278  "PURPLE", "TEAL", "NAVY"
279  };
280  int count = sizeof(colors) / sizeof(color_t);
282  int item_height = 20;
283  int i;
284  int n;
285  for (n = 0; n < cnt; n++)
286  for (i = 0; i < count; i++) {
287  int chars = strlen(names[i]);
288  int text_w = chars * font->w;
289  int text_h = font->h;
290  rect_ui16_t rc_item = rect_ui16(0, item_height * i, 240, item_height);
291  rect_ui16_t rc_text = rect_ui16(10, item_height * i + 1, text_w, text_h);
292  //display->fill_rect(rc_item, colors[i]);
293  display_fill_rect_sub_rect(rc_item, rc_text, colors[i]);
294  display->draw_text(rc_text, names[i], font, colors[i], (i == 0) ? COLOR_WHITE : COLOR_BLACK);
295  }
296 }
Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_display_spectrum()

void test_display_spectrum ( uint16_t  cnt)
298  {
299  // int i;
300  int y;
301  float l;
302  float r;
303  float g;
304  float b;
305  color_t clr;
306  int n;
307  for (n = 0; n < cnt; n++)
308  for (y = 0; y < display->h; y++) {
309  l = 400.0F + (3.0F * y / 3.2F);
310  spectral_color(l, &r, &g, &b);
311  clr = color_rgb(255 * r, 255 * g, 255 * b);
312  display->draw_line(point_ui16(0, y), point_ui16(display->w - 1, y), clr);
313  }
314 }
Here is the call graph for this function:
Here is the caller graph for this function:

◆ do_test()

void do_test ( test_display_t func,
int  cnt,
char *  name,
char *  unit 
)
24  {
26 
27 #if (DBG_LEVEL >= 3)
28  uint32_t tim = _microseconds();
29 #endif
30  func(cnt);
31 #if (DBG_LEVEL >= 3)
32  tim = _microseconds() - tim;
33  float spd = (float)cnt * 1000000 / tim;
34  _dbg3(" %-20.20s %5u %5.5ss/sec %5uus/%-5.5s", name, (uint32_t)spd, unit, tim / cnt, unit);
35 #endif
36  osDelay(1000);
37 }
Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_display()

void test_display ( void  )
39  {
40  while (1) {
41  _dbg3("test_display start");
42  do_test(test_display_random_dots, 20000, "random_dots", "dot");
43  do_test(test_display_random_lines, 500, "random_lines", "line");
44  do_test(test_display_random_rects, 500, "random_rects", "rect");
45  do_test(test_display_random_filled_rects, 500, "random_filled_rects", "rect");
46  do_test(test_display_random_chars_small, 3000, "random_chars_small", "char");
47  do_test(test_display_random_chars_normal, 2000, "random_chars_normal", "char");
48  do_test(test_display_random_chars_big, 1500, "random_chars_big", "char");
49  do_test(test_display_random_chars_terminal, 1500, "random_chars_terminal", "char");
50  do_test(test_display_fade, 32, "fade", "frame");
51  do_test(test_display_rgbcolors, 20, "rgbcolors", "frame");
52  do_test(test_display_spectrum, 20, "spectrum", "frame");
53  _dbg3("test_display end\n");
54  }
55 }
Here is the call graph for this function:

◆ test_display_random_chars()

void test_display_random_chars ( uint16_t  cnt,
font_t font 
)
145  {
146  uint16_t x;
147  uint16_t y;
148  uint16_t n;
149  char c;
150  uint8_t r;
151  uint8_t g;
152  uint8_t b;
153  color_t clr0;
154  color_t clr1;
155  for (n = 0; n < cnt; n++) {
156  x = (display->w - font->w) * ((float)rand() / RAND_MAX);
157  y = (display->h - font->h) * ((float)rand() / RAND_MAX);
158  // c = 'a' + ('z' - 'a' + 1) * ((float)rand() / RAND_MAX);
159  c = font->asc_min + (font->asc_max - font->asc_min) * ((float)rand() / RAND_MAX);
160  r = 0xff * ((float)rand() / RAND_MAX);
161  g = 0xff * ((float)rand() / RAND_MAX);
162  b = 0xff * ((float)rand() / RAND_MAX);
163  clr0 = color_rgb(r, g, b);
164  r = 0xff * ((float)rand() / RAND_MAX);
165  g = 0xff * ((float)rand() / RAND_MAX);
166  b = 0xff * ((float)rand() / RAND_MAX);
167  clr1 = color_rgb(r, g, b);
168  display->draw_char(point_ui16(x, y), c, font, clr0, clr1);
169  }
170 }
Here is the call graph for this function:
Here is the caller graph for this function:

◆ spectral_color()

void spectral_color ( float  l,
float *  pr,
float *  pg,
float *  pb 
)
194  {
195  float t;
196  float r = 0.0F;
197  float g = 0.0F;
198  float b = 0.0F;
199  if ((l >= 400.0F) && (l < 410.0F)) {
200  t = (l - 400.0F) / (410.0F - 400.0F);
201  r = +(0.33F * t) - (0.20F * t * t);
202  } else if ((l >= 410.0F) && (l < 475.0F)) {
203  t = (l - 410.0F) / (475.0F - 410.0F);
204  r = 0.14F - (0.13F * t * t);
205  } else if ((l >= 545.0F) && (l < 595.0F)) {
206  t = (l - 545.0F) / (595.0F - 545.0F);
207  r = +(1.98F * t) - (t * t);
208  } else if ((l >= 595.0F) && (l < 650.0F)) {
209  t = (l - 595.0F) / (650.0F - 595.0F);
210  r = 0.98F + (0.06F * t) - (0.40F * t * t);
211  } else if ((l >= 650.0F) && (l < 700.0F)) {
212  t = (l - 650.0F) / (700.0F - 650.0F);
213  r = 0.65F - (0.84F * t) + (0.20F * t * t);
214  }
215  if ((l >= 415.0F) && (l < 475.0F)) {
216  t = (l - 415.0F) / (475.0F - 415.0F);
217  g = +(0.80F * t * t);
218  } else if ((l >= 475.0F) && (l < 590.0F)) {
219  t = (l - 475.0F) / (590.0F - 475.0F);
220  g = 0.80F + (0.76F * t) - (0.80F * t * t);
221  } else if ((l >= 585.0F) && (l < 639.0F)) {
222  t = (l - 585.0F) / (639.0F - 585.0F);
223  g = 0.84F - (0.84F * t);
224  }
225  if ((l >= 400.0F) && (l < 475.0F)) {
226  t = (l - 400.0F) / (475.0F - 400.0F);
227  b = +(2.20F * t) - (1.50F * t * t);
228  } else if ((l >= 475.0F) && (l < 560.0F)) {
229  t = (l - 475.0F) / (560.0F - 475.0F);
230  b = 0.70F - (t) + (0.30F * t * t);
231  }
232  if (pr)
233  *pr = r;
234  if (pg)
235  *pg = g;
236  if (pb)
237  *pb = b;
238 }
Here is the caller graph for this function:

◆ display_fill_rect_sub_rect()

void display_fill_rect_sub_rect ( rect_ui16_t  rc,
rect_ui16_t  rc1,
color_t  clr 
)
251  {
252  rect_ui16_t rc_t = { rc.x, rc.y, rc.w, rc1.y - rc.y };
253  rect_ui16_t rc_b = { rc.x, rc1.y + rc1.h, rc.w, (rc.y + rc.h) - (rc1.y + rc1.h) };
254  rect_ui16_t rc_l = { rc.x, rc.y, rc1.x - rc.x, rc.h };
255  rect_ui16_t rc_r = { rc1.x + rc1.w, rc.y, (rc.x + rc.w) - (rc1.x + rc1.w), rc.h };
256  //display->fill_rect(rc, clr);
257  display->fill_rect(rc_t, clr);
258  display->fill_rect(rc_b, clr);
259  display->fill_rect(rc_l, clr);
260  display->fill_rect(rc_r, clr);
261 }
Here is the caller graph for this function:

◆ test_display_random_png_64x64()

void test_display_random_png_64x64 ( uint16_t  count)
325  {
326  uint16_t x;
327  uint16_t y;
328  uint16_t n;
329  // uint16_t r;
330  // uint16_t g;
331  // uint16_t b;
332  // uint16_t clr565;
333  FILE *pf = fmemopen((void *)png_icon_64x64_noise, png_icon_64x64_noise_size, "rb");
334  for (n = 0; n < count; n++) {
335  x = (display->w - 64) * ((float)rand() / RAND_MAX);
336  y = (display->h - 64) * ((float)rand() / RAND_MAX);
337  display->draw_png(point_ui16(x, y), pf);
338  }
339  fclose(pf);
340 }
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __read()

int __read ( struct _reent *  _r,
void pv,
char *  pc,
int  n 
)
342  {
343  return 0;
344 }

◆ __write()

int __write ( struct _reent *  _r,
void pv,
const char *  pc,
int  n 
)
346  {
347  return 0;
348 }

◆ test_display2()

void test_display2 ( void  )
350  {
351  // FILE* pf = fmemopen(png_a3ides_logo, 2889, "rb");
352  // FILE* pf0 = fmemopen(png_splash_screen, 10318, "rb");
353  // FILE* pf1 = fmemopen((void*)png_status_screen, 11438, "rb");
354  // FILE* pf2 = fmemopen(png_main_menu, 4907, "rb");
355  // uint8_t buf[10];
356  // int c = fread(buf, 1, 6, pf);
357 
358  /* FILE f;
359  memset(&f, 0, sizeof(f));
360  f._read = __read;
361  // f._write = __write;
362  f._file = -1;
363  f._flags = __SRD | __SNBF;
364  f._blksize = 0;
365  f._lbfsize = 0;
366  // f.
367  uint8_t buf[10];
368  int c = fread(buf, 1, 1, &f);
369  */
370  // printf("test\n");
371  while (1) {
372 // osDelay((c>0)?c:0);
373 // if (pf)
374 // pf = fopen("test.x", "rb");
375 //fdev_setup_stream()
376 // HAL_GPIO_WritePin(GPIOC, GPIO_PIN_2, 1)
377 #if 0
378  uint32_t tim;
379  uint32_t spd;
380 #endif
381 
382 #if 0
383  tim = _microseconds();
385  tim = _microseconds() - tim;
386  _dbg3("display_clear %u", tim);
387 #endif
388 
389 #if 0
391  tim = _microseconds();
393  tim = _microseconds() - tim;
394  spd = 100 * 1000000 / tim;
395  _dbg3("test_random_png_64x64 %u (%u icons/sec)", tim, spd);
396  osDelay(1000);
397 #endif
398 
399  /* tim = _microseconds();
400  display->fill_rect(64, 64, 128, 128, CLR565_BLUE);
401  tim = _microseconds() - tim;
402  _dbg3("fill_rect %u", tim);
403  osDelay(1000);*/
404 
405  // st7789v_draw_pict(10, 10, 83, 63, (uint16_t*)png_a3ides_logo);
406  // st7789v_draw_png(10, 10, pf);
407  // osDelay(1000);
408  // st7789v_draw_png(0, 0, pf0);
409  // osDelay(1000);
410 
411  // tim = _microseconds();
412  // display->draw_png(0, 0, pf1);
413  // tim = _microseconds() - tim;
414  // _dbg3("draw_png %u", tim);
415  // osDelay(1000);
416  // st7789v_draw_png(0, 0, pf2);
417  // osDelay(2000);
418  /*
419  osDelay(1000);*/
420  /* st7789v_display_clear(CLR565_GREEN);
421  // st7789v_draw_line(0, 0, 239, 0, CLR565_BLUE);
422  st7789v_display_clear(CLR565_RED);
423  st7789v_fill_rect(20, 20, 64, 64, CLR565_YELLOW);
424  osDelay(1000);
425  // HAL_GPIO_WritePin(GPIOC, GPIO_PIN_2, 0);
426  st7789v_display_clear(CLR565_GREEN);
427  osDelay(1000);
428  st7789v_display_clear(CLR565_BLUE);
429  st7789v_draw_text(10, 10, 0, 0, "Testik", &font_12x12, CLR565_YELLOW);
430  osDelay(1000);
431  //osDelay(1000);
432  st7789v_spectrum();
433  osDelay(1000);
434  //osDelay(1000);
435  for (i = 0; i < 200; i++)
436  {
437  disp_set_pixel(i, i, CLR565_RED);
438  }
439  osDelay(1000);*/
440  }
441 }
Here is the call graph for this function:

Variable Documentation

◆ png_icon_64x64_noise

const uint8_t png_icon_64x64_noise[]

◆ png_icon_64x64_noise_size

const uint16_t png_icon_64x64_noise_size
COLOR_MAROON
#define COLOR_MAROON
Definition: guitypes.h:51
_rect_ui16_t::y
uint16_t y
Definition: guitypes.h:71
_font_t::h
uint8_t h
Definition: guitypes.h:78
_display_t::h
uint16_t h
Definition: display.h:26
_rect_ui16_t::w
uint16_t w
Definition: guitypes.h:72
_font_t
Definition: guitypes.h:76
COLOR_NAVY
#define COLOR_NAVY
Definition: guitypes.h:56
_display_t::draw_char
display_draw_char_t * draw_char
Definition: display.h:34
COLOR_WHITE
#define COLOR_WHITE
Definition: guitypes.h:41
COLOR_TEAL
#define COLOR_TEAL
Definition: guitypes.h:55
unit
png_const_structrp png_const_inforp int * unit
Definition: png.h:2161
COLOR_RED
#define COLOR_RED
Definition: guitypes.h:42
COLOR_MAGENTA
#define COLOR_MAGENTA
Definition: guitypes.h:48
rect_ui16
static rect_ui16_t rect_ui16(uint16_t x, uint16_t y, uint16_t w, uint16_t h)
Definition: guitypes.h:159
IDR_FNT_NORMAL
#define IDR_FNT_NORMAL
Definition: resource.h:10
i
uint8_t i
Definition: screen_test_graph.c:72
_microseconds
uint32_t _microseconds(void)
Definition: dbg.c:113
_dbg3
#define _dbg3(...)
Definition: dbg.h:15
COLOR_LIME
#define COLOR_LIME
Definition: guitypes.h:44
_display_t::draw_text
display_draw_text_t * draw_text
Definition: display.h:35
F
#define F(str)
Definition: UHS_macros.h:164
osDelay
osStatus osDelay(uint32_t millisec)
Wait for Timeout (Time Delay)
Definition: cmsis_os.c:365
_display_t::fill_rect
display_fill_rect_t * fill_rect
Definition: display.h:33
test_display_random_dots
void test_display_random_dots(uint16_t cnt)
Definition: test_display.c:57
COLOR_GRAY
#define COLOR_GRAY
Definition: guitypes.h:50
COLOR_YELLOW
#define COLOR_YELLOW
Definition: guitypes.h:46
IDR_FNT_TERMINAL
#define IDR_FNT_TERMINAL
Definition: resource.h:12
test_display_random_chars_big
void test_display_random_chars_big(uint16_t cnt)
Definition: test_display.c:182
COLOR_GREEN
#define COLOR_GREEN
Definition: guitypes.h:53
test_display_random_chars_normal
void test_display_random_chars_normal(uint16_t cnt)
Definition: test_display.c:177
_font_t::asc_max
char asc_max
Definition: guitypes.h:83
png_icon_64x64_noise
const uint8_t png_icon_64x64_noise[]
Definition: png_icon_64x64_noise.c:4
COLOR_PURPLE
#define COLOR_PURPLE
Definition: guitypes.h:54
test_display_random_filled_rects
void test_display_random_filled_rects(uint16_t cnt)
Definition: test_display.c:122
_font_t::w
uint8_t w
Definition: guitypes.h:77
netif::name
char name[2]
Definition: netif.h:307
_display_t::draw_png
display_draw_png_t * draw_png
Definition: display.h:37
png_icon_64x64_noise_size
const uint16_t png_icon_64x64_noise_size
Definition: png_icon_64x64_noise.c:5101
do_test
void do_test(test_display_t *func, int cnt, char *name, char *unit)
Definition: test_display.c:24
test_display_random_chars_small
void test_display_random_chars_small(uint16_t cnt)
Definition: test_display.c:172
_display_t::set_pixel
display_set_pixel_t * set_pixel
Definition: display.h:30
_display_t::clear
display_clear_t * clear
Definition: display.h:29
test_display_random_png_64x64
void test_display_random_png_64x64(uint16_t count)
Definition: test_display.c:325
_rect_ui16_t
Definition: guitypes.h:69
uint8_t
const uint8_t[]
Definition: 404_html.c:3
IDR_FNT_BIG
#define IDR_FNT_BIG
Definition: resource.h:11
display
display_t * display
Definition: display.c:6
_rect_ui16_t::h
uint16_t h
Definition: guitypes.h:73
COLOR_BLUE
#define COLOR_BLUE
Definition: guitypes.h:45
_display_t::draw_rect
display_draw_rect_t * draw_rect
Definition: display.h:32
resource_font
font_t * resource_font(uint16_t id)
Definition: guitypes.c:186
COLOR_CYAN
#define COLOR_CYAN
Definition: guitypes.h:47
IDR_FNT_SMALL
#define IDR_FNT_SMALL
Definition: resource.h:9
COLOR_BLACK
#define COLOR_BLACK
Definition: guitypes.h:40
_rect_ui16_t::x
uint16_t x
Definition: guitypes.h:70
_display_t::w
uint16_t w
Definition: display.h:25
color_rgb
static color_t color_rgb(uint8_t r, uint8_t g, uint8_t b)
Definition: guitypes.h:128
color_t
uint32_t color_t
Definition: guitypes.h:62
COLOR_SILVER
#define COLOR_SILVER
Definition: guitypes.h:49
COLOR_OLIVE
#define COLOR_OLIVE
Definition: guitypes.h:52
display_fill_rect_sub_rect
void display_fill_rect_sub_rect(rect_ui16_t rc, rect_ui16_t rc1, color_t clr)
Definition: test_display.c:251
_font_t::asc_min
char asc_min
Definition: guitypes.h:82
test_display_random_chars
void test_display_random_chars(uint16_t cnt, font_t *font)
Definition: test_display.c:145
test_display_fade
void test_display_fade(uint16_t cnt)
Definition: test_display.c:240
test_display_random_rects
void test_display_random_rects(uint16_t cnt)
Definition: test_display.c:99
test_display_random_chars_terminal
void test_display_random_chars_terminal(uint16_t cnt)
Definition: test_display.c:187
test_display_random_lines
void test_display_random_lines(uint16_t cnt)
Definition: test_display.c:76
spectral_color
void spectral_color(float l, float *pr, float *pg, float *pb)
Definition: test_display.c:194
createSpeedLookupTable.b
list b
Definition: createSpeedLookupTable.py:30
test_display_spectrum
void test_display_spectrum(uint16_t cnt)
Definition: test_display.c:298
_display_t::draw_line
display_draw_line_t * draw_line
Definition: display.h:31
test_display_rgbcolors
void test_display_rgbcolors(uint16_t cnt)
Definition: test_display.c:263
point_ui16
static point_ui16_t point_ui16(uint16_t x, uint16_t y)
Definition: guitypes.h:154