Welcome¶
Welcome to the Weld documentation. Here, you will find official information on how to use Weld in your Embedded-C projects.
Whether you have just started C programming or you are an expert C developer, this documentation will help you use the Weld Application to streamline your development, create higher quality code with less bugs and fit more functionalities into your code with less effort.
What is WELD?¶
Weld is an embedded C development framework that is designed to help developers integrate complex logic into their code by dividing the code into smaller snippets and then glue (Weld) them together using the logic that they describe visually.
Weld is not trying to replace your favorite IDE, your to-go RTOS or your existing code. Weld integrates nicely with your favorite tools and helps you create complex logic using many smaller, less complex building blocks. You will still be using your choice of development environment to do just about everything, except creating code logic.
Info
Weld is an automatic code generation tool that uses State-Machines to streamline the code logic design for Embedded C applications.
Versatile by design, Weld can be used to replace any RTOS, bringing you the benefits of bare-metal micro-controller programing without any compromise or loss of flexibility.
Weld uses the incredible modularity of State-Machines to give you full control of your program logic while taking away all of the burden with Automatic Code Generation.
The generated code uses the most basic branching statements (if/switch) to control the flow of your program logic, giving you a nice, human readable code. The generated code is commented heavily, making it very easy to read and follow so you know exactly what is going on in the generated code.
Features¶
- Automatic Code generation
- Multi-Thread design
- Events and Messaging
- Special timing and logic functions
- Pre-designed and customizable building blocks
Fractalize Your Code¶
Fractal, is a never ending pattern that is self similar across different scales. A fractal is created by repeating a simple pattern over and over again. Driven by recursion, fractals are images of dynamic systems, and the best example of a dynamic system: An Embedded Logic.
Weld helps you divide your code into smaller, similar looking chunks called states. The states in your code come together using transitions to create the entire logic of your program.
The Weld-generated code logic looks something like the Fractal Tree shown above. The main application (or the thread) in your code is represented with the trunk of the tree. The logic is represented by branches and finally each action (or task) is represented using the leaves. With Weld you are only designing the leaves, and the automatic code generator takes care of the trunk and branches of your code.
The decision on what is the trunk, what are branches and leaves is completely up to you. You can break down your application down to just a single line of code for each action (leave) and let the app take care of the rest. This is the power and flexibility of the Weld code generator that lets you break down your code to small, single-line chunks so the flow of the code is visible to anybody by just looking at your fractal tree (state-machine).