
/*
    Title:    1,1, Zoll Pictiva mit ATMEGA32
	Version:  1.00
    Author:   Jens Dietrich
    Start:    06/01/2006
    Date:     07/01/2007
    Purpose:  3,3 Volt
    Software: AVR-GCC
    Hardware: ATMEGA32 und 3,3 Volt SSD1303 - 1,1 Zoll Display
    Note:     http://www.icplan.de
	File:     pictiva.h
*/


// Zeichensatz 5 x 8 Zeichen
// ascii zeichen 0x20 bis 0x7F 
// linkes byte ist linker Pixelstreifen für SSD1303

const unsigned char z_code[] PROGMEM = {
0x00,0x00,0x00,0x00,0x00,0x00,     //  
0x00,0x00,0x00,0x4F,0x00,0x00,     // !
0x00,0x00,0x07,0x00,0x07,0x00,     // "
0x00,0x14,0x7F,0x14,0x7F,0x14,     // #
0x00,0x24,0x2A,0x7F,0x2A,0x12,     // $
0x00,0x23,0x13,0x08,0x64,0x62,     // %
0x00,0x36,0x49,0x55,0x22,0x50,     // &
0x00,0x00,0x05,0x03,0x00,0x00,     // '
0x00,0x00,0x1C,0x22,0x41,0x00,     // (
0x00,0x00,0x41,0x22,0x1C,0x00,     // )
0x00,0x14,0x08,0x3E,0x08,0x14,     // *
0x00,0x08,0x08,0x3E,0x08,0x08,     // +
0x00,0x00,0x50,0x30,0x00,0x00,     // ,
0x08,0x08,0x08,0x08,0x08,0x08,     // -
0x00,0x00,0x60,0x60,0x00,0x00,     // .
0x00,0x20,0x10,0x08,0x04,0x02,     // /
0x00,0x3E,0x51,0x49,0x45,0x3E,     // 0
0x00,0x00,0x42,0x7F,0x40,0x00,     // 1
0x00,0x42,0x61,0x51,0x49,0x46,     // 2
0x00,0x21,0x41,0x45,0x4B,0x31,     // 3
0x00,0x18,0x14,0x12,0x7F,0x10,     // 4
0x00,0x27,0x45,0x45,0x45,0x39,     // 5
0x00,0x3C,0x4A,0x49,0x49,0x30,     // 6
0x00,0x01,0x71,0x09,0x05,0x03,     // 7
0x00,0x36,0x49,0x49,0x49,0x36,     // 8
0x00,0x06,0x49,0x49,0x29,0x1E,     // 9
0x00,0x00,0x36,0x36,0x00,0x00,     // :
0x00,0x00,0x56,0x36,0x00,0x00,     // ;
0x00,0x08,0x14,0x22,0x41,0x00,     // <
0x00,0x14,0x14,0x14,0x14,0x14,     // =
0x00,0x00,0x41,0x22,0x14,0x08,     // >
0x00,0x02,0x01,0x51,0x09,0x06,     // ?
0x00,0x32,0x49,0x79,0x41,0x3E,     // @
0x00,0x7E,0x11,0x11,0x11,0x7E,     // A
0x00,0x7F,0x49,0x49,0x49,0x36,     // B
0x00,0x3E,0x41,0x41,0x41,0x22,     // C
0x00,0x7F,0x41,0x41,0x22,0x1C,     // D
0x00,0x7F,0x49,0x49,0x49,0x41,     // E
0x00,0x7F,0x09,0x09,0x09,0x01,     // F
0x00,0x3E,0x41,0x49,0x49,0x7A,     // G
0x00,0x7F,0x08,0x08,0x08,0x7F,     // H
0x00,0x00,0x41,0x7F,0x41,0x00,     // I
0x00,0x20,0x40,0x41,0x3F,0x01,     // J
0x00,0x7F,0x08,0x14,0x22,0x41,     // K
0x00,0x7F,0x40,0x40,0x40,0x40,     // L
0x00,0x7F,0x02,0x0C,0x02,0x7F,     // M
0x00,0x7F,0x04,0x08,0x10,0x7F,     // N
0x00,0x3E,0x41,0x41,0x41,0x3E,     // O
0x00,0x7F,0x09,0x09,0x09,0x06,     // P
0x00,0x3E,0x41,0x51,0x21,0x5E,     // Q
0x00,0x7F,0x09,0x19,0x29,0x46,     // R
0x00,0x46,0x49,0x49,0x49,0x31,     // S
0x00,0x01,0x01,0x7F,0x01,0x01,     // T
0x00,0x3F,0x40,0x40,0x40,0x3F,     // U
0x00,0x1F,0x20,0x40,0x20,0x1F,     // V
0x00,0x3F,0x40,0x38,0x40,0x3F,     // W
0x00,0x63,0x14,0x08,0x14,0x63,     // X
0x00,0x07,0x08,0x70,0x08,0x07,     // Y
0x00,0x61,0x51,0x49,0x45,0x43,     // Z
0x00,0x00,0x7F,0x41,0x41,0x00,     // [
0x00,0x15,0x16,0x7C,0x16,0x15,     // slash
0x00,0x00,0x41,0x41,0x7F,0x00,     // ]
0x00,0x04,0x02,0x01,0x02,0x04,     // ^
0x00,0x40,0x40,0x40,0x40,0x40,     // _
0x00,0x00,0x01,0x02,0x04,0x00,     // `
0x00,0x20,0x54,0x54,0x54,0x78,     // a
0x00,0x7F,0x48,0x44,0x44,0x38,     // b
0x00,0x38,0x44,0x44,0x44,0x20,     // c
0x00,0x38,0x44,0x44,0x48,0x7F,     // d
0x00,0x38,0x54,0x54,0x54,0x18,     // e
0x00,0x08,0x7E,0x09,0x01,0x02,     // f
0x00,0x0C,0x52,0x52,0x52,0x3E,     // g
0x00,0x7F,0x08,0x04,0x04,0x78,     // h
0x00,0x00,0x44,0x7D,0x40,0x00,     // i
0x00,0x20,0x40,0x44,0x3D,0x00,     // j
0x00,0x7F,0x10,0x28,0x44,0x00,     // k
0x00,0x00,0x41,0x7F,0x40,0x00,     // l
0x00,0x7C,0x04,0x18,0x04,0x78,     // m
0x00,0x7C,0x08,0x04,0x04,0x78,     // n
0x00,0x38,0x44,0x44,0x44,0x38,     // o
0x00,0x7C,0x14,0x14,0x14,0x08,     // p
0x00,0x08,0x14,0x14,0x18,0x7C,     // q
0x00,0x7C,0x08,0x04,0x04,0x08,     // r
0x00,0x48,0x54,0x54,0x54,0x20,     // s
0x00,0x04,0x3F,0x44,0x40,0x20,     // t
0x00,0x3C,0x40,0x40,0x20,0x7C,     // u
0x00,0x1C,0x20,0x40,0x20,0x1C,     // v
0x00,0x3C,0x40,0x30,0x40,0x3C,     // w
0x00,0x44,0x28,0x10,0x28,0x44,     // x
0x00,0x0C,0x50,0x50,0x50,0x3C,     // y
0x00,0x44,0x64,0x54,0x4C,0x44,     // z
0x00,0x00,0x08,0x36,0x41,0x00,     // {
0x00,0x00,0x00,0x7F,0x00,0x00,     // |
0x00,0x00,0x41,0x36,0x08,0x00,     // }
0x00,0x08,0x08,0x2A,0x1C,0x08,     // pfeil rechts 7e
0x00,0x08,0x1C,0x2A,0x08,0x08,     // pfeil links  7f
};


