Here is what I have so far.
This is now not compiling. I forgot to save the version that gave a funny display.
These are the error messages I am getting now. I have also only included one bitmap.
In file included from /home/jason/snap/arduino/current/Arduino/libraries/Adafruit_SSD1306-master/Adafruit_SSD1306.h:41:0,
from /home/jason/snap/arduino/current/Arduino/PI_GPI_ATRE_OLED1/PI_GPI_ATRE_OLED1.ino:2:
/home/jason/snap/arduino/current/Arduino/libraries/Adafruit-GFX-Library-master/Adafruit_GFX.h:81:8: note: candidate: void Adafruit_GFX::drawBitmap(int16_t, int16_t, const uint8_t*, int16_t, int16_t, uint16_t)
void drawBitmap(int16_t x, int16_t y, const uint8_t bitmap[], int16_t w,
^~~~~~~~~~
/home/jason/snap/arduino/current/Arduino/libraries/Adafruit-GFX-Library-master/Adafruit_GFX.h:81:8: note: no known conversion for argument 3 from 'int()' to 'const uint8_t* {aka const unsigned char*}'
/home/jason/snap/arduino/current/Arduino/libraries/Adafruit-GFX-Library-master/Adafruit_GFX.h:83:8: note: candidate: void Adafruit_GFX::drawBitmap(int16_t, int16_t, const uint8_t*, int16_t, int16_t, uint16_t, uint16_t)
void drawBitmap(int16_t x, int16_t y, const uint8_t bitmap[], int16_t w,
^~~~~~~~~~
/home/jason/snap/arduino/current/Arduino/libraries/Adafruit-GFX-Library-master/Adafruit_GFX.h:83:8: note: candidate expects 7 arguments, 6 provided
/home/jason/snap/arduino/current/Arduino/libraries/Adafruit-GFX-Library-master/Adafruit_GFX.h:85:8: note: candidate: void Adafruit_GFX::drawBitmap(int16_t, int16_t, uint8_t*, int16_t, int16_t, uint16_t)
void drawBitmap(int16_t x, int16_t y, uint8_t bitmap, int16_t w, int16_t h,
^~~~~~~~~~
/home/jason/snap/arduino/current/Arduino/libraries/Adafruit-GFX-Library-master/Adafruit_GFX.h:85:8: note: no known conversion for argument 3 from 'int()' to 'uint8_t {aka unsigned char*}'
/home/jason/snap/arduino/current/Arduino/libraries/Adafruit-GFX-Library-master/Adafruit_GFX.h:87:8: note: candidate: void Adafruit_GFX::drawBitmap(int16_t, int16_t, uint8_t*, int16_t, int16_t, uint16_t, uint16_t)
void drawBitmap(int16_t x, int16_t y, uint8_t *bitmap, int16_t w, int16_t h,
^~~~~~~~~~
/home/jason/snap/arduino/current/Arduino/libraries/Adafruit-GFX-Library-master/Adafruit_GFX.h:87:8: note: candidate expects 7 arguments, 6 provided
exit status 1
no matching function for call to 'Adafruit_SSD1306::drawBitmap(int, int, int (&)(), int, int, int)'
#include <splash.h>
#include <Adafruit_SSD1306.h>
#include <Adafruit_GFX.h>
#include <Adafruit_MonoOLED.h>
#include <Adafruit_SPITFT.h>
#include <gfxfont.h>
#include <Adafruit_SPITFT_Macros.h>
#include <Wire.h>
#include <EEPROM.h>
#define OLED_RESET 4
int myBitmaps ();
int myBitmap1 ();
int myBitmap2 ();
int myBitmap3 ();
int myBitmap4 ();
int myBitmap5 ();
int myBitmap6 ();
int myBitmap7 ();
Adafruit_SSD1306 display(128, 64, &Wire, OLED_RESET);
void setup()
{
delay(500); //wait to settle
pinMode(22, OUTPUT);
pinMode(23, OUTPUT);
pinMode(24, OUTPUT);
// Read sensor value
int sensorVal = analogRead (A0);
int Mode;
//Save Gear to EEPROM
if (sensorVal < 666 or sensorVal > 980)
{
// No Change
Mode = EEPROM.read(0); //Load gear from EEPROM
}
else if (sensorVal < 800)
{
Mode = 1; //4th Gear
}
else if (sensorVal < 905)
{
Mode = 2; //5th Gear
}
else if (sensorVal < 980)
{
Mode = 3; //6th Gear
}
EEPROM.update(0, Mode); // Only writes if different
switch (Mode)
{
case 1: digitalWrite(22, HIGH); break;
case 2: digitalWrite(23, HIGH); break;
case 3: digitalWrite(24, HIGH); break;
}
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
// Bunch of bitmaps in here
void loop()
{
// Read sensor value
int sensorVal = analogRead (A0);
if (sensorVal <= 420)
display.clearDisplay(); //for Clearing the display
display.drawBitmap(0, 0, myBitmap1, 128, 64, WHITE);
display.display();
else if (sensorVal > 421 and sensorVal <= 540)
display.clearDisplay(); //for Clearing the display
display.drawBitmap(0, 0, myBitmap2, 128, 64, WHITE);
display.display();
else if (sensorVal > 541 and sensorVal <= 665)
display.clearDisplay(); //for Clearing the display
display.drawBitmap(0, 0, myBitmap3, 128, 64, WHITE);
display.display();
else if (sensorVal > 666 and sensorVal <= 800)
display.clearDisplay(); //for Clearing the display
display.drawBitmap(0, 0, myBitmap4, 128, 64, WHITE);
display.display();
else if (sensorVal > 801 and sensorVal <= 905)
display.clearDisplay(); //for Clearing the display
display.drawBitmap(0, 0, myBitmap5, 128, 64, WHITE);
display.display();
else if (sensorVal > 906 and sensorVal <= 980)
display.clearDisplay(); //for Clearing the display
display.drawBitmap(0, 0, myBitmap6, 128, 64, WHITE);
display.display();
else if (sensorVal > 981 and sensorVal <= 1023)
display.clearDisplay(); //for Clearing the display
display.drawBitmap(0, 0, myBitmap7, 128, 64, WHITE);
display.display();
delay (100);
}