Powenetics V2 [Project Emily] Update #1
I was too busy trying to prepare our new lab in Cyprus, so I didn't have any time to connect the Powenetics V2 prototype up so far, although I have had it for more than three weeks. The worst part is that the day I arrived home, I had to deal first with a new AC source, to replace the Keysight AC sources. There was zero documentation, and the bloody-expensive instrument uses the UDP protocol; there is no TCPIP (NI-VISA) support, so I had two nice days of coding all around the clock. I eventually won, so time to move on to Powenetics!
After I connected the board to a PSU, I found a Corsair CX750M lying around, I connected the USB cable, and my Windows system immediately recognized it as a virtual COM port. There is nothing simpler than that! Time now to open the Visual Studio and "talk" to Powenetics.
These two lines of code are enough to do the trick.
PMD = new SerialPortStream(Convert.ToString(m.ComPort.Text), 115200, 8, Parity.None, StopBits.One);
PMD.DataReceived += new EventHandler<SerialDataReceivedEventArgs>(SerialPort_DataReceived);
The user has to find the proper port, though. I will include an "*IDN?" command, or the board will send an identification string during first contact to help me implement a check method, which won't establish communications if a powenetics board is not connected to the other end of the COM port.
During the first tests, I noticed that data was flowing fast, damn fast. Almost faster than I can handle it. This is why I will gather a large data packet and process it every 100-200ms. I already have methods to get the max, min, and average readings, so no data will be lost, and I will be able to check for power spikes.
I already have an Asus TUF 3090Ti waiting to be connected to the new Powenetics system, so I must have finished all coding in the following two weeks. Then I will have to deal with the application that processes the vast logs that Powenetics outputs. So much work, so little time, and it is summer. I need to take some vacations at some point.
I recently needed to compile some crappy software for Windows and was surprised about Visual Studio gigantic size. You need to compile some 5 MB project, but need almost ~ 6 GB C++ Build tools. I'm not considering Visual Studio IDE would be almost 10 GB. Is 115200 baud rate enough to get all your data 1000 times in a second? I don't get way still using Serial Port now days. What about USB implementation? Great work, anyway.