-----

**/device/id** : Get/set device identification string.

The identification string is an ASCII character sequence, limited to 8 characters in length. It is automatically populated with a random-number on first startup. The device ID is also reported as the "serial number string" in the USB descriptor, but you will need to restart the device for this to be updated.

Example 1: Query the current device ID:

TX: [ /device/id ]
RX: [ /device/id ,s "r16-4992" ]

Example 2: Set a new device ID:

TX: [ /device/id "mything" ]
RX: [ /device/id ,s "mything" ]

-----

**/device/platform** : Get hardware description string

TX: [ /device/platform ]
RX: [ /device/platform ,s "Sparkfun Bitwacker" ]

-----

**/device/firmware** : Get firmware description string and compile date

TX: [ /device/firmware ]
RX: [ /device/firmware ,ss "uOSC 1.0" "June 1 2008 12:00:00" ]

-----

**/device/processor** : Get processor description string and revision number

TX: [ /device/processor ]
RX: [ /device/processor ,ss "PIC18F2455" "Revision A3" ]

-----

**/device/power** : Get power configuration source and current limit

In a future version of uOSC we may support multiple power-levels and sources (external, USB, etc).

TX: [ /device/power ]
RX: [ /device/power ,ss "USB" "500 mA"

-----

**/device/state** : Commit device state to non-volatile memory.

Currently one can save either the pin i/o configuration or the adc configuration.

TX: [ /device/state ,ss "save", "pio" ]
TX: [ /device/state ,ss "save", "adc" ]

There is actually no restore function but that may be created in the future. This message is somewhat clumsy and will probably be refined in the near future.