<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Massimiliano Pagani Blog on EmbeddedRelated.com</title>
<link>https://www.embeddedrelated.com/blogs-1/nf/Massimiliano_Pagani.php</link>
<description><![CDATA[RSS Feed for Massimiliano Pagani Blog on EmbeddedRelated.com]]></description>
<image><title>Massimiliano Pagani Blog on EmbeddedRelated.com</title>
<link>https://www.embeddedrelated.com/blogs-1/nf/Massimiliano_Pagani.php</link>
<url>https://d23s79tivgl8me.cloudfront.net/user/profilepictures/166141.jpg</url>
</image>
<atom:link href="https://www.embeddedrelated.com/blogs_rss.php?bloggerid=166141" rel="self" type="application/rss+xml"></atom:link>
<language>en-US</language>
<lastBuildDate>Thu, 21 May 2026 15:55:31 +0000</lastBuildDate>
<pubDate>1779378931</pubDate>
<item>
<title>Finite State Machines (FSM) in Embedded Systems (Part 5) - From One FSM to Many</title>
<link>https://www.embeddedrelated.com/showarticle/1784.php</link>
<description><![CDATA[<p>You can learn to play chess in a few minutes, but then games built on those simple rules are so complex, diverse, and countless that the mind is blown.</p>
<p>I find that Finite State Machines have the same property - the concept is simple, even a child can grasp the basics, but then you can use FSMs to describe very complex and convoluted systems. I published four articles on this topic...]]></description>
<pubDate>Tue, 21 Apr 2026 21:22:16 +0000</pubDate>
<author>Massimiliano Pagani</author>
</item>
<item>
<title>Finite State Machines (FSM) in Embedded Systems (Part 4) - Let &#039;em talk</title>
<link>https://www.embeddedrelated.com/showarticle/1665.php</link>
<description><![CDATA[<p>Welcome to the fourth part of my two-part article on state machines (<a href="#fn-1">1</a>). This post topic has been suggested by
	<a href="https://www.embeddedrelated.com/user/QL">Miro Samek</a>, who, in a <a href="https://www.embeddedrelated.com/showarticle/1625.php#comments">comment to my first post</a>, wrote: "The biggest issues are not so much with the state machine implementations [...]. Instead, the biggest issues are with the code surrounding state machines.".
</p>
<p>Indeed Miro is right, many
problems come from outside state...]]></description>
<pubDate>Wed, 22 May 2024 12:48:33 +0000</pubDate>
<author>Massimiliano Pagani</author>
</item>
<item>
<title>Finite State Machines (FSM) in Embedded Systems (Part 3) - Unuglify C++ FSM with DSL</title>
<link>https://www.embeddedrelated.com/showarticle/1645.php</link>
<description><![CDATA[<p>This is the third installment of my finite state machine in C++ series. In the <a href="https://www.embeddedrelated.com/showarticle/1625.php">first post, I introduced the subject of a state machine</a> and how to go from a trivial but poor implementation to a more robust and better scalable one.
</p>
<p>In the <a href="https://www.embeddedrelated.com/showarticle/1628.php">second article, I showed how to decouple the implementation of the state machine engine</a> (for reuse) and the specific part (that can't be...]]></description>
<pubDate>Tue, 07 May 2024 19:50:57 +0000</pubDate>
<author>Massimiliano Pagani</author>
</item>
<item>
<title>C++ Assertion? Well Yes, But Actually No.</title>
<link>https://www.embeddedrelated.com/showarticle/1651.php</link>
<description><![CDATA[<p>Assertions are a simple tool you can use to enforce required conditions. Let's say you have a function that computes the square root of a number. Possibly nothing good would happen should this function be called with a negative argument. Maybe you even stated in the documentation for this function that it has to be called with a non-negative argument, but the program is running and ops, the...]]></description>
<pubDate>Mon, 08 Apr 2024 16:37:36 +0000</pubDate>
<author>Massimiliano Pagani</author>
</item>
<item>
<title>Finite State Machines (FSM) in Embedded Systems (Part 2) - Simple C++ State Machine Engine</title>
<link>https://www.embeddedrelated.com/showarticle/1628.php</link>
<description><![CDATA[<p>When the going gets tough, the tough get going. So, if you are going to deal with a problem slightly harder than switching a lightbulb on and off, you may want something better in your toolbox than what I described in my <a href="https://www.embeddedrelated.com/showarticle/1625.php">previous post on State Machines</a>.
</p>
<p></p><p>In this post, I'll start from the basic ad-hoc implementation presented in my last post and will decouple the state handling...]]></description>
<pubDate>Thu, 14 Mar 2024 08:00:54 +0000</pubDate>
<author>Massimiliano Pagani</author>
</item>
<item>
<title>Finite State Machines (FSM) in Embedded Systems (Part 1) - There&#039;s a State in This Machine!</title>
<link>https://www.embeddedrelated.com/showarticle/1625.php</link>
<description><![CDATA[<p>Hardly you can find a concept so powerful yet so simple as the State Machine. It shouldn't come as a surprise that State Machines are so widespread, what may came as a surprise is how many bad implementations of this concept  I found over the years.
</p><p></p>
<p>In this post, I'll try to go through the basics, present a simple state machine, and evolve its design until you get a basic...]]></description>
<pubDate>Mon, 05 Feb 2024 08:00:09 +0000</pubDate>
<author>Massimiliano Pagani</author>
</item>
<item>
<title>Lightweight C++ Error-Codes Handling</title>
<link>https://www.embeddedrelated.com/showarticle/1606.php</link>
<description><![CDATA[<p>Let's face it, handling errors is boring and hard. It is not a case that most introductory programming classes just glimpse over the matter and focus on other topics.&nbsp; There are various approaches, but when you need to distinguish between the happy and the unhappy paths, no one is a clear winner. In this article, I will focus on Error Codes (a quite common way of reporting errors in...]]></description>
<pubDate>Thu, 16 Nov 2023 07:19:28 +0000</pubDate>
<author>Massimiliano Pagani</author>
</item>
</channel>
</rss>