v0.1.0
Aixt V language
Now Aixt V is closer to original V due to:
- All the variables are immutable by default.
mut
reserved word is fully supported. - Only a few C pre-processor directives are supported (#include)
- C macros are avoided
- The Aixt API is implemented mainly in V
- Reference variables are supported
- Interoperability with C is improved by allowing the calling of C functions, constants and variables by using the syntax:
C.function()
orC.identifier
, previous including the correspondent C header file - declaration/initialization by function calling directly
Changes:
- The pin names and modes don´t include the module's name so
pin.setup(pin.d5, pin.output)
changes topin.high(d5, output)
, this change is for been less redundant. - All the variables are immutable by default. If a mutable variable is needed, the use of
mut
reserved word is imperative. - Variables can be declared/initialized by calling a function directly, so this two lines:
a := u16(0)
a = adc.read(an5)
can be replaced by:a := adc.read(an5)
API standardization
The function names were standardized for these modules:
pin
: individual pinsport
: pin portsadc
: analog to digital converterpwm
: pulse width modulationuart
: serial porttime
: delaying functions
Configuration .toml
files
Now the configuration files are split by device-settings and compiler-settings in different .toml
files, in order to reuse and make it easy to include similar devices.
Supported devices
Emulator
Software emulator on Linux, Android (Termux) and Windows (x64-based or AArch64-based device: x64 or AArch64), using GCC or TCC compilers.
Microchip
PIC16F8x family
- PIC16F83
- PIC16F83A
- PIC16F84
- PIC16F84A
Arduino boards
- Arduino Uno
- Arduino Nano
The rest of devices or boards have to be migrated from API v0.0.1