<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Python on 0xMax42 - Flatfile-Purist. Autodidakt. Systemdenker.</title><link>https://0xMax42.io/tags/python/</link><description>Recent content in Python on 0xMax42 - Flatfile-Purist. Autodidakt. Systemdenker.</description><generator>Hugo -- gohugo.io</generator><language>de-de</language><lastBuildDate>Thu, 24 Apr 2025 09:16:09 +0000</lastBuildDate><atom:link href="https://0xMax42.io/tags/python/index.xml" rel="self" type="application/rss+xml"/><item><title>Pydepp: Python Trifft Fpga</title><link>https://0xMax42.io/p/pydepp-python-trifft-fpga/</link><pubDate>Thu, 24 Apr 2025 09:16:09 +0000</pubDate><guid>https://0xMax42.io/p/pydepp-python-trifft-fpga/</guid><description>&lt;img src="https://0xMax42.io/p/pydepp-python-trifft-fpga/cover.webp" alt="Featured image of post Pydepp: Python Trifft Fpga" /&gt;&lt;p&gt;Ich habe ein neues Open-Source-Projekt veröffentlicht: &lt;a class="link" href="https://github.com/0xMax42/pydepp" target="_blank" rel="noopener"
&gt;PyDEPP&lt;/a&gt; – eine Python-Bibliothek für die Kommunikation mit Digilent-FPGA-Boards über das DEPP-Protokoll. Ziel war es, eine moderne, objektorientierte Schnittstelle für den Zugriff auf Register, Datenströme und Debug-Funktionen zu schaffen, die direkt auf dem &lt;a class="link" href="https://digilent.com/reference/software/adept/start" target="_blank" rel="noopener"
&gt;Adept SDK&lt;/a&gt; von Digilent aufbaut.&lt;/p&gt;
&lt;p&gt;Warum das Ganze?&lt;/p&gt;
&lt;p&gt;Digilent stellt mit dem DEPP-Protokoll eine leistungsfähige, aber recht sperrig zu bedienende Schnittstelle bereit. Wer schon einmal versucht hat, mit den C-APIs zu arbeiten, weiß: Das geht eleganter. PyDEPP abstrahiert diese Komplexität und bringt den Zugriff auf Register und Streams auf Python-Niveau – inklusive Kontextmanagement via &lt;code&gt;with&lt;/code&gt;, flexibler Timeout-Steuerung und Debug-Dumps.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Highlights:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;get_reg()&lt;/code&gt; / &lt;code&gt;set_reg()&lt;/code&gt; – einfacher Registerzugriff&lt;/li&gt;
&lt;li&gt;&lt;code&gt;put_stream()&lt;/code&gt; / &lt;code&gt;get_stream()&lt;/code&gt; – performante Datenübertragung&lt;/li&gt;
&lt;li&gt;Anpassbare Timeouts&lt;/li&gt;
&lt;li&gt;Kontext-Manager für sauberes Ressourcen-Handling&lt;/li&gt;
&lt;li&gt;Register-Dumps zur Fehlersuche&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Die Bibliothek ist vollständig quelloffen und unter MIT-Lizenz verfügbar. Wer auf Python-basierte Hardwarekommunikation setzt, wird hier fündig.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Getestet mit:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Digilent Nexys2 FPGA-Board&lt;/li&gt;
&lt;li&gt;Python 3.11 unter Debian&lt;/li&gt;
&lt;li&gt;Shared Libraries: &lt;code&gt;libdmgr.so&lt;/code&gt;, &lt;code&gt;libdepp.so&lt;/code&gt; aus dem Adept SDK&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;➡️ Wer sich für Embedded-Entwicklung mit Python interessiert oder einfach die DEPP-Schnittstelle besser nutzen möchte, ist herzlich &lt;a class="link" href="https://github.com/0xMax42/pydepp" target="_blank" rel="noopener"
&gt;eingeladen&lt;/a&gt;, mitzuwirken.&lt;/p&gt;</description></item></channel></rss>