Looking for “RoboIO.robio_setRBVer” function for RB-110

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.
12 postsPage 1 of 1
12 postsPage 1 of 1

Looking for “RoboIO.robio_setRBVer” function for RB-110

Post by user_1979 » Wed Apr 06, 2011 2:19 pm

Post by user_1979
Wed Apr 06, 2011 2:19 pm

HI everyone,

From what I have understood a Visual Basic program communicating with the RB-110 card should start by the use of the function “RoboIO.robio_setRBVer” to set the value to RoboIO.RB_110 which is the RB version I am using.

I am programming in Labview language and I can’t find this function in the Labview_RoBoIOv15b.zip (http://robosavvy.com/forum/viewtopic.php?t=3913). The other functions have exactly the same names as the ones in VB but I can’t find this one.

Does anyone know where I could find this function? Or tell me where I am wrong? (I have tried communicating using "I2C Intialize" as the first function but it doesn’t work)

Thanks a lot,

User
HI everyone,

From what I have understood a Visual Basic program communicating with the RB-110 card should start by the use of the function “RoboIO.robio_setRBVer” to set the value to RoboIO.RB_110 which is the RB version I am using.

I am programming in Labview language and I can’t find this function in the Labview_RoBoIOv15b.zip (http://robosavvy.com/forum/viewtopic.php?t=3913). The other functions have exactly the same names as the ones in VB but I can’t find this one.

Does anyone know where I could find this function? Or tell me where I am wrong? (I have tried communicating using "I2C Intialize" as the first function but it doesn’t work)

Thanks a lot,

User
user_1979 offline
Robot Builder
Robot Builder
Posts: 8
Joined: Mon Mar 28, 2011 7:57 am

Re: Looking for “RoboIO.robio_setRBVer” function for RB-110

Post by roboard » Thu Apr 07, 2011 4:06 am

Post by roboard
Thu Apr 07, 2011 4:06 am

Hi,

the old RoBoIO 1.5b considers only RB-100 and so includes no the roboio_SetRBVer() function. You can still use RoBoIO 1.5b on RB-110, but its A/D lib should not work (other libs should work normally). For the usage of RoBoIO 1.5b, please refer to the old RoBoIO 1.5b introduction slides (which can be found on http://www.roboard.com/user.htm (Ries' Work->reference)).

:)
Hi,

the old RoBoIO 1.5b considers only RB-100 and so includes no the roboio_SetRBVer() function. You can still use RoBoIO 1.5b on RB-110, but its A/D lib should not work (other libs should work normally). For the usage of RoBoIO 1.5b, please refer to the old RoBoIO 1.5b introduction slides (which can be found on http://www.roboard.com/user.htm (Ries' Work->reference)).

:)
roboard offline
Savvy Roboteer
Savvy Roboteer
Posts: 302
Joined: Fri Jul 03, 2009 4:44 am

Post by user_1979 » Thu Apr 07, 2011 8:03 am

Post by user_1979
Thu Apr 07, 2011 8:03 am

Hi,

Thanks four your help.

Sorry I am new to this and I am not quite sure I have understood your answer concerning the "roboio_SetRBVer() function". Since it is not included in the old RoBoIO 1.5b, does it mean that it is not required at the begining of the program in Labview ? In this case I would be starting my code with the "I2C intialize" function ?

User
Hi,

Thanks four your help.

Sorry I am new to this and I am not quite sure I have understood your answer concerning the "roboio_SetRBVer() function". Since it is not included in the old RoBoIO 1.5b, does it mean that it is not required at the begining of the program in Labview ? In this case I would be starting my code with the "I2C intialize" function ?

User
user_1979 offline
Robot Builder
Robot Builder
Posts: 8
Joined: Mon Mar 28, 2011 7:57 am

Post by roboard » Thu Apr 07, 2011 9:00 am

Post by roboard
Thu Apr 07, 2011 9:00 am

user_1979 wrote:... I am not quite sure I have understood your answer concerning the "roboio_SetRBVer() function". ...


RoBoIO 1.5b is an old version that supports only RB-100 (RB-110 is released after RoBoIO 1.5b). So in using RoBoIO 1.5b, it's not necessary to call roboio_SetRBVer() for setting the type of RoBoard (actually, roboio_SetRBVer() doesn't exist in RoBoIO 1.5b).

A/D lib of RoBoIO 1.5b doesn't work on RB-110, but other libs should work.

In RoBoIO 1.5b, you can directly start with i2c_Initialize(I2CIRQ_DISABLE) to init the I2C lib; and if it returns false, you can call roboio_GetErrMsg() to get the error message. More usages can be found in the old RoBoIO 1.5b introduction slides.

:)
user_1979 wrote:... I am not quite sure I have understood your answer concerning the "roboio_SetRBVer() function". ...


