Template:PT3 CSHARP LNX MONO: Difference between revisions

From Phidgets Support
No edit summary
No edit summary
 
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 (see Part 1 of this user guide)</p>
<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>



Latest revision as of 21:06, 17 December 2024

Linux with Mono

Welcome to using Phidgets with C#! By using C#, you will have access to the complete Phidget22 API, including events.

Mono is an open-source programming environment that aims to make Microsoft .NET applications available across all operating systems.

Requirements

First, make sure you have the following installed:

Phidgets Drivers for Linux

● Mono

● A copy of Phidget22.NET.dll


You need our C development libraries in order to use Mono. You can install them with:

apt-get install libphidget22-dev

If you don't already have Mono installed, you can get it with:

apt-get install mono-complete

Setting UDev Rules

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.

sudo mono program.exe

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 99-libphidget22.rules containing the following line:

SUBSYSTEMS=="usb", ACTION=="add", ATTRS{idVendor}=="06c2", ATTRS{idProduct}=="00[3-a][0-f]", MODE="666"

Mode 666 means every user has permission to read and write to the specified devices. Next, move this file to /etc/udev/rules.d. Now you can run code that uses Phidgets as a regular user without sudo.

Finding Code Samples

To find the code sample to use for your Phidget, navigate to the Code Samples page and select your device from the drop-down menu.

Once you select your device, the code sample generator will give you a working code sample, and a selection of options to customize it to your needs.

Using the Code Samples

If it's unclear what any of the options do, click on the nearby '?' for more info.

Once you've made your selections, click the Download Example button under Downloads.

Setting up a New Project

Whether you are running our examples or adding Phidget functionality to an existing project, you'll need to configure your development environment to properly link the Phidget .NET library.

The easiest way to allow Mono to access the Phidgets .NET library is to place a copy of the Phidget22.NET dll in the same folder as your program.

First, determine which version of the .NET Framework your version of Mono implements by checking the Mono Release Documentation.

Next, download the Phidget22 Development Libraries, which contain dlls for each .NET version.

Navigate in the zip file to /lib/dotnet/netXX where 'XX' is your .NET Framework version (for example, net46 for .NET 4.6), and grab the Phidget22.NET.dll from that folder.

Setting up a New Project

Move the Phidget22.NET.dll you extracted into the same folder as your program.

Your project directory should now look like this:

Compile and Run

Once you are ready to run your program, open the Terminal and navigate to your project folder. Next, enter the following command:

mcs Program.cs -r:Phidget22.NET.dll

An executable file will be created. Run the program using mono with the following command:

mono Program.exe

Success! The project is now using Phidgets.

What's Next?

Now that you've set up Phidgets in your programming environment, you should read our guide on Phidget Programming Basics to learn the fundamentals of programming with Phidgets.

«
»