Zmiana oprogramowania po RS485 , czy możliwe ?

Pytania, kody i porady dotyczące nie tylko Bascom.
grafii1
Posty: 58
Rejestracja: 23 wrz 2018, 11:28

Zmiana oprogramowania po RS485 , czy możliwe ?

Post autor: grafii1 » 23 wrz 2019, 17:27

Witam . Czy jest możliwa zmiana oprogramowania posługując się komunikacją rs485 , owszem można to zrobić przez rs232 ale jak wiemy RS 485 nie ma za bardzo możliwości wysłania RST a poza tym rs232 to full Duplex a rs485 niestety nie . Czy jest jakiś patent ? . Płytka Pro Mini została załadowana bootloaderem znajdującym się przykładach samego bascoma . Prosiłbym o jakąś sugestię i czy w ogóle jest taka możliwość . Pozdrawiam
http://mirley.firlej.org/node/1122
Awatar użytkownika
niveasoft
Posty: 1216
Rejestracja: 17 sie 2015, 12:13
Kontakt:

Re: Zmiana oprogramowania po RS485 , czy możliwe ?

Post autor: niveasoft » 23 wrz 2019, 18:15

Bez najmniejszego problemu.
Jedynie resetowanie wymaga podejścia "programowego". Moje sterowniki da się resetować zdalnie przez RS232 też po BT), RS485, UDP i TCP po LAN i WiFi i to wszystko jedna procedura parsującą.

Twój program tylko nadaje czy potrafi też "coś tam" odebrać?

A tu dwa linki które też powinny pomóc :P

https://bart-projects.cba.pl/bootloader.html

https://bart-projects.cba.pl/rs485.html

BTW. Nawet pochwalę się że z taką Mega328P z kwarcem 1105920 to śmigam po RS485 poprzez MODBUS z prędkością 250_000bps a nie jakieś 115200 :P
grafii1
Posty: 58
Rejestracja: 23 wrz 2018, 11:28

Re: Zmiana oprogramowania po RS485 , czy możliwe ?

Post autor: grafii1 » 23 wrz 2019, 19:10

Ok , dzięki za szybka odpowiedź . Może to banalne pytanie ale mam 3 moduły podpięte do jednego rs485 , w jaki sposób mają być identyfikowane , dany soft dla danego modułu
Awatar użytkownika
niveasoft
Posty: 1216
Rejestracja: 17 sie 2015, 12:13
Kontakt:

Re: Zmiana oprogramowania po RS485 , czy możliwe ?

Post autor: niveasoft » 23 wrz 2019, 19:32

Nie wiem jak je odpytujesz. W RS485 powinno być tak że niepytany Slave milczy.
Wystarczy chyba żeby inne się nie wtrącały a resetować możesz każdego z osobna np komendą AT_RST1 a drugiego AT+RST2
Takie słowo klucz się nazywa "magic word" :D

W razie gdyby na linii coś się wtrąciło to Bascom jeszcze ma wbudowany mechanizm sprawdzania sumy kontrolnej i ilość powtórzeń danego bloku (jadą tam po 128 bajtów +CRC)
grafii1
Posty: 58
Rejestracja: 23 wrz 2018, 11:28

Re: Zmiana oprogramowania po RS485 , czy możliwe ?

Post autor: grafii1 » 23 wrz 2019, 20:31

Miałem ten sam pomysł ale chciałem się upewnić że ten sposób jest jednym z prostszych . Urządzenia tak jak wspomniałeś nie pytane , nie odzywają się ale z małymi wyjątkami jak zauważą parametr mierzony poza jego granicami to same uruchamiają własną procedurę .
Awatar użytkownika
niveasoft
Posty: 1216
Rejestracja: 17 sie 2015, 12:13
Kontakt:

Re: Zmiana oprogramowania po RS485 , czy możliwe ?

Post autor: niveasoft » 23 wrz 2019, 20:36

Możesz sobie w sofcie napisać że jak wykryje "AT_RSTx" ale nie do niego to ma sobie dać na wstrzymanie np na 30s
grafii1
Posty: 58
Rejestracja: 23 wrz 2018, 11:28

Re: Zmiana oprogramowania po RS485 , czy możliwe ?

Post autor: grafii1 » 23 wrz 2019, 20:51

To powinno wystarczyć na wgranie , chyba że moduł jest daleko i trzeba zmienić prędkość transmisji
grafii1
Posty: 58
Rejestracja: 23 wrz 2018, 11:28

Re: Zmiana oprogramowania po RS485 , czy możliwe ?

Post autor: grafii1 » 25 wrz 2019, 13:23

Witam , co po kolei . Bascomnowy bootloader zmodyfikowany portd.2 wgrany standardowo . Korzystając z przykładu dopisałem sygnalizacje led portb.5 w pętli do Loop . Po zmianie konfiguracji programatora kierując się wskazówkami wgrałem program przez rs485 oczywiście wgrał się i uruchomił ale na końcu okno dialogowe zatrzymało się https://drive.google.com/open?id=1PidnR ... hHiqh5EJbWa przy drugiej próbie wgrania mamy https://drive.google.com/open?id=1NRTyO ... 3URg1q1Hpe, co jest nie tak
Awatar użytkownika
niveasoft
Posty: 1216
Rejestracja: 17 sie 2015, 12:13
Kontakt:

Re: Zmiana oprogramowania po RS485 , czy możliwe ?

Post autor: niveasoft » 25 wrz 2019, 13:36

Jak coś poprzednio poszło nie tak to teraz raczej nie zrestartuje się na hasło tylko musisz wcisnąć Reset paluchem
Widać, że już próbowałeś i dałeś Cancel :D
Na dodatek te Waitms 500 temu programowi szkodzi ;)
Zrób np tak i wtedy pętla zatrzyma się tylko na 1ms a nie na 500
  1. Do
  2.  Dim Timer_programowy As Word
  3.  If Timer_programowy < 500 Then
  4.   Incr Timer_programowy
  5.  Else
  6.   Timer_programowy = 0
  7.   Toggle Led
  8.  End If
  9.  
  10.   If Ischarwaiting() ...
  11.  
  12.   End If
  13.  
  14.  Waitms 1
  15.  Loop
ERROR CODES
-6001 - Bad format in file name
-6002 - file not found
-6003 - file not found in folder
-6004 - folder not found
-6005 - canceled
-6006 - time out
-6007 - protocol error
-6008 - too many errors
-6009 - block sequence error
-6016 - session aborted

The most likely error is -6006 when the bootloader is not present or does not respond timely after the initial handshake. Increase the $timeout in the boot loader in that case.
grafii1
Posty: 58
Rejestracja: 23 wrz 2018, 11:28

Re: Zmiana oprogramowania po RS485 , czy możliwe ?

Post autor: grafii1 » 25 wrz 2019, 13:56

Ten sam efekt , dim przed do ... loop
ODPOWIEDZ