2016-04-18 7 views
1

umgesetzt werden Ich möchte einige Sumo/traci Befehle verwenden, die nicht in omnet ++/Venen, wie implementiert zu sein scheinen:omnet ++/Venen: einige Sumo/traci Befehle scheinen nicht

  • Ampel Befehle setRedYellowGreenState (tlsID, Staat) zum Beispiel
  • Kreuzung Befehl
  • und andere Befehle

Was ist der einfachste Weg, um diese Befehle von omnet ++/Venen verwenden zu können?

Vielen Dank für die Hilfe. Grüße :)

Antwort

2

Sie können die vorhandenen Client-Quellcode finden in TraCICommandInterface.cc, for example to set a TL program mit SUMO interagieren:

// variable & id 
int variable = inputStorage.readUnsignedByte(); 
std::string id = inputStorage.readString(); 
// [...] case TL_PROGRAM: 
server.readTypeCheckingString(inputStorage, subID) 

vars.switchTo(tlsControl, subID); 

Durch die Untersuchung:

TraCIBuffer buf = connection->query(CMD_SET_TL_VARIABLE, TraCIBuffer() 
    << static_cast<uint8_t>(TL_PROGRAM) 
    << trafficLightId 
    << static_cast<uint8_t>(TYPE_STRING) 
    << program 
); 

Der entsprechende Server-Quellcode kann in TraCIServerAPI_TLS.cpp, for example to set a TL program finden Wie der Server bereit ist, mit dem Client zu interagieren (und wie der Client bereits mit dem Server interagiert), sollte es Ihnen möglich sein, den Client nach Ihren Wünschen zu erweitern.

+0

Vielen Dank, dass ich die TLS-Methode erfolgreich implementiert habe – cnvp