Parallax GPS smart mode

Hello,

I am trying to use a Parallax GPS module for one of my projects. The smart mode it features seems advantageous , but its kind of hard to figure out.

Here is the documentation on the GPS: (page 4, specifically)
http://www.parallax.com/Portals/0/Downloads/docs/prod/acc/GPSManualV2.0.pdf

The GPS module uses SIO. I have a transistor allowing current to flow through it to the RX pin. When I write the transistor to high, the RX pin cannot receive and the TX pin can transmit. I believe this prevents echo and allows both pins to function. According to the the documentation, the SIO is asynchronous. So, do you think this is working?

If the above is correct, something is wrong with my code. The documentation says:

“To send a command to the GPS Receiver Module, the user must send the ASCII header string of !GPS followed by the specific hexadecimal command byte of their choice. Depending on the command, a varying number of data bytes will be returned”

Here is my code:

#include <SoftwareSerial.h>
SoftwareSerial GPS = SoftwareSerial(2,3);

int info;
int tran = 7;
byte GetValid = 0x00;

void setup()  {
  Serial.begin(9600);
  GPS.begin(4800);
  int runner = 1;
}

void loop()  {
digitalWrite(tran, HIGH);
GPS.print("!GPS");
GPS.print(0x00, HEX);  //I have sent every feasible command I can think of here
digitalWrite(tran, LOW);

info = GPS.read();
info = GPS.read();
info = GPS.read();
Serial.println(info, DEC);
delay(100);}

My assumption is that I am sending the wrong command or wrong type of command to the GPS module. Please help!

This problem has been around for a good while and ,to the best of my knowledge, still hasn’t been resolved! Please help out the community! Any bit of advice would be greatly appreciated.
-Thanks

Sounds interesting! It's a totally new software.