DIY Logging Volt/Ampmeter
ssd1306_tests.c File Reference
#include <string.h>
#include <stdio.h>
#include "ssd1306.h"
#include "ssd1306_tests.h"
#include "stm32f1xx_ll_utils.h"

Go to the source code of this file.

Functions

void ssd1306_TestBorder ()
 
void ssd1306_TestFonts ()
 
void ssd1306_TestFPS ()
 
void ssd1306_TestLine ()
 
void ssd1306_TestRectangle ()
 
void ssd1306_TestCircle ()
 
void ssd1306_TestArc ()
 
void ssd1306_TestPolyline ()
 
void ssd1306_TestAll ()
 

Function Documentation

◆ ssd1306_TestAll()

void ssd1306_TestAll ( )

Definition at line 137 of file ssd1306_tests.c.

137  {
138  ssd1306_Init();
139  ssd1306_TestFPS();
140  LL_mDelay(3000);
143  LL_mDelay(3000);
147  LL_mDelay(3000);
150  LL_mDelay(3000);
152  ssd1306_TestArc();
153  LL_mDelay(3000);
156  LL_mDelay(3000);
157 }

◆ ssd1306_TestArc()

void ssd1306_TestArc ( )

Definition at line 114 of file ssd1306_tests.c.

114  {
115  ssd1306_DrawArc(30, 30, 30, 20, 270, White);
117  return;
118 }

◆ ssd1306_TestBorder()

void ssd1306_TestBorder ( )

Definition at line 8 of file ssd1306_tests.c.

8  {
10 
11  uint32_t start = HAL_GetTick();
12  uint32_t end = start;
13  uint8_t x = 0;
14  uint8_t y = 0;
15  do {
16  ssd1306_DrawPixel(x, y, Black);
17 
18  if((y == 0) && (x < 127))
19  x++;
20  else if((x == 127) && (y < (SSD1306_HEIGHT-1)))
21  y++;
22  else if((y == (SSD1306_HEIGHT-1)) && (x > 0))
23  x--;
24  else
25  y--;
26 
27  ssd1306_DrawPixel(x, y, White);
29 
30  LL_mDelay(5);
31  end = HAL_GetTick();
32  } while((end - start) < 8000);
33 
34  LL_mDelay(1000);
35 }

◆ ssd1306_TestCircle()

void ssd1306_TestCircle ( )

Definition at line 104 of file ssd1306_tests.c.

104  {
105  uint32_t delta;
106 
107  for(delta = 0; delta < 5; delta ++) {
108  ssd1306_DrawCircle(20* delta+30, 15, 10, White);
109  }
111  return;
112 }

◆ ssd1306_TestFonts()

void ssd1306_TestFonts ( )

Definition at line 37 of file ssd1306_tests.c.

37  {
39  ssd1306_SetCursor(2, 0);
40  ssd1306_WriteString("Font 16x26", Font_16x26, White);
41  ssd1306_SetCursor(2, 26);
42  ssd1306_WriteString("Font 11x18", Font_11x18, White);
43  ssd1306_SetCursor(2, 26+18);
44  ssd1306_WriteString("Font 7x10", Font_7x10, White);
45  ssd1306_SetCursor(2, 26+18+10);
46  ssd1306_WriteString("Font 6x8", Font_6x8, White);
48 }

◆ ssd1306_TestFPS()

void ssd1306_TestFPS ( )

Definition at line 50 of file ssd1306_tests.c.

50  {
52 
53  uint32_t start = HAL_GetTick();
54  uint32_t end = start;
55  int fps = 0;
56  char message[] = "ABCDEFGHIJK";
57 
58  ssd1306_SetCursor(2,0);
59  ssd1306_WriteString("Testing...", Font_11x18, Black);
60 
61  do {
62  ssd1306_SetCursor(2, 18);
65 
66  char ch = message[0];
67  memmove(message, message+1, sizeof(message)-2);
68  message[sizeof(message)-2] = ch;
69 
70  fps++;
71  end = HAL_GetTick();
72  } while((end - start) < 5000);
73 
74  LL_mDelay(1000);
75 
76  char buff[64];
77  fps = (float)fps / ((end - start) / 1000.0);
78  snprintf(buff, sizeof(buff), "~%d FPS", fps);
79 
81  ssd1306_SetCursor(2, 2);
84 }

◆ ssd1306_TestLine()

void ssd1306_TestLine ( )

Definition at line 86 of file ssd1306_tests.c.

86  {
87 
91  return;
92 }

◆ ssd1306_TestPolyline()

void ssd1306_TestPolyline ( )

Definition at line 120 of file ssd1306_tests.c.

