James

Plain Text Serial commands

Recommended Posts

The functionality Device Monitor exposes can all be done directly through serial commands. If you are building a smoking machine or similar and want to write a program to automate your DNA, this command list should be useful to you.

To access the serial port, on Windows, install the drivers that are included with EScribe Suite. DNA serial ports are standards-compliant USB CDC, so you do not need a driver on Linux or Raspberry Pi. On Windows, we use a custom driver because Microsoft's USB CDC driver is of poor quality.

For the commands below, # indicates a number. This can be any decimal, with a period as the separator (1.2, 3.4, 5.6, etc.).

 

The basic commands are:

F=# S

Fires for # seconds.

P=# W

Sets the power setpoint to # watts.

T=# F
T=# C

Sets the temperature limit to # Fahrenheit or Celsius.

T=?

Turns temperature protection off.

M=#

Sets the current profile to # (1-8).

 

Common queries are:

P=GET

Gets the power measurement.

P=GET SP

Gets the power setpoint.

T=GET

Gets the temperature measurement.

T=GET SP

Gets the temperature setpoint.

T=GET MATERIAL (1.2 SP3+)

Gets the name of the material being used.

M=GET

Gets the current profile number.

B=GET

Gets the battery pack voltage.

B=GET CELLS

Gets the number of cells in the battery pack.

B=GET CELL #

Gets the voltage of a particular battery cell.

R=GET

Gets the resistance, as displayed on the device. This is the cold resistance on temperature-sensing coils, or the live resistance on non-temperature-sensing coils.

R=GET LIVE

Gets the live resistance measurement.

R=GET COLD

Gets the cold resistance. (DNA Color)

 

Diagnostics include:

V=GET

Gets the voltage measurement.

V=GET SP (1.2 SP3+)

Gets the voltage limit.

V=# V (1.2 SP3+)

Sets the voltage limit. This setting is not retained on power cycle. (Only really useful if you want to imitate the smoking behavior of a voltage-limited device. To do this, make sure your power setpoint is high enough to hit the voltage limit.)

I=GET

Gets the current measurement.

I=GET SP (1.2 SP3+)

Gets the current limit.

I=# A (1.2 SP3+)

Sets the current limit. This setting is not retained on power cycle.

U=GETV

Gets the USB voltage measurement.

U=GETI

Gets the USB current measurement.

U=GETP

Gets the USB power measurement (USB voltage X USB current).

U=# A

Sets the USB current limit. 0 disables charging.

T=GET BOARD

Gets the board temperature.

T=GET ROOM

Gets the thermally modeled room temperature.

 

As for statistics...

For (what) below, substitute MEAN (mean), SD (standard deviation), or blank (total). For DNA Color, the standard deviation divides by N (population standard deviation). For earlier DNAs, the standard deviation divides by N-1.

For (when) below, substitute LAST (the previous puff), DEVICE (lifetime), or blank (since statistics have been reset). MEAN and SD can't be combined with LAST.

The statistics queries are:

S=GET RESETS

Gets the number of times the statistics have been reset.

S=GET (when) PUFFS

Gets the number of puffs.

S=GET (when) TEMP PUFFS

Gets the number of temperature-protected puffs.

S=GET (when) (what) ENERGY

Gets the total energy of the last puff.

S=GET (when) (what) POWER

Gets the mean power over the duration of the last puff.

S=GET (when) (what) TIME

Gets the time of the last puff.

S=GET (when) (what) TEMP

Gets the mean temperature over the duration of the last puff.

S=GET LAST PEAK TEMP (1.2 SP3+)

Gets the peak temperature over the duration of the last puff.

 

Lastly, for identifying the device:

E=GET MFR

Gets the manufacturer name.

E=GET PRODUCT

Gets the product name.

E=GET VERSION

Gets the firmware version code.

  • Like 4

Share this post


Link to post
Share on other sites

@James first of all sorry for digging this old thread, but is there a command to set  only selective cells to charge? or limit certain cells at certain voltage?

incase you forgot, i'm using Vaporshark DNA 250 and it uses 3S lipo batteries.. and as you know the battery that came with the device is fullymax which is nowhere to be found anymore..

i think it'll be handy if we could selectively charge the cells because due to aging sometimes the lipos aren't charged balancely.. like mine here, the 1st cell is always somewhere .20-0.30 volts under the 2nd and 3rd cell..
and everytime cell 2 and 3 reached 4.10v the amp started to slow down and cuts itself.. resulting 1st cell not fully charged to 4.10v

any other options or suggestions are welcomed.. TIA

Capture.PNG

Share this post


Link to post
Share on other sites

As you know as batteries age from use and charging they degrade.  Thus they no longer will fully charge.   It may be that cell 1 has degraded more, or faster, than cells 2 and 3.   Try replacing the battery pack with a new one....

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now