Luna (AVR)

This is the documentation for the programming language Luna for Atmel® AVR® microcontroller.

Luna is an object-oriented, modern Basic/Pascal-like programming language, the structure and syntax are similar to current, modern development tools. Luna has a well-designed and understandable syntax, which helps the developer to avoid and find errors in the source code (comparable to Modula vs. C). It also offers more complex technical possibilities with Pascal and C/C ++. It is therefore suitable for the efficient and time-saving development of small to large, sophisticated software projects for AVR microcontrollers.

Luna consists of an integrated development environment (IDE), a preprocessor, compiler and assembler. Software can be optionally written in the Luna-IDE or in a normal text editor. The Luna-IDE provides advanced features such as syntax coloring, auto-indentation, source text inspector with auto-completion, automatic source text editing including collapse and collapse functions, and much more. In addition, there is a library editor, controller definitions browser, and many other useful tools.

The generated executable binary code is comparable in execution speed and size to powerful existing high-level languages. There is no restriction on the depth of expressions. It also provides highly-optimized dynamic memory management including dynamic strings, memory blocks, structures, classes, data objects, data structures, as well as direct access to all hardware registers and functions of the controller. The AVR-specific code parts, including the libraries, are accessible in the source code and are written entirely in assembler.