Pokaż wiadomości

Ta sekcja pozwala Ci zobaczyć wszystkie wiadomości wysłane przez tego użytkownika. Zwróć uwagę, że możesz widzieć tylko wiadomości wysłane w działach do których masz aktualnie dostęp.


Wiadomości - mac310

Strony: 1 [2] 3 4 ... 18
31
Symulator / Odp: Programy na użytek symulatora. [szczawik]
« dnia: 14 Listopada 2022, 11:12:54 »
  • UART- rozbudowa o nowe parametry (zachowana kompatybilność wsteczna- obsługiwane po wykryciu),
Wygląda na to, że ustawienia yes/no już nie są aktualne i wraz z nowymi funkcjami, które finalnie trafiły do exe Milka (niestety nie ma go w aktualizacji 22.11) zmieniło się sterowanie z eu07.ini.
Teraz wygląda to tak, gdy wszystkie opcje są włączone:
uartfeature main|scnd|train|local|radiovolume|radiochannelWyłączenie danej funkcji odbywa się poprzez usunięcie wpisu znajdującego się między pionowymi liniami. Nie będzie zatem wstecznej kompatybilności bo zmienił się zupełnie sposób konfigurowania zarówno dotychczasowych jak i dwóch nowych funkcji.
Muszę więc poprosić o kolejną zmianę w starterze. Zmiany wprowadzał @marcinn więc może coś skomentuje, ale wydaje mi się, że tak to powinno działać. Przynajmniej tak to działa u mnie jak wprowadzam ręcznie.

32
Coś musisz mieć nie tak z tym expanderem bo u mnie jest 13 8-bitowych podłączonych do MEGA i jeden 16-bitowy do NANO w Radmorze i wszystko działa. Piny expanderów w zasadzie obsługuje się tak samo jak piny lokalne tylko dodając ich obsługę odwołujesz się do nazwy expandera i numeru pinu na nim np. exp0.digitalRead(0). Wszystkie piny wejściowe mam podciągnięte wewnętrznie np. exp0.pinMode(0, INPUT_PULLUP). Korzystam z tej biblioteki zarówno dla 8- jak i 16-bitowych wersji.

33
Ja zarówno w komunikacji MEGA z exe jak i MEGA z NANO mam tak samo czyli Serial.readBytes() i Serial.write(). Sprawdzanie synchronizacji zrobiłem sobie niedawno na MEGA gdzie najpierw mam komunikację z exe, a cała reszta obsługi pulpitu i komunikacji z NANO siedzi w if'ie, który sprawdza, czy cztery pierwsze bajty odebrane z exe to 0xEF. Nie wiem czy to dobrze czy nie ale generalnie wszystko działa i nie ma problemów. W sumie to nie było ich również gdy nie miałem tego if'a sprawdzającego te pierwsze bajty. Problemy z powolną komunikacją z exe, jak wspomniałem związaną z komunikacją z NANO, zdarzają się na tyle rzadko i nigdy w trakcie symulacji, a jedynie przy starcie, że na razie je kompletnie zignorowałem. Pierwotnie myślałem, że są spowodowane zakłóceniami na przewodzie między MEGA, a NANO bo jak podłączyłem ekran do masy to wszystko działa bez problemu i wspomniany efekt spowolnienia pojawił się jak dotąd tylko raz.

34
U mnie takie dziwne spowolnienie czasami się pojawia ale na szczęście bardzo rzadko. Zauważyłem, że ma na to wpływ komunikacja po uart z nano, które działa w Radmorze. Dla diagnostyki podpiąłem wolny hebelek i wyłączam nim transmisję z nano. Jak się coś takiego stanie i odłączę hebelkiem nano to wymiana pakietów z PC wraca do normy. Dziwne to zjawisko i widać je na diodach RX/TX oraz informacji pod F12 o wymianie pakietów. Lecą wtedy tak mniej więcej co 1 sekundę. Jest to na szczęście tak rzadka przypadłość, że nie próbowałem tego głębiej diagnozować.

