Not eXactly C

from Wikipedia, the free encyclopedia

Not eXactly C ( NXC for short ) is a programming language for Lego Mindstorms NXT . The language has a C -like syntax. NXC is constantly evolving, so different versions can be downloaded from the website. In contrast to the IDE BricxCC , the NXC compiler is available for various operating systems.

Emergence

The first version of NXC was released under the Mozilla Public License in 2007, shortly after the NXT was released. The inventor, John Hansen , had already developed the NQC language for the previous model, the RCX . Hansen is also responsible for the BricxCC IDE.

particularities

One of the special features of NXC was that at the beginning of development there was no data type for floating point numbers , since such values ​​did not occur when using the motors and sensors of the NXT. With the release of LEGO MINDSTORMS NXT firmware version 1.26, floating-point numbers were officially introduced, which are also supported in the current version of NXC.

In addition, although NXC offers the possibility of creating multi-dimensional arrays , it does not offer the possibility of directly accessing the individual elements of the lower levels. This can be remedied by a modified firmware offered by J. Hansen that is based on the original from LEGO. Extended array functions are included in firmware 1.07 and 1.27.

The newer versions of NXC also contain NXT 2.0-specific commands, for example to address the newly introduced color sensor .

literature

  • John C. Hansen: Lego Mindstorms NXT Power Programming: Robotics in C , Variant Press, 2007, ISBN 978-0973864922
  • Daniel Braun: Programming robots with NXC for LEGO Mindstorms NXT , MITP-Verlag, 2009, ISBN 978-3826650703
  • Frank Knefel: LEGO Mindstorms NXT: Introduction to Robot Programming with NXC and Roberta , Open Source Press, 2013, ISBN 978-3941841857
  • Thorsten Leimbach, Sebastian Trella: Roberta Programming with NXC , Fraunhofer IRB Verlag, 2012, ISBN 978-3-8396-0446-5

Individual evidence

  1. Information on using an NXT 2.0 [1]

Web links