Ok, let's see whether I can add anything to this discussion

Okay, how, in "home" mode do I get GPSapp to properly talk to the GPS?

I didn't want to interfere with the emplode/player communication over the serial port when we're on AC. So the player is only started with -s- when it is on DC. That's what the 'incar' test program does. If it works it should stop gpsapp from starting whenever we're used on AC.

Use hijack to force DC to run the player with -s- and start gpsapp.

If I'm indoors and the GPS receiver can't see any satellites, what can I use to check and be sure it's even working?

Not sure, in a way it depends a lot on the gps, and I probably am not really displaying enough information to make it totally clear whether we're actually seeing anything coming in from the GPS. One thing is to go to the map display (the second screen) and from the menu toggle the coordinate display on. It should show the last received coordinates in the top-left corner of the screen (some gps's will remember this across reboots).

No satellite data

We haven't seen any packets from the GPS that contain satellite fix information. I've notices with the garmin that this info is only sent once the receiver has locked onto satellites. For trimbles the code tries to prod the receiver into sending it at least once every 30 seconds while it is looking for satellites. Once there is a fix it should update about once a second.

Also, when I first start the GPS app, it says something like "invalid protocol, reverting to NMEA". But I thought the M50gpsapp script that I put into preinit.d already specified NMEA.

Hmm, perhaps CR/LF confusion. This would indicate that gpsapp is started without any arguments, but M50gpsapp should pass whatever is in the variable $PROTOCOL, which is set 2 lines up. Maybe this is related to all the other error messages? I'll have a look at it either way.

Sometimes the keystrokes I press while inside the GPSapp will ghost through to the player software itself. Is this a known problem?

Never seen it myself, and if it happens it must be a hijack bug. All the buttons should be intercepted by hijack. Only the remote control codes should reach the player. Maybe hijack is still passing translated/reprogrammed buttons straight through to the player?
_________________________
40GB - serial #40104051 gpsapp