<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Ovms on Draft</title><link>https://draft.caps.is/tags/ovms/</link><description>Recent content in Ovms on Draft</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Mon, 06 Apr 2026 14:55:00 +0200</lastBuildDate><atom:link href="https://draft.caps.is/tags/ovms/index.xml" rel="self" type="application/rss+xml"/><item><title>Two bugs, two kinds of evidence</title><link>https://draft.caps.is/posts/two-bugs-two-kinds-of-evidence/</link><pubDate>Mon, 06 Apr 2026 14:55:00 +0200</pubDate><guid>https://draft.caps.is/posts/two-bugs-two-kinds-of-evidence/</guid><description>&lt;p&gt;The cabin temperature post was about recognising a pattern. These two are about what happens after — writing code that&amp;rsquo;s actually correct, and knowing when it is.&lt;/p&gt;
&lt;h2 id="the-gps-frame"&gt;The GPS frame&lt;/h2&gt;
&lt;p&gt;Frame &lt;code&gt;0x486&lt;/code&gt; decodes latitude and longitude from four bytes each. The original code had a &lt;code&gt;TODO&lt;/code&gt; where the hemisphere sign bits should be, and wrote the metrics unconditionally — no check on whether the values made sense first.&lt;/p&gt;
&lt;p&gt;The DBC showed 55 of 64 bits in use. The remaining bits were the sign flags. Bit 55 negates latitude for the southern hemisphere. Bit 56 negates longitude for the western hemisphere. The original code never read either of them.&lt;/p&gt;</description></item><item><title>The ECU's way of saying "not yet"</title><link>https://draft.caps.is/posts/the-ecus-way-of-saying-not-yet/</link><pubDate>Mon, 06 Apr 2026 14:48:02 +0200</pubDate><guid>https://draft.caps.is/posts/the-ecus-way-of-saying-not-yet/</guid><description>&lt;p&gt;The first thing I did after setting up the repo was ask Claude to have a look at the e-Golf decoder code and the metrics I&amp;rsquo;d pulled from my own module. No specific question — just a first pass to see if anything looked off.&lt;/p&gt;
&lt;p&gt;It flagged the cabin temperature. Pinned at 77°C.&lt;/p&gt;
&lt;p&gt;That&amp;rsquo;s not a plausible cabin temperature. It&amp;rsquo;s hot enough to kill. My first thought was a unit mix-up — 77°F is about 25°C, which is a completely normal interior reading. Reasonable suspicion.&lt;/p&gt;</description></item><item><title>How I use Claude Code on OVMS</title><link>https://draft.caps.is/posts/how-i-use-claude-code-on-ovms/</link><pubDate>Mon, 06 Apr 2026 14:13:23 +0200</pubDate><guid>https://draft.caps.is/posts/how-i-use-claude-code-on-ovms/</guid><description>&lt;p&gt;The OVMS development manual has a section on AI. It&amp;rsquo;s worth reading in full, but the short version:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Vibe&amp;rdquo; submissions will be rejected and closed without comment.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;And:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Submitting unvalidated &amp;ldquo;AI&amp;rdquo; output is a waste of our time and an insult to our dedication to the Open Source idea of sharing knowledge and helping each other to grow.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The maintainer isn&amp;rsquo;t wrong. The PRs he&amp;rsquo;s seen from people pointing an LLM at the repo and submitting whatever comes out are, by his account, consistently bad — wrong function calls, invented APIs, code that compiles but misunderstands how the framework actually works. OVMS is a custom embedded environment running on ESP32. It has its own event system, its own metric types, its own CAN poller, its own naming conventions. Nothing in an LLM&amp;rsquo;s training data maps cleanly onto it.&lt;/p&gt;</description></item><item><title>What this is</title><link>https://draft.caps.is/posts/what-this-is/</link><pubDate>Mon, 06 Apr 2026 13:49:01 +0200</pubDate><guid>https://draft.caps.is/posts/what-this-is/</guid><description>&lt;p&gt;I&amp;rsquo;ve been running a 2019 VW e-Golf since late last year. It came with Car-Net — VW&amp;rsquo;s remote access app. Nothing fancy, but useful: you could start the climate pre-conditioning, check the charge level, see where the car was. It worked well enough that you missed it when it was gone.&lt;/p&gt;
&lt;p&gt;VW pulled the plug on Car-Net when mobile operators started decommissioning their 2G networks. The app ran over 2G. In Sweden, Telenor went down first of December last year — VW had built on Telenor&amp;rsquo;s infrastructure, so that was that. Telia still has 2G running until 2027, but it didn&amp;rsquo;t matter. The back end was gone.&lt;/p&gt;</description></item></channel></rss>