[NXC UserInteraction Library]

List of Constants

The constants listed below can be re-defined BEFORE the library header file is included.

Example:
#define QUESTION_DIALOG_BOTTOM_LINE_Y 18
#define SCREEN_PADDING 5
#include "UserInteraction.h"


Constant name Val Description
SCREEN_PADDING 1 Horizontal padding of the screen
BUTTON_PADDING 3 Horizontal and vertical padding of buttons
ARROW_SIZE 4 Size of an arrow
LINEBREAK_CHAR "#" Character that indicates a carriage return
QUESTION_DIALOG_BOTTOM_LINE_Y 12 Y position of the line separating question and answers in the question dialog


{Please enable JavaScript in order to post comments}

NXTPong

A custom-built lego machine for playing pong, featuring two controllers connected to the Mindstorms NXT brick. Programmed using NXC.

Developing in NXC using XCode

After comparing a number of options, I chose NXC as a pretty good alternative to Robot-C. It supports a lot of things like sensor and motor management, playing of sounds, basic 2D and 3D graphics, etc. Most importantly, you can compile your programs from the command line or from XCode. This tutorial assumes knowledge of XCode 4 and of C. The NXC programming guide is a good reference.

Setting up NXC Development on a Mac

This tutorial provides a step-by-step guide for setting up your Mac or Linux machine and your NXT brick for development with NXC. We will use the enhanced NXC firmware in order to enable extended functions for development.

pyCreeper

The main purpose of pyCreeper is to wrap tens of lines of python code, required to produce graphs that look good for a publication, into functions. It takes away your need to understand various quirks of matplotlib and gives you back ready-to-use and well-documented code.

Novelty detection with robots using the Grow-When-Required Neural Network

The Grow-When-Required Neural Network implementation in simulated robot experiments using the ARGoS robot simulator.

Fast Data Analysis Using C++ and Python

C++ code that processes data and makes it available to Python, significantly improving the execution speed.