RoBoIO 1.5b is an old version that supports only RB-100 (RB-110 is released after RoBoIO 1.5b). So in using RoBoIO 1.5b, it's not necessary to call roboio_SetRBVer() for setting the type of RoBoard (actually, roboio_SetRBVer() doesn't exist in RoBoIO 1.5b).

A/D lib of RoBoIO 1.5b doesn't work on RB-110, but other libs should work.

In RoBoIO 1.5b, you can directly start with i2c_Initialize(I2CIRQ_DISABLE) to init the I2C lib; and if it returns false, you can call roboio_GetErrMsg() to get the error message. More usages can be found in the old RoBoIO 1.5b introduction slides.

:)
roboard offline
Savvy Roboteer
Savvy Roboteer
Posts: 302
Joined: Fri Jul 03, 2009 4:44 am

same error, different platform

Post by robo1000 » Thu Apr 07, 2011 10:13 am

Post by robo1000
Thu Apr 07, 2011 10:13 am

Hi

Been struggling with the same error.

My setup (Installed in this order):
Robo110
RM144 sensor via I2C
WinXP on class4 8Gb Kingston (going to upgrade to class 10 soon for more speed)
SP2 (looks to have installed ok, but had error on restart - hard restart)
VC2008 Redistr
VC2008 SP1 Redistr
.Net 2.0 Framework

I am a c# dev so naturally I want to code in .net. After installing the above i get a basic hello world c# console app running. Yay

I then add RoboIO_DotNet 1.7 reference as per 1.7 docs. Builds fine. Copy to roboard via network and rdp to execute the exe.

The directory structure where the EXE lives looks like this:
Directory of C:\SensorApps\Debug

04/07/2011 10:19 AM <DIR> .
04/07/2011 10:19 AM <DIR> ..
04/07/2011 10:19 AM <DIR> Lib
04/07/2011 10:20 AM 6,656 RM144Sensor.exe
04/06/2011 10:38 AM 117 RM144Sensor.exe.config
04/07/2011 10:20 AM 13,824 RM144Sensor.pdb
03/23/2011 03:18 AM 90,112 RoBoIO.dll
03/24/2011 10:46 PM 49,152 RoBoIO_DotNet.dll
04/07/2011 10:19 AM <DIR> Winio
08/31/2010 04:52 AM 49,152 WinIo.dll
08/31/2010 04:52 AM 4,944 WinIo.sys
08/31/2010 04:52 AM 5,174 WINIO.VXD

You will see I added Lib and WinIO as directories as well. I have even take all 4 dlls (WinIO.dll and its siblings + RoboIO.dll and RoboIO_DotNet.dll and dumped them in Windows\System32)

I get this error:
C:\SensorApps\Debug>rm144sensor.exe

Unhandled Exception: System.DllNotFoundException: Unable to load DLL 'RoBoIO.dll
': This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem. (Exception from HRESULT: 0x800736B1)
at RoBoIO_DotNet.RoBoIO.roboio_SetRBVer(Int32 ver)
at i2c_srf.Program.Main(String[] args) in D:\..\Projects\UGV\Dev\RM144Sensor\i2c_srf.cs:line 24

Thats the sample code. (It is giving debug info pointing to a development pc path - sure thats ok since it should be coming from the pdb file).

Also running this as Administrator.

Things I am going to try while waiting for help or bright sparks (not real ones hopefully):
Install VC2005+ SP1 redistributables then test
Uninstall VC2008 + SP1.
Uninstall .Net2 then reinstall
VC++2005 + SP1 and .net 2

I am confused as to why it is not seeing RoboIO.dll?

Any help will be much appreciated.

PS: Also installed Dev- C++ on the roboard itself to try to get some roboio.dll calls. Pretty much get the same error when trying to link - unable to initialize the RoboIO.dll. Don't feel knowledgeable enough in C++ to debug this further. So want to stick to the .net problem.
Hi

Been struggling with the same error.

My setup (Installed in this order):
Robo110
RM144 sensor via I2C
WinXP on class4 8Gb Kingston (going to upgrade to class 10 soon for more speed)
SP2 (looks to have installed ok, but had error on restart - hard restart)
VC2008 Redistr
VC2008 SP1 Redistr
.Net 2.0 Framework

I am a c# dev so naturally I want to code in .net. After installing the above i get a basic hello world c# console app running. Yay

I then add RoboIO_DotNet 1.7 reference as per 1.7 docs. Builds fine. Copy to roboard via network and rdp to execute the exe.

The directory structure where the EXE lives looks like this:
Directory of C:\SensorApps\Debug

