• Effective immediately we will be deleting, without notice, any negative threads or posts that deal with the use of encryption and streaming of scanner audio.

    We've noticed a huge increase in rants and negative posts that revolve around agencies going to encryption due to the broadcasting of scanner audio on the internet. It's now worn out and continues to be the same recycled rants. These rants hijack the threads and derail the conversation. They no longer have a place anywhere on this forum other than in the designated threads in the Rants forum in the Tavern.

    If you violate these guidelines your post will be deleted without notice and an infraction will be issued. We are not against discussion of this issue. You just need to do it in the right place. For example:
    https://forums.radioreference.com/rants/224104-official-thread-live-audio-feeds-scanners-wait-encryption.html

'996 computer programming & control

Status
Not open for further replies.

wm8s

Member
Joined
Oct 30, 2004
Messages
738
Location
Houston, TX
Let's discuss computer programming and control of the 996 here...

Found many undocumented commands. Some are from the '396, some I can figure out, and some have me stumped. The ones I can't figure out; any thoughts?:

EWP (returns ERR in either PRG or EGP mode; must need some parameters)

FSC (no parameters; returns OK in either mode)

FWM (PRG mode only; needs parameters)

LCT (PRG mode only; returns LCT,4)

MMM (PRG mode only; needs parameters)
 

dfw1417

Member
Joined
Dec 19, 2002
Messages
71
Location
DFW Texas
I found it I thought it would be a new area like Prerelease was...

If you design the software similiar to what I did with my alphatag editor then ALL the information you desire is ALREADY in arrays in the software and can be referenced by using the system, group, channel index arrays, so for me to add a GOTO button to that software it is a walk in the park since ALL the data is already stored in arrays. So when I get the index I can display ALL the settings for the channel desired when I send the unit to it. Using Dynamic memory you have to realize there are numerous pointers, indexes and data commands to get all the info you want then store it ALL in arrays whether you think you need it or not. Then when you decide you want to do something like a GOTO button 80% of your work is already done since you designed it from the beginning. The 996T is FULLY computer programmable even more so than the 796 especially since we can now control the squelch and volume controls!

I am looking forward to the 996 control thread when it shows up.