const unsigned char x_code[] PROGMEM = {
0x00,0xFC,0x02,0x01,0x01,0x81,0x41,0x21,0x11,0x0A,0xFC,0x00,     //0
0x00,0x1F,0x24,0x42,0x41,0x40,0x40,0x40,0x40,0x20,0x1F,0x00,
0x00,0x00,0x00,0x08,0x04,0x02,0xFF,0x00,0x00,0x00,0x00,0x00,     //1
0x00,0x00,0x00,0x00,0x40,0x40,0x7F,0x40,0x40,0x00,0x00,0x00,
0x00,0x0C,0x02,0x01,0x01,0x01,0x01,0x01,0x81,0x42,0x3C,0x00,     //2
0x00,0x40,0x60,0x50,0x48,0x44,0x42,0x41,0x40,0x40,0x40,0x00,
0x00,0x01,0x01,0x01,0x01,0x01,0x11,0x29,0x45,0x83,0x01,0x00,     //3
0x00,0x18,0x20,0x40,0x40,0x40,0x40,0x40,0x40,0x20,0x1F,0x00,
0x00,0x80,0x40,0x20,0x10,0x08,0x04,0x02,0xFF,0x00,0x00,0x00,     //4
0x00,0x03,0x02,0x02,0x02,0x02,0x02,0x02,0x7F,0x02,0x02,0x00,
0x00,0x3F,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x41,0x81,0x00,     //5
0x00,0x18,0x20,0x40,0x40,0x40,0x40,0x40,0x40,0x20,0x1F,0x00,
0x00,0xF0,0x88,0x84,0x82,0x81,0x81,0x81,0x81,0x00,0x00,0x00,     //6
0x00,0x1F,0x20,0x40,0x40,0x40,0x40,0x40,0x40,0x21,0x1E,0x00,
0x00,0x01,0x01,0x01,0x01,0x81,0x41,0x21,0x11,0x09,0x07,0x00,     //7
0x00,0x00,0x00,0x7E,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x3C,0x42,0x81,0x81,0x81,0x81,0x81,0x81,0x42,0x3C,0x00,     //7
0x00,0x1E,0x21,0x40,0x40,0x40,0x40,0x40,0x40,0x21,0x1E,0x00,
0x00,0x3C,0x42,0x81,0x81,0x81,0x81,0x81,0x81,0x82,0xFC,0x00,     //9
0x00,0x00,0x00,0x40,0x40,0x40,0x40,0x20,0x10,0x08,0x07,0x00,
};

const unsigned char week_code[] PROGMEM = {
'S','o','n',     //  
'M','o','n',
'D','i','e',
'M','i','t',
'D','o','n',
'F','r','e',
'S','a','m',
};

void send_char(unsigned char);
void send_data(unsigned char);
void senden_spi(unsigned char);
void delay(unsigned char);
void zeichen (unsigned char,unsigned char,unsigned char);
void zeichen_x (unsigned char,unsigned char,unsigned char);
void zeichen_big (unsigned char,unsigned char,unsigned char);
void zeichen_big2 (unsigned char,unsigned char,unsigned char);
char dayofweek(int y, int m, int d);
void oled_clear(void);
char not_leap(void);
void counter(void);

