The ATmega® Signature and RC Oscillator Calibration bytes

The syntax of the "G" command is:
G[ ]#
  where [ ] means zero or more spaces,
  "#" is a numeric value (0 to 255, 0x0 to 0xFF, -1 to -254), but:
    0 selects the Device Signature Byte 1 (0x1E for a 328P),
    1 selects the RC Oscillator Calibration Byte (varies),
    2 selects the Device Signature Byte 2 (0x95 for a 328P),
    4 selects the Device Signature Byte 3 (0x0F for a 328P),
    any other value is undefinded (but may report some numeric value)
Notes:
  No distinction is made between uppercase and lowercase commands.
  Only a single numeric value is parsed
  The numeric value may be specified in either decimal or hexadecimal format.
  Anything after the first numeric value is ignored.

This is really a simple command; here is an example:
>G   0
Value returned: 0x1E
>G 2
Value returned: 0x95
>G4
Value returned: 0x0F
>G  1 ; The Factory OSCCAL byte
Value returned: 0xCC
>                                                                               
See also:
  The ReadSignatureByte system routine.