Category: Embedded Development

PLAIN – Events

Events have so far only been a mechanism in the high level language, but I want to support it in the assembly. Events are as mentioned return conditions. We create functions with multiple exit paths where each exit is a “return” with its own event code and separate list of return parameters. To enable this…

Read the full article

PLAIN – User Instructions

PLAIN can map an ADC value as a easyIPC object and access it directly. The design here should be recognizable for anyone that have used Modbus or CANopen in the past. Modbus, as an example, can map its registers into easyIPC registers. We do however also support User instructions. As we add modules that enable…

Read the full article

PLAIN – Basic Assembly Instructions

This is from my current implementation that focused on proof of concept. The list is basic instructions that will be reviewed and described in more details later.                         uint16_t Op_NOP(uint16_t in, uint8_t length);                         uint16_t Op_Move(uint16_t in, uint8_t length);                         uint16_t Op_Add(uint16_t in, uint8_t length);                         uint16_t Op_Sub(uint16_t in, uint8_t length);                         uint16_t Op_Div(uint16_t in,…

Read the full article

PLAIN – Virtual Machine

Languages like Java C# etc all use a virtual machine. This is a software package that need to start and interpret some kind assembly code. Languages like C/C++ compile into native assembly code that is much faster, but also tied to the hardware it run’s on. A virtual machine have the advantage that we extend…

Read the full article

Introducing PLAIN

One of the challenges with a distributed system consisting of multiple Raspberry PI’s, multiple Hat’s and multiple RS-X connected devices is how to control it all. At the end we are running a complex, distributed system and coding logic on this level using a classic programming language like C/C++ is not straight forward. C/C++ is…

Read the full article

7x Stepper Hat

This is a very simple design to support 28BYJ-48 from a Hat. Using up to 4 x ULN2003 I get exactly 7×4 PWM signals. The only challenge is the connectors as I need to use 5 pin 2.54 pitch in this case since the steppers come with this attached (the 3D use the wrong package).…

Read the full article

8xDC/4xStepper Controller

Final version of the 8xDC/4xStepper Controller with sensor inputs. I am quite happy with this version. Due to routing logistics I ended up with 8x sensors at right and 8x H-Bridges at left. As mentioned before this can be used to drive 8 DC Motors or 4x Stepper Motors.