NXC et Geany sous Debian 11

NXC est un langage de programmation spécifique au robot Lego Mindstorms NXT. Il est basé sur le NBC, un langage assembleur.

Dans la console :
sudo apt-get install nbc

On va paramétrer Geany pour pouvoir compiler aussi bien des fichiers nxc que nbc. De plus on se basera sur la coloration syntaxique du langage C.

Dans ~/.config/geany, modifier le fichier filetype_extensions.conf :

#~ # Filetype extension configuration file for Geany
#~ # Insert as many items as you want, separate them with a ";".
#~ # See Geany's main documentation for details.
[Extensions]
NXC=*.nxc;*.nbc;

Dans ~/.config/geany/filedefs, créer un fichier filetypes.NXC.conf :

# For complete documentation of this file, please see Geany's main documentation

[styling=C]

[keywords=C]

[lexer_properties=C]

[settings]
lexer_filetype=C

# default extension used when saving files
extension=nxc

# single comments, like # in this file
comment_single=//
# multiline comments
comment_open=/*
comment_close=*/

[indentation]
width=2
# 0 is spaces, 1 is tabs, 2 is tab & spaces
type=0

[build-menu]
# %f will be replaced by the complete filename
# %e will be replaced by the filename without extension
# (use only one of it at one time)
FT_00_LB=Vérifier / Compiler
FT_00_CM=nbc %e.n*c
FT_00_WD=
FT_01_LB=Téléverser
FT_01_CM=nbc -S=usb -d %e.n*c
FT_01_WD=
FT_02_LB=
FT_02_CM=
FT_02_WD=
EX_00_LB=
EX_00_CM=
EX_00_WD=

Dans ~/.config/geany/templates/files, créer un fichier program.nxc :

// Lego Mindstorms NXT

Enregistrer les fichiers sources au format nxc, puis compiler (touche F8). Le téléversement sur la brique NXT se fait avec la touche F9 (ne pas oublier de vérifier que la brique NXT est allumée, sinon Geany indique « Compilation échouée »).

Remarque : Depuis que j’ai mis à jour Debian, le tiret bas (du 8) ne s’affiche plus dans Geany. La solution est de modifier la police de caractères dans Éditer > Préférences > Interface > Polices Éditeur (par exemple Liberation Mono Regular à la place de Monospace Regular).

Laisser un commentaire