Integrate Everything

Already April!

Venturii Buscom has seen tremendous development over the past month, and what may even be an architecture shift for the entire Venturii platform. Whereas I used to create separate modules whose sole existence was to communicate with one type of device, service or system, I found that I was having to re-use a lot of the foundational code in each module. This resulted in many copies of essentially the same thing, but applying bug fixes and feature additions became tedious and repetitive and in some cases, intermittent. Therefore I had an epiphany one morning as I was working on Buscom – why not modularize the communication code?

I wandered down the path of this thought process and came upon a system whereby clearly marked delineation points became apparent between what would be the base module (Buscom) and the differentiated code necessary for communicating with each disparate system. It made sense to me to separate this code into plug-ins, each of which could utilize the same base code Buscom was providing for establishing socket or serial communication with a thing, as well as the backbone communication to Decider. This lead to the rapid development of three plug-ins concurrently, each of which was growing off the same trunk of code.

Naturally one can still deploy multiple instances of Buscom, and indeed one could continue to utilize a single instance of it to house the communication pathway between a single system and the rest of Venturii. Thus there would still be all the benefits of an individual module communicating with an individual system, without the drawbacks of having to maintain multiple copies of the same pieces of code.

This new architecture has me so excited that I am planning to develop (or in some cases, re-develop) more integrations in the near future using it. Indeed it expedites the development process significantly, allowing more time to be spent on the actual integration and less in preparation for it. Look for a new integration announcement in the next month or so!

Winter Theme

With all the snow we’ve been having, it seemed only fitting to update the theme of this blog. The background picture is a shot I took of an accumulation of snow built up on the fence in my back yard one bright, sunny morning. I thought it looked rather pretty, and the snow has the effect, by design, of blending into the background, making it appear as though this web site is buried in it. I suppose in some ways, it is. Let me know what you think of the new layout; this is a theme I’ve wanted to use for some time, but it required some modification before it suited the nature of this page.

I’ve been working feverishly on the code development of Buscom, which is already working as a simple connector module, allowing direct communication to and from serial, IP and pipe-connected devices and services and Venturii Decider. Now it is also learning to speak Modbus, and there is more in store in the coming days!

The VDAC MID-1 Rev 2.2 is nearing completion, and I have only a few more touchups to do on the PCB design before I submit this third round of prototypes to fab. I’ve picked up a nice little rework station since assembling the last prototypes so I am hoping these next ones can be done a lot smoother. Better yet, it would be awesome if we could get them done by the Pick ‘n Place machine! Unfortunately I may not be able to wait that long.

The latest module coming to Venturii is perhaps one of the most versatile ones created to date! Venturii BusCom is a connector module for talking to any device, program or system that can communicate over a Serial connection (RS-232, RS-485, RS-422, TTL, etc.), an IP connection (TCP Client, TCP Server, UDP Client, UDP Server) or a Unix pipe. This module will basically open up Venturii to countless device types and systems, allowing data to be exchanged in both directions with them. Stay tuned!

It looks like I may have jumped the gun in announcing that the Shapeoko was operational again. It turns out that while it was visible on the USB bus again, it was still not fully functional, or even partially functional for that matter. Carbide Motion would “Connect” to the Shapeoko again, but within seconds it would display an unhappy “Cutter is not responding” message and return to the screen asking you to connect the cutter. I did some reading on this and it appears that it has to do with the 16U2 not being able to communicate with the 328P, and since the 328p was also just replaced and re-flashed with the same results, it is apparent there is yet other un-diagnosed damage or failure on the circuit board.

At this point, I believe we will start looking into alternate options for a controller / driver board for the Shapeoko. I’d like to get something that will let me use it with EMC2, and there would be an appeal to having both the Shapeoko and the laser using the same driving hardware and software. I’d also like to have manual jog controls available for positioning the router. Using a mouse on the laptop is difficult at worst and slow at best when you have to constantly divert your attention back and forth between the screen and the router.

If anyone has some suggestions for a good controller to drive the Shapeoko (and possibly also a laser) I’d be all ears. Sign up and leave a comment below.