{"@attributes":{"version":"2.0"},"channel":{"title":"hi, I am robin","link":"https:\/\/robamu.github.io\/blog\/","description":"Recent content on hi, I am robin","generator":"Hugo -- 0.145.0","language":"en-us","item":[{"title":"Implementing a TCP server for Space Applications in Rust using the Strategy Pattern","link":"https:\/\/robamu.github.io\/blog\/rust-strategy-pattern\/","pubDate":"Fri, 29 Sep 2023 15:17:13 +0200","guid":"https:\/\/robamu.github.io\/blog\/rust-strategy-pattern\/","description":"<p>Even for space systems, TCP\/IP is oftentimes an important component in some shape or form because\nthe majority of development might still occur on ground where an internet connection is still\navailable. The special thing about space is that instead of using newline and\/or UTF-8 based\ndata, the data is generally in binary format and packet based. The most prevalent of the space\npacket standards is probably the <a href=\"https:\/\/public.ccsds.org\/Pubs\/133x0b2e1.pdf\">CCSDS Space Packet Protocol<\/a>.<\/p>"},{"title":"Packaging Python Projects in 2023","link":"https:\/\/robamu.github.io\/blog\/packaging-python-in-2023\/","pubDate":"Mon, 04 Sep 2023 16:32:41 +0200","guid":"https:\/\/robamu.github.io\/blog\/packaging-python-in-2023\/","description":"<p>Learning clean package management with Pyhon is still a tricky subject even though there are a lot\nof resources available online. A lot of the resources found online only cover partial topics while\nothers make recommendations which are becoming slowly obsolete, for example by still using\n<code>setup.py<\/code>. In this post, I will show how to set up a new package in Python from\nscratch with all features I consider useful and important for a good Python package. I really like\nthe packaging blogpost <a href=\"https:\/\/venthur.de\/2022-12-18-python-packaging.html\">Bastian Venthur<\/a> about\nthe current best practices of Python packaging, which is worth a read as well.<\/p>"},{"title":"Cross-Compile and Debug Rust Applications for the Raspberry Pi","link":"https:\/\/robamu.github.io\/blog\/cross-compile-rust-rpi\/","pubDate":"Mon, 27 Dec 2021 12:31:51 +0100","guid":"https:\/\/robamu.github.io\/blog\/cross-compile-rust-rpi\/","description":"<p>After exploring Rust for smaller bare-metal systems like Cortex-M based microcontrollers, I am\ntrying to learn using Rust when using a Linux runtime. The most common example for this is the\n<a href=\"https:\/\/www.raspberrypi.org\/\">Raspberry Pi<\/a>, but there are a lot of other boards out there\nwhich support Embedded Linux, for example the <a href=\"https:\/\/beagleboard.org\/black\">Beagle Bone Black<\/a> or\nXilinx hybrid CPU \/ FPGA solutions like the\n<a href=\"https:\/\/www.xilinx.com\/products\/silicon-devices\/soc\/zynq-7000.html\">Zynq 7020<\/a>.<\/p>\n<center>\n<figure>\n<img loading=\"lazy\" src=\"https:\/\/robamu.github.io\/img\/rpi-rs-crosscompile\/RPI.jpg\"\nalt=\"Embedded Linux Boards: Raspberry Pi\"\/> <figcaption>\n<p>Embedded Linux Boards: Raspberry Pi<\/p>"},{"title":"Rust driver for the 10-bit MAX11619 ADCs","link":"https:\/\/robamu.github.io\/blog\/max11619-driver-rust\/","pubDate":"Thu, 16 Dec 2021 22:51:15 +0100","guid":"https:\/\/robamu.github.io\/blog\/max11619-driver-rust\/","description":"<p>In my <a href=\"https:\/\/robamu.github.io\/post\/rust-ecosystem\/\">last blog post<\/a>, I described how I set up a\nsmall Rust ecosystem for the Vorago REB1 development board. This development board also\nhas a MAX11619 10-bit ADC device by Maxim devices. I thought this was a good opportunity\nto develop my first device driver crate because there isn&rsquo;t one for this device yet.<\/p>\n<p>The REB1 development board also has a 2K potentiometer connected directly to a channel of the ADC\nwhich makes testing convenient.<\/p>"},{"title":"Bringing Rust to Space - Setting up a Rust ecosystem for the VA108XX MCU family","link":"https:\/\/robamu.github.io\/blog\/rust-ecosystem\/","pubDate":"Wed, 15 Dec 2021 23:31:00 +0100","guid":"https:\/\/robamu.github.io\/blog\/rust-ecosystem\/","description":"<h1 id=\"update-2024\">UPDATE 2024<\/h1>\n<p>I have recently converted the VA108xx Rust support into monocrates which can now be found\n<a href=\"https:\/\/egit.irs.uni-stuttgart.de\/rust\/va108xx-rs\">here<\/a>. I have also started working on the\nsupport for the VA416XX family of devices which can be found <a href=\"https:\/\/egit.irs.uni-stuttgart.de\/rust\/va416xx-rs\">here<\/a>.\nThe new repositories also now use the <code>embedded-hal<\/code> v1 release.<\/p>\n<h1 id=\"blogpost\">Blogpost<\/h1>\n<p>The last few weeks I have been busy diving into the Rust ecosystem and learning the language\nthrough practical projects. I finishing the excellent\n<a href=\"https:\/\/doc.rust-lang.org\/book\/\">Rust book<\/a> and the <a href=\"https:\/\/docs.rust-embedded.org\/book\/\">Rust Embedded Book<\/a>\nfirst and then tinkered with Rust on some STM32 MCUs. As a next step, I was looking for practical\nprojects to further learn the language. I&rsquo;ve tried to combine this with the usual activities at\nthe research institute I work now as well.<\/p>"},{"title":"Throwback - GSoC 2020 | Device handler development for the SOURCE project","link":"https:\/\/robamu.github.io\/blog\/gsoc-post\/","pubDate":"Tue, 14 Dec 2021 19:29:58 +0100","guid":"https:\/\/robamu.github.io\/blog\/gsoc-post\/","description":"<p>This is an adapted version of a blog post initially posted\n<a href=\"https:\/\/aerospaceresearch.net\/?p=1912\">on Wordpress<\/a> as part of my GSoC project. It&rsquo;s a perfect\nway for me to set up my own first blog which is based on\n<a href=\"https:\/\/youngkin.github.io\/post\/createafreeblogsite\/\">this excellent guide<\/a>.<\/p>\n<p>At that point of time, I was an aerospace engineer doing my graduate studies at the University\nof Stuttgart. I&rsquo;m still active in the small satellite society <a href=\"https:\/\/www.ksat-stuttgart.de\/en\/\">KSat<\/a>\nbut I am doing more of a supporting role now that I started working the University as a PhD student.<\/p>"}]}}