PrefaceIn the recent years I put substantial amount of work in controlling my various instruments from computer. The goal is to achieve some added values, like logging, better visibility, more functions, etc.
Looks like I a bit failed with this, as none of the things reached the usability state.
Even I put aside the thing months ago. Now I feel the need to restart the project and achieve some "working" result.
Reorganize the source repositories
This is needed as I learned many things in the recent years from my work on git (branching strategies, release management, etc.)
Create an USB-RS232 interface
I've a few devices using RS232 interface instead of (or on the side of) GPIB. Yes you can buy USB-Serial interfaces for nuts. Why you need another? Most of the things you can buy has no proper signal levels. They use TTL levels instead of RS232 levels. Most of the professional instruments require proper levels. The interfaces with proper signal levels are not cheap or you risk buying something on Aliexpress what states it correct, when not.
Redesign USB-GPIB hardware
My ATMEGA32U4 based interface working perfectly. In the recent years I realized a few things regarding to it, what feels like some adjustments are needed:
- Create a physical design what can be mounted a 3D printed enclosure
- Abandon the unnecessary connectors added for future improvements like display, additional device control, etc.
- Add serial debugging capability (according to AR488)
- Maintain bootloader compatibility with Arduino Leonardo
- Also keep the advantage of using a complete 8bit bus of the MCU for data transfer (require modified bootloader
- Maintain software compatibility with AR488 (https://github.com/Twilight-Logic/AR488)
- Add activity LEDs (the original Arduino Leonardo has those)
- Proper GPIB interfacing with TI chips (in a different HW version)
Maintaining AR488 compatibility doesn't mean I intend to drop the development of my own firmware. I still not a fan of the 3000+ lines of code in a single source file and the AR488 still doesn't support GPIB subaddressing. I've several instruments (VXI mainframes, power supply mainframe), what require subaddressing. On the other side it has device mode, TI GPIB chips support, what is missing from mine and support from software like sigrok.
Proper bootloader for USB-GPIB
I created a bootloader for the the v2.0 of my board. This was a result of an incident caused by reusing the USB activity LEDs of the Arduino Leonardo, killing my GPIB communication. The issue was resolved then, but the result is poorly documented (https://pakahuszar.blogspot.com/2020/04/gp-ib-5-v20-board.html), hard to reproduce and killing the activity LEDs instead of relocating them.
Now I'm trying to create a maintainable buildable, and properly installable solution. Also want to allocate a proper PID/VID from pid.codes
Power supply control software
My virtual instrument software is able to do many things but I realized it is too much for the first iteration.
There are many things already achieved with it, but for the reboot I want to have more realistic goal. So using the plugable driver support from it, I want to just create a power supply control software for my many supplies (even the HP 66000A mainframe is useless without software control as I don't have keyboard for it). I don't want to add higher functions yet.
Sure, I don't want to stop here, I want to reboot the virtual instrument software, my curve tracer, etc.
But those are cloudy right now, and if I lose my focus on it, this project tsunami will be shelved. Again.