35
Ja mam bezpośrednio podłączone oba krany na dwa wejścia analogowe. Nic więcej nie mam jako wejście analogowe. Nie zauważyłem problemów. A czym się to sianie objawia? Jedyne co zauważyłem to delikatne drganie wartości na każdym z kranów co widać w symulacji jako lekkie drganie rączki ale jakoś mi to nie przeszkadzało, żeby korygować sprzętowo.

36
Ja u siebie w Arduino mam na końcu asekuracyjne "delay(100)", bo wcześniej też się różne dziwne rzeczy działy.
Ja mam klona MEGA z 16U2, w kodzie bez deley'ów, a w eu07.ini mam takie wartości, więc chyba dość szybka wymiana danych jest. Żadnych problemów z gubieniem synchronizacji.
uart COM3 115200 0.05 0.05Osobiście miałem jedno MEGA z CH340 i w ogóle nie chciało działać, więc nawet nie próbowałem z pulpitem. Mam kilka klonów NANO z CH340 i jedne działają dobrze po USB, a inne nie bardzo. NANO mam wszczepione do manipulatora Radmora, ale tam nie korzystam w ogóle z USB. Programowanie wyciągnąłem sobie z ISP na DB9 do podpięcia USBasp gdy coś tam sobie chcę poprawić w kodzie, a samo NANO gada z MEGA po COMie, więc nie czuję problemu z USB.

37
Symulator / Odp: Programy na użytek symulatora. [szczawik]
« dnia: 24 Października 2022, 12:45:46 »
Jeśli istnieje ale nie działa, to jakoby nie istniała.

38
Symulator / Odp: Programy na użytek symulatora. [szczawik]
« dnia: 23 Października 2022, 19:37:07 »
Mam wrażenie, że jeśli wstawię sobie pojazd do prowadzenia, który już jest gdzieś użyty w scenerii to dochodzi do zamknięcia/wysypu symulacji. Jeśli tak jest, to może dałoby radę dodać do startera jakąś funkcję sprawdzenia zduplikowanych pojazdów, żeby uniknąć wysypu w trakcie jazdy.

39
Jak mocowałeś wskazówki na osiach?

40
To dodaj warunek, żeby przy wartości < 0 wysyłał zawsze 0. Nie bawiłem się z potencjometrem do takiego zastosowania więc tak z głowy podrzucam.
Nie wiem jakie wartości powinny się pojawiać na wyjściu, bo rozumiem, że najpierw rośnie pozycja nastawnika od 0 do 10, a później co, zostaje na 10 i zaczyna rosnąć hamowanie od 0 do 100?
Jeśli tak to może coś takiego:
    odczytanaPozycjaNastawnika = analogRead(A5);  //Odczytujemy wartość napięcia
   
    if (odczytanaPozycjaNastawnika > 500) {
      pozycjaNastawnika = map(odczytanaPozycjaNastawnika, 1023, 500, 0, 10);
    } else {
      pozycjaNastawnika = 10;
    }

    if (odczytanaPozycjaNastawnika <= 500) {
      pozycjaHamulca = map(odczytanaPozycjaNastawnika, 500, 0, 0, 100);
    } else {
      pozycjaHamulca = 0;
    }
Chociaż wydaje mi się,  że nastawnik działa od pozycji środkowej i do przodu rosną pozycje jazdy, a do tyłu hamowanie. Jeśli tak to raczej przy 500 oba są na 0 i kręcąc w jedną stronę rosną pozycje nastawnika, później wracamy do zera i kręcąc w drugą stronę rosną pozycje hamowania ED. Jeśli tak to powyższy kod trzeba trochę zmodyfikować.

41
Nie za bardzo rozumiem co chcesz osiągnąć tymi dwoma funkcjami. Mapujesz dwa razy tę samą wartość tylko w przeciwnych kierunkach na dwa różne zakresy. Jak to niby ma działać?

42
Pozycja nastawnika to liczba całkowita więc po prostu jest przekazywana przez bajt, a nie wybrany bit jak przycisk czy przełącznik. Ja mając styki na krzywkach odczytuję konkretną wartość ze wszystkich  styków i poprzez case wyznacza mi to numer pozycji nastawnika. Tę liczbę przesyłam doPC w konkretnym bajcie. Przykładowo:
doPC[10] = pozycjaNastawnika

