After nearly three months of reading through the available documentation, I'm actually to the point where I can start programming the Sauer-Danfoss (SDF) displays and controllers I have been tasked with.
However, I am routinely finding more and more limitations of the GUIDE programming environment.
For example:
- Working with large image libraries is prohibitively slow. Each bitmap must be imported one by one through the GUI; importing multiple files is not available.
- Basic programming tools, such as subroutines, loops, and variables are either missing, severely limited in their functionality, or very slow to utilize in a GUI. For example, the loop construct provided in GUIDE has a list of several dozen things which cannot be contained inside of it.
- There are things which are more complicated than necessary, and force the programmer to waste precious time re-remembering the weird ways in which GUIDE does things. (colloquially known as wasted time factor, "WTF") For example, the "switch" construct in guide, for selecting one signal from a set of signals: S(1) selects input N - 1, S(2) selects N - 2, ..., S(N) selects N - N (input zero). This requires the programmer to do subtraction in their head every time they want to verify which signal they think they are selecting. If however, the mapping was S(1) -> signal 1, S(2) -> signal 2, ..., S(N) -> signal N, the programmer would instantly know what they were referencing. Furthermore, the GUIDE environment could be made simpler by the removal of the two-input switch, three-input switch, ..., and their help file entries, since the N-input switch's functionality is a superset of the smaller switches' functionality.
- Using the GUI environment of GUIDE is slow by its nature of being partly WYSIWYG, but mostly because typing pumpspeed = max(5000, floor(userlimit * correctionfactor)) is several orders of magnitude faster than dragging each function onto the GUI, then tediously connecting each signal wire, then making sure that these wires do not overlap or otherwise make the program look cluttered.
Also noteworthy is that, according to the provided docs, all of SDF's displays and controllers are powerful (overly powerful for controlling pumps and motors) computers, with an ARM processor, memory, and a small amount of non-volatile memory.
So, I would like to know what resources exist for programming displays and controllers
without using GUIDE.
For example, what libraries, files, etc are there for using a plain text editor, the C programming language, and a known complete compiler such as GCC, to program SDF displays and controllers?