Arduino: 1.8.5 (Windows 10), Board: "Arduino Due (Programming Port)"
C:\Users\Johan Prinsloo\Documents\Arduino\Clock_DUE\Clock_DUE.ino: In function 'void loop()':
Clock_DUE:73: error: cannot convert 'char*' to 'int*' for argument '1' to 'void printText(int*, uint16_t, int, int, int)'
printText(timeChar,WHITE,20,25,3);
^
Clock_DUE:75: error: invalid conversion from 'int' to 'int*' [-fpermissive]
printText(GREEN,8,5,1);
^
Clock_DUE:75: error: too few arguments to function 'void printText(int*, uint16_t, int, int, int)'
C:\Users\Johan Prinsloo\Documents\Arduino\Clock_DUE\Clock_DUE.ino:85:6: note: declared here
}void printText(int *text, uint16_t color, int x, int y,int textSize)//char *text
^
C:\Users\Johan Prinsloo\Documents\Arduino\Clock_DUE\Clock_DUE.ino: In function 'void printText(int*, uint16_t, int, int, int)':
Clock_DUE:92: error: call of overloaded 'print(int*&)' is ambiguous
tft.print(text);
^
C:\Users\Johan Prinsloo\Documents\Arduino\Clock_DUE\Clock_DUE.ino:92:17: note: candidates are:
In file included from C:\Users\Johan Prinsloo\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.11\cores\arduino/Stream.h:26:0,
from C:\Users\Johan Prinsloo\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.11\cores\arduino/HardwareSerial.h:24,
from C:\Users\Johan Prinsloo\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.11\cores\arduino/Arduino.h:195,
from sketch\Clock_DUE.ino.cpp:1:
C:\Users\Johan Prinsloo\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.11\cores\arduino/Print.h:61:12: note: size_t Print::print(char)
size_t print(char);
^
C:\Users\Johan Prinsloo\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.11\cores\arduino/Print.h:61:12: note: no known conversion for argument 1 from 'int*' to 'char'
C:\Users\Johan Prinsloo\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.11\cores\arduino/Print.h:62:12: note: size_t Print::print(unsigned char, int)
size_t print(unsigned char, int = DEC);
^
C:\Users\Johan Prinsloo\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.11\cores\arduino/Print.h:62:12: note: no known conversion for argument 1 from 'int*' to 'unsigned char'
C:\Users\Johan Prinsloo\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.11\cores\arduino/Print.h:63:12: note: size_t Print::print(int, int)
size_t print(int, int = DEC);
^
C:\Users\Johan Prinsloo\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.11\cores\arduino/Print.h:63:12: note: no known conversion for argument 1 from 'int*' to 'int'
C:\Users\Johan Prinsloo\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.11\cores\arduino/Print.h:64:12: note: size_t Print::print(unsigned int, int)
size_t print(unsigned int, int = DEC);
^
C:\Users\Johan Prinsloo\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.11\cores\arduino/Print.h:64:12: note: no known conversion for argument 1 from 'int*' to 'unsigned int'
C:\Users\Johan Prinsloo\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.11\cores\arduino/Print.h:65:12: note: size_t Print::print(long int, int)
size_t print(long, int = DEC);
^
C:\Users\Johan Prinsloo\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.11\cores\arduino/Print.h:65:12: note: no known conversion for argument 1 from 'int*' to 'long int'
C:\Users\Johan Prinsloo\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.11\cores\arduino/Print.h:66:12: note: size_t Print::print(long unsigned int, int)
size_t print(unsigned long, int = DEC);
^
C:\Users\Johan Prinsloo\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.11\cores\arduino/Print.h:66:12: note: no known conversion for argument 1 from 'int*' to 'long unsigned int'
exit status 1
cannot convert 'char*' to 'int*' for argument '1' to 'void printText(int*, uint16_t, int, int, int)'
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
#include <Adafruit_GFX.h>
#include <Wire.h>
#include "Sodaq_DS3231.h"
#include <SPI.h>
#include <MCUFRIEND_kbv.h>
MCUFRIEND_kbv tft;
#define LCD_CS A3 // Chip Select goes to Analog 3
#define LCD_CD A2 // Command/Data goes to Analog 2
#define LCD_WR A1 // LCD Write goes to Analog 1
#define LCD_RD A0 // LCD Read goes to Analog 0
#define LCD_RESET A4 // Can alternately just connect to Arduino's reset pin
//Color Definitons
#define BLACK 0x0000
#define BLUE 0x001F
#define GREY 0xCE79
#define LIGHTGREY 0xDEDB
#define RED 0xF800
#define GREEN 0x07E0
#define CYAN 0x07FF
#define MAGENTA 0xF81F
#define YELLOW 0xFFE0
#define WHITE 0xFFFF
char timeChar[100];
char dateChar[50];
String dateString;
int minuteNow=0;
int minutePrevious=0;
void setup ()
{
Serial.begin(57600);
Wire.begin();
rtc.begin();
tft.reset();
uint16_t identifier = tft.readID();
tft.begin(identifier);
tft.setRotation (2); //0=PORTRAIT,1=LANDSCAPE 90 TURN,2=PORTRAIT_rev 180 TURN,3=LANDSCAPE_rev 270 TURN
tft.fillScreen(LIGHTGREY);//Background color
}
void loop ()
{
DateTime now = rtc.now(); //get the current date-time
uint32_t ts = now.getEpoch();
uint32_t old_ts;
if (old_ts == 0 || old_ts != ts) {
old_ts = ts;
minuteNow = now.minute();
if(minuteNow!=minutePrevious)
{
dateString = getDayOfWeek(now.dayOfWeek())+", ";
dateString = dateString+String(now.date())+"/"+String(now.month());
dateString= dateString+"/"+ String(now.year());
minutePrevious = minuteNow;
String hours = String(now.hour());
if(now.minute()<10)
{
hours = hours+":0"+String(now.minute());
}else
{
hours = hours+":"+String(now.minute());
}
hours.toCharArray(timeChar,100);
printText(timeChar,WHITE,20,25,3);
dateString.toCharArray(dateChar,50);
printText(GREEN,8,5,1);
}
}
}
void setRTCTime()
{
DateTime dt(2015, 8, 27, 9, 35, 30, 4); // Year, Month, Day, Hour, Minutes, Seconds, Day of Week
rtc.setDateTime(dt); //Adjust date-time as defined 'dt' above
}void printText(int *text, uint16_t color, int x, int y,int textSize)//char *text
{
tft.setCursor(x, y);
tft.setTextColor(color);
tft.setTextSize(textSize);
tft.setTextWrap(true);
tft.print(text);
}
String getDayOfWeek(int i)
{
switch(i)
{
case 1: return "Monday";break;
case 2: return "Tuesday";break;
case 3: return "Wednesday";break;
case 4: return "Thursday";break;
case 5: return "Friday";break;
case 6: return "Saturday";break;
case 7: return "Sunday";break;
default: return "Monday";break;
}
}
Thanks in advance
Arduino DUE/ DS3231