Category: Embedded Development

90 Countries so far

Writing a blog it is always Nice to know that someone (except bots) are reading it. Readers from 90 countries have visited the site so far, Thanks to you all. Due to the commercial marketing bot’s that spam any log please use a proper email if you subscribe or comment. I am the only one…

Read the full article

Robot Control System

I earlier talked about replacing the legs on this robot, but the fact is that I want to rebuild the entire robot from scratch. I need stronger legs that can carry some weight. I also need a control system that includes a battery charger and PSU. As mentioned earlier 12 servo’s will draw 10+A in…

Read the full article

CooCox IDE

On STM32 (or ARM) I have always used CooCox IDE. This is free and even recommended by ST these days. It is based on Eclipse and quite OK as it integrate properly with full debugger to ST-Link etc.

UML Tool

This is a screenshot of WhiteStarUML that I use for simple UML drawings. I actually used to create my own CASE tools in earlier days to achieve a higher level of automation, but those tools are build on MFC and I don’t want to continue using MFC as GUI base since Microsoft is not supporting…

Read the full article

easyIPC HL – Part 5 Repository

One important part of easyIPC is it’s “repository”, a real-time database that hold all information needed. The repository on devices are very simple and is only a map of objects made available through the interface. Raspberry PI on the other hand will need a repository of all devices as well as a log of data…

Read the full article

easyIPC HL Part 4 – Messages

Our High Level protocol include a 1 byte message code. The reality is that we can also add PID’s as messages with an object containing several parameters. In fact we talked about reserving ranges of PID’s for special needs. With a 2 byte integer we have 65536 possibilities so if we reserve 0 – 0x7FFF…

Read the full article

easyIPC HL Part 3 – Transactions

One of the challenges dealing with a parameterized system is error handling if only some of the parameters are successfully sent. This is a classic issue for systems using Modbus and CAN that we have solved in easyIPC. We earlier described techniques using CAN-X/SPI to transfer larger messages using “envelopes”. As an envelope contain it’s…

Read the full article

easyIPC HL Part 2 – Objects

We briefly discussed Objects in an earlier post related to Begin- and End – Envelope on CAN-X. To just transfer binary data values creates a lot of fuzz with so many devices involved, so we create a generic tagged system known from ASN.1 and very similar to users of Modbus and CANopen etc. This means…

Read the full article

Design Work

I have a very strong preference for designing a project and then leave the ideas to mature a bit before I start all the hard work on implementation. The reason is simply because we tend to change design as we get deeper into the subject or get new ideas. I do design in haste then…

Read the full article

easyIPC HL Part 1

easyIPC will be using SmartSPI and CAN-X for transport. I will discuss other transport protocols later. A transport protocol in this context is responsible for transportation of messages in a network from A to B and will cover layer 1 to 5 in the OSI layer. I will introduce several transport protocols later. We need…

Read the full article