The aim of this project is to provide a tool for programing microcontrollers in a modern language but allowing compiling code even in low-resource devices. This project is composed by 3 main componentes:
- The Aixt programing language based on the V language syntax.
- The Aixt to C Transpiler, which translate de Aixt source code to C, for the expecific C compiler of each microcontroller.
- The Aixt API, which makes the programming easy by standardizing the setup and I/O functions.
Aixt programing language implements a subset of V language. The main difference is all of the variables in Aixt are mutable by default.
import machine { pin }
fn main() {
pin(B0,OUT)
pin_high(B0) //turn ON the PORTB0
}
/*blinking led example (XC16 compiler)
working on the PORTB pin 0 of a PIC24FJ microcontroller*/
import machine { pin }
import time { sleep_ms }
pin(B0,OUT)
for { //infinite loop
pin_high(B0)
sleep_ms(500)
pin_low(B0)
sleep_ms(500)
}
The transpiler is written in Python using SLY module as Lexer and Parser.
The Aixt API is inspired on Micropython, Arduino and Tinygo projects.
The project's name is inspired in Veasel, the Weasel pet of V Language, and as tribute to Ticuna people who live in the Amazonic forest in the borders of Colombia, Brasil and Peru. Weasels are mustelids just like otters, so the name Aixt comes from Aixtü, which is a way to say otter in Ticuna language.