Skip to content

Instantly share code, notes, and snippets.

@dieseltravis
Last active April 10, 2025 05:19
Show Gist options
  • Save dieseltravis/bf7cb473ae7f90be8711e52447059ae7 to your computer and use it in GitHub Desktop.
Save dieseltravis/bf7cb473ae7f90be8711e52447059ae7 to your computer and use it in GitHub Desktop.
button and ssd1306 i2c display for arduino, nano, and tiny85/88
#include <TinyWireM.h>
#include <Tiny4kOLED.h>
// running example: https://wokwi.com/projects/427807116301408257
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
//#define SCREEN_ADDRESS 0x78 //0x3D // See datasheet for Address; 0x3D for 128x64, 0x3C for 128x32
#define SCREEN_ADDRESS 0x3C
static uint8_t buttonPin = 3;
uint8_t buttonState = 0;
static uint8_t O = 10;
static uint8_t F = 11;
static uint8_t N = 12;
static uint8_t S = 13;
uint8_t clear[] = {S, S, S, S, S, S, S};
uint8_t on[] = {O, N, S, 6, 6, 6, S};
uint8_t off[] = {O, F, F, 3, 3, 3, S};
uint8_t index = 0;
void setup() {
pinMode(buttonPin, INPUT);
oled.begin(SCREEN_WIDTH, SCREEN_HEIGHT, sizeof(tiny4koled_init_128x64br), tiny4koled_init_128x64br);
oled.enableChargePump(); // The default is off, but most boards need this.
oled.setRotation(1); // The default orientation is not the most commonly used.
oled.setFont(FONT6X8);
oled.clear();
oled.switchRenderFrame();
oled.clear();
oled.switchRenderFrame();
oled.setCursor(0, 0);
oled.on();
oled.clear();
}
void loop() {
buttonState = digitalRead(buttonPin);
index = (index + 1) % 6;
uint8_t x = 2;
if (buttonState == HIGH) {
on[6] = 30 + index;
x = render_segments(x, on);
delay(100);
} else {
off[6] = 20 + index;
x = render_segments(x, off);
delay(500);
}
}
static uint8_t CHARW = 15;
static uint8_t MIDW = CHARW - 6;
uint8_t render_segments(uint8_t pos_x, uint8_t segments[7]) {
for (uint8_t i = 0; i < 7; i++) {
uint8_t c = segments[i];
if (i == 3 || i == 6) {
pos_x += 4;
}
switch (c) {
case 3:
oled.setCursor(pos_x, 2);
oled.startData();
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.sendData( 0b00000010);
oled.repeatData(0b00000111, MIDW);
oled.sendData( 0b11111010);
oled.sendData( 0b11111100);
oled.sendData( 0b11111000);
oled.endData();
oled.setCursor(pos_x, 3);
oled.startData();
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.sendData( 0b01000000);
oled.repeatData(0b11100000, MIDW);
oled.sendData( 0b01011111);
oled.sendData( 0b10111111);
oled.sendData( 0b00011111);
oled.endData();
oled.setCursor(pos_x, 4);
oled.startData();
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.repeatData(0b00000000, MIDW);
oled.sendData( 0b11111111);
oled.sendData( 0b11111111);
oled.sendData( 0b11111111);
oled.endData();
oled.setCursor(pos_x, 5);
oled.startData();
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.sendData( 0b00001000);
oled.repeatData(0b00011100, MIDW);
oled.sendData( 0b00001011);
oled.sendData( 0b00000111);
oled.sendData( 0b00000011);
oled.endData();
break;
case 6:
oled.setCursor(pos_x, 2);
oled.startData();
oled.sendData( 0b11111000);
oled.sendData( 0b11111100);
oled.sendData( 0b11111010);
oled.repeatData(0b00000111, MIDW);
oled.sendData( 0b00000010);
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.endData();
oled.setCursor(pos_x, 3);
oled.startData();
oled.sendData( 0b00011111);
oled.sendData( 0b10111111);
oled.sendData( 0b01011111);
oled.repeatData(0b11100000, MIDW);
oled.sendData( 0b01000000);
oled.sendData( 0b10000000);
oled.sendData( 0b00000000);
oled.endData();
oled.setCursor(pos_x, 4);
oled.startData();
oled.sendData( 0b11111111);
oled.sendData( 0b11111111);
oled.sendData( 0b11111111);
oled.repeatData(0b00000000, MIDW);
oled.sendData( 0b11111111);
oled.sendData( 0b11111111);
oled.sendData( 0b11111111);
oled.endData();
oled.setCursor(pos_x, 5);
oled.startData();
oled.sendData( 0b00000011);
oled.sendData( 0b00000111);
oled.sendData( 0b00001011);
oled.repeatData(0b00011100, MIDW);
oled.sendData( 0b00001011);
oled.sendData( 0b00000111);
oled.sendData( 0b00000011);
oled.endData();
break;
case 10: // O
oled.setCursor(pos_x, 2);
oled.startData();
oled.sendData( 0b11111000);
oled.sendData( 0b11111100);
oled.sendData( 0b11111010);
oled.repeatData(0b00000111, MIDW);
oled.sendData( 0b11111010);
oled.sendData( 0b11111100);
oled.sendData( 0b11111000);
oled.endData();
oled.setCursor(pos_x, 3);
oled.startData();
oled.sendData( 0b00011111);
oled.sendData( 0b10111111);
oled.sendData( 0b00011111);
oled.repeatData(0b00000000, MIDW);
oled.sendData( 0b00011111);
oled.sendData( 0b10111111);
oled.sendData( 0b00011111);
oled.endData();
oled.setCursor(pos_x, 4);
oled.startData();
oled.sendData( 0b11111111);
oled.sendData( 0b11111111);
oled.sendData( 0b11111111);
oled.repeatData(0b00000000, MIDW);
oled.sendData( 0b11111111);
oled.sendData( 0b11111111);
oled.sendData( 0b11111111);
oled.endData();
oled.setCursor(pos_x, 5);
oled.startData();
oled.sendData( 0b00000011);
oled.sendData( 0b00000111);
oled.sendData( 0b00001011);
oled.repeatData(0b00011100, MIDW);
oled.sendData( 0b00001011);
oled.sendData( 0b00000111);
oled.sendData( 0b00000011);
oled.endData();
break;
case 11: // F
oled.setCursor(pos_x, 2);
oled.startData();
oled.sendData( 0b11111000);
oled.sendData( 0b11111100);
oled.sendData( 0b11111010);
oled.repeatData(0b00000111, MIDW);
oled.sendData( 0b00000010);
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.endData();
oled.setCursor(pos_x, 3);
oled.startData();
oled.sendData( 0b00011111);
oled.sendData( 0b10111111);
oled.sendData( 0b01011111);
oled.repeatData(0b11100000, MIDW);
oled.sendData( 0b01000000);
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.endData();
oled.setCursor(pos_x, 4);
oled.startData();
oled.sendData( 0b11111111);
oled.sendData( 0b11111111);
oled.sendData( 0b11111111);
oled.repeatData(0b00000000, MIDW);
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.endData();
oled.setCursor(pos_x, 5);
oled.startData();
oled.sendData( 0b00000011);
oled.sendData( 0b00000111);
oled.sendData( 0b00000011);
oled.repeatData(0b00000000, MIDW);
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.endData();
break;
case 12: // N
oled.setCursor(pos_x, 2);
oled.startData();
oled.sendData( 0b11111000);
oled.sendData( 0b11111100);
oled.sendData( 0b11111010);
oled.repeatData(0b00000111, MIDW);
oled.sendData( 0b11111010);
oled.sendData( 0b11111100);
oled.sendData( 0b11111000);
oled.endData();
oled.setCursor(pos_x, 3);
oled.startData();
oled.sendData( 0b00011111);
oled.sendData( 0b10111111);
oled.sendData( 0b00011111);
oled.repeatData(0b00000000, MIDW);
oled.sendData( 0b00011111);
oled.sendData( 0b10111111);
oled.sendData( 0b00011111);
oled.endData();
oled.setCursor(pos_x, 4);
oled.startData();
oled.sendData( 0b11111111);
oled.sendData( 0b11111111);
oled.sendData( 0b11111111);
oled.repeatData(0b00000000, MIDW);
oled.sendData( 0b11111111);
oled.sendData( 0b11111111);
oled.sendData( 0b11111111);
oled.endData();
oled.setCursor(pos_x, 5);
oled.startData();
oled.sendData( 0b00000011);
oled.sendData( 0b00000111);
oled.sendData( 0b00000011);
oled.repeatData(0b00000000, MIDW);
oled.sendData( 0b00000011);
oled.sendData( 0b00000111);
oled.sendData( 0b00000011);
oled.endData();
break;
case 13: // (space)
for (uint8_t j = 2; j < 6; j++) {
oled.setCursor(pos_x, j);
oled.startData();
oled.repeatData(0b00000000, CHARW);
oled.endData();
}
break;
// animation slow
case 20: // top
oled.setCursor(pos_x, 2);
oled.startData();
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.sendData( 0b00000010);
oled.repeatData(0b00000111, MIDW);
oled.sendData( 0b00000010);
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.endData();
oled.setCursor(pos_x, 3);
oled.startData();
oled.repeatData(0b00000000, CHARW);
oled.endData();
oled.setCursor(pos_x, 4);
oled.startData();
oled.repeatData(0b00000000, CHARW);
oled.endData();
oled.setCursor(pos_x, 5);
oled.startData();
oled.repeatData(0b00000000, CHARW);
oled.endData();
break;
case 21: // top-right
oled.setCursor(pos_x, 2);
oled.startData();
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.repeatData(0b00000000, MIDW);
oled.sendData( 0b11111000);
oled.sendData( 0b11111100);
oled.sendData( 0b11111000);
oled.endData();
oled.setCursor(pos_x, 3);
oled.startData();
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.repeatData(0b00000000, MIDW);
oled.sendData( 0b00011111);
oled.sendData( 0b00111111);
oled.sendData( 0b00011111);
oled.endData();
oled.setCursor(pos_x, 4);
oled.startData();
oled.repeatData(0b00000000, CHARW);
oled.endData();
oled.setCursor(pos_x, 5);
oled.startData();
oled.repeatData(0b00000000, CHARW);
oled.endData();
break;
case 22: // bottom-right
oled.setCursor(pos_x, 2);
oled.startData();
oled.repeatData(0b00000000, CHARW);
oled.endData();
oled.setCursor(pos_x, 3);
oled.startData();
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.repeatData(0b00000000, MIDW);
oled.sendData( 0b00000000);
oled.sendData( 0b10000000);
oled.sendData( 0b00000000);
oled.endData();
oled.setCursor(pos_x, 4);
oled.startData();
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.repeatData(0b00000000, MIDW);
oled.sendData( 0b11111111);
oled.sendData( 0b11111111);
oled.sendData( 0b11111111);
oled.endData();
oled.setCursor(pos_x, 5);
oled.startData();
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.repeatData(0b00000000, MIDW);
oled.sendData( 0b00000011);
oled.sendData( 0b00000111);
oled.sendData( 0b00000011);
oled.endData();
break;
case 23: // bottom
oled.setCursor(pos_x, 2);
oled.startData();
oled.repeatData(0b00000000, CHARW);
oled.endData();
oled.setCursor(pos_x, 3);
oled.startData();
oled.repeatData(0b00000000, CHARW);
oled.endData();
oled.setCursor(pos_x, 4);
oled.startData();
oled.repeatData(0b00000000, CHARW);
oled.endData();
oled.setCursor(pos_x, 5);
oled.startData();
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.sendData( 0b00001000);
oled.repeatData(0b00011100, MIDW);
oled.sendData( 0b00001000);
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.endData();
break;
case 24: // bottom-left
oled.setCursor(pos_x, 2);
oled.startData();
oled.repeatData(0b00000000, CHARW);
oled.endData();
oled.setCursor(pos_x, 3);
oled.startData();
oled.sendData( 0b00000000);
oled.sendData( 0b10000000);
oled.sendData( 0b00000000);
oled.repeatData(0b00000000, MIDW);
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.endData();
oled.setCursor(pos_x, 4);
oled.startData();
oled.sendData( 0b11111111);
oled.sendData( 0b11111111);
oled.sendData( 0b11111111);
oled.repeatData(0b00000000, MIDW);
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.endData();
oled.setCursor(pos_x, 5);
oled.startData();
oled.sendData( 0b00000011);
oled.sendData( 0b00000111);
oled.sendData( 0b00000011);
oled.repeatData(0b00000000, MIDW);
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.endData();
break;
case 25: // top-left
oled.setCursor(pos_x, 2);
oled.startData();
oled.sendData( 0b11111000);
oled.sendData( 0b11111100);
oled.sendData( 0b11111000);
oled.repeatData(0b00000000, MIDW);
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.endData();
oled.setCursor(pos_x, 3);
oled.startData();
oled.sendData( 0b00011111);
oled.sendData( 0b00111111);
oled.sendData( 0b00011111);
oled.repeatData(0b00000000, MIDW);
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.endData();
oled.setCursor(pos_x, 4);
oled.startData();
oled.repeatData(0b00000000, CHARW);
oled.endData();
oled.setCursor(pos_x, 5);
oled.startData();
oled.repeatData(0b00000000, CHARW);
oled.endData();
break;
// animation fast
case 30: case 33: // top & bottom
oled.setCursor(pos_x, 2);
oled.startData();
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.sendData( 0b00000010);
oled.repeatData(0b00000111, MIDW);
oled.sendData( 0b00000010);
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.endData();
oled.setCursor(pos_x, 3);
oled.startData();
oled.repeatData(0b00000000, CHARW);
oled.endData();
oled.setCursor(pos_x, 4);
oled.startData();
oled.repeatData(0b00000000, CHARW);
oled.endData();
oled.setCursor(pos_x, 5);
oled.startData();
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.sendData( 0b00001000);
oled.repeatData(0b00011100, MIDW);
oled.sendData( 0b00001000);
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.endData();
break;
case 31: case 34: // top-right & bottom-left
oled.setCursor(pos_x, 2);
oled.startData();
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.repeatData(0b00000000, MIDW);
oled.sendData( 0b11111000);
oled.sendData( 0b11111100);
oled.sendData( 0b11111000);
oled.endData();
oled.setCursor(pos_x, 3);
oled.startData();
oled.sendData( 0b00000000);
oled.sendData( 0b10000000);
oled.sendData( 0b00000000);
oled.repeatData(0b00000000, MIDW);
oled.sendData( 0b00011111);
oled.sendData( 0b00111111);
oled.sendData( 0b00011111);
oled.endData();
oled.setCursor(pos_x, 4);
oled.startData();
oled.sendData( 0b11111111);
oled.sendData( 0b11111111);
oled.sendData( 0b11111111);
oled.repeatData(0b00000000, MIDW);
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.endData();
oled.setCursor(pos_x, 5);
oled.startData();
oled.sendData( 0b00000011);
oled.sendData( 0b00000111);
oled.sendData( 0b00000011);
oled.repeatData(0b00000000, MIDW);
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.endData();
break;
case 32: case 35: // bottom-right & top-left
oled.setCursor(pos_x, 2);
oled.startData();
oled.sendData( 0b11111000);
oled.sendData( 0b11111100);
oled.sendData( 0b11111000);
oled.repeatData(0b00000000, MIDW);
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.endData();
oled.setCursor(pos_x, 3);
oled.startData();
oled.sendData( 0b00011111);
oled.sendData( 0b00111111);
oled.sendData( 0b00011111);
oled.repeatData(0b00000000, MIDW);
oled.sendData( 0b00000000);
oled.sendData( 0b10000000);
oled.sendData( 0b00000000);
oled.endData();
oled.setCursor(pos_x, 4);
oled.startData();
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.repeatData(0b00000000, MIDW);
oled.sendData( 0b11111111);
oled.sendData( 0b11111111);
oled.sendData( 0b11111111);
oled.endData();
oled.setCursor(pos_x, 5);
oled.startData();
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.sendData( 0b00000000);
oled.repeatData(0b00000000, MIDW);
oled.sendData( 0b00000011);
oled.sendData( 0b00000111);
oled.sendData( 0b00000011);
oled.endData();
break;
}
pos_x += CHARW + 2;
}
return pos_x;
}
//#include <Wire.h>
//#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
// running example: https://wokwi.com/projects/424804124503901185
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels
#define OLED_RESET -1 // Reset pin # (or -1 if sharing Arduino reset pin)
//#define SCREEN_ADDRESS 0x78 //0x3D // See datasheet for Address; 0x3D for 128x64, 0x3C for 128x32
#define SCREEN_ADDRESS 0x3C
static uint8_t color = SSD1306_WHITE;
static uint8_t seg_len = 12;
static uint8_t seg_wid = 3;
static uint8_t seg_rad = 2;
static uint8_t seg_wid_pad = (seg_wid + 1) / 2;
static uint8_t seg_len_pad = (seg_len + 1);
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
static uint8_t buttonPin = 3;
uint8_t buttonState = 0;
static uint8_t spacing_x = 17;
static uint8_t margin_x = 4;
static uint8_t y = 14;
static uint8_t digits[10][7] = {
{1, 1, 1, 1, 1, 1, 0}, // 0
{0, 1, 1, 0, 0, 0, 0}, // 1
{1, 1, 0, 1, 1, 0, 1}, // 2
{1, 1, 1, 1, 0, 0, 1}, // 3
{0, 1, 1, 0, 0, 1, 1}, // 4
{1, 0, 1, 1, 0, 1, 1}, // 5
{1, 0, 1, 1, 1, 1, 1}, // 6
{1, 1, 1, 0, 0, 0, 0}, // 7
{1, 1, 1, 1, 1, 1, 1}, // 8
{1, 1, 1, 0, 0, 1, 1} // 9
};
//static const uint8_t blank[7] = {0, 0, 0, 0, 0, 0, 0};
static uint8_t O[7] = {1, 1, 1, 1, 1, 1, 0};
static uint8_t F[7] = {1, 0, 0, 0, 1, 1, 1};
static uint8_t N[7] = {1, 1, 1, 0, 1, 1, 0};
static uint8_t singles[6][7] = {
{1, 0, 0, 0, 0, 0, 0},
{0, 1, 0, 0, 0, 0, 0},
{0, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 0},
{0, 0, 0, 0, 0, 1, 0}
};
static uint8_t doubles[6][7] = {
{1, 0, 0, 1, 0, 0, 0},
{0, 1, 0, 0, 1, 0, 0},
{0, 0, 1, 0, 0, 1, 0},
{1, 0, 0, 1, 0, 0, 0},
{0, 1, 0, 0, 1, 0, 0},
{0, 0, 1, 0, 0, 1, 0}
};
uint8_t index = 0;
void setup()
{
pinMode(buttonPin, INPUT);
display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS);
display.clearDisplay();
}
void loop()
{
display.clearDisplay();
buttonState = digitalRead(buttonPin);
index = (index + 1) % 6;
display.setTextSize(1);
display.setTextColor(color);
display.setCursor(0, 0);
if (buttonState == HIGH) {
render_segments(0 * spacing_x, y, O);
render_segments(1 * spacing_x, y, N);
//render_segments(2 * spacing_x, y, blank);
render_segments(3 * spacing_x + margin_x, y, digits[6]);
render_segments(4 * spacing_x + margin_x, y, digits[6]);
render_segments(5 * spacing_x + margin_x, y, digits[6]);
render_segments((6 * spacing_x) + (2 * margin_x), y, doubles[index]);
display.display();
delay(100);
} else {
render_segments(0 * spacing_x, y, O);
render_segments(1 * spacing_x, y, F);
render_segments(2 * spacing_x, y, F);
render_segments(3 * spacing_x + margin_x, y, digits[3]);
render_segments(4 * spacing_x + margin_x, y, digits[3]);
render_segments(5 * spacing_x + margin_x, y, digits[3]);
render_segments((6 * spacing_x) + (2 * margin_x), y, singles[index]);
display.display();
delay(500);
}
}
// modified from https://ta-laboratories.com/blog/2018/09/07/recreating-a-7-segment-display-with-adafruit-gfx-ssd1306-oled/
void render_segments(uint8_t pos_x, uint8_t pos_y, uint8_t segments[7]) {
for (uint8_t i = 0; i < 7; i++) {
bool seg_on = segments[i];
if (seg_on) {
switch (i) {
/* A
* ---
* | |
* F| |B
* | |
* -G-
* | |
* E| |C
* | |
* ---
* D
*/
case 0: // SEG a
display.fillRoundRect(seg_wid_pad + pos_x, 0 + pos_y, seg_len, seg_wid, seg_rad, color);
break;
case 1: // SEG b
display.fillRoundRect(seg_len_pad + pos_x, seg_wid_pad + pos_y, seg_wid, seg_len, seg_rad, color);
break;
case 2: // SEG c
display.fillRoundRect(seg_len_pad + pos_x, (seg_len_pad + seg_wid_pad) + pos_y, seg_wid, seg_len, seg_rad, color);
break;
case 3: // SEG d
display.fillRoundRect(seg_wid_pad + pos_x, (2 * seg_len_pad) + pos_y, seg_len, seg_wid, seg_rad, color);
break;
case 4: // SEG e
display.fillRoundRect(0 + pos_x, (seg_len_pad + seg_wid_pad) + pos_y, seg_wid, seg_len, seg_rad, color);
break;
case 5: // SEG f
display.fillRoundRect(0 + pos_x, seg_wid_pad + pos_y, seg_wid, seg_len, seg_rad, color);
break;
case 6: // SEG g
display.fillRoundRect(seg_wid_pad + pos_x, seg_len_pad + pos_y, seg_len, seg_wid, seg_rad, color);
break;
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment