Our great sponsors
-
You might try asking your question over at the eevblog forum. I have a Rigol scope and when I wanted to use a linux host I found a driver for it over there. So in terms of host side options there is quite a bit. I think this was the one I used. For myself the cost and performance of the hardware usually outweighs anything else. I also have an analog discovery 2 (diligent) and it seems like they have some open source offering as well (which I haven't tried). They do have a linux client for their host side which was good enough for me.
-
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
Bitbanging like this is fine for synchronous protocols... but if you're trying to work with an async one like this one, there's just no safe way to do it in C unless your have a lot of leeway in your timing. Even if you get it to work today, there's no telling how a compiler update might change the instruction generation enough to change the timing and screw it up.
I know it's cliché to tell people to go code in assembler but... this is where you do it, and why you do it. And it's easy. Seriously. These things are so simple it is not hard at all to learn how to code for them in asm. And it opens up a whole world of cool timing hacks you just can't do in C.
I haven't done much microcontroller stuff recently, but here's a thing I wrote for an ATtiny somewhat recently. This kind of tight timing bit banging hack is just not possible to do reliably in C.