LibTiePie SDK Matlab

Matlab logo

Het Matlab LibTiePie-pakket creëert eenvoudig te gebruiken objecten in Matlab om de instrumenten te bedienen.

Waarschuwing: LibTiePie is opgevolgd door de libtiepie-hw SDK. LibTiePie wordt niet langer onderhouden. De laatste LibTiePie-informatie en -bestanden zijn hier te vinden.
Het wordt aanbevolen de libtiepie-hw SDK te gebruiken voor nieuwe ontwikkelingen.

Downloads

BeschrijvingVersieOpmerkingenGrootte
MatlabLibTiePie: Matlab-pakket voor het gebruik van LibTiePie0.6.6voor Matlab 8 = 2012b en hoger (Windows/Linux)29.96 kB download
Matlab voorbeelden voor MatlabLibTiePie0.6.6voor Matlab 8 = 2012b en hoger (Windows/Linux)16.03 kB download

Installatie

De download van het MatlabLibTiePie-pakket bevat een directory met de naam +LibTiePie met daarin alle benodigde bestanden in een specifieke directory-structuur. De bovenliggende directory van de +LibTiePie-directory moet in het Matlab-zoekpad opgenomen zijn (of de huidige, actieve directory zijn).

Windows

Om de MatlabLibTiePie-bindingen voor LibTiePie te installeren onder Windows moet eerst worden gezorgd dat LibTiePie is geïnstalleerd.

  • Gebruik voor 64 bit Matlab-installaties de 64 bit-versie van LibTiePie
  • Gebruik voor 32 bit Matlab-installaties de 32 bit-versie van LibTiePie

Maak dan een directory-structuur als C:\TiePie\+LibTiePie om MatlabLibTiePie te installeren. Om C:\TiePie tijdelijk aan het Matlab-zoekpad toe te voegen moet het commando addpath C:\TiePie uitgevoerd worden in Matlab. Om C:\TiePie permanent aan het Matlab-zoekpad toe te voegen moet het volgende uitgevoerd worden: file → set path → add folder → save → close. In Matlab 2012b+'s ribbon-menu is dat: Environment → Set Path.

libtiepie.dll (of .so), libtiepie.h en libtiepiematlab.h moeten ook in het Matlab-zoekpad voorkomen. Ze kunnen worden gekopieerd naar de C:\TiePie-directory die al in het Matlab-zoekpad is opgenomen.

Linux

Om de MatlabLibTiePie-bindingen voor LibTiePie te installeren onder Linux moet eerst worden gezorgd dat dat LibTiePie is geïnstalleerd.

Om MatlabLibTiePie te installeren kan de directory +LibTiePie naar ~/Documents/MATLAB/ gekopieeerd worden (~/Documents/MATLAB/ is standaard al in het Matlab-zoekpad opgenomen).

LibTiePie kan een nieuwere versie van de GNU C++ library vereisen dan die door Matlab verstrekt wordt. In dat geval zal laden van de bibliotheek met LibTiePie = LibTiePie.Library een foutmelding in Matlab opleveren als:

There was an error loading the library "libtiepie"
/usr/local/MATLAB/R2012b/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.6: version 'GLIBCXX_3.4.15' not
found (required by /usr/lib/libtiepie.so)

Dit kan worden opgelost door Matlab de GNU C++ library van het systeem te laten gebruiken door:

  • cd /usr/local/MATLAB/R<release>/sys/os/glnxa64
  • sudo unlink libstdc++.so.6

C-compiler voor Matlab

Om LibTiePie te kunnen gebruiken heeft Matlab een C-compiler nodig. Bij 32-bit-versies van Matlab voor Windows-platformen wordt standaard een C-compiler mee geïnstalleerd met Matlab. Bij 64-bit-versies van Matlab voor Windows-platformen en Matlab-versies voor Linux en OS X-platformen wordt geen C-compiler meegeleverd. Wanneer geen geschikte compiler is geïnstalleerd, geeft Matlab een foutmelding als:

Error using loadlibrary (line 254)
A 'Selected' compiler was not found.  You may need to run mex -setup.

Dit kan worden opgelost door een geschikte compiler te installeren. Meer informatie is te vinden op de pagina Matlab Supported and Compatible Compilers.

Gebruik

Het wordt aanbevolen de geënumereerde constanten voor LibTiePie te importeren en te gebruiken, als bijvoorbeeld MM.STREAM in plaats van LibTiePie.Enum.MM.STREAM. Dit wordt gedaan met het commando import LibTiePie.Enum.*.

Nu kan de bibliotheek geopend worden met : LibTiePie = LibTiePie.Library

Zoek naar apparaten: LibTiePie.DeviceList.update()

Open de eerste oscilloscoop: scp = LibTiePie.DeviceList.getItemByIndex(0).openOscilloscope()

Open de eerste functiegenerator: gen = LibTiePie.DeviceList.getItemByIndex(0).openGenerator()

Matlab zal aangeven welke instellingen en functies beschikbaar zijn op ieder object.

Voorbeelden

Een lijst met beschikbare voorbeeld-scripts: