No announcement yet.

Can this be done

  • Filter
  • Time
  • Show
Clear All
new posts

  • Can this be done

    I would like to read the contents of a RoadRunner Label and manipulate it inside a program, then send it back to RoadRunner as a user defined label.

    I know how to send a label to Roadrunner form AutoIT so I am part of the way.

    The RoadRunner SDK has an example VB program that can read the contents of a RoadRunner Label. Problem is I am not much of a programmer, AutoIt basics are ok but VB looks out of my depth and I don’t have VB.

    I would love to just do this inside AutoIT but I don’t think it is possible; please correct me if I am wrong. Even if you have an alternate suggestion.

    So what I am looking for is someone with VB skills that could use the RoadRunner example and modify it so I could call it from inside AutoIT. Some thing like this

    AutoIt scipt

    ;Get the RoadRunner Path from RoadRunner Label “RRPATH”
    $MyLabel = (call this magical exe)RRPATH

    ;Put the Label in a MsgBox
    MsgBox(0, "WindowName", $MyLabel)

    I hope what I am asking is not imposable; I can post a copy of RoadRunners sample code if required.

  • #2

    Post the VB code sample please?

    It may be easier creating a simple VB executable from the VB code sample and simply running it from AutoIt with command line parameters. That way you could pass the label parameters to the VB application and it can change the RR label before ending. The VB application need not even be visible.

    Like I said, post the whole sample along with the parameters that you want to change and I'll take a look for you. Also, please explain why you want to change label parameters?

    cool dude


    • #3
      What are you trying to achieve in the long run? Is there a reason it has to be AutoIT?


      • #4
        Gobby I have 2 initial things I would like to achieve both are related to 4WD driving rather that city driving.

        1) Average Speed - When traveling in Australia on outback roads your speed will vary from less that 5km/hr for rough creek crossing or deep bulldust to 80km for the good sections. You always know the distance to you next camp spot but it is a good idea to keen an eye on your average speed. The turn by turn navigation software will always give you your ETA but here in Australia turn by turn mapping is useless when you get off the main roads. I have a 2nd nav system that I use which is based on raster maps so it is impossible to do any routing calculations to get ETA’s; arriving at your camp spot 2 hours after darks is not much fun.
        2) Lat Long – I would like to display the Lat Long as DD.MM.SS not DD.dddd

        I had a look at Exec.exe and this is an excellent generic tool for sending 3rd party information back to RR for display, (I can do this with a 2 line AutoIT script) what would be really good to have an equivalent of Exec.exe that works the other way so you can grab any label some thing like.


        Usage: RRGrab [frequency to poll RR],[“separator”], [label1||label2|| label3…..]

        RRGrab.exe 60,%”GPSLAT||GPSLON||GPSHDG” would return


        I understand that what I want is possible with VB but if we had something like RRGrab.exe to complement Exec.exe Script kiddies like me could add some valuable scripts for others. Especially when AutoIt is FREE,
        But thats job for guino.


        • #5
          So ashgrovered, are you going to post the RoadRunner sample code so that I can take a look at it for you?


          • #6
            DL to it is just the VB6 + Example from the RoadRunner source zip it only 12k

            Unzip it anywhere you want
            Run SDKExample.exe
            If roadrunner is running it will populate the Track name etc.

            Thanks I hope you get somewhere


            • #7
              I can knock a RRgrab up for you if you want, are you sure the exec doesnt do it already ? have you tried using the request command..

              Follow me on Twitter



              • #8
                Done it...


                I have modified the SDK Example code that you provided into an executable that can process RR SDK commands and return their values when used in conjunction with AutoIt. It is called "RR SDK" and it runs invisibly.

                Having never used AutoIt, I downloaded it and had a look. I wrote a script that allows the automation of the RR SDK application that I wrote. It's very basic but here you go:

                ;set the RR SDK text that you want to send to RR
                ControlSetText("RR SDK", "", "ThunderRT6TextBox2", "REQUEST;RR SDK;RRSCREEN")
                ;click the command button on the form to send the above command to RR
                ControlClick("RR SDK", "", "ThunderRT6CommandButton1")
                ;get the value returned from RR
                $var = ControlGetText("RR SDK", "", "ThunderRT6TextBox1")
                ;show the return result in a message box
                MsgBox (0,"Currentline",$var)

                Simply put, you can send any RR SDK commands to my RR SDK application and get the result returned by RR in AutoIt. I would imagine that the commands that you want would be:

                REQUEST;RR SDK;GPSLAT
                REQUEST;RR SDK;GPSLON
                REQUEST;RR SDK;GPSSPD
                REQUEST;RR SDK;GPSHDG
                REQUEST;RR SDK;GPSALT

                Essentially these are the GPS related RR labels. You can send any RR SDK command but they must start "REQUEST;RR SDK;". I cannot guarantee that all RR SDK will work correctly as I have only tried a few. Let me know how you get on?

                You can obviously run the RR SDK application from the AutoIt script, do your processing and then terminate it afterwards.

                Anyway, drop me a PM with your email address and I will email you the executable to try out?

                cool dude


                • #9
                  Thanks cool dude, PM you my email address


                  • #10

                    It will only work with the application that I have written!

                    Email me or send me a personal message with an email address where I can send it to, otherwise it obviously will not work!

                    cool dude


                    • #11
                      yes just worked that out, PM on the way


                      • #12
                        Thanks for the work cool dude it works, I gave it a try with all the labels I need and they all worked.

                        I might take CDR up on his offer
                        Originally posted by CdRsKuLL
                        I can knock a RRgrab up for you if you want, are you sure the exec doesn’t do it already ? have you tried using the request command..
                        The problem I am having with your solution is you are using AutoIT to pass information to the modified RRSDK.exe and AutoIT again to get the information back.

                        This works well for labels that don’t change very quickly but I am working with info from the GPS which is changing all the time. So the AutoIT script sending the CPU sky high.

                        I think what CDR is proposing is just one .exe that AutoIT can run and the returned results can be put into an AutoIT variable.

                        Thanks for the work much appreciated


                        • #13

                          I am glad that the application kind of works.

                          Remember that what you asked for was a way of retrieving RR label info from RR and getting the returned result into AutoIt. That is exactly what I did for you.

                          Now you have high CPU usage from within AutoIt. That is a seperate issue and perhaps more to do with AutoIt or your scripts. Perhaps you could either post your scripts or email me them?

                          If you want to do all of your processing from within AutoIt then there will obviously be a certain overhead as with any scripting language, especially if your script is running and looping constantly. Have you put any code in your script that frees up the processor and/or slows down the GPS label polling interval? If you do not know, something like Sleep(1000) will pause your script for one second.

                          I may be wrong but from what I have understood about AutoIt you would still need some form of loop that polls any application that retrieves the GPS label information. Logic dictates that it is that loop, and the processing that you are doing with the information, that will always give you some form of performance hit. This is especially true if you are doing it frequently without relinquishing the processor.

                          Anyway, the point that I am trying to make is that perhaps your script can be tweaked. Other than that, perhaps you should consider putting all of the code that processes the GPS labels into the application that polls RR (currently my RR SDK). That way, you could simply start the application running and let it interface with RR with no need for AutoIt. In order for me to do this I would need to know what processing you are doing on the GPS data and which label/labels to update after that processing.

                          The ball is in your court. If you want me to look into this further then either post your AutoIt scripts or email them to me.


                          • #14
                            Thanks cool dude, I will continue to use you app for the labels that I only get when required, so for that I am grateful too you.

                            As far as processing the real-time GPS stuff I think you are right, I will have a bit of a think over the next few days and get my head clear on exactly what I am trying to do.

                            You know what it is like you hit a wall and then you find a solution to help you over but your mind goes crazy with all sorts of other possibilities nothing related to your initial problem


                            • #15
                              cool dude or ashgrovered, I need this app (RRSDK.exe), too. Would you mind sending it to me? Or if it's small enough, you can just post it here as an attachment.

                              iGMon - Integration between iGuidance and Road Runner
                              CFX - Skin for Road Runner