Přejít na obsah
ARCHIVEKArchiv e-mailových konferencí o 8bitových počítačích Archiv Pandory 1999 až 2013

Původní podoba příspěvku

Jakub Ladman Zpět na příspěvek

Surová data tak, jak byla v roce 2013 stažena z Pandory (HTML zdroj bez úprav, osobní e-mailové adresy jsou maskované).

<!-------------------------------------------------------------->
<table width="100%"><tr><td align="left" valign="middle"></td><td align=right valign="middle"></td></tr></table><BR><pre>Budu muset najít ten pytlík s encxxx a dalšíma součástkama a unikartu 
doosadit...

Protože tohle opravdu chci vyzkoušet.

Jakub

 
Dne Ne 20. října 2013 22:46:03 Michal Hučík (sharpemu@pandora.cz)
<img src="BODY_IMAGES_WRAP_GIF"> napsal(a):
<span class="replyquote1">&gt; Ahoj,
&gt; 
&gt; odpovim postupne vsem v tomto mailu :)
&gt; 
&gt; Co se tyka pameti, tak to neni zase az tak velika tragedie. Ten kdo do
&gt; Unikarty osadil STM32F101 (asi vetsina), tak tam ma 16 kB. Pokud si
&gt; nekdo krom mne a Vaska osadil STM32F103, tak ma 20 kB. Nicmene aby jsme
&gt; meli kompatibilni firmware, tak je linker nastaven takovym zpusobem, aby
&gt; se zasobnik umistil na adresu 0x4000 v RAM - tedy na hranici tech 16 kB.
&gt; Soucasny kod po kompilaci zabira 9 288 bajtu BSS. To znamena, ze pro
&gt; zasobnik tam ted mame stale jeste skoro 7 kB pameti. Kdysi jsem delal
&gt; nejaky test toho kam az se mi dostal zasobnik a mam pocit, ze jsem mu
&gt; tehdy nameril nejake 4 kB.
&gt; Mam uz take jakousi predstavu jak by se ten stavajici kod mohl
&gt; preorganizovat a tim by se asi usetrili i jakysi ten bajt.
&gt; 
&gt; Co se tyka UDP protokolu, tak ten v unikarte samozrejme budeme
&gt; podporovat. Unikarta vsak umi navazat UDP komunikaci s protistranou
&gt; pouze za takovych podminek, ze uz dopredu vime kdo s nami chce timto
&gt; protokolem mluvit a jaky je jeho odesilaci UDP port.
&gt; Na zaklade stejnych informaci umime vytvorit samozrejme jak TCP, tak i
&gt; UDP socket, nicmene u TCP mame jeste navic moznost naslouchat na nejakem
&gt; konkretnim portu a vytvorit novy socket az v momente, kdy se kdokoliv v
&gt; internetu rozhodne, ze nam do takto vystaveneho portu cvrnkne.
&gt; Automaticky se nam vytvori socket a my se az v tuto chvili dozvime IP
&gt; adresu a odesilaci port protistrany.
&gt; 
&gt; Pokud si chcete vyzkouset stavajici firmware, tak jsem jej umistil sem
&gt; http://duna.ordoz.com/ushell_tcp/
&gt; 
&gt; Najdete tam zdrojak programu pro komunikaci s Ushellem - je to uplne ten
&gt; samy kod, ktery se pouziva pro praci pres RS232. Ovladani zustava
&gt; stejne. V prvnim parametru je uvedena bud cesta k RS232 device, nebo
&gt; tcp:ip_adresa:port.
&gt; 
&gt; RS232:
&gt; # ./ushell /dev/ttyUSB0 readdir /unicard
&gt; 
&gt; TCP:
&gt; # ./usell tcp:192.168.167.80:23  readdir /unicard
&gt; 
&gt; Martine, pokud jej budes upravovat pro windows, tak jsem v tom kodu v
&gt; podstate pouze pridal inicializaci TCP socketu. Pak jsem malinko upravil
&gt; funkci ReadResult(), protoze v RS232 rezimu chodi z Unikarty na konci
&gt; radku kod 0x0d, 0x0a, zatimco v TCP rezimu chodi uz jen 0x0a. A jako
&gt; posledni jsem musel upravit funkci PrintBps(), protoze pres TCP je obcas
&gt; end_time - start_time roven nule :)
&gt; Jeste by to tam chtelo pridat i nejake timeouty, ale momentalne nevim
&gt; jak se to dela :) ... v Unikarte uz jsem nejake timeouty udelal.
&gt; 
&gt; Do adresare /unicard si nahrajte soubor network.cfg, ktery si upravte
&gt; dle vlatnich potreb. Po resetu vam Unikarta posle na USART debug info o
&gt; tom jake hodnoty precetla z konfiguraku, napr:
&gt; 
&gt; cfg_hwaddr=02:00:00:00:00:01
&gt; cfg_ipaddr=192.168.167.80
&gt; cfg_netmask=255.255.255.0
&gt; cfg_gateway=192.168.167.254
&gt; Ushell PORT: 23
&gt; 
&gt; Unicard - USART Shell
&gt; OK:RESET
&gt; 
&gt; V tuto chvili uz by vam to melo odpovedet na ping a mel by vam fungovat
&gt; telnet na tcp port Ushellu. Ve chvili, kdy se pripojite na TCP Ushell,
&gt; tak se ukonci a zablokuje cokoliv co se pripadne prave vykonavalo v
&gt; Ushellu na RS232 - ten TCP ma vyssi prioritu.
&gt; 
&gt; Ushell podporuje jen jedno aktivni spojeni. Pokud prijde nejake dalsi v
&gt; dobe, kdy je uz nekdo pripojen, tak dostane odpoved BUSY a info o tom,
&gt; kdo momentalne tu sluzbu blokuje.
&gt; Pokud na vstup Ushellu neprijde 60 sekund zadny packet, tak se spojeni
&gt; prerusi s hlaskou TIMEOUTED.
&gt; 
&gt; Pro efektivnejsi komunikaci mezi STM32 a ENC29J60 jsem pripojil z ENC
&gt; signal /INT do pinu c.52 v STM32 (PC11).
&gt; GPIO jsem nakonfiguroval tak, aby si STM na tomto vstupu pripojilo
&gt; interni pull-down a tak pokud tam tuto propojku neudelate, tak by vse
&gt; melo fungovat, akorat vam Unikarta bude travit zbytecne moc casu
&gt; kontrolou prichozich packetu. (provoz bez teto propojky vsak nemam
&gt; overeny - zkusite to nekdo?)
&gt; 
&gt; Pokud nemate osazen ENC29J60, nebo pokud z nejakeho duvodu neni funkcni,
&gt; tak se pri inicializaci na USART vypise debugovaci hlaska, ze ENC
&gt; nereaguje a konfiguracni soubor se pak uz ani nezacne zpracovavat.
&gt; (tohle jsem si overil jen tak, ze jsem si nasimuloval chybu v SPI
&gt; komunikaci, zda se to bude chovat korektne s neosazenym ENC to vsak
&gt; zatim neni overeno - zkusite?)
&gt; 
&gt; Toz dejte vedet, zda vam to alespon pinga.
&gt; 
&gt; Pokud se pres TCP prenasi z Ushellu nejake vetsi soubory do Linuxu, tak
&gt; to chvili vypada, ze se nic nedeje (nevysypava se buffer terminalu a tak
&gt; se na obrazovku nevypisuji tecky, ktere jsou viditelne pri RS232
&gt; komunikaci) nicmene spojeni zije a je aktivni, coz je videt na LAN_LED
&gt; 
&gt; Puvodne jsem v Unikarte volal odesilaci rutiny kdykoliv, kdy Unikarta
&gt; zrovna nemela nic jineho na praci, nicmene pri prenosu vetsich souboru z
&gt; Unikarty do PC se mi obcas stalo, ze PC nestihalo ty packety prebirat a
&gt; Unikarta pak zabalila spojeni z duvodu velkeho poctu zadosti o
&gt; retransmit. Jeste jsem nezkoumal jake by mely byt doporucene mezery mezi
&gt; odesilanymi packety. Ted jsem tam nastavil 100 ms a zatim mi zadne
&gt; spojeni nespadlo.
&gt; 
&gt; 
&gt; Michal
&gt; 
&gt; 
&gt; ---
&gt; POZOR! Provoz systému Pandora.cz bude k 30. listopadu 2013 ukončen.
&gt; Více informací: http://goo.gl/b99cI
</pre>