Some fixes

This commit is contained in:
2012-10-27 15:50:57 +02:00
parent f2faca454c
commit d21f38f24b
4 changed files with 94 additions and 56 deletions

View File

@ -30,6 +30,21 @@
static uint8_t bcd2bin (uint8_t val) { return val - 6 * (val >> 4); }
// no-cost stream operator as described at
// http://sundial.org/arduino/?page_id=119
template<class T>
inline Print &operator <<(Print &obj, T arg)
{ obj.print(arg); return obj; }
template<class T>
inline Print &operator >>(Print &obj, T arg)
{
for (unsigned int mask = 0x80; mask; mask >>= 1) {
obj.print(mask&arg?'1':'0');
}
return obj;
}
void setup() {
Serial.begin(9600);
@ -53,8 +68,8 @@ void setup() {
uint8_t ss = bcd2bin(blah[0] & 0x7F);
uint8_t mm = bcd2bin(blah[1]);
uint8_t hh = bcd2bin(blah[2]);
uint8_t d = bcd2bin(blah[4]);
uint8_t m = bcd2bin(blah[5]);
uint8_t d = bcd2bin(blah[4]);
uint8_t m = bcd2bin(blah[5]);
uint16_t y = bcd2bin(blah[6]) + 2000;
float ttc = (float)(int)blah[17];
byte portion = blah[18];
@ -68,38 +83,42 @@ void setup() {
Serial.println();
Serial.println("What\tByte\tCorrespondance");
Serial.println("------------------------------");
Serial.print("seconds\t"); Serial.print(blah[0]); Serial.print("\t"); Serial.println(ss);
Serial.print("minutes\t"); Serial.print(blah[1]); Serial.print("\t"); Serial.println(mm);
Serial.print("hours\t"); Serial.print(blah[2]); Serial.print("\t"); Serial.println(hh);
Serial.print("days\t"); Serial.print(blah[4]); Serial.print("\t"); Serial.println(d);
Serial.print("monthes\t"); Serial.print(blah[5]); Serial.print("\t"); Serial.println(m);
Serial.print("years\t"); Serial.print(blah[6]); Serial.print("\t"); Serial.println(y);
Serial.print("temp\t"); Serial.print(blah[17]); Serial.print("\t"); Serial.println(ttc);
Serial.print("temp\t"); Serial.print(blah[18]); Serial.print("\t"); Serial.println(portion);
Serial
<< "seconds\t" << blah[0] << "\t" << ss << "\r\n"
<< "minutes\t" << blah[1] << "\t" << mm << "\r\n"
<< "hours\t" << blah[2] << "\t" << hh << "\r\n"
<< "days\t" << blah[4] << "\t" << d << "\r\n"
<< "months\t" << blah[5] << "\t" << m << "\r\n"
<< "years\t" << blah[6] << "\t" << y << "\r\n"
<< "temp\t" << blah[17] << "\t" << ttc << "\r\n"
<< "temp\t" << blah[18] << "\t" << portion << "\r\n";
Serial.println();
Serial.println("Byte\tContent");
Serial.println("---------------");
Serial.print("0\t"); Serial.println(blah[0]);
Serial.print("1\t"); Serial.println(blah[1]);
Serial.print("2\t"); Serial.println(blah[2]);
Serial.print("3\t"); Serial.println(blah[3]);
Serial.print("4\t"); Serial.println(blah[4]);
Serial.print("5\t"); Serial.println(blah[5]);
Serial.print("6\t"); Serial.println(blah[6]);
Serial.print("7\t"); Serial.println(blah[7]);
Serial.print("8\t"); Serial.println(blah[8]);
Serial.print("9\t"); Serial.println(blah[9]);
Serial.print("10\t"); Serial.println(blah[10]);
Serial.print("11\t"); Serial.println(blah[11]);
Serial.print("12\t"); Serial.println(blah[12]);
Serial.print("13\t"); Serial.println(blah[13]);
Serial.print("14\t"); Serial.println(blah[14]);
Serial.print("15\t"); Serial.println(blah[15]);
Serial.print("16\t"); Serial.println(blah[16]);
Serial.print("17\t"); Serial.println(blah[17]);
Serial.print("18\t"); Serial.println(blah[18]);
Serial.print("19\t"); Serial.println(blah[19]);
Serial.println("Byte\tDecimal\tBinary");
Serial.println("----------------------");
Serial
<< "0\t" << blah[0] << "\t" >> blah[0] << "\r\n"
<< "1\t" << blah[1] << "\t" >> blah[1] << "\r\n"
<< "2\t" << blah[2] << "\t" >> blah[2] << "\r\n"
<< "3\t" << blah[3] << "\t" >> blah[3] << "\r\n"
<< "4\t" << blah[4] << "\t" >> blah[4] << "\r\n"
<< "5\t" << blah[5] << "\t" >> blah[5] << "\r\n"
<< "6\t" << blah[6] << "\t" >> blah[6] << "\r\n"
<< "7\t" << blah[7] << "\t" >> blah[7] << "\r\n"
<< "8\t" << blah[8] << "\t" >> blah[8] << "\r\n"
<< "9\t" << blah[9] << "\t" >> blah[9] << "\r\n"
<< "10\t" << blah[10] << "\t" >> blah[10] << "\r\n"
<< "11\t" << blah[11] << "\t" >> blah[11] << "\r\n"
<< "12\t" << blah[12] << "\t" >> blah[12] << "\r\n"
<< "13\t" << blah[13] << "\t" >> blah[13] << "\r\n"
<< "14\t" << blah[14] << "\t" >> blah[14] << "\r\n"
<< "15\t" << blah[15] << "\t" >> blah[15] << "\r\n"
<< "16\t" << blah[16] << "\t" >> blah[16] << "\r\n"
<< "17\t" << blah[17] << "\t" >> blah[17] << "\r\n"
<< "18\t" << blah[18] << "\t" >> blah[18] << "\r\n"
<< "19\t" << blah[19] << "\t" >> blah[19] << "\r\n";
}
void loop() {