Blogs

L'Hexapod: Flow control is the key?

Previously published This article was previously published on lhexapod.com as part of my journey of discovery into robotics and embedded assembly programming. A full index of these articles can be found here. I posted a question about my serial communications issues over on AVRFreaks and so far the answers have been pointing in the direction of including some form of formalised flow control. This makes sense. I’ve yet to decide if hardware flow control in a RTS/CTS form or software flow control such as Xon/Xoff would be best…

L'Hexapod: Serial communications issues

Previously published This article was previously published on lhexapod.com as part of my journey of discovery into robotics and embedded assembly programming. A full index of these articles can be found here. I’ve just spent a while tracking down a but which ended up being in my PC based control software rather than in the serial servo controller firmware. The symptoms of the problem were that my servo controller would suddenly to process random, poorly formed commands.

The equivalent of static libraries in .Net

I’m building my managed XLL tool in two versions, a ’normal user’ version and a ‘pro’ version. The ‘pro’ version has additional features that I don’t feel would necessarily appeal to all of my potential users; things such as easy Excel RTD server support and Asynchronous worksheet functions. The fact that the core code is identical between the two versions has caused me a little trouble as I want to package the code in a single assembly and, although it’s all C++/CLI, I can’t work out how to build the common code in one project and link it with each of the final product projects to produce two single assemblies that both include the common code.

L'Hexapod: I seem to have developed something remarkably similar to the SSC 32

Previously published This article was previously published on lhexapod.com as part of my journey of discovery into robotics and embedded assembly programming. A full index of these articles can be found here. I was looking for information to help me decide which servos to buy for the legs; wondering about torque and cost and whatever when I followed a link to the Lynxmotion site and came across the documentation for their SSC 32 servo controller.

L'Hexapod: Storing data in the eeprom of an ATMega168

Previously published This article was previously published on lhexapod.com as part of my journey of discovery into robotics and embedded assembly programming. A full index of these articles can be found here. Some of the new commands that I have planned for the servo controller will require that I load and save persistent settings from the ATMega’s eeprom. Having spent a little time looking at the example code in the datasheets it seems that you have to disable interrupts to safely read and write the eeprom.

L'Hexapod: ATMega168 64 channel servo controller

Previously published This article was previously published on lhexapod.com as part of my journey of discovery into robotics and embedded assembly programming. A full index of these articles can be found here. This is the source code for the latest version of the 64 channel servo controller as detailed here. This is an ATMega168 version of the controller that was originally developed for the ATtiny2313 but which was ported to the ATMega when I ran out of memory on the ATtiny.

L'Hexapod: New servo controller commands

Previously published This article was previously published on lhexapod.com as part of my journey of discovery into robotics and embedded assembly programming. A full index of these articles can be found here. The new 64 channel ATMega168 serial servo controller accepts the following commands. All successful commands are echoed back. Parameters are validated and errors are indicated with an error response of [0xFF] [badParamIndex] [Command echo] where badParamIndex is a 1 based index of the parameters in the command and indicates which parameter failed validation.

L'Hexapod: Moving forward

Previously published This article was previously published on lhexapod.com as part of my journey of discovery into robotics and embedded assembly programming. A full index of these articles can be found here. Due to work pressure and then holidays and then more work pressure I had to take a break from the servo controller for a couple of weeks. Most of the code changes that I had previously been discussing have been implemented and I’m now in the process of testing an ATMega168 version of the 64 channel servo controller complete with new style commands!

Interesting Blog Posts on High Performance Servers

There are some interesting blog posts by Rick Vicik over on the Windows Server Performance Team Blog. Most interesting for me is part three of the three part series on “Designing Applications for High Performance”. Whilst parts one and two cover some useful ideas they’re pretty general. Part three really digs into the implementation of I/O completion ports and how new API calls can help improve performance and reduce locking within the APIs themselves.

Parasoft Insure++ vs Microfocus/Compuware DevPartner Studio

Has anyone got anything to say about the relative merits of Parasoft Insure++ vs the BoundsChecker parts of the Microfocus DevPartner Studio product? I’ve used BoundsChecker for a long time, and it has plenty of faults but the fact that all support channels seem to have vanished during the transition of the product from Compuware to MicroFocus means that I’m now considering moving to something else. So far my impression of Insure++ isn’t being helped by the fact that the sales person seems to require a ’land line’ to contact me on to enable them to talk to me about how I might get something to evaluate (oh good, “enterprise” marketing) and no, my mobile number isn’t any use to them even though they’re supposed to be based in the same country as I am.