////////////////////////////////
//
//
//
// Issues getting this to display with the 1351 drivers
// monochrome works but no luck with RGB because od distortion
// Buy new OLED and try again with non-1351 drivers
// will also need SD card to hold files
// Could also look into ESP32s
//
////////////////////////////////////////////
#include <Adafruit_SSD1306.h>
#include <Adafruit_GFX.h>
#include <Adafruit_GrayOLED.h>
#include <Adafruit_SPITFT.h>
#include <Adafruit_SPITFT_Macros.h>
#include <gfxfont.h>
#include "Tomagochi-Test.h"
// Screen dimensions
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64 // Change this to 96 for 1.27" OLED.
#define SCLK_PIN 13
#define MOSI_PIN 21
#define DC_PIN 7
#define CS_PIN 22
#define RST_PIN 8
// Color definitions
#define BLACK 0x0000
#define BLUE 0x001F
#define RED 0xF800
#define GREEN 0x07E0
#define CYAN 0x07FF
#define MAGENTA 0xF81F
#define YELLOW 0xFFE0
#define WHITE 0xFFFF
#define OLED_RESET -1
Adafruit_SSD1306 OLED = Adafruit_SSD1306(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
// Adafruit_SSD1351 OLED = Adafruit_SSD1351(SCREEN_WIDTH, SCREEN_HEIGHT, 10,
// 7, 11, 13, 8);
void setup() {
//Adafruit_SSD1351(10, 7, 11, 13, 8);
Serial.begin(115200);
Serial.print("hello!");
// initialize OLED display with I2C address 0x3C
if (!OLED.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println(F("failed to start SSD1306 OLED"));
while (1);
}else{
Serial.println("INITALIZED SUCCESSFULLY");
}
delay(200);
// OLED.fillRect(0, 0, 128, 128, BLACK);
// OLED.drawBitmap(0, 0, test_mono_image, SCREEN_WIDTH, SCREEN_HEIGHT, WHITE);
// delay(200);
// OLED.fillRect(0, 0, 128, 128, WHITE);
// OLED.drawBitmap(0, 0, test_mono_image, SCREEN_WIDTH, SCREEN_HEIGHT, BLACK);
//OLED.drawBitmap(0, 0, epd_bitmap_ArduinoTestImage_2_Tiny, SCREEN_WIDTH, SCREEN_HEIGHT, WHITE);
//---------
//NONE OF THIS SHIT WORKS
//THIS WORKS BUT ONLY RENDERS 1/2 THE IMAGE
//OLED.drawRGBBitmap(0, 0, image_data_Image, 64, 64);
//OLED.drawRGBBitmap(1, 1, image_data_Image, 128, 128);
//delay(200);
OLED.fillRect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, YELLOW);
}
void loop() {
// OLED.drawRGBBitmap(0, 0, image_data_Image2, SCREEN_WIDTH, SCREEN_HEIGHT);
//OLED.fillRect(0, 0, 128, 128, BLACK);
OLED.drawBitmap(0, 0, myBitmapTomagochi_BG, SCREEN_WIDTH, SCREEN_HEIGHT, WHITE);
//OLED.drawBitmap(0, 0, myBitmapTomagochi_SittingOnBed, SCREEN_WIDTH, SCREEN_HEIGHT, WHITE);
int randomNum = random(0, myBitmapallArray_LEN);
OLED.drawBitmap(0, 0, myBitmapallArray[randomNum], SCREEN_WIDTH, SCREEN_HEIGHT, WHITE);
delay(4000);
//OLED.fillRect(0, 0, 128, 128, BLACK);
}