Allgemein
API Version 1
Es gibt in Lua einige Standardbibliotheken die von Anfang an verfügbar sind.
Weiter Bibliotheken lädt man mit require nach. Sie liegen entweder als File(s) vor oder sind latent in der CN oder SN vorhanden. Eine Bibliothek kann Lua Quellcode sein oder eine Binärdatei mit ausführbaren Code (bei Linux eine *.so Datei, bei Windows eine *.dll).
CN1: Ein nachladen einer Binärdatei ist nicht möglich und auch nicht sinnvoll!
Der Satz von Bibliotheken kann je nach System sehr unterschiedlich sein. Eine Bibliothek ist aber immer vorhanden: sys. Sie enthält einige nützliche Basisfunktionen.
Hinweis: Die API V1 wird nicht mehr weiterentwickelt!
API Version 2
Bei Start des Lua Interpreters stehen nur die Bibliotheken zur Verfügung die der Lua Interpreter von Haus aus mitbringt: string, table, math os, io, debug, utf8.
Weiter Bibliotheken lädt man mit require nach. Sie liegen entweder als File(s) vor oder sind latent in der CN oder SN vorhanden. Eine Bibliothek kann Lua Quellcode sein oder eine Binärdatei mit ausführbaren Code (bei Linux eine *.so Datei, bei Windows eine *.dll).
CN1: Ein nachladen einer Binärdatei ist nicht möglich und auch nicht sinnvoll!
In der API V1 wären viele Bibliotheken beim Start vorhanden, wie z.B. die Bibliothek sys. In API V2 muss diese Bibliothek explizit geladen werden mit
1 |
local sys = require 'sys' |
Damit kann man leicht API V1 von V2 unterscheiden: bei V1 ist sys beim Start vorhanden, bei V2 nicht.
Programme die für beide API Versionen laufen sollen können diese verhalten nutzen:
1 2 |
local sys = sys or require 'sys' local pin = sys.pin or require 'pin' |
Durch die API V2 könnte beil kleineren Board deutlich Speicher gespart werden, da nur die geladenen Bibliotheken Speicher anfordern.
List der Bibliotheken
Software
sys.* | NOGS System Biblothek |
base64.* | BASE64 Kodierung |
messagePack.* | Strukturen packen und entpacken |
mobDebug.* | Der Debugger vom ZeroBrane Studio |
serial.* | Veraltet, durch MessagePack ersetzt |
socket.* | Network Support for Lua |
tasking.* | Multi-Tasking Support (Threads) |
struct.* | c Strukturen packen und entpacken |
Hardware
adc.* | Analog-Digital Wandler |
dali.* | DALI Lichtbus |
ds2482.* | One-Wire Chip DS2482 |
eve.* | FTI EVE Display |
i2c.* | I²C Bus |
lis.* | Beschleunigessensor LIS |
pin.* | IO Pins |
softCounter.* | Counter in Software |
softPWM.* | PWM in Software |
spi.* | SPI Bus |
w5500.* | WizNet W5500 Ethernet Controller |
ws2812.* | LED Streifen mit WS2812 Chip |