#include <GyverOLED.h>
//GyverOLED<SSD1306_128x32, OLED_BUFFER> oled;
//GyverOLED<SSD1306_128x32, OLED_NO_BUFFER> oled;
GyverOLED<SSD1306_128x64, OLED_BUFFER> oled;
//GyverOLED<SSD1306_128x64, OLED_NO_BUFFER> oled;
//GyverOLED<SSD1306_128x64, OLED_BUFFER, OLED_SPI, 7, 6, 5> oled;
//GyverOLED<SSH1106_128x64> oled;
void setup() {
Serial.begin(9600);
oled.init(); // инициализация
oled.clear();
oled.home();
oled.autoPrintln(true);
char example[] = "@@@@@@@+ .-..-@@@@@@@@@@@@@@. =@@@@@@@@@@@@@@# =@@@@@@@@@@@@@@@+ =@@@@@@@@@@@@@@# =@@@@@@@@@@@@@= . #@@@@@@@@@@@# = #@@@@@@@@@@= . -@@@@";
oled.print(example);
Serial.println(compress(example));
}
void loop() {
// put your main code here, to run repeatedly:
oled.update();
}
String compress(char s[]){
char result[] = "";
int counter = 1;
char currentLetter = s[0];
Serial.println(sizeof(s));
for (int i = 0; i < sizeof(s); i++){
if (currentLetter == s[i]) {
counter += 1;
} else {
result = result + counter + currentLetter;
currentLetter = s[i];
counter = 1;
}
Serial.println(currentLetter, counter);
}
return result;
}
//char decompress(char s[]){
//}