Announcement

Collapse
No announcement yet.

Issue with XM

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Issue with XM

    Red,

    Just got my XM direct unit installed and operational. Started testing out the XM functionality and MI has the best interface by far. Congrats and nice work.

    I do have a bit of a problem though and after searching the forums haven't found anything like it so far. So the problem is:

    When starting up XM Radio functionality or when changing channels the user interface becomes unresponsive for a long period of time. Sometimes the UI can lock indefinately. I use an IOGear USB to Serial adapter and run Win XP SP2. Made my own XM cable that is powered off of my ATX PS. Don't have any problems once the station is dialed in and stable.

    Thanks!

  • #2
    Originally posted by Wamphyri
    Red,

    Just got my XM direct unit installed and operational. Started testing out the XM functionality and MI has the best interface by far. Congrats and nice work.

    I do have a bit of a problem though and after searching the forums haven't found anything like it so far. So the problem is:

    When starting up XM Radio functionality or when changing channels the user interface becomes unresponsive for a long period of time. Sometimes the UI can lock indefinately. I use an IOGear USB to Serial adapter and run Win XP SP2. Made my own XM cable that is powered off of my ATX PS. Don't have any problems once the station is dialed in and stable.

    Thanks!
    Thank you for the compliment! My best guess is that there is something going on with the Serial to USB thing. The guys who invented this interface with the serial port probably didnt have a USB port in mind. Thats pretty cool that you got it working that way. I know that alot of the new boards dont have a serial port or dont have enough of them. My program uses Microsoft Com port control and it may not be totally compatible with the Serial to USB drivers. I would make sure that the drivers for it are as up to date as possible to start with. There might be some power management settings that need to be disabled as well. Just for giggles, try connecting the power to the XMDirect unit to the car battery/car stereo power and see if there is a difference in performance. I hope this helps.
    Mobile Impact
    Highly innovative car computer multimedia/entertainment system software.
    http://mobileimpact.biz.tm

    Comment


    • #3
      Switched the XM unit over to the onboard serial port. Same intermittent unresponsiveness from the user interface. During the tests my XM antenna was in a temporary position and the signal strength was poor to none. Once the station was connected things seemed to free up.

      Hopefully you won't take this the wrong way Red but I have some professional experience in coding serial devices in VB6. I had to come up with a unique way to handle serial comm's to avoid an unresponsive UI. Because of VB's single threadedness using the MSCOMM control in an app could keep events from happening if there is alot of parsing in the OnComm event of the comm control. This seemed a little familiar when I was testing, that's why I mention it. I would welcome any suggestions that you have. Thanks.

      Comment


      • #4
        Originally posted by Wamphyri
        Switched the XM unit over to the onboard serial port. Same intermittent unresponsiveness from the user interface. During the tests my XM antenna was in a temporary position and the signal strength was poor to none. Once the station was connected things seemed to free up.

        Hopefully you won't take this the wrong way Red but I have some professional experience in coding serial devices in VB6. I had to come up with a unique way to handle serial comm's to avoid an unresponsive UI. Because of VB's single threadedness using the MSCOMM control in an app could keep events from happening if there is alot of parsing in the OnComm event of the comm control. This seemed a little familiar when I was testing, that's why I mention it. I would welcome any suggestions that you have. Thanks.
        Good Info! True that there is unresponsiveness while it tries to connect to a satellite, but obviously it will work properly when all is connected and reception is good. Unfortunately like you said that Vb6 is limited by its single threading. It would take a large amount of additional coding to overcome this, and could in turn slow the load up and operation of the entire UI down considerably. I have used a couple of other XM programs and they all take an extremely long time to load whether or not reception was good. I decided to take the unresponsiveness over the extended load time. Again good information. I welcome any code samples that youve developed to improve the module. Thanks.
        Mobile Impact
        Highly innovative car computer multimedia/entertainment system software.
        http://mobileimpact.biz.tm

        Comment


        • #5
          i just ordered my xm cable today and was going to use a serial adaptor. will it work or do i have to go through the com1 or 2. just a little confused. did you try it with the adaptor after you had a good signal?

          Comment


          • #6
            It should work with a USB to serial adapter no problem. I did try it again when I had a good signal and it seemed to work much better. I think the problem is when there is a poor or no signal. I think I am one of the few that is having this issue.

            Red, I will get you some example code Monday/Tuesday.

            Comment


            • #7
              thanks for the fast reply. i cant wait to have radio again. the car pc stuff is great.

              Comment


              • #8
                Originally posted by Wamphyri
                It should work with a USB to serial adapter no problem. I did try it again when I had a good signal and it seemed to work much better. I think the problem is when there is a poor or no signal. I think I am one of the few that is having this issue.

                Red, I will get you some example code Monday/Tuesday.
                Thanks I appreciate it!
                Mobile Impact
                Highly innovative car computer multimedia/entertainment system software.
                http://mobileimpact.biz.tm

                Comment


                • #9
                  Example Code

                  Here you go. This a quick example of how I did a seperate thread in VB to handle serial comms.

                  The idea is to use an activeX exe to serve as the communications thread. This thread is instanciated by the UI thread. I have included some of the basic methods and events for the comm control. Because we remote out the work that is done in the OnComm event to the activeX exe the UI is free to responsd to user input

                  To see this in action do the following:

                  1. Extract the files to a directory. I chose to create an example directory on my desktop.

                  2. Open the prjActiveXSerial.vbp project file. It might complain that it can't set the version compatible component. Just press ok and move on.

                  3. Make this executable and save it to the example directory.

                  4. Close the project. Open the prjXMExampleUI.vbp.

                  5. Go to the menu bar and go Project -> References. Click browse and navigate to the example directory. Change the "Files of type" dropdown box to "Exectuable Files" and find the XMSerialExample.exe file you compiled. Press Open then press OK.

                  6. Run or compile the UI and you should be all set.

                  What you should see is the prjXMExampleUI and prjActiveXSerial exe's running in task manager when you run the UI.

                  Let me know if you have any questions or need help getting this running.

                  Wamp
                  Attached Files

                  Comment


                  • #10
                    Any update on this Red?

                    Comment


                    • #11
                      Originally posted by Wamphyri
                      Any update on this Red?
                      Ive been working on a few other projects and havent really gotten into it yet, but I discovered what the lag was. Its not the communication with the com port. The XM module has commands that it sends to the XMDirect to obtain channel, signal and several other pieces of information, and it executes these commands then waits for the response. They are single process commands, send then receive. Unfortunately there is no way to set a delay. The commands dont have the option to identify if they are working or not, the code sends the commands, then the next thing that happens is the XMD units starts to send the info. I could make a guess and set it to delay for a couple of seconds before sending the commands, but then if might slow the guys down who are getting perfect reception and have fast systems. Unfortunately there isnt much I could do about it so that it accomodates everyones situations. The commands that it sends to the XMD are getchannelinfo, getsignalinfo, etc. The module relies on these to start operating and cant until it recieves the info back from the XMD. Any suggestions?
                      Mobile Impact
                      Highly innovative car computer multimedia/entertainment system software.
                      http://mobileimpact.biz.tm

                      Comment

                      Working...
                      X