Plugins in Rust
Imagine you are implementing a calculator application and want users to be able to extend the application with their own functionality. For example, imagine a user wants to provide a random() function …
Essays, experiments, and field notes from building software.
Imagine you are implementing a calculator application and want users to be able to extend the application with their own functionality. For example, imagine a user wants to provide a random() function …
Now we’ve got a half-usable motion controller, we need a graphical way for humans to interact with it. The controller runs in a browser, which makes Vue a perfect candidate for the UI. Adding Vue to …
Now we’ve got some simple automation code, lets start a proper Motion system. Most Motion systems are designed around a “control mode”, a fancy term for “what is the machine doing right now?” Common …
Now we can communicate with the outside world, let’s start interacting with the “hardware” attached to our motion controller. This will be the beginning of our Motion system. The simplest way to …
Now we have a mechanism for transferring bytes from the frontend to the simulator and back again, we need to translate those bytes into higher-level messages. Luckily each [anpp::Packet] contains an …
Prelude Link to heading The Communications system is arguably one of the most important parts of our simulator. After all, it’s kinda hard to debug a program when you can’t ask it why something isn’t …
As mentioned in the previous article the next task is to implement our first proper System, the FpsCounter. A relatively easy, yet important, component is some sort of FPS counter. Ideally there’ll be …
As mentioned in the intro article , the first task will be to set up the application’s structure and define how the various components will communicate. Multitasking Link to heading Most embedded …
This is the first installation in my Adventures in Motion Control series. At $JOB we build industrial CNC machines, and while developing a simulator for our machines I noticed a distinct lack of …