04/07/2011 10:19 AM <DIR> .
04/07/2011 10:19 AM <DIR> ..
04/07/2011 10:19 AM <DIR> Lib
04/07/2011 10:20 AM 6,656 RM144Sensor.exe
04/06/2011 10:38 AM 117 RM144Sensor.exe.config
04/07/2011 10:20 AM 13,824 RM144Sensor.pdb
03/23/2011 03:18 AM 90,112 RoBoIO.dll
03/24/2011 10:46 PM 49,152 RoBoIO_DotNet.dll
04/07/2011 10:19 AM <DIR> Winio
08/31/2010 04:52 AM 49,152 WinIo.dll
08/31/2010 04:52 AM 4,944 WinIo.sys
08/31/2010 04:52 AM 5,174 WINIO.VXD

You will see I added Lib and WinIO as directories as well. I have even take all 4 dlls (WinIO.dll and its siblings + RoboIO.dll and RoboIO_DotNet.dll and dumped them in Windows\System32)

I get this error:
C:\SensorApps\Debug>rm144sensor.exe

Unhandled Exception: System.DllNotFoundException: Unable to load DLL 'RoBoIO.dll
': This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem. (Exception from HRESULT: 0x800736B1)
at RoBoIO_DotNet.RoBoIO.roboio_SetRBVer(Int32 ver)
at i2c_srf.Program.Main(String[] args) in D:\..\Projects\UGV\Dev\RM144Sensor\i2c_srf.cs:line 24

Thats the sample code. (It is giving debug info pointing to a development pc path - sure thats ok since it should be coming from the pdb file).

Also running this as Administrator.

Things I am going to try while waiting for help or bright sparks (not real ones hopefully):
Install VC2005+ SP1 redistributables then test
Uninstall VC2008 + SP1.
Uninstall .Net2 then reinstall
VC++2005 + SP1 and .net 2

I am confused as to why it is not seeing RoboIO.dll?

Any help will be much appreciated.

PS: Also installed Dev- C++ on the roboard itself to try to get some roboio.dll calls. Pretty much get the same error when trying to link - unable to initialize the RoboIO.dll. Don't feel knowledgeable enough in C++ to debug this further. So want to stick to the .net problem.
robo1000 offline
Newbie
Newbie
Posts: 2
Joined: Thu Apr 07, 2011 9:52 am

VC2005 did the trick

Post by robo1000 » Thu Apr 07, 2011 10:55 am

Post by robo1000
Thu Apr 07, 2011 10:55 am

For some reason VC++ 2005 redistributable and SP needed to be installed

Now i get my RM144 Sensor XYZ readings!!

Now I have VC2005 SP1 and VC2008 SP1 installed. And .net.
For some reason VC++ 2005 redistributable and SP needed to be installed

Now i get my RM144 Sensor XYZ readings!!

Now I have VC2005 SP1 and VC2008 SP1 installed. And .net.
robo1000 offline
Newbie
Newbie
Posts: 2
Joined: Thu Apr 07, 2011 9:52 am

Post by user_1979 » Thu Apr 07, 2011 1:41 pm

Post by user_1979
Thu Apr 07, 2011 1:41 pm

Yes Roboard this is what I had done. Starting directly with i2c_Initialize(I2CIRQ_DISABLE) and having no error message with roboio_GetErrMsg().

I wanted to be sure it wasn't necessayr to call roboio_SetRBVer(). Knowing this I will exclude this hypothesis as a reason for my futur problems.

Thansk a lot again.

User
Yes Roboard this is what I had done. Starting directly with i2c_Initialize(I2CIRQ_DISABLE) and having no error message with roboio_GetErrMsg().

I wanted to be sure it wasn't necessayr to call roboio_SetRBVer(). Knowing this I will exclude this hypothesis as a reason for my futur problems.

Thansk a lot again.

User
user_1979 offline
Robot Builder
Robot Builder
Posts: 8
Joined: Mon Mar 28, 2011 7:57 am

Post by user_1979 » Fri Apr 08, 2011 8:38 am

Post by user_1979
Fri Apr 08, 2011 8:38 am

Sorry for being back so quickly...I have got another little problem concerning a message error.

I have used the i2c_Initialize(I2CIRQ_DISABLE), having no error message, then the I2c0_Set Speed (speed=100000 and mode=0), getting function return = 100000 and no error message.

My problem accurs here when I add the I2C0_master start N function with these parameters :

adress = 90
rwbit = 1
count = have tried 1 to 8

I get this error message : Receive no ACK transmitting.

Could anyone give me some help concerning this missing Acknoweldge ?

Thanks,

User
Sorry for being back so quickly...I have got another little problem concerning a message error.

I have used the i2c_Initialize(I2CIRQ_DISABLE), having no error message, then the I2c0_Set Speed (speed=100000 and mode=0), getting function return = 100000 and no error message.

My problem accurs here when I add the I2C0_master start N function with these parameters :

adress = 90
rwbit = 1
count = have tried 1 to 8

I get this error message : Receive no ACK transmitting.

Could anyone give me some help concerning this missing Acknoweldge ?

Thanks,

