Anonymní profil Michal – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Michal – Programujte.comAnonymní profil Michal – Programujte.com

 

Příspěvky odeslané z IP adresy 217.170.105.–

Michal
Python › Zápis dat do CSV z UDP
8. 1. 2018   #219222

#4 Kit
Jasně, nicméně když se vrátím k věci - napadá tě jak snadno vždy 4 Byty spojit a udělat  z nich Integer?

Zkoušel jsem struct.unpack(), mělo by to být to pravé?

Michal
Python › Zápis dat do CSV z UDP
7. 1. 2018   #219220

#2 Kit
přesně jak píšeš, a podle všeho ještě potřebuji provést byteswap - aktuálně je totiž třeba hodnota 4 vyjádřená jako 0x04000000, namísto 0x00000004, hodnota 12 jako 0x0c000000, ale to už předpokládám, že zvládnu vyřešit sám, 

Michal
Python › Zápis dat do CSV z UDP
7. 1. 2018   #219218

Ahoj a hezký večer všem.

Potřeboval bych menší radu, s Pythonem mám minimální zkušenosti a primárně v  práci pracuji s FPGA a procesory (VHDL a C).

Odesílám data skrze UDP pomocí lwIP stacku. V počítači potřebuji tyto data přijmout a zapsat do souboru typu CSV. Data, která jsou skládána do odesílacího bufferu mají šířku 32 bitů (uint32_t).  Verze skriptu se kterým pracuji aktuálně:

with open(csvf, 'w', newline='', encoding='ascii') as csv_handle:

    csv_writer = csv.writer(csv_handle, delimiter=',')

    while(True):
        try:
            data,addr = s.recvfrom(buf)
            csv_writer.writerow(data) 
        except (socket.timeout,KeyboardInterrupt, SystemExit):
            raise
        except Exception:
            traceback.print_exc()

dává následující výstup:

0,0,0,4,0,0,0,4,0,0,0,8

Ale potřebuji výstup:

4,4,8,12,16, etc.

Dávám i výstřižek z Wiresharku:

Připojen obrázek.

Děkuji za veškeré rady. Jde mi o to, abych maximálně využil možnosti Pythonu a nedělal něco neefektivně.

Michal.

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032022 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý