Per Arduino - TCM120 EnOcean ansprechen

Hallo

Vielleich hat jemand von euch eine Idee oder Hinweis.

Ich habe ein Freeduino per NewSoftUART Pin 2,3 (da Ausgabe per Terminal
über USB erfolgt und daher Pin 0,1 belegt ist) mit mit einen TCM120 von
EnOcean.

Die Ausgabe von Telegrammen funktioniert ausgezeichnet. Jetzt würde ich
gerne den TCM per Befehl (Transmit Command Telegram) ansprechen und die
Antwort (RMT) an den Terminal ausgeben.

TX_TELEGRAM sollte eigentlich OK zurückgeben.

Was mache ich falsch?
Wie bekomme ich die 127 AdressID zum anlernen von Aktoren?

/**
* Auslesen/Aufrufen TCM120
*
* TCM120 
* Tx[Pin8]->Arduino Rx[Pin2]
* Rx[Pin7]->Arduino Tx[Pin3]
*
* @V0.1  2011.07.23: Auslesen Telegram TCM120
* @V0.2  2011.07.24: Befehle an TCM120 per Terminal senden    
* @copyright  
* @license
*/

#include <NewSoftSerial.h>

//**** VARIABLEN
byte bTcmTx=0;
int ledPin=13;

//**** NewSoft Parameter
const int rxPin=2, txPin=3 ;
NewSoftSerial mySerial(rxPin, txPin);

//**** EINGABE mit CR
#define INLENGTH 20
#define INTERMINATOR 13


/** 
* Setup konfiguriert Digitalport, Ports, ect
*/
void setup()  
{
  //**** Led Test  
  pinMode(ledPin,OUTPUT);
  digitalWrite(ledPin,HIGH);
  delay(150);
  digitalWrite(ledPin,LOW);

  //**** Datenrate Terminal
  Serial.begin(9600);
  Serial.println("Telegramme TCM120");

  //**** Datenrate fuer SoftUART Tx/Rx Schnittstelle - absenden Transmit Command Telegram an TCM120
  mySerial.begin(9600);
  mySerial.print("TX_TELEGRAM");
  
}


/** 
* Schleife 
* Liest TCM120 Telegramme ueber SoftUART Tx an Terminal aus
*/
void loop()                     // run over and over again
{

  //**** Ausgabe Terminal Telegramme
  if (mySerial.available()) {
      //**** Zeilenvorschub vor A5
      bTcmTx=(char)mySerial.read();
      if(bTcmTx==165){
        Serial.println("");
        digitalWrite(ledPin,HIGH);
        delay(150);
        digitalWrite(ledPin,LOW);  
        }
      Serial.print(bTcmTx,HEX);
  }
  
  //**** Ausgabe Terminal 
  if (Serial.available()) {
      mySerial.print((char)Serial.read());
  }
}

Vielen Dank im voraus

Bin in der Zwischenzeit weiter, habe trotzden noch ein Problem

Beim Befehl INF_INIT [A5][5A][8B][89][00][00][00][00][00][00][00][00][Chk]

sollten 15 Telegramme kommen

0xA5 0x5A 0x8B 0x89 ""
0xA5 0x5A 0x8B 0x89 "EnOcean"
0xA5 0x5A 0x8B 0x89 "TCM120"
0xA5 0x5A 0x8B 0x89 "Version"
....usw

Ich bekomme zwar Antworten jedoch nur hat das keine Ähnlichkeit mit den Beschrieben.
Hat jemand eine Ahnung an was es liegt?

Quellcode

#include <NewSoftSerial.h>

//**** VARIABLEN
byte bTcmTx=0;
int ledPin=13;
int packet[14];
int j;

//**** NewSoft Parameter
const int rxPin=2, txPin=3 ;
NewSoftSerial mySerial(rxPin, txPin);


/** 
* Setup konfiguriert Digitalport, Ports, ect
*/
void setup()  
{
  //**** Led Test  
  pinMode(ledPin,OUTPUT);
  digitalWrite(ledPin,HIGH);
  delay(150);
  digitalWrite(ledPin,LOW);

  //**** Datenrate Terminal
  Serial.begin(9600);
  Serial.println("Telegramme TCM120");

  //**** Datenrate fuer SoftUART Tx/Rx Schnittstelle - absenden Transmit Command Telegram an TCM120
  mySerial.begin(9600);

  //**** INR_INIT holt Informationen ueber TCM120
  send_packet(0x8B,0x89,0,0,0,0,0,0,0,0); 

}


/** 
* Schleife 
* Liest TCM120 Telegramme ueber SoftUART Tx an Terminal aus
*/
void loop()                     // run over and over again
{
  get_packet();  
}


/** 
* Holt Telegramm von TCM120
*/
void get_packet() 
{
  if (mySerial.available()) {
      //**** Zeilenvorschub vor A5
      bTcmTx=(char)mySerial.read();
      if(bTcmTx==165){
        Serial.println("");
        }
      Serial.print(bTcmTx,HEX);
  }
  if (Serial.available()) {
      mySerial.print((char)Serial.read());
  }
}


/** 
* Sendet Telegramm an TCM120
*/
void send_packet(int typ,int cmd,int D3,int D2,int D1,int D0,int D_3,int D_2,int D_1,int D_0) 
{
  mySerial.print(0xA5,BYTE);
  mySerial.print(0x5A,BYTE);
  mySerial.print(typ,BYTE);
  mySerial.print(cmd,BYTE);
  mySerial.print(D3,BYTE);
  mySerial.print(D2,BYTE);
  mySerial.print(D1,BYTE);
  mySerial.print(D0,BYTE);
  mySerial.print(D_3,BYTE);
  mySerial.print(D_2,BYTE);
  mySerial.print(D_1,BYTE);
  mySerial.print(D_0,BYTE);
  mySerial.print(0,BYTE);
  mySerial.print(0xff & (typ+cmd+D3+D2+D1+D0+D_3+D_2+D_1+D_0));
}

Ich versuche den arduino Mega an einen TCM120 anzuschliesen. Aber irgend wie bekomme ich keine ausgabe am serial monitor wo dran koennte das liegen. Hat jemand fuer mich ein schaltplan?