
Self.Bind(wx.EVT_TIMER, self.GetSample, self.timer) # Create timer to read incoming data and scroll plot Wx.Font(12, wx.DEFAULT, wx.NORMAL, wx.NORMAL, False))

Self.canvas = FigureCanvasWxAgg(self, -1, self.fig) Self.x.append(0 * numpy.ones(self.N, numpy.int))

# ComPlotter.py - wxPython data logger GUIįrom _wxagg import FigureCanvasWxAgg
#Serial port data logger software free code#
Here’s the complete source code (all 130 lines of it). In my experience, this is a pretty reliable way of accessing the type of USB-to-serial adapter that I usually use to connect my dsPIC microcontroller circuits to my PC.ĬomPlotter is written in Python using the wxPython GUI toolkit. The idea of this is that a USB-to-serial adapter may be assigned a different COM port number each time it is plugged into the PC, but it is likely to have the highest numbered port each time.
#Serial port data logger software free serial#
The three signals visible in the plot are the x, y and z axes of the accelerometer.ĬomPlotter tries serial port numbers in descending order, starting with COM30. The signals displayed in the plot in this screenshot are from a simple accelerometer circuit that I had connected to my PC. Here’s the screenshot of the application as it currently looks. The incoming text is printed in a log window and the data values from each line are parsed and plotted in the graph area.ĬomPlotter is still very much a work in progress, but it’s starting to come together and I have a reasonable looking screenshot, so I thought I’d post a little bit about it. The incoming data is assumed to be in plain text with the same number of integers (currently assumed to be three) on each line, separated by spaces. I’m working on a simple data logger application called ComPlotter that opens a serial port and reads an incoming plain text data stream, plotting one or more signals in realtime in a scrolling window.
