Developer's API - current progress and roadblocks

Interested in integrating USB-UIRT support into an application? Look here!

Moderator: jrhees

Developer's API - current progress and roadblocks

Postby roschler » Fri Nov 19, 2004 9:23 pm

Hello Jon,

Details:

System: Intel PIII 800 Mhz w. 512 MB RAM
O/S: Win2k sp 4
UIRT: FirmwareVer=5.9 ProfVer1.1 FirmwareDate=3/26/2004



Thanks for sending me the VB & MSVC sample projects. I didn't see any doc files so I am assuming that the comments in the samples are the documentation? They're well commented so it's not a problem, but I just wanted to make sure.

Here is where I am at with my attempt to control my Robosapien with the UIRT:

- I know the UIRT works fine because Girder can control the robot without error using the UIRT Girder plug-in

- I tried the VB sample, but none of the Learn function choices on the Learn menu were able to complete successfully. In addition, sometimes they would hang VB requiring closing it with the Task Manager.

- I then tried the MSVC example using option 4 (Learn UIRT Raw) and got the following results:

Using the Learn IR Code (UIRT-Raw Format) option, the Learn progress never went past 12% as reported by the console app. I tried holding the remote button down for a long time, a short time, etc. and always got the following result.

After I hit ESC to cancel the Learn operation, I get the following code string in MSVC's Output window:

007F 7FF1 4245 (03,38977.306219) 2102 07D4 (05,39296.407186) 082F 0824 (07,38987.523992) 0866 081D (09,39118.921521) 0889 0822 (0b,39024.975985) 0843 0824 (0d,38987.523992) 0863 0824 (0f,38987.523992) 0825 0820 (11,39062.500000) 2189 07D4 (13,39296.407186) FFFF

I stripped out the items that were in parentheses, they look some kind of var + carrier freq couplet status item, and was left with:

00D5 D59B 4241 2107 07D7 082F 0818 086D 081D 088B 081D 0848 081F 0868 081A 082C 081D 218E 07D5 FFFF

I tried replacing the string assigned to gIRCode with this string, and the value assigned to gIRCodeFormat with UUIRTDRV_IRFMT_UUIRT.

I then reran the console app and tried option 1, transmit IR code / blocking.

Even though the UIRT's red transmit light did come on, the robot did nothing.

I figured at this point it was best to ask for help.

What do you suggest I do/try next?

Thanks.
Robert
RobotsRule Discussion Forum
http://www.robotsrule.com/phpBB2/
roschler
 
Posts: 21
Joined: Fri Nov 19, 2004 1:18 am

Postby jrhees » Fri Nov 19, 2004 9:31 pm

roschler,

When you learned your robosapien codes in Girder did you use the 'Accept Burst' feature?

-Jon
jrhees
Site Admin
 
Posts: 1652
Joined: Tue Jan 28, 2003 11:49 pm

Postby roschler » Fri Nov 19, 2004 10:19 pm

Jon,

I never used the learn function in Girder. Some kind soul posted a link to a complete Girder GML file for the Robosapien and I used that instead. Here's a link to the GML file:

http://home.comcast.net/~jsamans/robo/robosapien.GML

I found it on a Robosapien hacks site with a long thread on controlling the Robosapien with a UIRT:

http://pruim037.proboards23.com/index.c ... 1091490748

I looked at the GML file but the codes are in some proprietary encoding so it is not obvious what the actual IR codes are.

The thread on that forum talks about using "Accept Burst Mode" with Girder and the Robosapien. I just tried using the UIRT plugin Learn feature, but the "Accept Burst Mode" button is greyed out (disabled).

What to try next? Is 3/26/2004 the latest firmware?

Thanks.
Robert
RobotsRule Discussion Forum
http://www.robotsrule.com/phpBB2/
roschler
 
Posts: 21
Joined: Fri Nov 19, 2004 1:18 am

Postby roschler » Fri Nov 19, 2004 10:33 pm

Follow-up to Girder learning:

I changed the carrier frequency from 40 to 39 (Robosapien is 39.2).

It appears that the "Accept Burst" button doesn't enable until you send a signal. I thought it was a toggle but apparently it is a way to accept a signal burst and complete (terminate prematurely) the learning process after something has been received, which I did.

Here's the code string I got for "R arm up":

R08008109

I tried the VB example again with the following string (UIRT raw mode):

0008 0000 0081 0009

Still no response from the robot.

(More follow-up)
Additional code captures with Girder resulted in the following code strings being captured for the same remote button (right arm up):

R0800810C808520821620
R08008107808320202121212121202121212021808520
R08008109808420212122212221212122212021808620

Is this that toggle bit stuff you talked about on another thread or some kind of other state change phenomena? If it is then I am confused because the GML file I mentioned earlier only has a single code for "right arm up".

Ideas?

Most importantly, do you know of a way to convert the Girder code strings into code strings I can directly transmit with the UIRT dll?
Robert
RobotsRule Discussion Forum
http://www.robotsrule.com/phpBB2/
roschler
 
Posts: 21
Joined: Fri Nov 19, 2004 1:18 am

Postby jrhees » Sat Nov 20, 2004 12:08 am

If you're simply interested in transmitting codes you already have, just use the codes you already have from Girder. If those codes begin with a 'R', then they are 'RAW' format codes, and must be transmitted out the TransmitIR() function with .._RAW as the codeFormat parameter. You cannot reformat the string (as you tried) into a Pronto since they work differently.

-Jon
jrhees
Site Admin
 
Posts: 1652
Joined: Tue Jan 28, 2003 11:49 pm

Postby roschler » Sat Nov 20, 2004 1:37 am

Jon,

That did it. Works fine now.

Since I am only going to transmit codes not receive, do I need to bother with a windows message handling loop at all?

Thanks.
Robert
RobotsRule Discussion Forum
http://www.robotsrule.com/phpBB2/
roschler
 
Posts: 21
Joined: Fri Nov 19, 2004 1:18 am

Postby jrhees » Sat Nov 20, 2004 5:58 am

...no, not really.

1. Simply don't ever register a Receive callback -- that removes any need for receive callback code or any windows messaging for it (VB code)

2. Remove all of the learn support and callbacks as well as its messaging code (VB code)

-Jon
jrhees
Site Admin
 
Posts: 1652
Joined: Tue Jan 28, 2003 11:49 pm


Return to Developers

Who is online

Users browsing this forum: No registered users and 16 guests

cron