Symulator EU07 (i nie tylko) > Na warsztacie

 Sterowanie ruchem przez zewnętrzną aplikację

<< < (9/14) > >>

CX MANIAK:
Witam.
 U mnie na najnowszej kompilacji exe C++ z SCS nie współpracuje. Teoretycznie według loga, symulator wysyła komunikaty. Sprawdziłem dla pewności na Next4, łączy się bez problemu.
Pozdrawiam.

Paul:

--- Cytat: Milek7 w 03 Marca 2017, 15:40:06 ---nie działa bo nazwa klasy jest chyba zła. mógłbyś sprawdzić czy działa przy klasie GLFW30?

--- Koniec cytatu ---

To było oparte o opisy okien, a nie nazwy klas - dlatego SCS po ustawieniu trybu WM_COPYDATA ustawia sobie opis TEU07SRK, i wyszukuje okna EU07. Niezbyt elegancko, ale przez buga w środowisku nie mogę zmienić deklarowanej nazwy klasy okna.


--- Cytat: Milek7 w 03 Marca 2017, 16:19:39 ---widzę to tak: SCS tworzy serwer tcp, eu07 łączy się pod adres wskazany w ini
przesyłane komunikaty są jak obecne DaneRozkaz, tylko po iSygn jeszcze dodać uint32 z długością payloadu (czyli bez iSygn, długości i iComm).
--- Koniec cytatu ---

Może lepiej serwer w EU07, a SCS jako klient - żeby można było połączyć więcej niż jedną aplikację z EU07, np. dwa stanowiska SCS, różne systemy sterowania dla różnych stacji itp. Ogólnie dobrze byłoby wpasować to do jakiejś przyszłościowej koncepcji symulacji sieciowej z wieloma maszynistami.


--- Cytat: Milek7 w 03 Marca 2017, 16:19:39 ---wszystkie inty i floaty w big endian, inaczej niż obecnie. (we wszystkich protokołach jest raczej big endian)
--- Koniec cytatu ---

Ja mam wszystko w little endian, razem ze standardowymi funkcjami zapisu/odczytu ze strumieni, EU07 ma jakoś inaczej? Musiałbym je odwracać (co w ostateczności nie jest skomplikowane, ale może się coś pomieszać).


--- Cytat: Milek7 w 03 Marca 2017, 15:40:06 ---PS: ten SCS ma być szansę otwartoźródłowy czy nie?

--- Koniec cytatu ---

Nie za bardzo, a co byś potrzebował podejrzeć?

tmj:

--- Cytat: Paul w 03 Marca 2017, 17:36:55 ---wyszukuje okna EU07. Niezbyt elegancko, ale przez buga w środowisku nie mogę zmienić deklarowanej nazwy klasy okna.
--- Koniec cytatu ---
Nie bardzo rozumiem, w jaki sposob wyszukujesz okno EU07? Jesli funkcja FindWindow() to mozna w niej zadeklarowac nazwe wyszukiwanego okna lub jego klase. Sek w tym ze po przenosinach na glfw nazwa klasy okna EU07 zostala zmieniona na GLFW30. Wyszukiwanie po nazwie wydaje sie raczej malo precyzjne, bo ta zmienia sie zaleznie od prowadzonego pojazdu.

Paul:
Sprawdziłem i faktycznie, SCS szuka nazwy klasy EU07, nie nazwy okna, natomiast w drugą stronę było szukanie nazwy okna - TEU07SRK. Mogę zmienić z EU07 na GLFW30, ale i tak SCS nie dostaje komunikatów od EU07.

tmj:
Jesli to nie problem, czy mozesz dolaczyc tutaj wersje SCS, ktora komunikuje sie z klasa GLFW30? Moge wtedy sprawdzic czy jakiekolwiek komunikaty przychodza z SCS.

fake edit: wyglada na to, ze symulator probuje wysylac sygnaly do okna klasy "TEU07SRK", a nie o nazwie "TEU07SRK". Rozumiem, ze nie mozesz zmienic nazwy klasy, dam poprawke, zeby w przypadku porazki probowal znalezc tez okno o takiej nazwie, powinno pomoc. Albo mozliwosc definiowania nazwy klasy okna odbiorcy w .ini, jako prowizorka wystarczy
edit: a nie, probuje szukac i tak, i tak. przyjrze sie dokladniej, ale w miedzyczasie to exe i tak by sie przydalo ;)

Nawigacja

[0] Indeks wiadomości

[#] Następna strona

[*] Poprzednia strona

Idź do wersji pełnej
Powered by Advanced Topic Prefix Pro
Powered by SMFPacks Likes Pro Mod