Frequently Asked Questions

From Pigmeo - .NET/Mono/CLI (C#, VB.NET, C++/CLI, Nemerle...) for microcontrollers (PIC, dsPIC, AVR...)

Revision as of 13:58, 30 April 2009 by Urriellu (Talk | contribs)

Frequently Asked Questions about the Pigmeo Project



What's its license?

All programs and libraries provided by the Pigmeo Project are open source and free software. See Pigmeo Licenses.

What hardware architectures are supported?

Full list of supported architectures and devices.

What microcontrollers are supported?

Full list of supported architectures and devices.

Are you affiliated to Microsoft, Novell or any other company?


Is it really free?

Absolutely. Free as in "no cost" and also as in freedom.

Do you have any problem with patents?

No. Pigmeo is free software, and everything used by Pigmeo is also free software of standarized languages (such as C#) and libraries (such as the .NET Framework) not prone to patent violations.

Does C#/.NET applications run on linux?

Yes. As in any other operating system you just need to install a CLI/.NET/Mono CLR (virtual machine). See Mono Project.

Pigmeo Compiler

Aren't object-oriented and garbage-collected languages very inneficient?

It depends on what your program really does. Pigmeo Compiler can usually generate binaries as efficient as C or even assembly language code.

Also, Pigmeo Compiler has a bunch of optimizations not available in commercial C compilers, so it can generate binaries even more efficient than other compilers.

Anyway, you always have the choice to write your code not-object-oriented and without using the classes available in the Pigmeo Framework, the same way you write code in assembly or C.

What is a device library?

Device libraries are .dll files named after a specific microcontroller device that contains all the information required by Pigmeo Compiler about that device, plus all the variables, classes, objects, structs and functions you need when you are developing your application for that device.

Examples of device libraries: PIC16F877A.dll, PIC16F716.dll, dsPIC30F6010A.dll...

Pigmeo Framework

Can I access low-level registers instead of using classes from the Pigmeo Framework?

Of course. Those classes available in the Pigmeo Framework are designed to be easy to use, so you don't need to implement complex interfaces and protocols by yourself, but if you want to learn how things work you can access the microcontroller registers as you do in assembly and C.