43
Ja mam kilka NANO właśnie z CH340 i różnie z nimi bywa. Generalnie dałem sobie spokój z programowaniem po USB i używam USBasp przez złącze ICSP. Poza tym nie używam ich do stałej komunikacji z PC po USB więc nie czuję problemu. Zamówiłem sobie klona MEGA z Ali i on był też na CH340 i w zasadzie w ogóle nie chciał gadać po USB. To co mam w pulpicie jest na 16U2 i nigdy nie miałem problemów z komunikacją po USB. Oczywiście mój przypadek nie musi być miarodajny ale kilka razy miałem kontakt z ludźmi robiącymi pulpity gdzie wymiana MEGA na wersję z 16U2 rozwiązywała problemy komunikacyjne. Teraz to jest kłopot z płytkami i to w jakiejś przyzwoitej cenie ale ja jeszcze kupowałem je w Nettigo jak były w rozsądnych cenach i w ogóle były na stanie.

44
Ciekawe jakie masz Arduino. Czy nie jest to wersja z CH340? Miałem kilka przypadków, że ten chip jakoś tak niekoniecznie dobrze dogaduje się w komunikacji po USB, nie zawsze działa to stabilnie. Klony z ATmega16U2 nigdy nie stwarzały problemów.

45
Do uart.ini dodajesz wpisy odpowiadające przyciskom i przełącznikom, jako analogia do wpisów w keyboard.ini. Te wpisy w eu07.ini w linii uartfeature dotyczą obsługi bezpośredniej nastawników i hamulców. Czyli gdy exe ma czytać odpowiedni bajt z ramki doPC, któy zawiera dane dla nastawników i hamulców. Jeśli chcesz działać jak z klawiatury (nastawnik do góry lub do dołu) to musisz wyłączyć go w uartfeature i zrobić wpis w uart.ini, żeby powiązać sygnały z przycisków z funkcjami jakby klawiatury. Widzę, że tak zrobiłeś dla 36 i 37 ale wydaje mi się, że reakcję blokuje yes w uartfeature, który powoduje chęć odebrania konkretnej pozycji nastawnika z bajtu 10. Dalej bocznik to bajt 11, hamulec zespolony - 12 i hamulec pomocniczy - 14.
Spróbuj z uartfeature ustawionym na no dla każdej funkcji.

46
Symulator / Odp: Programy na użytek symulatora. [szczawik]
« dnia: 04 Października 2022, 14:17:04 »
Na akceptację oczekuje zmiana od @marcinn dotycząca przekazywania informacji po UART o numerze kanału radiowego i poziomu głośności. Jest to również związane do dodatkowymi ustawieniami w eu07.ini w zmiennej uartfeature. Teraz są tam 4 parametry (dla nastawników i hamulców) ustawiane yes/no, ale po wprowadzeniu tych dodatkowych dwóch, będzie trzeba je uwzględnić w okienku "Konfiguracja COM", bo teraz dopisane ręcznie w eu07.ini są usuwane przez starter. Także piąty yes/no to będzie radiovolumeenable, a szósty to radiochannelenable. Poproszę zatem o uwzględnienie tego w wydaniu startera. Nowe funkcje przeszły pozytywnie testy z moim pulpitem więc mam nadzieję, że pojawią się wkrótce na stałe w exe. Teraz wszystko w rękach @Milek7.

47
Nie podłączałem nastawnika przez potencjometr. Nastawnik robiłem początkowo na enkoderze szczelinowym, który wysyłał impulsy zwiększające lub zmniejszające pozycje nastawnika. Odkąd mam oryginalny nastawnik to zbieram sygnały że styków i analizuję je wszystkie jaką jedną liczbę i poprzez case rozpoznaję na jakiej jest pozycji. Pozycja jest wysyłana do exe bezpośrednio jako cały bajt.
W tzw. międzyczasie miałem koło że stykami dla każdej pozycji i też rozpoznawałem bezpośrednio pozycję. Można pozycje poprzez styki puścić na drabinkę rezystorów i odczytywać wartość napięcia. To jeśli chce się zaoszczędzić na pinach wejściowych. Wtedy wystarczy jeden analogowy jako woltomierz. Tego Nie próbowałem w praktyce. W sumie to i pewnie dałoby radę to zrobić przez potencjometr ale nie wiem jak byłoby z precyzją rozpoznania pozycji.
Potencjometr za to jak najbardziej dobry do kranu hamulca. Tu się przydaje funkcja map() i odczyt z pojedynczego pinu analogowego.

