<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";
        color:black;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";
        color:black;}
pre
        {mso-style-priority:99;
        mso-style-link:"Formátovaný v HTML Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";
        color:black;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Text bubliny Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";
        color:black;}
span.FormtovanvHTMLChar
        {mso-style-name:"Formátovaný v HTML Char";
        mso-style-priority:99;
        mso-style-link:"Formátovaný v HTML";
        font-family:Consolas;
        color:black;}
span.StylE-mailovZprvy20
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.TextbublinyChar
        {mso-style-name:"Text bubliny Char";
        mso-style-priority:99;
        mso-style-link:"Text bubliny";
        font-family:"Tahoma","sans-serif";
        color:black;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body bgcolor="white" lang="CS" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Super, kdyby slo to CR+LF poresti nejakym nastavenim, bylo by to bezva. Na druhou stranu, poprat se s tim da nastavenim vetsiny terminalu. Bohuzel, ne vsechny
to umi. Na Linuxu je problem, kdybys posilal oba znaky? Bez nastaveni terminalu telnet na Woknech vypada takto<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><img width="677" height="342" id="Obrázek_x0020_1" src="cid:image001.png@01CEEAE9.EB359540"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Kdyz budes mit nejakou dalsi betaverzi, tak posli, rad vyzkousim. Jeste by mozna bylo fajn, kdyby sel nastavit timeout, ted mi to prijde docela rychle, zvlast
kdyz clovek dela pokusy a necha to chvili trcet.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">To API pro DNS resolver mi prijde dost detailni, je otazka, zda je to vubec potreba. Aby Ti brzo nedosly cisla prikazu ;-) Treba ty Lookupy nebo ta prace s implicitni
domenou mi z pohledu aplikace na Sharpovi neprijdou dulezite.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Hezky vecer<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Martin<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext"> Michal Hučík (sharpemu@pandora.cz) [mailto:ordoz@ordoz.com]
<br>
<b>Sent:</b> Monday, November 25, 2013 10:38 AM<br>
<b>To:</b> Konference "Počítač SHARP MZ-800 a emulátory"<br>
<b>Subject:</b> Re: Stare projekty (Unikarta) + mk3<br>
<b>Importance:</b> Low<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal"><br>
Martine, je super, ze mam konecne nejakou zpetnou vazbu o tom, jak novy firmware funguje na ostatnich Unikartach.<br>
<br>
S temi CR a LF je to docela mrzeni a myslim, ze se k tomu jeste budu muset vratit a nejak to umravnit. Zrejme by si to mel kazdy konfigurovat primo na sve Unikarte a to samostatne jak pro Ushell rs232/tcp, tak i pro debugovaci vypisy.<br>
Take jsem premyslel, zda tam nenaimplementovat i nejaky debug stream, ktery by mi ty ladici informace posilal treba pres UDP nekam do terminalu.<br>
<br>
Momentalne mam hotovou aplikacni vrstvu pro DHCP, HTTP GET, DNS resolver a FTP klient. O vikendu jsem zacal psat a testovat API. Je to zatim jen tak cvicne a je velmi pravdepodobne, ze se to zmenni. Tady je na ochutnavku aktualni popis API pro DNS resolver:<br>
<br>
<br>
DNS Resolver:<br>
//<br>
// Pro DNS dotazy mame v multitasku k dispozici nekolik vlaken.<br>
// Kazde vlakno se muze nezavisle dotazovat bud na domenove jmeno, nebo na IP adresu.<br>
//<br>
// Vlozeni dotazu probiha prikazem cmdRLSVQUERYA, nebo cmdRLSVQUERYN. Po jeho uspesnem vlozeni<br>
// obdrzime cislo vlakna, ktere vyrizuje nas dotaz. Pokud dotaz nelze spustit, tak obdrzime<br>
// hodnotu -1 (0xff) pokud DNS resolver nebezi, nebo -2 (0xfe) pokud neni k dispozici zadne volne vlakno.<br>
// <br>
// U kazdeho jednotliveho dotazu se nastavuje jeho interrupt mode. Jestlize ma vlakno v interrupt mode
<br>
// hodnotu 1, tak jakmile je tento dotaz zodpovezen, nebo ukoncen s chybou, tak Unikarta posle do Sharpa interrupt.<br>
// Zaroven hodnota interrupt mode 1 zajisti uzamceni vlakna proti tomu, aby bylo prepsano jinym dotazem drive,<br>
// nez bude precten vysledek.<br>
//<br>
// Precteni vysledku vlakna se provede prikazem cmdRLSVTHREAD. Tento prikaz deaktivuje interrupt<br>
// vytvoreny timto vlaknem a odemkne vlakno pro dalsi pouziti.<br>
//<br>
// Vlakna u kterych neni nastaven interrupt mode mohou byt okamzite po dokonceni dotazu opet pouzita.<br>
//<br>
//<br>
#define cmdRSLVSTRT 0x80 // Zapne, nebo prekonfiguruje DNS resolver.<br>
//<br>
// Vstup: 4B - IP adresa DNS serveru (a.b.c.d):<br>
// 1. a<br>
// 2. b<br>
// 3. c<br>
// 4. d<br>
//<br>
// Pokud jiz resolver bezi, tak se pouze zmeni adresa DNS serveru.<br>
// Jestlize pri teto zmene prave probihaly nejake dotazy, tak samozrejme skonci jako STATE_ERROR.
<br>
<br>
<br>
#define cmdRSLVSTOP 0x81 // Vypne DNS resolver.<br>
<br>
<br>
#define cmdRSLVGCFG 0x82 // Precteni konfigurace DNS resolveru.<br>
//<br>
// Vystup: 4B - ipadresa<br>
// <br>
// Pokud nameserver nebezi (viz cmdRSLVSTATUS), vraci 00 00 00 00<br>
<br>
<br>
#define cmdRSLVGDOMAIN 0x83 // Precteni implicitni domeny.<br>
//<br>
// Vystup: string, 0x0d<br>
<br>
#define cmdRSLVSDOMAIN 0x84 // Nastaveni implicitni domeny.<br>
//<br>
// Vstup: string, 0x0d<br>
<br>
#define cmdRSLVSTATUS 0x85 // Sdeli status DNS resolveru:<br>
//<br>
// Vystup: <br>
//<br>
// 1B - pocet vlaken, <br>
// nebo 0x00 pokud DNS resolver nebezi<br>
// <br>
// Pokud 1. bajt nebyl 0x00, tak nasleduje tabulka ve ktere je kazde vlakno zastoupeno jednim bajtem.<br>
// Jsou razeny postupne od vlakna s ID 0 az po posledni.<br>
//<br>
// 0. - 3. bit:<br>
// 0 - STATE_UNUSED<br>
// 1 - STATE_NEW<br>
// 2 - STATE_ASKING<br>
// 4 - STATE_DONE<br>
// 8 - STATE_ERROR<br>
//<br>
// 7. bit - interrupt mode<br>
// Pokud je bit nastaven, tak to znamena, ze po vyrizeni vlakna (STATE_DONE, nebo STATE_ERROR)<br>
// bude poslan do Sharpa interrupt.<br>
<br>
<br>
#define cmdRLSVQUERYA 0x86 // Zadost o preklad jmena na IP adresu (query):<br>
//<br>
// Vstup:<br>
// 1B - interrupt mode:<br>
// 0x00 - rezim interruptu je pro tento dotaz vypnuty<br>
// 0x01 - jakmile prejde vlakno s timto dotazem do STATE_DONE,
<br>
// nebo STATE_ERROR, tak posle do Sharpa interrupt<br>
//<br>
// string. 0x0d - domenove jmeno (pokud je v resolveru nakonfigurovana<br>
// implicitni domena, tak staci pouzit jen prvni cast domenoveho
<br>
// jmena a resolver si za nej sam prida tecku a nazev domeny)<br>
//<br>
// Vystup: 1B cislo vlakna, ktere vyrizuje tento dotaz, nebo:<br>
// 0xff - resolver nebezi<br>
<br>
#define cmdRLSVQUERYN 0x87 // Zadost o preklad IP adresy na jmeno (query):<br>
//<br>
// Vstup:<br>
// 1B - mode:<br>
// 1. bit je nastaveni interruptu<br>
// 0 - interrupt neni aktivovan<br>
// 1 - po dokonceni posleme do Sharpa interrupt<br>
// 4B - IP adresa<br>
//<br>
// Vystup: 1B cislo vlakna, ktere vyrizuje tento dotaz, nebo:<br>
// 0xff - resolver nebezi<br>
<br>
<br>
#define cmdRLSVTHREAD 0x88 // Precte vlakno z resolveru.<br>
//<br>
// Vstup - 1B cislo vlakna
<br>
//<br>
// Vystup: <br>
// 1B status (viz. cmdRSLVSTATUS), nebo:<br>
// 0xff - resolver nebezi<br>
// 0xfe - pokud cislo vlakna neni validni<br>
//<br>
// Nasledujici data budou validni jen v pripade, ze 1. bajt mel hodnotu STATE_DONE.<br>
//<br>
// 1B typ dotazu:<br>
// 0x00 - podle jmena se resolvovala IP<br>
// 0x01 - podle IP se hledalo jmeno<br>
//<br>
// 4B - IP adresa<br>
//<br>
// 1B - delka domenoveho jmena + 0x0d<br>
//<br>
// string, 0x0d - domenove jmeno<br>
//<br>
// Pokud byl pri dotazu u vlakna pozadovan interrupt, tak se timto prikazem pro dane vlakno deaktivuje.<br>
<br>
<br>
#define cmdRLSVLOOKA 0x89 // Lookup - prohledne jiz uspesne dokoncene thready, zda se se v nich nenachazi preklad domenoveho jmena na IP adresu<br>
//<br>
// Vstup:<br>
//<br>
// string. 0x0d - domenove jmeno (pokud je v resolveru nakonfigurovana<br>
// implicitni domena, tak staci pouzit jen prvni cast domenoveho
<br>
// jmena a resolver si za nej sam prida tecku a nazev domeny)<br>
//<br>
// Vystup: 1B - odpoved, zda byl lookup uspesny, nebo:<br>
// 0xff - resolver nebezi<br>
//<br>
// 0 - nenalezeno<br>
// 1 - nalezeno <br>
//<br>
// Pokud bylo nalezeno, tak nasleduji 4B s IP adresou.<br>
<br>
<br>
#define cmdRLSVLOOKN 0x8A<br>
// Lookup - prohledne jiz uspesne dokoncene thready, zda se se v nich nenachazi preklad IP adresy na jmeno.<br>
//<br>
// Vstup:<br>
//<br>
// 4B - IP adresa<br>
//<br>
// Vystup: <br>
// 1B - delka domenoveho jmena, nebo<br>
// 0x00 - nenalezeno<br>
//<br>
// string, 0x0d<br>
<br>
<br>
#define cmdRLSVIP2TXT 0x8b // Prevod IP adresy na text - "192.168.0.1\x0d"<br>
//<br>
// Vstup: 4B - IP adresa<br>
//<br>
//<br>
// Vystup: <br>
//<br>
// 1B delka retezce<br>
// string, 0x0d<br>
//<br>
<br>
<br>
#define cmdRLSVTXT2IP 0x8c // Prevod textu - "192.168.0.1\x0d" na IP.<br>
//<br>
// Vstup: string + 0x0d<br>
//<br>
//<br>
// Vystup: <br>
//<br>
// 1B - uspesnost prevodu<br>
// 0 - nepovedlo se<br>
// 1 - povedlo se a nasleduje IP<br>
//<br>
// 4B - IP adresa<br>
<br>
<br>
<br>
<br>
Dne 25.11.2013 0:45, Martin Lukasek (<a href="mailto:sharpemu@pandora.cz">sharpemu@pandora.cz</a>) napsal(a):<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Cau chlapi,<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">tak jsem se konecne dostal k otestovani sitovani na Unikarte a vse e mi slape na obou kartach v pohode. Na puvodni Michalove a Vaskove Unikarte chodi shell, LANINFO, NETSTAT, APR,
LISTEN a samozrejme pinga <span lang="EN-US">;-) Naprogramovani pres Flash Loader slo naprosto hladce. Jak Michal pise, sviti jen jedna LEDka. Asi bych i uvital CR+LF misto jen LF, protoze jedu na widlich, ale to je otazka na flame ;-) Mam to zatim bez propojky
z ENC signal /INT do pinu c.52 v STM32 (PC11) a slape to v pohode. Ushell pro Win jsem zatim neupravoval, ale urcite to udelam.</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">Na Bohousove unikarte je zatim jen LANINFO, ale zase je navic web server, kde je super featurka zobrazeni obrazovky ;-) To je moc pekne. Co takhle live stream
i s ovladanim klavesnice, proste Remote Console? Ehmm, jo, vim, uz mlcim ;-)</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">Uz se tesim na nejakou tu API podporu. S temi sitovymi hrami bych nebyl tak skepticky. Urcite neco osobne zkusim napsat.</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">Krasny vecer</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">Martin</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> </span><o:p></o:p></p>
</div>
<p><br>
---<br>
<b>POZOR! Provoz systému Pandora.cz bude k 30. listopadu 2013 ukončen.</b><br>
Více informací: <a href="http://goo.gl/b99cI">http://goo.gl/b99cI</a> <o:p></o:p></p>
</blockquote>
<p class="MsoNormal"><o:p> </o:p></p>
<p><span style="color:windowtext"><br>
---<br>
<b>POZOR! Provoz systému Pandora.cz bude k 30. listopadu 2013 ukončen.</b><br>
Více informací: <a href="http://goo.gl/b99cI">http://goo.gl/b99cI</a> <o:p></o:p></span></p>
</div>
</body>
</html>