Logo

Newwz.Space

check out different kinds of news here.

libsibo - Talking to SIBO Peripherals using Arduino | Details | Hackaday.io

Libsibo – Talking to SIBO Peripherals Using Arduino

libsibo - Talking to SIBO Peripherals using Arduino | Details | Hackaday.io

<p>Finally, it&apos;s here! Some proper code for reading SSDs and (eventually) other SIBO peripherals.</p> <p>I&apos;ve spun off some the Arduino code from SIBODUMP, added the FlashFS code from SIBOIMG, ported it to PlatformIO, and pushed it to&#xA0;GitHub.</p> <p><img class="lazy"></p> <figure><img class="lazy" data-src="https://cdn.hackaday.io/images/6472801657186065344.file-1657186065330-985153118"></figure> <p>So, the TL;DR is:</p> <ul><li>Two major bugs squished.</li><li>It works with more boards now (Pico, ESP32, Arduino Nano)</li><li>It&apos;s still uses the Arduino libraries, but it&apos;s now based on PlatformIO</li><li>You&apos;ll need level shifters for 3.3v (I&apos;ve included an example)</li><li>Would regular Raspberry Pi compatibility be useful?</li><li>Next steps</li><li>Discord chats</li></ul> <p>So, take a look at the code over on GitHub, then read on.</p> <p><a href="https://github.com/PocketNerdIO/libsibo">https://github.com/PocketNerdIO/libsibo</a></p> <h1>Bugs? What bugs?</h1> <p>In my attempts to tidy up the code, I&apos;d completely broken the PORTD code for Arduino boards. This was specifically with Data Read frames. Basically, I&apos;d added a return where one wasn&apos;t needed. This meant that I wasn&apos;t sending the final idle bit, shortening the length of the frame to 11 bits and completely confusing the SSD. In addition, I wasn&apos;t returning anything to the main code, so it just sent back x. I removed the erroneous return, and everything went back to normal.</p> <p><img class="lazy"><br></p><figure><img class="lazy" data-src="https://cdn.hackaday.io/images/9852831657186101015.file-1657186100999-80236106"></figure> <p>Also, it&#xA0;<span></span>turns out I&apos;d completely broken device selection (used for SSD bank shifting) after I moved the code