Probleme mit dem Ea-Dogm162e-a Lcd

Hallo liebe Arduino-Freunde,
ich beschäftige mich nun ein wenig mit dem Arduino und hab mir ein Lcd (Ea-Dogm162e-a) von electronic assembly gekauft. ich besitze ein Arduino Mega 2560 und benutze die lib von :
https://github.com/halfbyte/lcddogmspi
Da ich die Arduino Version 1.0 habe, musste ich kleine Änderungen vornehmen um zu compilieren. Ich habe die Spi Ports entsprechend zu meinem Mega geändert. Ebenfalls habe ich das Lc-Display genau so angeschlossen, wie es im Datenblatt beschrieben ist.

Allerdings ist auf meinem Lc-Display gar nichts zu sehen. Ich weiß nicht genau wo der Fehler liegen könnte. Hoffe nun auf eure Hilfe ^^
Mein Source-Code:
Header-Datei

#ifndef LCDdogmSPI_h
#define LCDdogmSPI_h
 
#include <inttypes.h>
#include "Arduino.h"
 
 
class LCDdogmSPI {
 
private:
  int cs_pin, rs_pin, lines;
 
  void spiTransfer(volatile char data);
 
public:
  LCDdogmSPI(int num_lines, int chip_select_pin, int register_select_pin);
  void commandWrite(char value);
  void dataWrite(char value);
  void init();
  void print(char value);
  void println(char value[]);
  void clear();
  //non-core---------------
  void cursorTo(int line_num, int x);
  // void leftScroll(int chars, int delay_time);
  //end of non-core--------
 
};
 
#endif

cpp datei

#include "LCDdogmSPI.h"
 
extern "C" {
  #include <stdio.h>  //not needed yet
  #include <string.h> //needed for strlen()
  #include <inttypes.h>
  #include "Arduino.h"
}
 
 
#define SPI_MOSI_PIN 51
#define SPI_CLK_PIN 52
 
// define command bytes for the LCD
#define LCDCMD_CLR 1
#define LCDCMD_HOME 2
#define LCDCMD_ON 0x0C
#define LCDCMD_FUN_REG_2 49
#define LCDCMD_FUN_REG_1 48
#define LCDCMD_BIAS_SET 28
#define LCDCMD_POWER_CTL 90
#define LCDCMD_FOLLOWER_CTL 105
#define LCDCMD_CONTRAST_SET 116
#define LCDCMD_ENTRY_MODE_SET 6
#define LCDCMD_SET_DDRAM_ADDRESS 0x80
 
LCDdogmSPI::LCDdogmSPI(int num_lines, int chip_select_pin, int register_select_pin) {
  cs_pin = chip_select_pin;
  rs_pin = register_select_pin;
  lines = num_lines;
}
 
void LCDdogmSPI::init() {
  char clr;
  char linesreg;
  pinMode(SPI_MOSI_PIN, OUTPUT);
  pinMode(SPI_CLK_PIN,OUTPUT);
  pinMode(cs_pin,OUTPUT);
  pinMode(rs_pin,OUTPUT);
 
  SPCR = (1<<SPE)|(1<<MSTR)|(1<<SPR1);
  clr=SPSR;
  clr=SPDR;
  delay(50);
 
  linesreg = (lines == 2) ? 8 : ;
 
  commandWrite(LCDCMD_FUN_REG_2 | linesreg); //function set
  delay(1);
  commandWrite(LCDCMD_FUN_REG_2 | linesreg); //function set
  delay(1);
  commandWrite(LCDCMD_BIAS_SET);
  commandWrite(LCDCMD_POWER_CTL);
  commandWrite(LCDCMD_FOLLOWER_CTL);
  commandWrite(LCDCMD_CONTRAST_SET);
  commandWrite(LCDCMD_ON);
  commandWrite(LCDCMD_CLR); 
  commandWrite(LCDCMD_ENTRY_MODE_SET);
  commandWrite(LCDCMD_HOME);
}
 
void LCDdogmSPI::commandWrite(char value) {
  digitalWrite(cs_pin,LOW);
  digitalWrite(rs_pin, LOW);
  spiTransfer(value);
  digitalWrite(cs_pin,HIGH);
  delay(60);
}
 
void LCDdogmSPI::dataWrite(char value) {
  digitalWrite(cs_pin,LOW);
  digitalWrite(rs_pin, HIGH);
  spiTransfer(value);
  digitalWrite(cs_pin,HIGH);
}
 
// for compatibility with other LCD libs
void LCDdogmSPI::print(char value) {
  dataWrite(value);
}
 
void LCDdogmSPI::println(char msg[]) {
  uint8_t i;  //fancy int.  avoids compiler warning when comparing i with strlen()'s uint8_t
  for (i=;i < strlen(msg);i++){
    print(msg[i]);
  }
}
 
void LCDdogmSPI::clear() {
  commandWrite(LCDCMD_CLR);
}
 
void LCDdogmSPI::cursorTo(int line_num, int x) {
  char address = ;
  if (line_num > lines) line_num = lines;
  if (lines == 1) {
    x = x % 8;
  } else {
    x = x % 16;
  }
  address = (lines == 3) ? (line_num * 0x10) : (line_num * 0x40);
  address += x;
  address = address & 0x7F;
  commandWrite(LCDCMD_SET_DDRAM_ADDRESS | address);
}
 
 
void LCDdogmSPI::spiTransfer(volatile char data)
{
  SPDR = data;                    // Start the transmission
  while (!(SPSR & (1<<SPIF)));    // Wait for the end of the transmission
}

Sketch

#include <LCDdogmSPI.h>
 
#define CSB_PIN 41
#define RS_PIN 40
#define LCD_LINES 2
 
 
LCDdogmSPI lcd = LCDdogmSPI(LCD_LINES, CSB_PIN, RS_PIN);
 
void setup() {
  lcd.init();
  lcd.cursorTo(1,5);
  lcd.println("Hello");
}
 
void loop() {
  delay(10); 
}

Ich hoffe jemand kann mir helfen.
Mfg

Thomas Meyer