Category: easyIPC

HMI Design – Backend

This figure show a key principle in modern HMI design. I have only illustrated 2 input signals, but the principle is the same regardless of what signal or what hardware you use. Using a analogue signal as an example you collect that from a sensor or ADC channel. The signal will then be normalized and…

Read the full article

Plain

Plain (Programming Language for AI Networks) is very different from Languages like Python, Java and C#. The only similarity is that they all are based on a Virtual Machine and all use C/C++ as native host language. One difference is that C++ is more openly integrated into Plain than Java and C#, while Python have…

Read the full article

easyIPC SW Stack

This is the same as is on my previous entry, but I focus on easyIPC and Plain. easyIPC is a lot of modules to communicate with the rest of the system and while we easily can add user modules in C++, we can also add them in Plain. Plain is compiled code running in a…

Read the full article

BasicPI Firmware Stack

This illustrates the BasicPI Firmware Stack in progress. What I always do in embedded applications is to make a “standard” main.cpp as follows: void AppInit() {    // wire hardware } int main() {    AppInit();    // start OS } A team I worked in years ago agreed on this standard so we should…

Read the full article

easyUDP

UDP is an excellent protocol for sending messages between nodes in a system with Ethernet or Wifi. It’s speed and behavior on a modern PC’s allows in the region of 100,000 messages per sec, which should be sufficient for most applications.To make a Connection you only need two end-Points of which one need to have…

Read the full article

easyIPC Stack

easyIPC is the protocol and collection libraries I use to communicate cross various networks. easyIPC is not bound to a special technology as it provides universal device to device access through a variety of technologies including Ethernet/Wife, RS485, CAN, and SPI and in time others. UDP, SPI, UART and CAN are examples of technologies I…

Read the full article

AL – Abstraction Layer

The main objective with an Abstraction Layer is to protect user modules from changes between platforms. Code on user level should be portable and plug & play after you done a 10 minute task of soft-wiring. I decided on the name “Abtraction Layer” because HAL (Hardware Abstraction Layer) is missued to much and was not…

Read the full article

easyIPC Dev Setup 1

My next task is to get SPI working on the backbone of my modular control system, so I have assembled 2 x XPortHub’s both connected to a separate ST-Link. One the Hub’s have a RS485 used as debug port, but I intend to bring up USB ports on these later. The picture above show both…

Read the full article

easyIPC Format

Message Header This is the new message format that I will use on SPI, RS485 and Ethernet. For CAN I am not sure yet. I might want to take more advantage of the strong capabilities in CAN, but lets see. The format above allows me to communicate device to device in a network, but at…

Read the full article