Welcome, Guest. Please login or register.


Author Topic: Fileok atvitele a sorosporton (Read 18760 times)

Offline Czo

  • User
  • *
  • Posts: 94
  • Country: hu
Re: Fileok atvitele a sorosporton
« Reply #60 on: 2023.June.12. 10:50:20 »
Egyebkent, tuti ki lehetne itt alakitani valami sokkal, de sokkal robusztusabb atvitelt. Nyilvan, az "eredeti" soros atvitelnek meg kell maradnia, hogy az eszkoz floppyra masolt szoftver nelkul, siman betolheto legyen a SERIAL:-rol, de ezutan at lehetne valtani valami sokkal jobb dologra. Mert ugye 2 input es 2 output GPIO van az EP-n, az input GPIO-bol raadasul az egyik (status) be van huzva a Davebe is es igy kivalthat megszakitast, amire lehetne dolgozni.

De egyelore meg csak otletelek, hogy mit lehetne erdemben kitalalni rendes atvitelre.

Elotte azert, van meg ezzel feladat boven, de ez mar egy "demozhato" PoC arrol, hogy megy a SERIAL:-rol betoltes, wifi konfiguralas, wifi status kezeles, mar megcsinaltam, hogy OTA updatelheto az ESP firmware es az ESP-n tarolt "program.com" is, meg epkezlab modon, mukodik a http:// es https:// letoltes is.

Offline gflorez

  • EP addict
  • *
  • Posts: 3610
  • Country: es
    • Támogató Támogató
Re: Fileok atvitele a sorosporton
« Reply #61 on: 2023.June.12. 12:44:40 »
Amazing!

Offline Czo

  • User
  • *
  • Posts: 94
  • Country: hu
Re: Fileok atvitele a sorosporton
« Reply #62 on: 2023.June.12. 15:42:20 »
U need some summary?

I made some interesting experiment with the serial port, and made a small PoC device with an ESP32 to achieve some very basic networking capability. The goal is a small, external device (because my expansion bus is occupied by the EXDOS) which add SMB/CIFS and FTP and some HTTP transfer capability (both download and upload). Maybe ZIP/RAR on the fly decompressing too (dunno yet).

The speed is slow, only 0.5kByte/s (,~5500 baud) on a 9600 bps 8N2 link.

Offline gflorez

  • EP addict
  • *
  • Posts: 3610
  • Country: es
    • Támogató Támogató
Re: Fileok atvitele a sorosporton
« Reply #63 on: 2023.June.12. 16:56:23 »
Köszönöm, figyelemmel kísértem a kísérleteiteket, a kommentjeiteket lefordítva.

Régebben én is egy olcsó ESP8286-os wifi chipet akartam összekötni, de az EP és a PC eltérő protokolljai miatt rossz eredménnyel(először Putty-val próbálkoztam PC-n). Az ideális a fél duplex lett volna, de az adatirányok váltogatására korlátozódtam. Ok, és nekem sincs ismeretem a soros protokollokról.

Küldtem neked egy privát üzenetet.

-------------------------

Thanks, I have been following your experiments, translating your commentaries.

In the past I also wanted to interface a cheap ESP8286 wifi chip, but with bad results due to the different protocols of the EP and the PC(first I tried with Putty on a PC). The ideal would have been half duplex, but I was limited to alternate the directions of the data. Ok, and I also don't have the knowledge on serial protocols.

I have sent you a private message.


Offline Czo

  • User
  • *
  • Posts: 94
  • Country: hu
Re: Fileok atvitele a sorosporton
« Reply #64 on: 2023.June.18. 18:50:35 »
Kozbe rajottem, hogy ha az ep128emu-ban, a dave.cpp readPort/writePort-jaba beleturok, hogy billegtesse a gepemen kivalasztott serialport 2-2 statusbitjet, akkor ki tudom kerulni az UART-ot, azaz levodott "serialport" emulacio. Enelkul ugye, az UART bufferei es a tobbi dolog miatt, nem ferek hozza a sorosport pinjeihez, igy a sorosport ep128emuban torteno szoftverfes implementacioja nem latna ki a gepbol. Ez megint csak az FT232-es cuccokkal megy, de azokkal legalabb megy :) Igy pedig, nem kell tobbet floppyval rohangalni a gephez, lehet mindent csinalni az emulatorban.

Offline Czo

  • User
  • *
  • Posts: 94
  • Country: hu