48
W eu07_input-uart.ini dla syreny są dwa wpisy bo to działa jak dwa przyciski (niski i wysoki ton oddzielnie)
22 impulse hornhighactivate
23 impulse hornlowactivate
dla czuwaka jest oczywiście jeden wpis bo to jeden przycisk
7 impulse alerteracknowledge
Patrząc na Twój kod wygląda to w zasadzie OK, więc sprawdź wpis do uart.ini
Ja bym nie używał pinów 0 i 1 bo one są do obsługi uart'a (RX/TX) dla komunikacji po USB z PC. Możliwe, że zakłócasz tym przyciskiem na pinie 0 całą komunikację z exe.

Spróbuj przepiąć przycisk na pin 4 i sprawdź ten kod:
volatile uint8_t zPC[52] = {0}; // standardowe bajty przekazywane do kodu Arduino
volatile uint8_t doPC[20] = {0xEF, 0xEF, 0xEF, 0xEF}; // standardowe bajty przyjmowane z kodu Arduino
         
void setup() {
    pinMode(2, OUTPUT);     //ustawienie pinu 2 jako wyjście cyfrowe
    pinMode(3, OUTPUT);     //ustawienie pinu 3 jako wyjście cyfrowe
    pinMode(4, INPUT_PULLUP); //ust pinu 4 jako wejscie

    digitalWrite(2, LOW);     //ustawienie stanu niskiego na pinie 2
    digitalWrite(3, LOW);     //ustawienie stanu niskiego na pinie 3

    Serial.begin(115200);     //nawiązanie komunikacji z prędkością 115200b/s
    Serial.setTimeout(10);
    while(!Serial){};     //czekanie do nawiązania komunikacji z komputerem
  }
 
void loop() {

    bitWrite(doPC[4], 7, !digitalRead(4));   //syrena ton wysoki

    while (!Serial.available()) {};
    Serial.readBytes((char*)zPC, 52);
    Serial.write((char*)doPC, 20);

    digitalWrite(2, (bitRead(zPC[8], 6)));     //czuwak
    digitalWrite(3, (bitRead(zPC[8], 7)));     //shp

  }

49
Nie widząc kodu to trudno coś powiedzieć.

50
Na warsztacie / Odp: Exe - zmiany w stosie graficznym i dźwiękowym
« dnia: 26 Września 2022, 22:26:46 »
Czy jest ktoś jeszcze aktywny, kto ogarnia kod i mógłby podpowiedzieć parę rzeczy? Chciałbym wprowadzić kilka poprawek, o których pisałem wcześniej ale poza obsługą hamulca bezpieczeństwa nie udało mi się więcej zrobić.

51
Ramka doPC ma obecnie 20 bajtów, a jaj zawartość można sobie zdefiniować edytując plik eu07_input-uart.ini
Moje ustawienia wrzucałem kiedyś w tym zestawieniu
Ramka zPC ma obecnie 52 bajty i to co jest obecnie oprogramowane jest w tym zestawieniu

52
A mnie się w końcu udało podłączyć klapę Ackermana.


53
No to nieźle :D
Dostałeś kierownicę od syreny. Może i jest z ET22 ale do nastawnika to trochę brakuje. Ja nie mając oryginalnej kolumny nastawników zrobiłem sobie coś takiego i działało przez kilka lat.

54
No piszesz, że wylicytowałeś nastawnik i jednocześnie pytasz o to jak zdobyć to co jest jego integralną częścią.

