uint8_t Encd (uint8_t val){
uint8_t t = 0; // make into two separate digits
t = ((val / 10) << 4) + (val % 10);
return t;
}
//===============================
void SetTimeDate(){
time_t now();
TimeDate[6] = year();
Serial.print(" year: ");
Serial.println(TimeDate[6]);
TimeDate[5] = month();
Serial.print(" month: ");
Serial.println(TimeDate[5]);
TimeDate[4] = day();
Serial.print(" day: ");
Serial.println(TimeDate[4]);
TimeDate[2] = hour();
Serial.print(" hour: ");
Serial.println(TimeDate[2]);
TimeDate[1] = minute();
Serial.print(" minute: ");
Serial.println(TimeDate[1]);
for(int i=0; i<=6;i++){
if(i==3) // point to the day of week
i++; // then skip over it
TimeDate[i] = Encd(TimeDate[i]);
digitalWrite(rtccs, LOW);
SPI.transfer(i+0x80); // sets MSB for Write
SPI.transfer(TimeDate[i]);
delay(1);
digitalWrite(rtccs, HIGH);
}
}//end ----------------SetTimeDate
The issue is, now(); only seems to return 01-01-1970. What gives? Does this not return seconds SINCE 1970??