Re: Fileok atvitele a sorosporton
« Reply #65 on: 2023.June.20. 08:47:20 »
Tul korai volt az orom. Mivel el volt fogyva a tomor rezdrotom, amit tudok hasznalni a breadboardhoz, igy csak 1-1 lab mukodeset neztem meg. De most, hogy feltankoltam, mar sokkal arnyaltabb a kep. Tehat, az teny, hogy az Mac USB-be dugott FT232-nek ioctl segitsegevel tudom olvasni es irni az allapotlabait, ez a resz pipa. Az is pipa, hogy a dave.cpp-n keresztul is megy ez. Viszont nyilvan, van valamilyen idozitesi problemam, mert total garbage ami megerkezik a tuloldalon. Mondjuk ugy, hogy ugyonazt a 4 byteot kuldozgetve, 2400 baudon (tehat, nem is 9600-on, mert ott hasonlosag sincs) az Ep128emubol, kb 100-bol 1x erkezik meg a tuloldalra helyesen. Tehat, valami mast kellene kitalalnom, arra, hogy tudjak az emulatorban fejleszteni.

Mondjuk, hirtelen azt sem tudom, hogy elmeletben, lehet-e, vagy tudni kell-e olyan sebesseggel piszkalni az allapotvonalakat, mint amilyen gyorsan az adatvonalat rangatja az uart.

Ki kene probalni valami gepen, amin van meg fizikai, tehat nem USB-s soros port es annak az allapotvonalait hasznalni.

Pedig, tokre megorultem, hogy lehet dolgozni fullban az emulatorban :))

Offline Czo

  • User
  • *
  • Posts: 94
  • Country: hu
Re: Fileok atvitele a sorosporton
« Reply #66 on: 2023.June.20. 17:56:02 »
#TIL! Ti tudtadok, hogy az FT232-es USB soros donglek atkapcsolhatoak generikus 8bites, GPIO modba? Mind a 8 lab lehet tetszolegesen input vagy output, elegge nagy orajellel is. Ehhez ad a gyarto letolheto libraryt, es tulajdonkeppen egy par soros C koddal (FT_Open/FT_SetBitMode/FT_SetBaudRate/FT_Read/FT_Write) atkapcsolhato az eszkoz ilyen modba.

Offline Czo

  • User
  • *
  • Posts: 94
  • Country: hu
Re: Fileok atvitele a sorosporton
« Reply #67 on: 2023.June.20. 20:49:06 »
Az orom viszont, tul korai volt. Ugyan ez a megoldas sokkal jobban nez ki a jatekscopeon, mint az ioctl-vel kapcsolgatott flags (itt latszolag megvannak a bitek pl.), megsem jonnek ki ertelmes adatok az emulatorbol. Aszem, fel kell adni ezt a dolgot :D.

Offline balagesz

  • EP user
  • *
  • Posts: 277
  • Country: hu
Re: Fileok atvitele a sorosporton
« Reply #68 on: 2023.June.20. 21:29:16 »
Csak időnként beleolvasok itt egy-egy témába, lehet hogy nem vagyok teljesen tisztában azzal, hogy mi is itt a cél pontosan? :) Jól értem, hogy az eredeti gép soros portjával küzdesz, és azt próbálod megoldani, hogy emulátor alól legyen egy olyan hardvered, ami a külvilág számára ugyanaz, mint az EP soros portja? Szép feladat! :)

Az első ötlet, hogy egy soros port "egyéb" vezetékeit használod bit-banging módszerrel, az működőképes lehet. Feltéve, hogy az adott soros port az egy natív, a gép rendes buszára kapcsolódó periféria. USB-s verzióval kár is próbálkozni, az USB "by design" nem alkalmas real-time dolgokra. Amit "ma tanultál", az első látásra jónak tűnhetett, de ugyanezért nem jó: pl. ha egy GPIO lábat bemenetre kapcsolsz, annak a változását nem akkor fogod megkapni amikor történt, hanem majd "valamikor" a host OS USB drivere egy csomagban "ráborítja" a lekérdező szoftverre az eltelt idő alatti változásokat. Kifele dettó ugyanez.

Az USB "reklámozott" sebessége ugye csalóka, ezek az eszközök úgy működnek, hogy a host OS időnként lekérdezi az adott USB eszközt, hogy mi van vele. Ez a gyakorisági idő a csatlakoztatáskor derül ki, maga az eszköz mondja meg, hogy milyen időközönként szeretné a host érdeklődését. Ez az idő viszont (ha jók az emlékeim) nem lehet akármi: 125, 250, 500 illetve 1000 lehet másodpercenként. (Legalábbis a 2.0-s USB-ig mintha ezek lettek volna a szabványban.) Azaz: a legjobb esetben is másodpercenként 1000 alkalommal lesz "aktuális" GPIO állapotod, ami még egy soros port szoftveres emulálásához is karcsú. (Ilyen 250 BAUD még talán mehet, de a stabilitásáról én nem vagyok meggyőződve. :) )

