PDA

View Full Version : Nuvo T2 Tuner Driver


robertmee
06-07-2007, 05:09 AM
My next driver on the list, so I figured I'd start an official thread. Playing around with the protocol today, and noticed a few things:

The docs were last updated in 2005 before the release of the XM version of the tuners. I called Nuvo and they don't think anything was done with the firmware/protocol to support XM, however, I tried issueing an XM station command and I got a response of sorts. The problem is that even though I have an XM tuner (I have the Dual Tuner AM/FM/XM), I haven't subscribed to XM yet, so I can't really see the station change. Sooooo....If someone has a T2 with XM and would help me run a test to two, that'd be helpful.

The protocol is pretty cheesy. There is no real response to any command. It relies on async messages to keep things in sync. So, if you go to the keypad and change to FM, you get an async message that the tuner changed to FM. If I issue a serial command to change to FM, I get no response that the command made it there, was accepted or anything. I do get the async response that the tuner changed to FM. So, I'll have to rely on these as 'responses' as well as continually watch them for external changes.

The RDM stuff is REALLY SUCKEEE. RDM is used to update the keypads with data broadcast from the radio station you have tuned to. There are a couple of REALLY crappy things going on here.

A) Supposedly the RDM standard says that a radio station is supposed to transmit data on change. In otherwords, when you tune to a new station, it's supposed to send out WXYZ. When a song changes, it's supposed to send out Pink Floyd - The Wall. Well, it seems most stations (other than XMs which seem to behave) continually retransmit. So, connecting with hyperterminal, I see a constant influx of these messages repeated over and over and over. It will just make the comm handling piggy and it sucks.

B) And this makes the above even worse. The data is basically worthless. Don't know whether it's coming from the stations or the way Nuvo is handling it, but the repeating messages are truncated to fit the display. As an example, let's say the keypad display is 10 characters wide (it can scroll 50). And the Radio Station is broadcasting "WXYZ 101.5 Pink Floyd - The Dark Side of the Moon". Well, you get "WXYZ 101.5" followed by "Pink Floyd - The" followed by "Dark Side of the" followed by "Moon". Over and Over. So, I can't even read this data and do anything useful with it, because if I stuck it in a string field, the field would change so fast as to not be useful for anything. And I can't stick it in 4 consecutive fields, because the number of different messages will vary depending on the length of the entire message which can't be discerned.

So, I think I'm just going to concentrate on changing stations/band whether through presets, seek up/down booleans, or through direct entry of the station #. I will have a current station field that will update based on if you tune to a preset. The tuner holds lots of presets, so I went in and entered all my local stations, so If I tune to one of them, I get "WXYZ 101.5". Might be useful. Not sure how I can do this for XM since there are so many channels. It's a shame the above stuff is so worthless, because XM actually seems to behave in the regard of transmitting messages. If anyone has any suggestions on tackling that, I'd appreciate it.

EDIT: Version 1.2 Release on Post #4
EDIT: Upgraded Pack for v 2.3.4 of CQC

Sparks
06-07-2007, 09:27 AM
I have a T2, but AM/FM/Weather. I'd be glad to help test when you're ready. One thing that would be nice to do is turn the RDS messages off/on. I have a CQC event that displays the daily forcast on my Concerto Keypads in the master bedroom and master bathroom. The problem is that it doesn't consistantly dispay the message. Sometimes it displays it one time and then the RDS message pops up and sometimes it just displays the RDS message.

robertmee
06-07-2007, 09:36 AM
I have a T2, but AM/FM/Weather. I'd be glad to help test when you're ready. One thing that would be nice to do is turn the RDS messages off/on. I have a CQC event that displays the daily forcast on my Concerto Keypads in the master bedroom and master bathroom. The problem is that it doesn't consistantly dispay the message. Sometimes it displays it one time and then the RDS message pops up and sometimes it just displays the RDS message.

No way to do that unfortunately...At least not that I've seen.

