Legacy Forum: Preserving Nearly 20 Years of Community History - A Time Capsule of Discussions, Memories, and Shared Experiences.

RoBoIO C# Dependency Errors

Based on DMP's Vortex processor / SoC this board is a full computer capable of running a standard Windows and Linux installation on the backpack of your robot.
4 postsPage 1 of 1
4 postsPage 1 of 1

RoBoIO C# Dependency Errors

Post by Cavetroll » Sat Mar 27, 2010 10:52 pm

Post by Cavetroll
Sat Mar 27, 2010 10:52 pm

I am attempting to use the C#.Net libraries recently released for the Roboard, and I cannot call RoBoIO commands. When I reference the RoBoIO function rcservo_Initialize I get an error message

"Unable to load DLL 'RoBoIO.dll': This application has failed to start because the application configuration is correct. Reinstalling the application may fix this problem. (Exception from HRESULT: 0x800736B1)"

In my experience this error results because of an improper dependency in one of the DLLs. Perhaps I am wrong though. Is there something obvious I should be doing to resolve this issue. I have included RoBoIO_DotNet.dll, RoBoIO.dll, and WinIo.dll in the Debug directory of my program. Any advice anyone can give me is greatly appreciated.
I am attempting to use the C#.Net libraries recently released for the Roboard, and I cannot call RoBoIO commands. When I reference the RoBoIO function rcservo_Initialize I get an error message

"Unable to load DLL 'RoBoIO.dll': This application has failed to start because the application configuration is correct. Reinstalling the application may fix this problem. (Exception from HRESULT: 0x800736B1)"

In my experience this error results because of an improper dependency in one of the DLLs. Perhaps I am wrong though. Is there something obvious I should be doing to resolve this issue. I have included RoBoIO_DotNet.dll, RoBoIO.dll, and WinIo.dll in the Debug directory of my program. Any advice anyone can give me is greatly appreciated.
Cavetroll
Newbie
Newbie
Posts: 4
Joined: Wed Sep 02, 2009 3:36 am

Re: RoBoIO C# Dependency Errors

Post by roboard » Mon Mar 29, 2010 8:00 am

Post by roboard
Mon Mar 29, 2010 8:00 am

HI

1.Ensure that you have installed .NET Framework 2.0 & above on RoBoard.

2.You could try to download and install MS VC2008 runtime redistribution with correct version(non/SP1) on RoBoard.

Download MS VC2008 runtime redistribution:
http://www.microsoft.com/downloads/details.aspx?familyid=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&displaylang=en

Download MS VC2008 SP1 runtime redistribution:
http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en
HI

1.Ensure that you have installed .NET Framework 2.0 & above on RoBoard.

2.You could try to download and install MS VC2008 runtime redistribution with correct version(non/SP1) on RoBoard.

Download MS VC2008 runtime redistribution:
http://www.microsoft.com/downloads/details.aspx?familyid=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&displaylang=en

Download MS VC2008 SP1 runtime redistribution:
http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en
roboard
Savvy Roboteer
Savvy Roboteer
Posts: 302
Joined: Fri Jul 03, 2009 4:44 am

Post by Cavetroll » Mon Apr 05, 2010 5:58 am

Post by Cavetroll
Mon Apr 05, 2010 5:58 am

Sorry for the late response, I've been busy the past week.

The advice you gave me works great, I don't get any dependency errors anymore. Thank you.

However, I have a new problem. I am attempting rotate a servo using the rcservo library. The servo is a Futaba S3302. My servo control code is as follows

Code: Select all
RoBoIO.rcservo_SetServo(RoBoIO.RCSERVO_USECHANNEL0, RoBoIO.RCSERVO_SERVO_DEFAULT_NOFB);
RoBoIO.rcservo_Initialize(RoBoIO.RCSERVO_USECHANNEL0);

RoBoIO.rcservo_EnterPWMMode();
RoBoIO.rcservo_SendPWMPulses(0,10000,1500,100);
RoBoIO.rcservo_Close();