User
user_1979 offline
Robot Builder
Robot Builder
Posts: 8
Joined: Mon Mar 28, 2011 7:57 am

Post by user_1979 » Fri Apr 08, 2011 9:16 am

Post by user_1979
Fri Apr 08, 2011 9:16 am

although the data sheet of the sensor doesn't show a need for pull up resistances I put some and what ever count (1 to 8) I use I always get this message : Arbitration loss for I2C
although the data sheet of the sensor doesn't show a need for pull up resistances I put some and what ever count (1 to 8) I use I always get this message : Arbitration loss for I2C
user_1979 offline
Robot Builder
Robot Builder
Posts: 8
Joined: Mon Mar 28, 2011 7:57 am

Post by acentw » Fri Apr 08, 2011 6:53 pm

Post by acentw
Fri Apr 08, 2011 6:53 pm

user_1979 wrote:...
My problem accurs here when I add the I2C0_master start N function with these parameters :

adress = 90
rwbit = 1
count = have tried 1 to 8

I get this error message : Receive no ACK transmitting.
...


hi user_1979

I ever used RoBoard I2C lib to communicate with SRF08(ultrasonic sensor) successfully. First, i got "Receive no ACK transmitting" message more often, then solved the problem by it's specification. The sensor address is "0xE0" that "8-bit"(address + r/wbit) value, so i have to pass "0xE0>>1" or "0x70" address to i2c0master_StartN, because the function need "7-bit" slave address. After this, it work fine.

hope to help you :)
user_1979 wrote:...
My problem accurs here when I add the I2C0_master start N function with these parameters :

adress = 90
rwbit = 1
count = have tried 1 to 8

I get this error message : Receive no ACK transmitting.
...


hi user_1979

I ever used RoBoard I2C lib to communicate with SRF08(ultrasonic sensor) successfully. First, i got "Receive no ACK transmitting" message more often, then solved the problem by it's specification. The sensor address is "0xE0" that "8-bit"(address + r/wbit) value, so i have to pass "0xE0>>1" or "0x70" address to i2c0master_StartN, because the function need "7-bit" slave address. After this, it work fine.

hope to help you :)
acentw offline
Newbie
Newbie
Posts: 5
Joined: Wed Sep 08, 2010 10:08 am

Post by user_1979 » Sat Apr 09, 2011 2:36 pm

Post by user_1979
Sat Apr 09, 2011 2:36 pm

Hi Acentw,

Thanks for your help. The problem is that I am using the Ries Labview "I2C0_master start N" function which has the three entries : adress (integer) ; rwbit (integer) ; and count (integer).

I have tried all the combination for rwbit and count with 90 or 144 as an adress (in the data sheet of the sensor it is not specified wheter 90 is a hexa or a decimal address) without any success.

Roboard told me I didn't need to use the roboio_SetRBVer() function to start So I believe that I can't just copy and translate into Labview the examples made out in other languages (because their require the roboio_SetRBVer() function for instance). Perhaps there is another one to use before the "I2C0_master start N" but I don't know which one.

If anybody had just a piece of program in Labview communicating with a I2C sensor it would be really a great help.

Or some any idea concerning my problem would also be appreciated.

Thanks,

User
Hi Acentw,

Thanks for your help. The problem is that I am using the Ries Labview "I2C0_master start N" function which has the three entries : adress (integer) ; rwbit (integer) ; and count (integer).

I have tried all the combination for rwbit and count with 90 or 144 as an adress (in the data sheet of the sensor it is not specified wheter 90 is a hexa or a decimal address) without any success.

Roboard told me I didn't need to use the roboio_SetRBVer() function to start So I believe that I can't just copy and translate into Labview the examples made out in other languages (because their require the roboio_SetRBVer() function for instance). Perhaps there is another one to use before the "I2C0_master start N" but I don't know which one.

If anybody had just a piece of program in Labview communicating with a I2C sensor it would be really a great help.

Or some any idea concerning my problem would also be appreciated.

Thanks,

User
user_1979 offline
Robot Builder
Robot Builder
Posts: 8
Joined: Mon Mar 28, 2011 7:57 am

Post by roboard » Sun Apr 10, 2011 5:23 am

Post by roboard
Sun Apr 10, 2011 5:23 am

Hi, user_1979,

if the addr 90 is a hex number, then it is an 8-bit address and you should use 0x90>>1 = 0x48 as the 7-bit address for i2c0master_StartN().

:)
Hi, user_1979,

if the addr 90 is a hex number, then it is an 8-bit address and you should use 0x90>>1 = 0x48 as the 7-bit address for i2c0master_StartN().

:)
roboard offline
Savvy Roboteer
Savvy Roboteer
Posts: 302
Joined: Fri Jul 03, 2009 4:44 am


12 postsPage 1 of 1
12 postsPage 1 of 1
cron