Template:PT3 CSHARP LNX MONO: Difference between revisions
From Phidgets Support
No edit summary |
No edit summary |
||
(3 intermediate revisions by the same user not shown) | |||
Line 21: | Line 21: | ||
<p>First, make sure you have the following installed:</p> | <p>First, make sure you have the following installed:</p> | ||
<p>● Phidgets Drivers for Linux | <p>● <span>[https://www.phidgets.com/docs/OS_-_Linux Phidgets Drivers for Linux]</span></p> | ||
<p>● Mono</p> | <p>● Mono</p> | ||
Line 36: | Line 36: | ||
<div class="phd-command-line"><code>apt-get install mono-complete</code></div> | <div class="phd-command-line"><code>apt-get install mono-complete</code></div> | ||
</div> | |||
<div class="phd-slide"> | |||
<h2>Setting UDev Rules</h2> | |||
<p> | |||
By default, Linux will not allow regular users to access physical hardware, as a security feature. This means that you must grant yourself root privileges via | |||
sudo to run Phidgets code. | |||
</p> | |||
<div class="phd-command-line"><code>sudo mono program.exe</code></div> | |||
<p> | |||
To avoid having to use sudo every time, you can set up a rules file to allow it automatically using the vendor code for Phidget USB devices. Create a text file | |||
called <b>99-libphidget22.rules</b> containing the following line: | |||
</p> | |||
<div class="phd-command-line"><code>SUBSYSTEMS=="usb", ACTION=="add", ATTRS{idVendor}=="06c2", ATTRS{idProduct}=="00[3-a][0-f]", MODE="666"</code></div> | |||
<p> | |||
Mode 666 means every user has permission to read and write to the specified devices. Next, move this file to <b>/etc/udev/rules.d</b>. Now you can run code that | |||
uses Phidgets as a regular user without sudo. | |||
</p> | |||
</div> | </div> | ||
Line 68: | Line 91: | ||
link the Phidget .NET library. | link the Phidget .NET library. | ||
</p> | </p> | ||
<p>The easiest way to allow Mono to access the Phidgets .NET library is to place a copy of the <b>Phidget22.NET dll</b> in the same folder as your program.</p> | |||
<p> | <p> | ||
First, determine which version of the .NET Framework your version of Mono implements by checking the | |||
<span>[https://www. | <span>[https://www.mono-project.com/docs/about-mono/releases/ Mono Release Documentation]</span>. | ||
</p> | </p> | ||
<p> | |||
Next, download the <span>[https://www.phidgets.com/downloads/phidget22/libraries/windows/Phidget22-windevel.zip Phidget22 Development Libraries]</span>, which | |||
contain dlls for each .NET version. | |||
</p> | |||
<p> | |||
Navigate in the zip file to <b>/lib/dotnet/netXX</b> where 'XX' is your .NET Framework version (for example, net46 for .NET 4.6), and grab the Phidget22.NET.dll | |||
from that folder. | |||
</p> | |||
</div> | |||
<div class="phd-slide"> | |||
<h2>Setting up a New Project</h2> | |||
<p>Move the <b>Phidget22.NET.dll</b> you extracted into the same folder as your program.</p> | |||
<p>Your project directory should now look like this:</p> | <p>Your project directory should now look like this:</p> |