Skip to content

v0.1.0

Compare
Choose a tag to compare
@fermarsan fermarsan released this 10 Sep 17:46
· 485 commits to main since this release

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() or C.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 to pin.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 pins
  • port: pin ports
  • adc: analog to digital converter
  • pwm: pulse width modulation
  • uart: serial port
  • time: 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