robertmee
06-07-2007, 03:55 PM
Okay, the first pass at the T2 Tuner is done and working on my system. Here's what it offers:

Fields:

A/BPower - Boolean R/W Turn Tuner A/B on or Off
A/BStationFreq - String R/W to set Tuner A/B to a station. Takes the form of

FM105.1
FM105.15
AM680
XM10
WX1
AUX

A/BStationFreqNum - Card R to display the numeric portion of the frequency only. Useful for displaying logos.

A/BStationCall - String R If you tune to a station that you've assigned the call letters to in your presets this gets updated.

A/BStationBand - String R/W to indicate tuner Band. Switching Band will tune to last station selected on that band.

A/BPreset - String R/W If you tune to a station that you've assigned a preset this gets updated with the preset #, or you can change the preset from here. It's in the form of xy where x=bank, y=preset

A/BCommand - String W - Supports all other commands (Tune, Seek, et al.)

A/BDisplay - String R - This is the Radio RDS information. It is set to blank each time a new preset or station # is entered or the Seek Command is used because some stations do not broadcast RDS info so the old info would be left over from the previous station and not make sense.

Sparks
06-10-2007, 08:22 AM
I've done some inital testing and everything looks good so far. I haven't tried everything yet, but on/off works and the call sign and frequency is displaying correctly. One thing I noticed, and I figured it would work this way, is that when you turn off the channel via the T2 field, the RDS info continues to display on the Concerto keypad. It would be nice to be able to read/write RDS info.

Update: Was also able to write to the freq field to change both A/B tuners

robertmee
06-10-2007, 08:25 AM
I've done some inital testing and everything looks good so far. I haven't tried everything yet, but on/off works and the call sign and frequency is displaying correctly. On thing I noticed, and I figured it would work this way, is that when you turn off the channel via the T2 field, the RDS info continues to display on the Concerto keypad. It would be nice to be able to read/write RDS info.

Yeah, there's nothing in the protocol for managing RDS....It just spits out a stream of info, and unfortunately as explained in the first post, the way it spits it out is not very useful. You could however, do an Event where when the tuner turns off, it sends a blank string to the display. It should stay off at that point.

Sparks
06-10-2007, 09:08 AM
Did notice one thing. when you turn the tuner off via a CQC command, then turn the Concerto off by the power button, then turn the Concerto on by the power button, you get the RDS display (expected), but it does not turn the tuner on. (hope that makes sense).

robertmee
06-10-2007, 09:11 AM
Did notice one thing. when you turn the tuner off via a CQC command, then turn the Concerto off by the power button, then turn the Concerto on by the power button, you get the RDS display (expected), but it does not turn the tuner on. (hope that makes sense).

I guess...The Tuner has no hard on/off...Even off it is always in standby, so it may still be processing RDS messages.

Sparks
06-10-2007, 04:33 PM
I guess...The Tuner has no hard on/off...Even off it is always in standby, so it may still be processing RDS messages.
I would agree. The only problem is that if you turn the tuner off with CQC, you can only turn it on with CQC and not the Concerto keypad. Not a driver issue....just a Concerto/T2 issue. I would have thought the keypad would turn it on as it would usually if the tuner was off.

