Added Daisy Chain feature to cRunWatch code profiler.
A GUI for the boost graph library.
– Add named vertices.
– Specify pinned, fixed location for vertices
– Add edges connecting vertices
– Arrange vertices in a circle
– Arrange vertices according to their connections. This uses a modified implementation of the Kamada & Kawai algorithm that can handle pinned vertices and disconnected graphs.
– Arrange vertices manually by dragging with mouse
– Color vertices so no two connected vertices have same color
An open source MODBUS Master/Slave simulator
1. A windows desktop application
2. Coded in C++ using .NET
3. Option to simulate a master or a slave.
4. Option to use ASCII or RTU mode
5. Able to configure serial port number and speed.
6. All slaves are assumed to be on the same port
7. Able to send a read query to a specified station and register block. Values returned will be decoded and displayed.
8. Able to configure station numbers and register numbers that the slave will simulate.
9. Able to send a write query to a specified station and register with a specified value.
10. Display log of all communications sent and received
Raven’s Point builds applications that speak to robots.
Larry Niven’s science fiction stories feature a character named Chmee who is the alien ambassador to Earth. His title, when translated into English, is Speaker-To-Animals.
The formal term for this is SCADA , meaning supervisory control and data acquisition. A PC is connected to another device, interpreting the data that the device transmits and issuing appropriate commands to the device. The connection is usually USB, but can be ethernet or RS232. The fun part is the weird and wonderful devices that must be communicated with: video camera, GPS, thermostat, a tiny remote controlled submarine. Each device speaks its very own language, usually called a protocol. These languages are incredibly stilted, more like Latin than Italian, so the application code must translate the communication into a graceful GUI that the human operator can use comfortably to control and monitor the device – hence Speaker-To-Robots.
A small device squeezes through a hundred kilometers of oil pipeline that twists and turns beneath the sea.
When the ‘pig’ returns it has recorded data about every centimeter, which Raven’s Point software will analyze and display in three dimensions.
I did this work for Pipelines2data in Aberdeen ( http://pipelines2data.com/ ) nearly three years ago. The software has been used a number of times since to plot pipelines, including some gas trunk lines in Texas.
For nearly a decade now I have been developing high performance, elegant windows desktop applications.
In the meantime the rest of the world as been moving ‘into the cloud’. Such web applications were once sluggish and clunky, but the simplicity of no user installation, universal availability and instant upgrades of the entire user base trumped all other considerations.
A year ago I delivered my fist web application. Guitar informs the user when their guitar was built and by whom, if they type in the serial number. It is hardly complex, and there is no need for any great performance, but the result is rather neat. Behind the scenes there is a SQLITE database to store all the information about guitars and their makers, a PYTHON script to decode the serial numbers and find the exact information in the database, the WEB2PY framework to generate the dynamic web pages and a LIGHTTPD web server to communicate with the user.
Since then I have delivered several such applications, the most recent is MEDAIM which estimates the effect of a planned media advertising buy.
The big issue that crops up with web applications is configuring and maintaining a server to host them. It is not clear to me the best way to do this.
For desktop applications I can provide an installer which the client can distribute to the end users. Almost everyone is familiar and comfortable with this. Configuring and maintaining a server for a web application is quite intimidating to anyone who has not done this before, and is a cost that was often not considered when planning the project.
MEDAIM is hosted on http://www.fluxflex.com which is ‘free’, but installation and maintenance is a hassle. I originally hosted it on my own server, which is far more convenient but it so very hard to compete with ‘free’.
Suggestions for making this go smoother would be most welcome!