(Az USB ugye nem a fentiek miatt "gyors", hanem azért tud az lenni, mert az 1000 üzenetváltásban rengeteg adat is mozoghat, de ez a fenti feladatban nem segítség.)

Offline Czo

  • User
  • *
  • Posts: 94
  • Country: hu
Re: Fileok atvitele a sorosporton
« Reply #69 on: 2023.June.20. 22:08:28 »
Miutan az ioctl-es megoldas nem ment, rogton eszembejutott, hogy USB-s cucc helyett, meg kene nezni valodi soros vagy esetleg parhuzamos porton. Viszont ilyenbol, valodi portom egyedul a P3-as es P4-es regi gepeimen van, szoval ez emiatt ki is esett.

Egyebkent, az FTDI pont erre a problemar csinalta meg a bitbanging tamogatast az USB-s illesztojebe. Az FTDI doksija szerint egyebkent, kb 1 megabaud bitbangelheto ki a cuccbol biztonsagosan, az elmeleti maximum baudratenek pedig 3 megabaudot irnak. Ez egyebkent, latszolag, teljesen jol is mukodik. Marmint, van egy jatek scopeom, ami merni, rogziteni nem tud, de azt a kijelzon ossze tudtam hasonlitani, hogy a bitbangelt FTDI-n nagyon hasonlo a jel, az EP valodi vonalaihoz kepest, mig ha ioctl segitsegevel piszkalom, ugyonezt az FTDI-t, akkor tobb bytenyi ido a minimalis, amivel kapcsolgatni tudom a status vonalakat. Szoval, a bitbangelt FTDI mukodo megoldasnak tunik. Most kellene ergy rendes szkop, hogy meg tudjam nezni, hol csuszik el az idozites. Egyebkent, siman a dave.cpp readPort/writePort metodusaiba raktam bele az FTDI irasokat, de lovesem sincs, hogy pl. idozites szempontjabol, ez-e a jo hely erre a celra, vagy, hogy az emulator ezen resze, mennyire "valosaghu".

Offline balagesz

  • EP user
  • *
  • Posts: 277
  • Country: hu
Re: Fileok atvitele a sorosporton
« Reply #70 on: 2023.June.20. 22:44:57 »
Egyebkent, az FTDI pont erre a problemar csinalta meg a bitbanging tamogatast az USB-s illesztojebe.

Most ismét belenéztem ebbe a doksiba; de nem ír benne nagyon mást, mint amit sejtettem.

Az FTDI doksija szerint egyebkent, kb 1 megabaud bitbangelheto ki a cuccbol biztonsagosan, az elmeleti maximum baudratenek pedig 3 megabaudot irnak.

Igen, ez lehet. Viszont ez úgy megy, hogy "beletolod" azt az adathalmazt, ami alapján billegtetni kell a lábakat, majd az eszköz a saját baud-rate generátorának a segítségével időzítve kitolja a lábaira. És hogy mindezt mikor? "Valamikor". Amikor a host OS USB alrendszere úgy gondolja, hogy lejárt az az idő, amennyi két lekérdezés között el kell hogy teljen, akkor kitolja neki az egész csomagot. Emiatt itt minimum lesz egy "lekérdezésnyi idejű" jitter a csip kimenetein. (Ami ugye 1mSec is lehet.) Ha ez az adott szituációban nem zavaró, akkor nyilván minden oké, nem szóltam semmit. :)

Offline Czo

  • User
  • *
  • Posts: 94
  • Country: hu
Re: Fileok atvitele a sorosporton
« Reply #71 on: 2023.June.20. 23:39:45 »
Az a baj, ez egy tobb tenyezos problema. Az egyik az USB busz, ott annyit tudtam segiteni, hogy azon a buszon/controlleren senki es semmi mas nem volt az FTDI-n kivul (tenyleg nem). De legalabb ekkora, ha nem nagyobb problema a multitask oprendszer is, tehat az idozites mar ott is elcsuszhat. Realtime

Az FTDI miatt, egyebkent annyira nem aggodom, az elvart bitbangelesi sebesseg, jelentosen kisebb, mint amire az FTDI a doksi szerint kepes (ugye 9.6 kbps vs 1 Mbps), tehat, elvileg nem kellene, olyannak elofordulnia, hogy az elozoleg kiirt allapot, meg nem "kerult ki a kabelre", de mar ki kellene irnom a kovetkezot (de ez ugye, megint csak elvileg).

Persze, lehetne meg probalkozni egyet realtime schedulinggal, de ehhez az emulatorba jobban bele kellene nyulni, mint amennyire hajlando vagyok.