The code compiles without error, but nothing happens. Is there some obvious step that I am missing?
Sorry for the late response, I've been busy the past week.

The advice you gave me works great, I don't get any dependency errors anymore. Thank you.

However, I have a new problem. I am attempting rotate a servo using the rcservo library. The servo is a Futaba S3302. My servo control code is as follows

Code: Select all
RoBoIO.rcservo_SetServo(RoBoIO.RCSERVO_USECHANNEL0, RoBoIO.RCSERVO_SERVO_DEFAULT_NOFB);
RoBoIO.rcservo_Initialize(RoBoIO.RCSERVO_USECHANNEL0);

RoBoIO.rcservo_EnterPWMMode();
RoBoIO.rcservo_SendPWMPulses(0,10000,1500,100);
RoBoIO.rcservo_Close();


The code compiles without error, but nothing happens. Is there some obvious step that I am missing?
Cavetroll
Newbie
Newbie
Posts: 4
Joined: Wed Sep 02, 2009 3:36 am

Post by roboard » Tue Apr 06, 2010 6:38 am

Post by roboard
Tue Apr 06, 2010 6:38 am

Cavetroll wrote:However, I have a new problem. I am attempting rotate a servo using the rcservo library. The servo is a Futaba S3302. My servo control code is as follows

Code: Select all
RoBoIO.rcservo_SetServo(RoBoIO.RCSERVO_USECHANNEL0, RoBoIO.RCSERVO_SERVO_DEFAULT_NOFB);
RoBoIO.rcservo_Initialize(RoBoIO.RCSERVO_USECHANNEL0);

RoBoIO.rcservo_EnterPWMMode();
RoBoIO.rcservo_SendPWMPulses(0,10000,1500,100);
RoBoIO.rcservo_Close();


The code compiles without error, but nothing happens. Is there some obvious step that I am missing?


Hi,

use RoBoIO.rcservo_SetServo(0, RoBoIO.RCSERVO_SERVO_DEFAULT_NOFB) instead of RoBoIO.rcservo_SetServo(RoBoIO.RCSERVO_USECHANNEL0, RoBoIO.RCSERVO_SERVO_DEFAULT_NOFB);

also, rcservo_Close() will close PWM ouput, and so, after calling rcservo_SendPWMPulses(), you need to delay some time (or call rcservo_IsPWMCompleted(0)) to wait until all PWM pulses have been sent.
Cavetroll wrote:However, I have a new problem. I am attempting rotate a servo using the rcservo library. The servo is a Futaba S3302. My servo control code is as follows

Code: Select all
RoBoIO.rcservo_SetServo(RoBoIO.RCSERVO_USECHANNEL0, RoBoIO.RCSERVO_SERVO_DEFAULT_NOFB);
RoBoIO.rcservo_Initialize(RoBoIO.RCSERVO_USECHANNEL0);

RoBoIO.rcservo_EnterPWMMode();
RoBoIO.rcservo_SendPWMPulses(0,10000,1500,100);
RoBoIO.rcservo_Close();


The code compiles without error, but nothing happens. Is there some obvious step that I am missing?


Hi,

use RoBoIO.rcservo_SetServo(0, RoBoIO.RCSERVO_SERVO_DEFAULT_NOFB) instead of RoBoIO.rcservo_SetServo(RoBoIO.RCSERVO_USECHANNEL0, RoBoIO.RCSERVO_SERVO_DEFAULT_NOFB);

also, rcservo_Close() will close PWM ouput, and so, after calling rcservo_SendPWMPulses(), you need to delay some time (or call rcservo_IsPWMCompleted(0)) to wait until all PWM pulses have been sent.
roboard
Savvy Roboteer
Savvy Roboteer
Posts: 302
Joined: Fri Jul 03, 2009 4:44 am


4 postsPage 1 of 1
4 postsPage 1 of 1