While compiling my sketch I receive the following error message:
In file included from c:\Users\Jerry Renken\Documents\Arduino\libraries\Adafruit_ILI9341/Adafruit_ILI9341.h:42:0,
from C:\Users\Jerry Renken\Desktop\Davis ARD Osc\Osc Work 7-14-24 and Later\Single Channel Working, 7-19-24\Draws_Screen_Grid_2p8_SPI_D0_D7\Draws_Screen_Grid_2p8_SPI_D0_D7.ino:63:
c:\Users\Jerry Renken\Documents\Arduino\libraries\Adafruit_GFX_Library/Adafruit_SPITFT.h:254:23: error: no members matching 'Adafruit_GFX::drawRGBBitmap' in 'class Adafruit_GFX'
using Adafruit_GFX::drawRGBBitmap; // Check base class first
^~~~~~~~~~~~~exit status 1
Compilation error: exit status 1
I don't fully understand this message or know how to solve it Can someone help me?
I am running Arduino ID 2.3.2 on my Uno. I am using an MSP2807 TFT display wiht ILI9341 IC Driver.
For reference, the front end of this sketch follows:
#include <TFT.h> // Arduino LCD Library
#include<SPI.h>
#include <Adafruit_ILI9341.h>#include <Adafruit_GFX.h>
// #include <Adafruit_GrayOLED.h>
#include <Adafruit_SPITFT.h>
#include <Adafruit_SPITFT_Macros.h>
#include <gfxfont.h>// #######################################################################################
// #######################################################################################
// #
// # Define pins for Uno to MSP2807
// #
// #######################################################################################
// #######################################################################################
// ##define TFT_DC 9 // Yellow Wire #define TFT_CS 10 // Orange Wire #define TFT_MOSI 11 // Green Wire #define TFT_CLK 13 // Blue Wire #define TFT_RST -1 #define TFT_MISO -1
// Use hardware SPI (on Uno, #13=clk, #11=mosi) and the above for CS/DC
// Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC);
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_CLK, TFT_MOSI, TFT_RST, TFT_MISO);
Perhaps your library is old and your program is new, so you should update your library (Adafruit_GFX.h).
Or your library is new and your program is old, referencing deprecated classes (removed from old libraries).
Or you misspelled the function name.
Member function drawRGBBitmap does exist, so ???
Do you have more than a single .ino file in your project?
xfpd: This sketch was originally written in 2015. Thanks for your observation. I thought that this may be the problem, so I am mixing older sets of libraries in hopes of creating the correct sketch platform.
As I proceed along this path, I get error messages with different words and content.
Be sure to post your errors, sketch and library.
xfpd: Will do. I need all the help I can get. Can you tell me how post my sketch using the "Copy for Forum" in the Arduino IDE Edit Menu? I have trouble doing this.
- In the IDE, "format" the code using CTRL-T or right-click >> format.
- Select-all your code (or use the "Copy for Forum" as you mention).
- Open a new post (or edit an existing post)
- In the message box, click the < CODE > button
- Where you see ```type or paste code here```, paste your code.
In the message box, you will see your code surrounded by three tik marks... but in the preview pane to the right, you will see the formatted code.
- Click "Reply" or "Save Edit" to publish the edited message box.
xfpd: Thank you for a clearly written set of steps.
You had requested the set of sketch, error messages, and libraries. Do you think that it would be simpler to place all of these items in a zipped folder, and then send the folder to you?
If so, could I then upload the zipped folder to this posting using the upload button, the 7th button to the right, in the list of icons above?
Post each "code" (error, sketch, library) in text form, inside a < CODE > block. This makes analyzing the data easier. No zips.
xfpd: Do you want me to include Libraries such as Adafruit_GFX, Adafruit_ILI9341 in a block as well?
I also have several xxx.h files in the folder containing my sketch. Should I place each of these in a block as well?
If you are using an out-of-date library, post the link (to the repository).
xfpd: I'm putting the package together as best as I understand your request. Sorry to be so slow on my end, but what do you mean by the library repository? I am having trouble posting a link to such.
Please advise.
If the library is not found in the IDE (most are, and you can pick old libraries in the IDE), then a link to the (usually) github library page of pages (repository of information) will work.
xfpd: The libraries can be update to newer or older versions from within the sketch, via the Arduino IDE, using: "Tools > Manage Libraries".
The idividual files such as Adafruit_SPITFT.h, Adafruit_SPITFT_Macros.h, etc came from the web
I'll send you:
The sketch formatted as such in code:
[code]
// #######################################################################################
// #######################################################################################
// #
// # Sketch: Draws_Screen_Grid_2p8_SPI_D0-D7
// #
// #
// # Created 7 July 2015
// #
// # Date: 8-15-24
// #
// # Processor: Arduino Uno
// # Display: MSP2807
// # Driver: ILI9341
// #
// # Board Model: Arduino Uno
// # Comm Port: COM7
// #
// #######################################################################################
// #
// #######################################################################################
// #
// # Pin Connections Shown Below
// #
// # Arduino MSP2807
// # Uno Bd Display Wire
// # Pin Number Pin Label Color
// #
// # 3V3 1 VCC Red
// # Gnd 2 GND Black
// # D10 3 CS Orange
// # D9 5 DC Yellow
// # D11 6 MOSI Green
// # D13 7 CLK Blue
// #
// #######################################################################################
// #
// #######################################################################################
// #
// #######################################################################################
// #
// # 2.8 SPI PIND TFT Oscope Simple Reads the D0-D7 pins using PIND,
// # and shows the measured value on the oscilloscope screen.
// #
// #######################################################################################
#include <TFT.h> // Arduino LCD Library
#include<SPI.h>
#include <Adafruit_ILI9341.h>
#include <Adafruit_GFX.h>
#include "Adafruit_GrayOLED.h"
#include "Adafruit_SPITFT.h"
#include "Adafruit_SPITFT_Macros.h"
#include "gfxfont.h"
// #######################################################################################
// #######################################################################################
// #
// # Define pins for Uno to MSP2807
// #
// #######################################################################################
// #######################################################################################
// #
#define TFT_DC 9 // Yellow Wire
#define TFT_CS 10 // Orange Wire
#define TFT_MOSI 11 // Green Wire
#define TFT_CLK 13 // Blue Wire
#define TFT_RST -1
#define TFT_MISO -1
// Use hardware SPI (on Uno, #13=clk, #11=mosi) and the above for CS/DC
// Use this one
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC);
// Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_CLK, TFT_MOSI, TFT_RST, TFT_MISO);
// Adafruit_ILI9341 tft = Adafruit_ILI9341();
// set up the variables
int xpos=0;
char buf[12];
int Input=0;
byte Sample[250];
int StartSTime=0;
int EndSTime=0;
int stime=0;
int trigger=128;
int trigphase=1;
int tdelay=1;
int select=1;
int gain=1;
void setup(){
// initialize the display
tft.begin();
// Rotate and clear the screen
tft.fillScreen(ILI9341_BLACK);
tft.setRotation(1);
// Set the font size
tft.setTextSize(2);
// Define A to D input pins
pinMode(0, INPUT);
pinMode(1, INPUT);
pinMode(2, INPUT);
pinMode(3, INPUT);
pinMode(4, INPUT);
pinMode(5, INPUT);
pinMode(6, INPUT);
pinMode(7, INPUT);
// Push button switches
pinMode(16, INPUT_PULLUP);
pinMode(17, INPUT_PULLUP);
pinMode(18, INPUT_PULLUP);
pinMode(19, INPUT_PULLUP);
}
void loop(){
// wait for a positive going trigger
if(trigphase==1){ //
for (int timeout=0; timeout < 1000; timeout++){
Input = PIND;
if (Input < trigger) break; }
for (int timeout=0; timeout < 1000; timeout++){
Input = PIND;
if (Input > trigger) break; }
}
// wait for a negative going trigger
if(trigphase==0){
for (int timeout=0; timeout < 1000; timeout++){
Input = PIND;
if (Input > trigger) break; }
for (int timeout=0; timeout < 1000; timeout++){
Input = PIND;
if (Input < trigger) break; }
// Quickly collect the data with o delay
if(tdelay==-1){
StartSTime - micros();
Sample[0]=PIND;
Sample[1]=PIND; Sample[2]=PIND; Sample[3]=PIND;
Sample[4]=PIND; Sample[5]=PIND; Sample[6]=PIND;
Sample[7]=PIND; Sample[8]=PIND; Sample[9]=PIND;
Sample[10]=PIND; Sample[11]=PIND; Sample[12]=PIND;
Sample[13]=PIND; Sample[14]=PIND; Sample[15]=PIND;
Sample[16]=PIND; Sample[17]=PIND; Sample[18]=PIND;
Sample[19]=PIND; Sample[20]=PIND; Sample[21]=PIND;
Sample[22]=PIND; Sample[23]=PIND; Sample[24]=PIND;
Sample[25]=PIND; Sample[26]=PIND; Sample[27]=PIND;
Sample[28]=PIND; Sample[29]=PIND; Sample[30]=PIND;
Sample[31]=PIND; Sample[32]=PIND; Sample[33]=PIND;
Sample[34]=PIND; Sample[35]=PIND; Sample[36]=PIND;
Sample[37]=PIND; Sample[38]=PIND; Sample[39]=PIND;
Sample[40]=PIND; Sample[41]=PIND; Sample[42]=PIND;
Sample[43]=PIND; Sample[44]=PIND; Sample[45]=PIND;
Sample[46]=PIND; Sample[47]=PIND; Sample[48]=PIND;
Sample[49]=PIND; Sample[50]=PIND; Sample[51]=PIND;
Sample[52]=PIND; Sample[53]=PIND; Sample[54]=PIND;
Sample[55]=PIND; Sample[56]=PIND; Sample[57]=PIND;
Sample[58]=PIND; Sample[59]=PIND; Sample[60]=PIND;
Sample[61]=PIND; Sample[62]=PIND; Sample[63]=PIND;
Sample[64]=PIND; Sample[65]=PIND; Sample[66]=PIND;
Sample[67]=PIND; Sample[68]=PIND; Sample[69]=PIND;
Sample[70]=PIND; Sample[71]=PIND; Sample[72]=PIND;
Sample[73]=PIND; Sample[74]=PIND; Sample[75]=PIND;
Sample[76]=PIND; Sample[77]=PIND; Sample[78]=PIND;
Sample[79]=PIND; Sample[80]=PIND; Sample[81]=PIND;
Sample[82]=PIND; Sample[83]=PIND; Sample[84]=PIND;
Sample[82]=PIND; Sample[83]=PIND; Sample[84]=PIND;
Sample[85]=PIND; Sample[86]=PIND; Sample[87]=PIND;
Sample[88]=PIND; Sample[89]=PIND; Sample[90]=PIND;
Sample[91]=PIND; Sample[92]=PIND; Sample[93]=PIND;
Sample[94]=PIND; Sample[95]=PIND; Sample[96]=PIND;
Sample[100]=PIND; Sample[101]=PIND; Sample[102]=PIND;
Sample[103]=PIND; Sample[104]=PIND; Sample[105]=PIND;
Sample[106]=PIND; Sample[107]=PIND; Sample[108]=PIND;
Sample[109]=PIND; Sample[110]=PIND; Sample[111]=PIND;
Sample[112]=PIND; Sample[113]=PIND; Sample[114]=PIND;
Sample[115]=PIND; Sample[116]=PIND; Sample[117]=PIND;
Sample[118]=PIND; Sample[119]=PIND; Sample[120]=PIND;
Sample[121]=PIND; Sample[122]=PIND; Sample[123]=PIND;
Sample[124]=PIND; Sample[125]=PIND; Sample[126]=PIND;
Sample[127]=PIND; Sample[128]=PIND; Sample[129]=PIND;
Sample[130]=PIND; Sample[131]=PIND; Sample[132]=PIND;
Sample[133]=PIND; Sample[134]=PIND; Sample[135]=PIND;
Sample[136]=PIND; Sample[137]=PIND; Sample[138]=PIND;
Sample[139]=PIND; Sample[140]=PIND; Sample[141]=PIND;
Sample[142]=PIND; Sample[143]=PIND; Sample[144]=PIND;
Sample[145]=PIND; Sample[146]=PIND; Sample[147]=PIND;
Sample[148]=PIND; Sample[149]=PIND; Sample[150]=PIND;
Sample[151]=PIND; Sample[152]=PIND; Sample[153]=PIND;
Sample[154]=PIND; Sample[155]=PIND; Sample[156]=PIND;
Sample[157]=PIND; Sample[158]=PIND; Sample[159]=PIND;
Sample[160]=PIND; Sample[161]=PIND; Sample[162]=PIND;
Sample[163]=PIND; Sample[164]=PIND; Sample[165]=PIND;
Sample[166]=PIND; Sample[167]=PIND; Sample[168]=PIND;
Sample[169]=PIND; Sample[170]=PIND; Sample[171]=PIND;
Sample[172]=PIND; Sample[173]=PIND; Sample[174]=PIND;
Sample[175]=PIND; Sample[176]=PIND; Sample[177]=PIND;
Sample[178]=PIND; Sample[179]=PIND; Sample[180]=PIND;
Sample[181]=PIND; Sample[182]=PIND; Sample[183]=PIND;
Sample[184]=PIND; Sample[185]=PIND; Sample[186]=PIND;
Sample[187]=PIND; Sample[188]=PIND; Sample[189]=PIND;
Sample[190]=PIND; Sample[191]=PIND; Sample[192]=PIND;
Sample[193]=PIND; Sample[194]=PIND; Sample[195]=PIND;
Sample[196]=PIND; Sample[197]=PIND; Sample[198]=PIND;
Sample[199]=PIND; Sample[200]=PIND; Sample[201]=PIND;
Sample[202]=PIND; Sample[203]=PIND; Sample[204]=PIND;
Sample[205]=PIND; Sample[206]=PIND; Sample[207]=PIND;
Sample[208]=PIND; Sample[209]=PIND; Sample[210]=PIND;
Sample[211]=PIND; Sample[212]=PIND; Sample[213]=PIND;
Sample[214]=PIND; Sample[215]=PIND; Sample[216]=PIND;
Sample[217]=PIND; Sample[218]=PIND; Sample[219]=PIND;
Sample[220]=PIND; Sample[221]=PIND; Sample[222]=PIND;
Sample[223]=PIND; Sample[224]=PIND; Sample[225]=PIND;
Sample[226]=PIND; Sample[227]=PIND; Sample[228]=PIND;
Sample[229]=PIND; Sample[230]=PIND; Sample[231]=PIND;
Sample[232]=PIND; Sample[233]=PIND; Sample[234]=PIND;
Sample[235]=PIND; Sample[236]=PIND; Sample[237]=PIND;
Sample[238]=PIND; Sample[239]=PIND; Sample[240]=PIND;
Sample[241]=PIND; Sample[242]=PIND; Sample[243]=PIND;
Sample[244]=PIND; Sample[245]=PIND; Sample[246]=PIND;
Sample[247]=PIND; Sample[248]=PIND; Sample[249]=PIND;
Sample[250]=PIND;
EndSTime = micros();
} //
// Collect the data with a no delay
// It will not allow a delay of 0 so this code is listed
// to accomplish this rquirement
if(tdelay ==0){
StartSTime = micros();
for(int xpos=0; xpos <250; xpos++){
Sample[xpos]=PIND;
}
EndSTime = micros(); //
}
} //
// Collect the data using a variable delay
if(tdelay > 0){
StartSTime = micros();
for (int xpos=0;xpos<250; xpos++){
Sample[xpos]=PIND;
delayMicroseconds(tdelay);
}
EndSTime = micros();
} //
stime = EndSTime - StartSTime;
// Fix a bug in Mode -1 showing the displayed time is not correct
if(tdelay ==-1) stime = 49;
// #####################################################################
// #
// # Display the collected data on the TFT display screen
// #
// #####################################################################
// #
for( int xpos = 0;xpos <320; xpos++){
// Erase the old data trace
tft.drawLine(xpos+1, 0, xpos+1, 240, ILI9341_BLACK);
// Draw the trace line(xpos1,ypos1,xpos2,ypos2,color);
// 256- inverts the data so it is right side up
// #####################################################################
// #
// # Draw the data trace. Account for oscilloscope channel gain setting
// #
// #####################################################################
if(xpos<250){
if(gain==1){
tft.drawLine(xpos,(256-Sample[xpos]),xpos+1,256-Sample[xpos+1],
ILI9341_WHITE);
}
if(gain==2){
tft.drawLine(xpos,(384-Sample[xpos]*2),xpos+1,384-Sample[xpos+1]*2,
ILI9341_WHITE);
}
if(gain==3){
tft.drawLine(xpos,(512-Sample[xpos]*3),xpos+1,512-Sample[xpos+1]*3,
ILI9341_WHITE);
}
if(gain==4){
tft.drawLine(xpos,(640-Sample[xpos]*4),xpos+1,640-Sample[xpos+1]*4,
ILI9341_WHITE);
}
if(gain==5){
tft.drawLine(xpos,(768-Sample[xpos]),xpos+1,768-Sample[xpos+1]*5,
ILI9341_WHITE);
}
}
// #####################################################################
// #####################################################################
// #
// # Draw the TFT Screen horizontal lines as green dots
// #
// #####################################################################
if(xpos<250){
tft.drawPixel(xpos, 0,ILI9341_GREEN);
tft.drawPixel(xpos, 60,ILI9341_GREEN);
tft.drawPixel(xpos,120,ILI9341_GREEN);
tft.drawPixel(xpos,180,ILI9341_GREEN);
tft.drawPixel(xpos,239,ILI9341_GREEN);
}
// #####################################################################
// #
// # Draw the TFT Screen vertical lines as green dots
// #
// #####################################################################
if(xpos==0) tft.drawLine(xpos,0, xpos, 240, ILI9341_GREEN);
if(xpos==50) tft.drawLine(xpos,0, xpos, 240, ILI9341_GREEN);
if(xpos==100) tft.drawLine(xpos,0, xpos, 240, ILI9341_GREEN);
if(xpos==150) tft.drawLine(xpos,0, xpos, 240, ILI9341_GREEN);
if(xpos==200) tft.drawLine(xpos,0, xpos, 240, ILI9341_GREEN);
if(xpos==250) tft.drawLine(xpos,0, xpos, 240, ILI9341_GREEN);
} // <-- ******************** Trouble below this line
// #####################################################################
// #####################################################################
// #
// # Check the status of the push button switches
// #
// # These switches are now circular so ony two switches are needed
// #
// #####################################################################
if(digitalRead(17==0)) select++;
if(digitalRead(16==0)) select--;
if(select > 4 )select=1;
if(select < 1 )select=4;
// Update the trigger level
if(select==1){
if(digitalRead(18==0)) trigger++;
if(digitalRead(19==0)) trigger--;
if(trigger > 240 ) trigger=1;
if(trigger < 1 ) trigger=240;
}
// Change the trigger phase ############################################
if(select==2){
if(digitalRead(18==0)) trigphase++;
if(digitalRead(19==0)) trigphase--;
if(trigphase < 1 ) trigphase=1;
if(trigphase > 1 ) trigphase=0;
{
// ############################################################
// #
// # Change the amount of delay time
// #
// ############################################################
if(select==3){
// Increase the delay time
if(digitalRead(18)==0){
if(tdelay==500) tdelay=-1;
if(tdelay==200) tdelay=500;
if(tdelay==100) tdelay=200;
if(tdelay==50) tdelay=100;
if(tdelay==20) tdelay=50;
if(tdelay==10) tdelay=20;
if(tdelay==5) tdelay=10;
if(tdelay==2) tdelay=5;
if(tdelay==1) tdelay=2;
if(tdelay==0) tdelay=1;
if(tdelay==-1) tdelay=0;
}
if(digitalRead(19)==0){
// Decrease delay time
}
if(tdelay==-1) tdelay=500;
if(tdelay==0) tdelay=-1;
if(tdelay==1) tdelay=0;
if(tdelay==2) tdelay=1;
if(tdelay==5) tdelay=2;
if(tdelay==10) tdelay=5;
if(tdelay==20) tdelay=10;
if(tdelay==50) tdelay=20;
if(tdelay==100) tdelay=50;
if(tdelay==200) tdelay=100;
if(tdelay==500) tdelay=200;
}
}
// ############################################################
// #
// # Change the channel gain value by reading values
// # from pushbutton switches 18 and 19
// #
// ############################################################
if(select==4){
if(digitalRead(18)==0)gain++;
if(digitalRead(19)==0)gain--;
if(gain > 5) gain=1;
if(gain < 1) gain=5;
}
// ############################################################
// #
// # Update the text colors on the TFT display right side
// #
// ###########################################################
// ##########################################################
// #
// # Adjust Trigger Values as required
// #
// ##########################################################
// Initialize all text colors to Blue
tft.setTextColor(ILI9341_BLUE);
// If selected set Trigger font color to Red
// Print out the Trigger Label
if(select==1)tft.setTextColor(ILI9341_RED);
tft.setCursor(252,10);
tft.println("Trigr");
// Print out the Trigger Time Value
tft.setCursor(252,29);
tft.println( itoa( 128-trigger,buf,10));
// Initialize all text colors to Blue
tft.setTextColor(ILI9341_BLUE);
// ##########################################################
// If selected set Trigger Phase font color to RED
if(select==2)tft.setTextColor(ILI9341_RED);
// Print out the Trigger Phase Label
tft.setCursor(252,58);
tft.println( "Phase");
// Print out the Trigger Phase Value
tft.setCursor(252,77);
tft.println( itoa(trigphase, buf,10));
// If selected set font color to Red
tft.setTextColor(ILI9341_BLUE);
// ##########################################################
// Initialize all text colors to Blue
if(select==3)tft.setTextColor(ILI9341_RED);
// Print out the Trigger Time Delay Label
tft.setCursor(252,106);
tft.println( "Delay");
// Print out the trigger delay value
tft.setCursor(252,125);
tft.println( itoa(tdelay, buf,10));
tft.setTextColor(ILI9341_BLUE);
// If selected set font color to Red
// ##########################################################
// #
// # Adjust Channel Gain Values as required
// #
// ##########################################################
if(select==4)tft.setTextColor(ILI9341_RED);
// Print out the channel gain value
tft.setCursor(252,171);
tft.println(itoa(gain,buf,10));
tft.setTextColor(ILI9341_BLUE);
// If selected set font color to Red
if(select==5)tft.setTextColor(ILI9341_RED);
// ##########################################################
// #
// # Adjust Swep Time Value as required
// #
// ##########################################################
tft.setCursor(252,196);
tft.println( "T-Ms");
// ##########################################################
// #
// # Print out the measurement system time for which
// # this data is presented
// #
// ##########################################################
tft.setCursor(252,215);
tft.println( itoa(stime,buf,10));
}
}
// This is the end of the program
/code]
The error message associated with trying to upload the sketch today follows. I highlighted what I think is the "most offending" error.
BlockquoError Messages on 8-15-24, Running on Arduino IDE 1.8.16
"C:\Users\Jerry Renken\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10816 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-IC:\Users\Jerry Renken\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\cores\arduino" "-IC:\Users\Jerry Renken\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\variants\standard" "-IC:\Program Files (x86)\Arduino\libraries\TFT\src" "-IC:\Users\Jerry Renken\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\libraries\SPI\src" "-IC:\Users\Jerry Renken\Documents\Arduino\libraries\Adafruit_ILI9341" "-IC:\Users\Jerry Renken\Documents\Arduino\libraries\Adafruit_GFX_Library" "-IC:\Users\Jerry Renken\Documents\Arduino\libraries\Adafruit_BusIO" "-IC:\Users\Jerry Renken\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\libraries\Wire\src" "C:\Users\JERRYR~1\AppData\Local\Temp\arduino_build_16663\sketch\Draws_Screen_Grid_2p8_SPI_D0_D7.ino.cpp" -o "C:\Users\JERRYR~1\AppData\Local\Temp\arduino_build_16663\sketch\Draws_Screen_Grid_2p8_SPI_D0_D7.ino.cpp.o"
In file included from C:\Users\Jerry Renken\Documents\Arduino\libraries\Adafruit_ILI9341/Adafruit_ILI9341.h:42:0,
from C:\Users\Jerry Renken\Desktop\Davis ARD Osc\To xfpd Draws_Screen_Grid_2p8_SPI_D0_D7\Draws_Screen_Grid_2p8_SPI_D0_D7\Draws_Screen_Grid_2p8_SPI_D0_D7.ino:63:
C:\Users\Jerry Renken\Documents\Arduino\libraries\Adafruit_GFX_Library/Adafruit_SPITFT.h:254:23: error: no members matching 'Adafruit_GFX::drawRGBBitmap' in 'class Adafruit_GFX'
using Adafruit_GFX::drawRGBBitmap; // Check base class first
^~~~~~~~~~~~~
Using library TFT at version 1.0.6 in folder: C:\Program Files (x86)\Arduino\libraries\TFT
Using library SPI at version 1.0 in folder: C:\Users\Jerry Renken\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\libraries\SPI
Using library Adafruit_ILI9341 at version 1.6.1 in folder: C:\Users\Jerry Renken\Documents\Arduino\libraries\Adafruit_ILI9341
Using library Adafruit_GFX_Library at version 1.11.10 in folder: C:\Users\Jerry Renken\Documents\Arduino\libraries\Adafruit_GFX_Library
Using library Adafruit_BusIO at version 1.16.1 in folder: C:\Users\Jerry Renken\Documents\Arduino\libraries\Adafruit_BusIO
Using library Wire at version 1.0 in folder: C:\Users\Jerry Renken\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\libraries\Wire
exit status 1
Error compiling for board Arduino Uno.
Thanks for your patience as we try to solv this problem
I am almost possible I saw this same error earlier today. It was caused by a library change recently and I think involved a macro that affected that member function. I tried searching but no luck. I might be imagining it but it seems very real to me. I think @jim-p found it.
Thank you. This sketch worked for me three months ago.
I'll look at your suggested link.
Where exactly did Jim P post his discovery?
- Start a message
- Type "@" followed by the username
- In the right-side panel, right-click on the hotlink created by #2 to bring up their summary
- Click on their Activity
- Scroll through the dozens of responses the user had today, yesterday, until the beginning of time.
p.s. Remove the error report from "blockquote" and put it in "<CODE> block".
You have 2 choices, the first is to back level the library, the second is to fix the 2015 sketch so it works with todays library (best choice)
Try Ver 1.1.3 of "Adafruit GFX Library"