Rimage DTP-4500 RAS 13 Serial Control Commands

A continuation of one of my previous projects. http://www.ragingcomputer.com/2012/06/rimage-dtp-4500-ras-13-initialization-sequence

Each command starts with the nonprintable ascii character ESC (x1B) and ends with a capital C.
Each reply starts with the nonprintable ascii character ESC (x1B) and ends with EOT (x04). Since that looks pretty ugly in a terminal, I replace ESC with a + sign and the EOT with an = sign.

In the known command list, the commands aren’t indented and the known replies are indented.

I smacked together a little bit of perl to verify I was understanding the commands correctly.

[text]perl cmdsend.pl !f12600C[/text]

cmdsend.pl

[perl]
#use Device::SerialPort;
use Win32::SerialPort

my $DONE = 0;

#my $ob = new Device::SerialPort("/dev/ttyUSB0") || die;
my $ob = new Win32::SerialPort("COM1") || die;
$ob->user_msg(1);
$ob->error_msg(1);

$ob->baudrate(38400);
$ob->parity("none");
$ob->parity_enable(0);
$ob->databits(8);
$ob->stopbits(1);
$ob->handshake(‘rts’);

$ob->write_settings || undef $ob;

print $ARGV[0] . "n";

$ob->write("x1B" . $ARGV[0]);

while(!$DONE) {
if(my $result = $ob->input) {
$result =~ s/x1B/+/g;
$result =~ s/x04/=/g;
print $result . "n";
$DONE++;
}
select undef, undef, undef, 0.25; # short sleep
}
undef $ob;
[/perl]

Known Command List
[text]
!f:C Query Serial Number

!e0C Get Version

!e1C Get Status
!e1000000C – Ready
!e1002000C – Wait?
!e1003000C – No Disc
!e1007000C – No Drive Tray Detected

## Setup / Initialization
!f12402C Probe to Disc Drive Tray
!f10C – No Disc
!f11C – Disc Was In Drive

!f0240C Get Result of Probe to Disc Drive Tray
!f01300241C – Bottom Drive
!f01300242C – Third Drive From Top
!f01300243C – Second Drive From Top
!f01300244C – Top Drive
!f01365534C – Error

## Grabber Arm Movement
!f12600C Move To – Home Grabber Arm – Stop Above Printer
!f11C

!f12400C Move To – Above Top Drive

## Load / Unload Drives
!f12440C Move To – Top Drive
!f12441C Put Disc – Top Drive
!f12442C Grab Disc – Top Drive

!f12430C Move To – Second Drive From Top
!f12431C Put Disc – Second Drive From Top
!f12432C Grab Disc – Second Drive From Top

!f12420C Move To – Third Drive From Top
!f12421C Put Disc – Third Drive From Top
!f12422C Grab Disc – Third Drive From Top

!f12410C Move To – Bottom Drive
!f12411C Put Disc – Bottom Drive
!f12412C Grab Disc – Bottom Drive

## Get Disc From Bin
!f12002C Grab Disc – Bin 1
!f12012C Grab Disc – Bin 2
!f12022C Grab Disc – Bin 3

## Put Disc In Bin
!f12001C Put Disc – Bin 1
!f12011C Put Disc – Bin 2
!f12021C Put Disc – Bin 3

## Inventory Bins
!f0200C – Query Discs in Bin 1
!f01000000C – 0 discs
!f01300003C – 3 discs
!f01365534C – Error

!f0201C – Query Discs in Bin 2
!f01000000C – 0 discs
!f01300003C – 3 discs
!f01365534C – Error

!f0202C – Query Discs in Bin 3
!f01000000C – 0 discs
!f01300003C – 3 discs
!f01365534C – Error

## Get Grabber Arm Location
!f0220C – Query Current Location
!f01000500C – Top
!f01002585C –

## Useless Since The Printer is Crippled
!f12602C – Grab Disc – Printer Tray
!f10C –
[/text]

Leave a comment