120  {
121  SSD1306_VERTEX loc_vertex[] =
122  {
123  {35,40},
124  {40,20},
125  {45,28},
126  {50,10},
127  {45,16},
128  {50,10},
129  {53,16}
130  };
131 
132  ssd1306_Polyline(loc_vertex,sizeof(loc_vertex)/sizeof(loc_vertex[0]),White);
134  return;
135 }

◆ ssd1306_TestRectangle()

void ssd1306_TestRectangle ( )

Definition at line 94 of file ssd1306_tests.c.

94  {
95  uint32_t delta;
96 
97  for(delta = 0; delta < 5; delta ++) {
98  ssd1306_DrawRectangle(1 + (5*delta),1 + (5*delta) ,SSD1306_WIDTH-1 - (5*delta),SSD1306_HEIGHT-1 - (5*delta),White);
99  }
101  return;
102 }
ssd1306_TestArc
void ssd1306_TestArc()
Definition: ssd1306_tests.c:114
ssd1306_SetCursor
void ssd1306_SetCursor(uint8_t x, uint8_t y)
Definition: ssd1306.c:344
ssd1306_TestLine
void ssd1306_TestLine()
Definition: ssd1306_tests.c:86
ssd1306_DrawArc
void ssd1306_DrawArc(uint8_t x, uint8_t y, uint8_t radius, uint16_t start_angle, uint16_t sweep, SSD1306_COLOR color)
Definition: ssd1306.c:429
Black
@ Black
Definition: ssd1306.h:106
ssd1306_WriteString
char ssd1306_WriteString(char *str, FontDef Font, SSD1306_COLOR color)
Definition: ssd1306.c:327
ssd1306_TestFPS
void ssd1306_TestFPS()
Definition: ssd1306_tests.c:50
ssd1306_Polyline
void ssd1306_Polyline(const SSD1306_VERTEX *par_vertex, uint16_t par_size, SSD1306_COLOR color)
Definition: ssd1306.c:394
ssd1306_DrawCircle
void ssd1306_DrawCircle(uint8_t par_x, uint8_t par_y, uint8_t par_r, SSD1306_COLOR par_color)
Definition: ssd1306.c:468
ssd1306_UpdateScreen
void ssd1306_UpdateScreen(void)
Definition: ssd1306.c:220
Font_11x18
FontDef Font_11x18
Definition: ssd1306_fonts.c:409
Font_16x26
FontDef Font_16x26
Definition: ssd1306_fonts.c:412
ssd1306_TestBorder
void ssd1306_TestBorder()
Definition: ssd1306_tests.c:8
LL_mDelay
void LL_mDelay(uint32_t Delay)
This function provides accurate delay (in milliseconds) based on SysTick counter flag.
Definition: stm32f1xx_ll_utils.c:182
ssd1306_DrawRectangle
void ssd1306_DrawRectangle(uint8_t x1, uint8_t y1, uint8_t x2, uint8_t y2, SSD1306_COLOR color)
Definition: ssd1306.c:513
SSD1306_VERTEX
Definition: ssd1306.h:123
ssd1306_TestRectangle
void ssd1306_TestRectangle()
Definition: ssd1306_tests.c:94
Font_7x10
FontDef Font_7x10
Definition: ssd1306_fonts.c:406
ssd1306_Init
void ssd1306_Init(void)
Definition: ssd1306.c:94
Font_6x8
FontDef Font_6x8
Definition: ssd1306_fonts.c:403
HAL_GetTick
uint32_t HAL_GetTick(void)
SSD1306_HEIGHT
#define SSD1306_HEIGHT
Definition: ssd1306.h:92
ssd1306_TestPolyline
void ssd1306_TestPolyline()
Definition: ssd1306_tests.c:120
ssd1306_Line
void ssd1306_Line(uint8_t x1, uint8_t y1, uint8_t x2, uint8_t y2, SSD1306_COLOR color)
Definition: ssd1306.c:358
ssd1306_DrawPixel
void ssd1306_DrawPixel(uint8_t x, uint8_t y, SSD1306_COLOR color)
Definition: ssd1306.c:239
ssd1306_TestCircle
void ssd1306_TestCircle()
Definition: ssd1306_tests.c:104
White
@ White
Definition: ssd1306.h:107
SSD1306_WIDTH
#define SSD1306_WIDTH
Definition: ssd1306_conf.h:52
ssd1306_TestFonts
void ssd1306_TestFonts()
Definition: ssd1306_tests.c:37
ssd1306_Fill
void ssd1306_Fill(SSD1306_COLOR color)
Definition: ssd1306.c:199