ASWM protocol description.

All commands must be terminated by carage return \r  ( 0x0D ).

When system start it is in waiting state for cmd.
Avaliable commands after boot:

m - enters device to the MMA mode.
d - enters device to the TIG DC mode.
a - TIG AC - not impelmented now.
v - returns software version.
c - calibration mode.

1. MMA.  For MMA mode avaliable following commands:
a - set current . example a100\r . range 5-180 amper
s - start PWM
e - stop PWM
q - exit to the select mode.
l - logging command

2. TIG DC:
g - start gas. ( opens valve )
r - stop gas r\r. (close valve )
a - set current. for instance : a25\r - setup current  to 25 amper
s - start PWM.
e - stop PWM.
l - logging command
q - exit to main mode. q\r

3. calibration mode ( only current for now )
z - returns zero point for Hall sensor.
Zxxx - set zero point for Hall sensor.
q - quit to main mode.

The device replies for all commands by o\r ( except 'l' and 's' command ).
If command is not recognised or has invalid parameters then device answer  is "?InvalidCommand\r"
In fault state any command will return F or T + \r until fault state is active. 

Logging command
l\r send request to device for  current, voltage, torch state  at the command receive time.
The device replies  by  xxx xxx x\r . Amperage in amper a, voltage in 1/10 of volt. Torch state ( '1' or '0' 

)

notes:
1. Exit from any mode to main mode will stop PWM.
2. PWM doesn't start automaticaly when device enters to any mode. User has to send s\r command to activate PWM.