Quote:
Originally Posted by wm8s
I started a thread for '996 computer control and programming discussions. [We should continue this there.] I suggested QSH as the only thing close in that thread and also pointed out that it will only for for conventional. And even at that, it is hardly a replacement for "goto-a-channel." For example, it lacks alpha tags or any other channel-specific info (like which system or group the channel's in, its lockout status, etc.) The 785 was not really very computer-controllable, and sadly the 996 is even less so. ;^(

The only way I can think of to really go to a channel is to command enough knob-twirls and button-smushes to "dial" the the appropriate system/channel, but even that will be tough, given that dialing through systems is in quick-key order (and in undefined order for multiple systems with the same SQK).

__________________
 

dfw1417

Member
Joined
Dec 19, 2002
Messages
71
Location
DFW Texas
It would be Great if someone could make this thread a STICKY like the top 4 since this thread will probably see lots of activity.

Just a thought
 

wm8s

Member
Joined
Oct 30, 2004
Messages
738
Location
Houston, TX
dfw1417 said:
The 996T is FULLY computer programmable even more so than the 796 especially since we can now control the squelch and volume controls!
Although I do like the addition of volume and squelch, I respectfully -- but strongly disagree, but I'd love to be disproven. The fact that you have to go through so many hoops just to change the channel, and even then you aren't really changing the channel, disproves the claim that the 996 is effectively controllable. I submit that you cannot really go to a particular channel on the 996T. You can fake it (and at that, only for conventional, not trunked, channels), but not really select a channel, like you could do (by channel #) on previous models.

There are many other things that cannot (at least reasonably easily or predictably) be done, and almost nothing can be done without putting the scanner in program [PRG] mode, which completely disables the scanner's use as a scanner, at least for the time it takes to process the command. [The only documented commands that work in non-PRG mode are GID, KEY, QSH, STS, GLG, MDL, VER, VOL, SQL, P25, GCA, and RMC.] I don't mind using indeces instead of channel numbers, but having to disable the scanner while I look something up is crippling.

Start with the basics. Turn the 996 on or off programmatically. Nope. POF (kinda funny if you speak Brit-english -- P-Off] is crippled in the 996, and there's no "PON" (hehe).

Stop the scanner from scanning. Programmatically hit the "Hold" button? But you first must find out if the scanner is already scanning, or else hitting that button will act as "Resume." And there is no deterministic way to tell if the scanner is scanning, without doing some crazy parsing of the STS command's return, unrealiable at best. GLG and GID don't do it.

Read the contents of a memory. Or of anything, for that matter. Not without putting the scanner in PRG mode. [You've said you can extract everything from your program's current "copy" of the scanner's data, but that is not "controlling the scanner." The fact that programmers have to resort to building a virtual scanner in memory and controlling the virtual, rather than real scanner, demonstrates that the real scanner is not being controlled. And how to handle if the user changes something from the keyboard, and not your program? Unlike, e.g., Kenwood radios, the scanner does not echo to the program user changes, so there is no way to guarantee that you're keeping sync'ed up.]

[Kenwood got this {almost} correct; I'd commend their model to Uniden's review. KW's programming model is entirely asynchronous. Any changes to the radio's state, be they from the user {e.g,. from the front panel}, from the computer {e.g., by programming commands}, or even from the real world {e.g., from a signal coming in} are echoed immediately to the computer.]

The whole point of computer-control of the scanner is, IMHO, to be able to add functionality to the radio that you can't do from the keyboard. The whole paradigm of constraining computer "control" to programatically "looking at" the display and "pressing" keys is fundamentally inconsistent with this, as it is necessarily limited to providing the user with next-to-nothing more than he could do himself from the real radio. My 2.1 cents.

...R
 
Last edited:

dfw1417

Member
Joined
Dec 19, 2002
Messages
71
Location
DFW Texas
Give me control ... or give me GRE ?????

I totally agree with your below statement. This is one reason I created my utility so I could quickly enter TGID numbers then use the utility to enable my computer keyboard to enter the alpha tag instead of using the scroll control. Also you can create search utilities, logging etc. in software that you cannot do from the unit itself. There are many things you can create for utilities with this unit, it just must be accomplished differently from the way it had to be done in the past on the 796 and pre-796 units. Even with the 796 there was never a way to goto a particular TGID of a trunking system.

I think both USAD and Butel take the easy way out by trying to mimic actural unit keystrokes using the KEY command to do a lot of their programming etc. You can do it via the protocol commands not using the KEY command but they take the shortcut to make it easier for themselves.

Just for info the wired clone mode uses 115200 baud rate for cloning, I discovered this when I created a clone utility to add to my alphatag editor/utility suite the other day.

I appreciate Uniden posting the protocol and having a protocol which is fairly easy to implement unlike GRE units with protocol.

Actually once you develop a single function to extract the command fields and store
them into an array, the rest is so easy since systems, groups, and channel commands just
use a different # of fields but you still use the same single function to extract the info.

Really if you wanted you could emulate a BC796D with 1000 channels including all the keys and functionality and actually be using the BCD996T as hardware and the emulation being totally in software. Hmmm.... Never mind too many projects already but a thought :)

>The whole point of computer-control of the scanner is, IMHO, to be able to add >functionality to the radio that you can't do from the keyboard. The whole paradigm of >constraining computer "control" to programatically "looking at" the display and "pressing" >keys is fundamentally inconsistent with this, as it is necessarily limited to providing the >user with next-to-nothing more than he could do himself from the real radio. My 2.1 cents.
 

WB6AJE

Member
Joined
Dec 19, 2002
Messages
19
Location
Orange, ca.
996T 'GoTo'

Well dfw1417, how would you command the radio to 'GoTo' a channel that let's say is a 'Weather' channel. (This would be a user programmed channel)
If you had only 1 system progrmmed in the radio and it had 5 channels, (weather being #3) how would you tell the radio to get there??


John B.
Remscan products
 

wm8s

Member
Joined
Oct 30, 2004
Messages
738
Location
Houston, TX
WB6AJE said:
If you had only 1 system progrmmed in the radio and it had 5 channels, (weather being #3) how would you tell the radio to get there??
I think he's saying that he wouldn't, but would instead "cheat" and mimic going to a channel by putting the radio in "VFO" mode (with the QSH command) on the appropriate frequency. You could actually make the radio do a WX channel scan, at least, by programmatically hitting the MENU button then DOWN six times then ENTER twice, but again not what you asked for (and also not reliable; if the radio was already in Menu mode [which you can't really easily detect], you would have to skip the first MENU button). No way to truly go to a particular WX channel (either as a WX channel or programmed into a system).

I guess you could open the squelch all the way before hitting scan, going into WX Scan, and then hitting UP as many times as it took to get to the particular channel.... Yech.

...R
 

WB6AJE

Member
Joined
Dec 19, 2002
Messages
19
Location
Orange, ca.
996T Can't 'GoTo' radio

So, Now that I kinda wasted my money on a radio that I can't control, does any of Radio Shacks newest radio allow PC control? (like the 796D) or can they only be programmed using the serial port.... Thanks

John B
Remscan products
 

UPMan

Uniden Representative
Premium Subscriber
Joined
Apr 19, 2004
Messages
13,287
Location
Arlington, TX
wm8s said:
Let's discuss computer programming and control of the 996 here...

Found many undocumented commands. Some are from the '396, some I can figure out, and some have me stumped. The ones I can't figure out; any thoughts?:

EWP (returns ERR in either PRG or EGP mode; must need some parameters)

FSC (no parameters; returns OK in either mode)

FWM (PRG mode only; needs parameters)

LCT (PRG mode only; returns LCT,4)

MMM (PRG mode only; needs parameters)
I would highly recommend that you not experiment with these. They are used during firmware updates and it is possible (although unlikely) that you could corrupt the firmware by using them.

As mentioned in the d/l disclaimer, though, the protocol is issued on a no-support basis. I haven't personally used or studied the protocol (plenty else to do with my spare -- HAH -- time).
 

wm8s

Member
Joined
Oct 30, 2004
Messages
738
Location
Houston, TX
WB6AJE said:
So, Now that I kinda wasted my money on a radio that I can't control
You can control many facets of the 996's functions, just not all of them; you're pretty much limited to doing from the interface what you can do from the front panel.

In fact, the interface is very "do-the-same-thing-as-you-can-from-the-front panel"-centric; the primary way of querying the scanner's current state is to dump a copy of the LCD screen and try to make heads or tails of it programmatically (there are two other relevant querying commands, but they only function under certain limited conditions), and the only way of changing the radio's state is emulating keypresses and dial twirls.

I'm going to make the best of it with my software; we'll see how creative we can all be!

[As for Paul's admonition not to diddle with the undocumented commands, I'll try not to brick my radio; thanks for the warning!]

...R
 

WB6AJE

Member
Joined
Dec 19, 2002
Messages
19
Location
Orange, ca.
996T how to....

I'm still getting used to the radio format, but how do you find or goto a channel to listen to something?? If you have a 'System' named 'System 1, and there is a 'group' in that system, and the channel programmed is a weather frequency, what do you do after you stop the radio from scanning to get to that?????


thanks

John
 

UPMan

Uniden Representative
Premium Subscriber
Joined
Apr 19, 2004
Messages
13,287
Location
Arlington, TX
HOLD to stop scanning. F+SCROLL to the system. Release F, then SCROLL to the channel.
 

WB6AJE

Member
Joined
Dec 19, 2002
Messages
19
Location
Orange, ca.
'GoTo' format

Thanks,
I'm thinking to load up an array of all the info from the scanner, and direct the scanner (using F+scroll) when trying to 'GoTo' a channel. Thanks again Upman

John B
Remscan Products
 

wm8s

Member
Joined
Oct 30, 2004
Messages
738
Location
Houston, TX
WB6AJE said:
Thanks,
I'm thinking to load up an array of all the info from the scanner, and direct the scanner (using F+scroll) when trying to 'GoTo' a channel. Thanks again Upman
Or... instead of using an in-memory data structure, you could F-Scroll through the systems looking at the current system name with STS, then when you get to the desired system, kill the F and scroll to the desired channel, also using STS to know when you've gotten there. This would assume: (1) no two systems with the same name, and (2) within one system, no two channels with the same name.

...R
 

WB6AJE

Member
Joined
Dec 19, 2002
Messages
19
Location
Orange, ca.
I'll have to see how quickly I cn scroll-compare using software.
Hopefully a fully loaded scanner won't take too long.

Thanks
John
Remscan Products
 
Status
Not open for further replies.
Top