Skip to content

Commit

Permalink
Update GyverOLED.h
Browse files Browse the repository at this point in the history
  • Loading branch information
AlexGyver committed May 6, 2021
1 parent 00af183 commit 446e3ef
Showing 1 changed file with 28 additions and 14 deletions.
42 changes: 28 additions & 14 deletions GyverOLED [dev]/GyverOLED.h
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
#ifndef GyverOLED_h
#define GyverOLED_h
// чёто не работает с буфером текст в принтТест

// 27.02.2021 - исправил непечатающуюся нижнюю строку
// 16.03.2021 - исправлены символы [|]~$
// 26.03.2021 - добавил кривую Безье
// 10.04.2021 - совместимость с есп
/*
GyverOLED - лёгкая и быстрая библиотека для OLED дисплея
- Поддержка OLED дисплеев на SSD1306/SSH1106 с разрешением 128х64 и 128х32 с подключением по I2C
Expand Down Expand Up @@ -497,21 +501,21 @@ class GyverOLED : public Print {
▅ ▅ ▅ ▅ ▅ ▅
▅ ▅ ▅ ▅ ▅
*/
if (fill == OLED_FILL) {
fastLineV(x0, y0+2, y1-2);
fastLineV(x0+1, y0+1, y1-1);
fastLineV(x1-1, y0+1, y1-1);
fastLineV(x1, y0+2, y1-2);
rect(x0+2, y0, x1-2, y1, OLED_FILL);
} else {
if (fill == OLED_STROKE) {
fastLineV(x0, y0+2, y1-2);
fastLineV(x1, y0+2, y1-2);
fastLineH(y0, x0+2, x1-2);
fastLineH(y1, x0+2, x1-2);
dot(x0+1, y0+1);
dot(x1-1, y0+1);
dot(x1-1, y1-1);
dot(x0+1, y1-1);
dot(x0+1, y1-1);
} else {
fastLineV(x0, y0+2, y1-2, fill);
fastLineV(x0+1, y0+1, y1-1, fill);
fastLineV(x1-1, y0+1, y1-1, fill);
fastLineV(x1, y0+2, y1-2, fill);
rect(x0+2, y0, x1-2, y1, fill);
}
}

Expand Down Expand Up @@ -551,10 +555,10 @@ class GyverOLED : public Print {
dot(x - y1, y - x1);
} else { // FILL / CLEAR

fastLineV(x + x1, y - y1, y + y1-1, fillLine);
fastLineV(x - x1, y - y1, y + y1-1, fillLine);
fastLineV(x + y1, y - x1, y + x1-1, fillLine);
fastLineV(x - y1, y - x1, y + x1-1, fillLine);
fastLineV(x + x1, y - y1, y + y1, fillLine);
fastLineV(x - x1, y - y1, y + y1, fillLine);
fastLineV(x + y1, y - x1, y + x1, fillLine);
fastLineV(x - y1, y - x1, y + x1, fillLine);
/*
fastLineH(y + y1, x - x1, x + x1-1, fillLine);
fastLineH(y - y1, x - x1, x + x1-1, fillLine);
Expand All @@ -564,7 +568,17 @@ class GyverOLED : public Print {
}
}
//if (!_BUFF) sendBuffer();
}
}
void bezier(int* arr, uint8_t size, uint8_t dense, uint8_t fill = 1) {
int a[size * 2];
for (int i = 0; i < (1 << dense); i++) {
for (int j = 0; j < size * 2; j++) a[j] = arr[j];
for (int j = (size - 1) * 2 - 1; j > 0; j -= 2)
for (int k = 0; k <= j; k++)
a[k] = a[k] + (((a[k + 2] - a[k]) * i) >> dense);
dot(a[0], a[1], fill);
}
}

// вывести битмап
void drawBitmap(int x, int y, const uint8_t *frame, int width, int height, uint8_t invert = 0, byte mode = 0) {
Expand Down Expand Up @@ -794,7 +808,7 @@ class GyverOLED : public Print {
_bufsizeY = ((y1 - y0) >> 3) + 1;

int bufSize = _bufsizeX * _bufsizeY;
_buf_ptr = malloc(bufSize);
_buf_ptr = (byte*)malloc(bufSize);
if (_buf_ptr != NULL) {
_buf_flag = true;
memset(_buf_ptr, fill, bufSize);
Expand Down

0 comments on commit 446e3ef

Please sign in to comment.