55
Witam, rozpocząłem budowę nastawnika do kompa. Projekt mam podeślę go kiedy indziej.  Nastawnik jazdy jest już wylicytowany i materiały już prawie wszystkie zdobyte ale jest jeszcze jedno pytanie skąd nabyć nastawnik kierunku jazdy oraz nastawnik bocznikowy?
A w ogole wiesz co wylicytowałeś? Mam wrażenie, że chyba nie bardzo.

56
Na warsztacie / Odp: Exe - zmiany w stosie graficznym i dźwiękowym
« dnia: 08 Września 2022, 17:49:02 »
Czy mam rozumieć, że jeśli w pliku eu07_input-keyboard.ini jakiś parametr występuje wyłącznie jako toggle i nie ma obok opcji alternatywnych w postaci enable/disable jak to ma miejsce w przypadku np: radiotoggle i alarmchaintoggle to bez zmian w exe nie da rady sterować tym jak hebelkiem (przyciskiem bistabilnym)? Oczywiście pytam w kontekście sterowania z pulpitu, gdzie toggle jest w zasadzie bezużyteczne i jedynie dwa niezależne parametry enable/disable są przydatne. Większość urządzeń już tak ma ale te dwa wspomniane wyżej jeszcze nie i to trochę komplikuje sprawę z ich podłączeniem. Dobrze by było móc używać w eu07_input-uart.ini wpisów:
toggle radioenable radiodisable
toggle alarmchainenable alarmchaindisable

57
Zwolniła mi się płytka ACB opisywana na tej stronie, więc jakby ktoś był zainteresowany zakupem zanim ją rozlutuję na części to zapraszam na priv.

58
Na warsztacie / Odp: Exe - zmiany w stosie graficznym i dźwiękowym
« dnia: 05 Września 2022, 00:03:35 »
No rozumiem, ale chyba zanim pojawi się kolejne wydanie to są jakieś zmiany w exe, które bym chętnie przetestował z pulpitem. Liczyłem na linka do strony wspomnianej przez @Stele https://eu07.pl/forum/index.php/topic,29423.msg550244.html#msg550244

59
Na warsztacie / Odp: Exe - zmiany w stosie graficznym i dźwiękowym
« dnia: 04 Września 2022, 23:50:15 »
No ja od dawna korzystałem z tej lokalizacji, gdzie pojawiały się nowe wersje exe https://ci.appveyor.com/project/Milek7/maszyna/history
Nie znam innego miejsca, gdzie są aktualne exe do testowania.

60
Na warsztacie / Odp: Exe - zmiany w stosie graficznym i dźwiękowym
« dnia: 04 Września 2022, 23:11:00 »
Zauważyłem, że w ostatnich exe 885 i 886 jest jakiś problem z wczytywaniem inc'ów dla syren. W logu pojawia się taka informacja
sound: loading file: sounds/104e_3]curve.ogg
Failed to open file "dynamic/pkp/303e_v1/["
Bad include: can't open file "["
sound: loading file: sounds/07]spre_4-start.ogg
W wersji 882 jest OK. Dotyczy to oczywiście aktualizacji 22.08 więc chyba najnowsze exe nie rozumie tej nowej koncepcji obsługi plików syren z wykorzystaniem inc'a zamiast bezpośredniego wskazania plików dźwiękowych bo jak wrzuciłem do .mmd po staremu
horn1: { soundset: [ 4873_ep07-start-2.wav|4873_ep07-trwa-2.wav|4873_ep07-stop-2.wav ] range: 900 }
horn2: { soundset: [ 14745_41syrwys_start.wav|14745_41syrwys_trwa.wav|14745_41syrwys_stop.wav ] range: 950 }
to zaczytał te dźwięki i wszystko gra i buczy.
sound: loading file: sounds/4873_ep07-start-2.ogg
sound: loading file: sounds/4873_ep07-trwa-2.ogg
sound: loading file: sounds/4873_ep07-stop-2.ogg
sound: loading file: sounds/14745_41syrwys_start.ogg
sound: loading file: sounds/14745_41syrwys_trwa.ogg
sound: loading file: sounds/14745_41syrwys_stop.ogg

Strony: 1 [2] 3 4 ... 18