Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
7 years ago.
Real Time Clock function in the SmartGPU2 library - How do I call/ use it from main() ?
Hi. Can anyone give me some help with using the following RTC function from main()? I have tried several different ways of calling this function with several different errors from the mbed compiler. I am clearly getting confused re the struct TIME and how it passes the contents of each member from timeDate. The following info is taken from my main and the SMARTGPU2 . h and .cpp library files:
main()
main() SMARTGPUREPLY res; // responses from GPU res = lcd.getRTCTimeDate(TIME*); // res gets the result of the function call lcd.string(0,21,300,40, TIME.hour, &bytes); //write a string on the tft screen with the RTC hours data
SMARTGPU2.cpp
/****************************************************************/ //Real Time Clock Functions /****************************************************************/ SMARTGPUREPLY SMARTGPU2::setupRTC(STATE *state){ putcharTX('R'); //RTC function - Real Time Clock putcharTX('S'); //Setup RTC *state = (STATE)getcharRX(); //Get state return (SMARTGPUREPLY)getcharRX(); } SMARTGPUREPLY SMARTGPU2::getRTCTimeDate(TIME *timeDate){ unsigned int counter=0; putcharTX('R'); //RTC function - Real Time Clock putcharTX('P'); //Parameters putcharTX('G'); //Get timeDate->hour = getcharRX(); //hour timeDate->minute = getcharRX(); //min timeDate->second = getcharRX(); //sec timeDate->day = getcharRX(); //day timeDate->month = getcharRX(); //month ((unsigned char*)&counter)[1] = getcharRX(); //year upper ((unsigned char*)&counter)[0] = getcharRX(); //year lower timeDate->year = counter; //year return (SMARTGPUREPLY)getcharRX(); } SMARTGPU2.h //Files Time and Date typedef struct { unsigned char hour; unsigned char minute; unsigned char second; unsigned char day; unsigned char month; unsigned int year; } TIME; //to create a Time-Date info struct /****************************************************************/ //Real Time Clock Functions /****************************************************************/ SMARTGPUREPLY setupRTC(STATE*); SMARTGPUREPLY getRTCTimeDate(TIME*); SMARTGPUREPLY setRTCTimeDate(TIME*);
Question relating to:
1 Answer
7 years ago.
Something like this might work (untested, as I don't have the board):
SMARTGPUREPLY res; // responses from GPU TIME time; res = lcd.getRTCTimeDate(&time); // res gets the result of the function call lcd.string(0,21,300,40, time.hour, &bytes); //write a string on the tft screen with the RTC hours data