none
Intel Galileo Windows iot C# .NET Programming RRS feed

  • Question

  • I have an Intel Galileo Board and the IOT Windows Version works fine.

    But I want to program in c# and want to use .NET Framework function like Webservices. But i get an error while using .NET Framework Webservice and also don't find any Framework folders in the Image.

    I now try to install the .NET Framework but i don't work. I also downloaded the Windows Embedded Tool for testing but i am new in this theme.

    My Questions:

    1, Is there a solution to install the .NEt Framework 4.5 for example to the Intel Galileo Windows Image?

    2. Can i create my own Image for the Intel Galileo with Windows Embedded Toolkit? So I can define the Modules I want to use.

    Thanks for your help

    Monday, September 29, 2014 11:56 PM

Answers

  • About starting an application on Galileo boot you can follow this link :

    https://ms-iot.github.io/content/AdvancedUsage.htm

    in the section "Making your Galileo run an exe on boot".

    There isn't a StartUp folder but you can put your application in any directory you want and then modify autorun.cmd in Windows\System32\Boot folder adding at the end of the file the following line :

    start YourAppFolder\YourAppName

    Paolo.


    Paolo Patierno

    Wednesday, October 1, 2014 9:46 AM
  • The current Windows for IoT image supports only C++ language and related development.

    .Net Framework and WinRT support is in the roadmap but not in a "near" future.

    For now, you can try to use Mono on the board and you can find more information here :

    http://jeremiahmorrill.wordpress.com/2014/08/31/mono-on-windows-iot-galileo/

    http://jeremiahmorrill.wordpress.com/2014/09/05/mono-on-windows-for-intel-galileo-source-code/

    Paolo.


    Paolo Patierno

    Tuesday, September 30, 2014 8:16 AM

All replies

  • The current Windows for IoT image supports only C++ language and related development.

    .Net Framework and WinRT support is in the roadmap but not in a "near" future.

    For now, you can try to use Mono on the board and you can find more information here :

    http://jeremiahmorrill.wordpress.com/2014/08/31/mono-on-windows-iot-galileo/

    http://jeremiahmorrill.wordpress.com/2014/09/05/mono-on-windows-for-intel-galileo-source-code/

    Paolo.


    Paolo Patierno

    Tuesday, September 30, 2014 8:16 AM
  • Thanks, but in my mind the platform would be more interesting with .NET and the chance to use all the GPIOs and functions there. I also try to use some important GPIO methods with a C++ DLL in a C# Console Application on the galileo and it works fine.

    Like the PI4J Library from the Raspberry PI for Java Programming.

    I now use a c++ Socket Server for the beginning.

    But one think I also miss, how to put the exe Program in the Startup from the windows. Because I don’t want to start it with TELNET after each restart. I try:

    1. Registry Entry in C++
    2. Try to find StartUp folder

    But nothing works.

    Thank for your help
    Wednesday, October 1, 2014 9:39 AM
  • About starting an application on Galileo boot you can follow this link :

    https://ms-iot.github.io/content/AdvancedUsage.htm

    in the section "Making your Galileo run an exe on boot".

    There isn't a StartUp folder but you can put your application in any directory you want and then modify autorun.cmd in Windows\System32\Boot folder adding at the end of the file the following line :

    start YourAppFolder\YourAppName

    Paolo.


    Paolo Patierno

    Wednesday, October 1, 2014 9:46 AM
  • Hi hbsc-werner

    if you think that my reply is a solution to your problem, please mark it as answer so that it can help other people to find the solution if they have same problem ;-)

    Paolo


    Paolo Patierno

    Wednesday, October 1, 2014 2:18 PM
  • Advanced usage guide link is now dead...

    Joe Healy, Tampa, FL

    Tuesday, May 19, 2015 3:03 PM
  • FYI: Advanced Usage can now be found at

    http://ms-iot.github.io/content/en-US/win8/AdvancedUsage.htm

    Tuesday, June 2, 2015 9:48 PM
    Moderator
  • Hello,

    Please can you help me about GPIOs with C# console application on the Galileo ? 
    Have you C++ DLL ?

    I need to install mono ? 

    Thank for your help

    Wednesday, June 3, 2015 7:46 AM
  • Hi Ana2s,

    For Mono on Galileo, I highly recommend you start with http://channel9.msdn.com/coding4fun/blog/Mono-on-the-Intel-Galileo and refer to Jeremiah's blogs from there.

    Sincerely,

    IoTGirl

    Wednesday, June 3, 2015 5:24 PM
    Moderator
  • Hi IoTGirl,

    Thanks for your answer.

    I have installed Mono on Galileo. But i can't control GPIOs with C# Console Application.

    I refer to Jeremiah's blogs but don't work. 
    https://jeremiahmorrill.wordpress.com/2014/09/21/managed-galileo-arduino-ish-stuff/

    Can you help me please ?

    Sincerely,

    Ana2s

    Thursday, June 4, 2015 7:40 AM
  • Hello Ana2s,

    I ported mono and wrote that p/invoke lib for the Galileo.  Sorry it's not working for you.  I do not have my device currently to test, but I did however send to a couple folks and it "worked on their device" :).

    When you run the C# Embprusr.test application, what is is the console output?  It should be something like "GpioSetDir returned: n", etc.

    Also do you have the embprpusr.dll in the same directory as Embprusr.test executable?  Also, there is a pin mapping, so in the test app, pin 13, is really 39.  I would verify whatever pin you are using, that you are sending the correct GPIO pin for Galileo. I got these values from the MS C++ SDK they provided for this device.

    I have this thread set to alert me on new replies, so please let me know what you find and I'll try to give ya a hand!

    -Jer


    Thursday, June 4, 2015 6:04 PM
  • Hello Jer,

    Thanks for your answer.

    Yes i have the embprpusr.dll in the same directory as Embprusr.test executable.
    The console output is : 
    GpioSetDir returned: -2147024786
    GpioWrite returned: -2147024786

    I use the pin 39 that correspond to pin 13 on the board it's true ?

    Thanks for your help

    -Ana2s

    Friday, June 5, 2015 8:58 AM
  • -2147024786 is 0x8007006E which is defined as ERROR_OPEN_FAILED (The system cannot open the device or file specified)

    Since I don't have my device on me right now, you can easily see what is missing by loading up the C++ example that does work.  Set breakpoints on anything calling the embprpusr.dll, like "GpioSetDir" and investigate what parameters are being sent and the order they are being called.

    It's very possible there was a newer version of the embpruser.dll that I never tested with and it changed someway.  A lot of this stuff was "beta" when I first wrote it.

    -Jer


    Friday, June 5, 2015 3:52 PM