CBUS Befehle: Spezifikation

Post Reply
schumo99
Posts: 160
Joined: 21.05.2017, 20:14
Location: Amberg

CBUS Befehle: Spezifikation

Post by schumo99 » 10.02.2019, 15:25

Hallo Rob,
ich würde gerne die schon bestehenden CBUS-Dekoder (ArduCAN-Reihe) noch um ein paar Funktionen erweitern. Dazu ein paar Fragen bzgl. der Kommunikation mit dem CBUS:

Ist es bzw. wie ist möglich über den CBUS Daten von einem Busteilnehmer zur Zentrale (und Rocrail) zu übertragen. Ich würde beispielsweise gerne railcom-Daten zusammen mit einer Belegtmeldung übertragen. Welches Kommando bzw. Kommandosequenz des CBUS-Protokolls müsste man da senden, damit es rocrail gleich richtig verarbeitet?

Ist es bzw. wie ist möglich Daten/Variablen von aus dem laufenden Berieb an einen Busteilnehmer zu senden. Ich würde z.B. einem Schaltbefehl (Kommando 90 bzw. 91) gerne eine Variable mitgeben (und damit z.b. die Helligkeit von LEDs auf Dekoderseite verstellen). WIst so etwas schon implementiert? Man könnte das über die Verwendung mehrere Events machen, aber gibt es auch noch einen anderen evtl. eleganteren Weg?

Danke schon mal. Grüße

Matthias

rjversluis
Site Admin
Posts: 42335
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: CBUS Befehle: Spezifikation

Post by rjversluis » 10.02.2019, 15:30

Hi Matthias,

am beste das gleiche Packet verwenden als was für RFID benutzt wird.

schumo99
Posts: 160
Joined: 21.05.2017, 20:14
Location: Amberg

Re: CBUS Befehle: Spezifikation

Post by schumo99 » 10.02.2019, 15:56

Hi,
leider sind die Sources des GC4 nicht erreichbar. Von der Homepage hab' ich folgendes rausgelesen:
OPC_DDES für die Übermittlung der variablen Daten (5 Bytes). Da kann ich dann die DCC-Adresse übermitteln (obwohl da 5 bytes sogar zu viel sind ;) Was ist mit den anderen Daten aus dem railcom-Signal; kann man die auch übertragen, so dass rocrail sie auswerten kann?

Die Belegtmeldung muss dann noch extra mit OPC_ASON/OPC_ASOFF kommen, richtig?

Wäre die Sequenz dann so richtig?
- Auslösen der Belegtmeldung mit OPC_ASON
- Übermittlung der Adresse mit OPC_DDES
- Löschend er Belegtmeldung mit OPC_ASOFF


Gibt es die andere Richtung (also von der Zentrale zum Decoder) auch mit der Übergabe von Variablen (z.B. Helligkeit) ?

Grüße

Matthias

rjversluis
Site Admin
Posts: 42335
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: CBUS Befehle: Spezifikation

Post by rjversluis » 10.02.2019, 16:21

Hi Matthias,

ich habe der Link angepasst:
https://gitlab.com/rocrail/GCA/tree/master/cbus

ACDAT ist dein Opcode.

Code: Select all

    case OPC_ACDAT:
    case OPC_DDES:
      __evaluateRFID(cbus, frame);
      break;

...
  int addrh   = frame->data[1];
  int addrl   = frame->data[2];
  int addr    = addrh * 256 + addrl;

  int rfid1  = frame->data[3];
  int rfid2  = frame->data[4];
  int rfid3  = frame->data[5];
  int rfid4  = frame->data[6];
  int rfid5  = frame->data[7];

  if( rfid1 == 0 && rfid2 == 0 && rfid3 == 0 && rfid4 == 0 && rfid5 == 0 )
    isZero = True;


  StrOp.fmtb( ident, "%d.%d.%d.%d.%d", rfid1, rfid2, rfid3, rfid4, rfid5);
  TraceOp.trc( name, TRCLEVEL_BYTE, __LINE__, 9999, "RFID %s",ident);
  TraceOp.trc( name, TRCLEVEL_MONITOR, __LINE__, 9999, "RFID %sevent %d id=%s",
      data->shortevents?"short ":"", addr, ident );

rjversluis
Site Admin
Posts: 42335
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: CBUS Befehle: Spezifikation

Post by rjversluis » 10.02.2019, 16:53

Hi Matthias,

wir können auch ein Opcode selbst definieren; Es ist noch genug Frei.
Was kannst du alles an RailCom Info liefern?

OPC_RAILCOM 0xEA

d0 + d1 = Decoder Adresse
d3 = Belegt Zustand
d4 + d5 = Lokadresse
d6 + d7 = weiter infos

schumo99
Posts: 160
Joined: 21.05.2017, 20:14
Location: Amberg

Re: CBUS Befehle: Spezifikation

Post by schumo99 » 10.02.2019, 20:58

Hallo Rob,
ich bin noch nicht so weit. Wollte nur erst mal fragen in wieweit CBUS und rocrail die Infos auch verarbeiten können...
Wenn ich einen funktionsfähigen Prototypen habe melde ich mich wieder. Muss aber erstmal eine Platine machen. Mit den kleinen Prozessoren geht's anders nicht. Da hab' ich dauernd nur fehlerhafte Kontakte im fliegenden Aufbau.
Grüße
Matthias

Post Reply

Return to “CBUS (DE)”