robertmee
06-11-2007, 03:30 AM
Let me run an idea by you....You know how the driver updates the Call Letters when you tune to a preset (as long as you've put them in your T2 configuration)....Would it be beneficial to go through the presets on driver connect and store those in fields? That way, when building your Interface, you wouldn't have to remember what Preset #01 was for labeling your command button. Your button would just be labled MyT2Driver.PresetA01Text
as an example. To do this, I would have to actually send a preset command for each station to the T2 on startup so that it reports the text stored in the T2. And, for driver performance sake, limit it to maybe 10 or 20 presets per tuner (that'd be 40 extra fields!). Don't know if it's worth it or not?

Sparks
06-11-2007, 08:41 AM
Let me run an idea by you....You know how the driver updates the Call Letters when you tune to a preset (as long as you've put them in your T2 configuration)....Would it be beneficial to go through the presets on driver connect and store those in fields? That way, when building your Interface, you wouldn't have to remember what Preset #01 was for labeling your command button. Your button would just be labled MyT2Driver.PresetA01Text
as an example. To do this, I would have to actually send a preset command for each station to the T2 on startup so that it reports the text stored in the T2. And, for driver performance sake, limit it to maybe 10 or 20 presets per tuner (that'd be 40 extra fields!). Don't know if it's worth it or not?
I would say if it's not a lot of trouble it would be nice to have. Any time you can automate something, it's usually worth it

BrandonStapp
06-11-2007, 01:53 PM
okay, beating this up for about an hour now on a T2G, and the only thing that i see that is a little off is that the T2G does not support Power OFF / ON, everything else seems to work well. Thanks! :-D

robertmee
06-11-2007, 02:05 PM
Yeah I don't know why, but straight from the T2G protocol guide:

This command will turn on a tuner. If the tuner is already on, this command will have no effect. This command will not work when the T2 Tuner is attached to the NuVoNet network.

Sparks
07-18-2007, 03:59 PM
Is anyone using the 2.14 beta with the T2 driver. I keep getting "Waiting to Connect". Not sure if it worked after the 2.1 release.

Edit: Nevermind...user error...:roll:

robertmee
08-02-2007, 04:24 PM
UPDATE: I've got the RDS info working, *I THINK*. The way it works is there are now two additional fields. ADisplay and BDisplay. These will contain any additional information the Radio station broadcasts. The way it appears in the Tuner is that first the call letters are sent which is stored in the other field, then RDS info is sent. However, if you tune/preset to a station that doesn't send RDS info, all you get is the call letters in the first field. So, on any preset change, station change or SEEK, I empty out the display field so that it will either be updated by the new station, or remain blank if that station doesn't broadcast. Let me know how it works.

ToyMaster458
10-17-2007, 04:28 PM
robertmee

I made some changes to your driver

1) Fixed the A/BStationFreq field having a CR if the Freq is less then 5 char long

2) Added a A/BStationBand R/W allowing you to change the band to AM, FM, XM, AUX or WX with out changing the Freq and goes back to what the last Freq was on that band

3) Added the rest of the commands

robertmee
10-18-2007, 03:37 AM
Good Work.

Thanks to TM's efforts, a new version of the driver has been posted (post #4). It includes additional commands, a field for changing the band (AM/FM/XM/WX), and a new manifest to differentiate the various models of the tuners.

ToyMaster458
10-18-2007, 12:04 PM
I just noticed a small issue. I misspelled one of the models wrong in the Manifest. I well send a new one soon with the proper spelling and another new feature.

ToyMaster458
10-18-2007, 10:09 PM
I just sent robertmee version 1.2 that includes the Manifest fix and an extra field A/BStationFreqNum that can bind to the Logo Image Widget and make use of the XM logos. I think that this will make this a complete driver as I can not think of anything else to add. Please take the time to test it out so Dean can get it in the next drop.

AceCannon
03-20-2010, 01:37 PM
My Sirius T2 never gets by "waiting to connect". I've tried installing the driver using all 3 possible model choices to no avail.

Can anyone confirm this driver will or will not work with the T2SIR?

znelbok
03-08-2011, 02:44 PM
Yes, I am trying this with T2-SIR and it wont work.

The nuvo-T2 has been discontinued now and is replaced by the T2SIR & T2FAM.

Can anyone mod the driver to include the to new tuners please....

Mick

znelbok
07-18-2011, 07:57 PM
I have written a new driver for thte T2-SIR tuner. It had to be a new driver bacause the baud speed was different. I could have merged them and left the port speed selection up to the user but that would have just caused confusion so I wrote a new driver. I will post it after I finish some more testing on it

Mick