Publications


Libraries for the XOD Integrated Development Environment

XOD is an open-source, C++ based, graphical IDE for microcontrollers. You can think of it as an open access equivalent of MATLAB Simulink for Arduino. XOD makes for quick and easy prototyping for projects that run on Arduino, though it is not particularly efficient compared to raw C++ or the conventional Arduino IDE. Nevertheless, I have enjoyed applying it to select applications for 4 years now, and its relatively obscure nature has allotted me the opportunity to develop a number of libraries that have optimized its capabilities for me, and that I hope have or will benefit other users.

s2sluder/forloop

I am most proud of my forloop library, which enables conventional Arduino style for loops in XOD. I implemented the large, disorganized node tree it previously took to achieve this functionality into a single node with familiar syntax.

https://xod.io/libs/s2sluder/forloop/

s2sluder/betterservos

My betterservos library enables more convenient data range conversions for interfacing with servos. Rather than having to splice a chain of unit conversions in between an output value and the servo write node, the library provides servo nodes that accept inputs in degrees, radians, and gradians with zero either defined at the center or endpoint of the sweep range.

https://xod.io/libs/s2sluder/betterservos/

s2sluder/more-logic-gates

My more-logic-gates library ads niche gates like the controlled and double controlled not gate, the c-element, and the implies gate.

https://xod.io/libs/s2sluder/more-logic-gates/

s2sluder/arrays

My arrays library is intended to provide convenient data structures with easy value storage and retrieval. It provides array segments in varying sizes that can be joined to build larger arrays and matrices. However, the solutions it provides are inefficient because of the substantial size of the internal node trees, making it difficult or impossible to have large data sets. A faster, improved version with independently adjustable sizing that relies on a C++ implementation is in the development pipeline.

https://xod.io/libs/s2sluder/arrays/

s2sluder/scale

My first library for XOD, scale was created to solve just one problem: the conversion of a value in [-1,1] to a value in [0,1].

https://xod.io/libs/s2sluder/scale/