Primera Robotics Support

Hi, I recently obtained a robotic duplicator; however the software that comes with is terrible to say the least. After running some capture software on the serial port connected to this device and sending various commands to it, I have been able to write some software to control the arm manually. At the moment this is only a prototype written in vb… however i would like to turn this into a plug-in for Nero. Is this feasible? Could/would anyone lend a hand?

I’m in a similar situation, I’d be interested to know how your program is coming along.

Hi Jams, It is certainly feasible (theoretically). What did you want to do with it? Controlling the robotics is one part of the solution but I guess you would want some kind of batch job control and error control (i.e. when the arm pauses after failing to pick a disc etc) as well. If you want you I could look at the code you’ve got and put together a simple plugin using it to show you the syntax etc. From there you can probably extend it to handle what you need. I’ve got a Composer Plus (?XL) I can test with (you didn’t say what model you have - the Bravo control commands may be different). Let me know if I can help.


The software Nerorobo of Nero


Hi here is the primera (first model - not composer XL) commands
Can someone tell me the commands for the Composer XL model ? PLEASE ??!!!

’ Open the serial port
MSComm1.CommPort = 2 ’ Set the port number
MSComm1.Settings = “56000,N,8,1” ’ Set UART parameters
MSComm1.PortOpen = True ’ Required, might lock port
MsComm1.Output = “Text string” ’ Send data
Buffer$ = Buffer$ & MSComm1.Input ’ Read data


The Composer takes a 9-pin male RS-232 serial cable connection.
It transmits and receives data at 14400 bits/sec.
Other serial port details:
8 Data Bits
No Parity
1 Stop Bit
No Flow Control

Following commands are pick and place commands (ASCII characters):
Note: Recorder 2 is only available on 2 drive Composer Pro and it is the drive on the left.

Input to Recorder MIR
Input to Recorder 2 MIr
Input to Printer MIP
Printer to Recorder MPR
Printer to Recorder2 MPr
Printer to Output MPO
Recorder to Printer MRP
Recorder2 to Printer MrP
Recorder to Output MRO
Recorder2 to Output MrO
Recorder to Reject MRJ
Recorder2 to Reject MrJ
Input to Output MIO
Output to Input MOI

Following commands just move to a position:

Move to Printer MXP
Move to Recorder MXR
Move to Recorder2 MXr
Move to Output MXO
Move to Input MXI
Move to Reject MXJ

Print Tray movement commands:

Move Printer Tray out MTO
Move Printer Tray in MTI

Other commands:

Cancel last command MXX
Will cancel a command that has not terminated because of an error.
Pick command MPK
Will pick or place a disk, depending on whether a disk is in the picker or not, in the
current position.

System Commands:

Reset System __SRESET Resets Crane system to default position.
Note: two spaces are sent before the SRESET characters.
Crane Status SI

Response from Crane: Sxcccept$

S = Start of message

x = System status: I for idle, B for busy, W for waiting, P for paused.

ccc 	= 	Last command executed.
		RRR on power up.

e	=	A = Disk input supply empty.
		B = Printer Error.
		C = Crane Position Movement Error.
		D = Invalid Command Received.
		E = System Configuration Error (System not setup yet).
		F = Disk not picked up on last move command (Positions other than INPUT).
		.   = No errors present.			

p	=	Printer Status:  I = Idle,  B = Busy.
t	=	Printer Tray Status: I = In, O = Out, X = ?.
$	=	End of message

Crane Version Request SV

Response from CRANE:	“AVERSION: N2 1.01 05/02/2001 X” <CR><LF>

  	Space	single drive unit.
 	Y	DVD (DVR-S201 Authoring drive) single drive unit.
	2	2 drive unit.

Front panel control commands:

SWX:  Turn off front panel keys (except for retry).
SWO:  Turn on front panel keys.

To pick a disc from the input bin and place in the recorder, send the ASCII characters ‘M’ ‘I’ ‘R’ through the RS-232 port to the Composer.
To determine when the Composer has completed the pick and place, keep requesting the Composer status by sending the ASCII characters ‘S’ ‘I’. Every time you send the SI command, the Composer will reply on the RS-232 port with a 9 character response – if the move is not completed then the 2nd character in the Composer’s response will be the ASCII character ‘B’ for Busy. When the move is finally completed the 2nd character will change to an ‘I’ for Idle.

It is a very good idea to always compare the ‘Last command executed’ with the last pick and place command you actually sent to the Composer. In the example above, you would make sure that bytes 3,4, & 5 of the Composer’s response was ‘M’ ‘I’ ‘R’ (this should only be checked AFTER the pick and place was completed – ie. when the Composer is Idle). If the ‘Last command executed’ does not match then you can re-send the command.

Sorry all, been away some while. Work etc. I stopped writing the app, although it seems I may start again. I was gutted when I found out about nero robo. I still think it’s a good idea to make a simpe app that runs a command line burning util. Are these units supported on *nix systems? I reckon it would be worth creating somthing for non windows machines…

Jams, NeroRobo can’t burn an iso and print a label on it. Has few other shortfalls ( no command line access or API ) They may fix this in the future but in the mean time your command line tool sounds good. Do you need hand?

Thanks for the Primera codes. I am able to communicate with our ComposerPro. One thing though, the latest version of Nero gives support to print a cd when you burn an *iso image. Are you saying that there is no way to call this printing function from VB?

I also have a primera based duplicator, can anyone point me to any software I can use with it? or has anyone had any luck making a plugin for Nero?

The original Primera software was just awfull. I switched to Nero with the NeroRobo add on. It works just fine, no coasters whereas the original software was making coasters every couple of rounds.
Some CONs with this setup is the saved *.nri file does not remember the *.prn printer file ( we have custom artwork for each CD) that is associated with the project, so the user must select the correct file everytime before burning. I was told by tech support that this was “by design”.

  • [/ul] There is no batch support to burn different cds in succession.
    Don’t bother trying to use Nero Cover Designer with the Primera printer. I had no success finding a template to use. I use Sure Thing Cd laber version 4. It has a template for the Primera Printer and has a lot more features than Nero Cover Designer.

    Since the dual burner robot is in a manufacturing setting that burns 15 different cds, I decided to write a VB program to simplify things from the user stand point. They would select the cd image from a pulldown menu, select how many, and press GO. I can move the robot to any station, print a *.prn file, BUT I cannot burn two disks simultaneously like the NeroRobo can do without locking up the PC. After reading dang near all of the forum, I find out that this is not supported. So my VB project is stopped and in my eyes for my end purpose the SDK is worthless. The only thing that is irritating is we paid $349US and I cannot make a simple VB program to use as a front end like I was told in many an email from Nero tech support. Nothing worse than trying to teach non-PC skilled personel how to click through all the steps to get NeroRobo make a CD.[ul]
    [/ul] [ul]

Do you have images in ISO format? If so, you could try using DVDDecrypter to write them - it has a basic command-line interface.

DVDDecrypter.exe /?

I plan to go the other way - automate my ISO image creation…

bhiga, Thanks!

I will try this and let you know what happens. :slight_smile:

Thanks for the commands. I like programing in .BAT or .CMD files. So I figured a way to do it with those. Awesome, thanks for posting them, however, slight problem. My unit is a Conductor that I am upgrading to a Composer. all the commands seem to work besides the “recorder” commands. input to recorder, output to recorder, printer to recorder… every time i tell it a recorder command, the unit turns on the “pause” button up front, or at least the LED comes on and the system won’t respond again until you turn the pause button led off. .
I tried the version of crane info.
AVERSION: N2 1.29 01/29/2002 Y

I don’t get all the drive information like you get below. are there cables going from the control board to the firewireboard besides the 5v power.
I really looking for some pictures of the inside of a Composer unit, to reference to make my Conductor into a Composer.
Any help from anybody on this would be awesome. contact me if you can help.

I’ve got new driver for nero robo. The friend of mine wrote it. It works! I use Composer Pro and Printer. Call 4 info skype: kalwin233562

AFAIK, the firmwares are different, which is why my Composer doesn’t respond to Recorder2 commands either.

I told U I have a driver for Composer Pro. That’s all…

Ok, So I got the commands to work that are posted with a serial cable. FYI, It’s a standard Male - Female, RS232 cable. Not Null-Modem. :slight_smile:
The commands work using the command line echo command, example
example 1 “echo MIO > com1:” or “echo [COMMAND] > com1:” , no quotes of course. I use TeraTerm also. On another note, I am writing a script in TeraTerm Pro to try pretty much every character on the keyboard, within reason, to see if there are any hidden commands somewhere other than what we have listed here. I would like to “dump” the contents of the firmware, if possible.

SQ = similar to SI, BUT “SQ” displays another X before the dollar sign.
SQ=SIRRR.IIX$ ; The ‘X’ turns to a ‘O’ when the picker has a cd/dvd picked, it turns back to ‘X’ when it does not have a cd/dvd.

Also, anybody with some pictures of the inside of there Composer, I would appreciate anything. Still trying to get Conductor to be recognized as a Composer. Drive is installed, but I don’t have the FireWire Bridgeport installed yet. Waiting to see if this is do-able still. Firmware chip inside unit says “Composer” right on it, so it makes me believe it’s the same code. Any help.

Current NeroSDK contains support for NeroROBO to use robotics if burning with NeroAPI as well as a NeroROBO driver development kit to write own NeroROBO drivers. Please take a look.

Well, It’s been awhile since I posted, but, I have my Conductor, and now a Dual Drive Primera Composer Pro. I have reviewed the entire motherboard, down to the very last resistor, capactior, coil, Fet, and transistor, all discover, there is not a single difference in the boards, or the components used.

I have now noticed, that there is a sensor board located right in the center front, just below the actual crane mechanism. There are 2 sensors on the board, and it ‘reads’ or ‘looks’ at a sticker with black and white squares in a circle that is stuck to the bottome of the main crane gear.
I have my suspicions that sticker with those black mark outs is what tells the firmware what type of unit it is currently configured as. Where it is a ‘Conductor’ with no dirve support, or that it is a unit with a single drive installed, or whether it is a unit with 2 drives installed. Everytime I powerup the unit, it always moves left and right to get a fix as to where it is ‘located’ as far as the swing of the arm. If it doesnot, or does ‘see’ the marks appropriately for each of the respective units, it configures itself everytime it loads up. My speculation is that when you the Reset Key sequence on the front board as described in Section 5: of the Composer Manual, (Pause and Pick buttons) , or when you powerup, it reads this, basically telling the firmware ‘how far you can tall the crane’ to swing.

I will let you know what I find out when I get some pictures taken.

My thought was wrong. I pulled apart both units only to discover the sticker is identical. No differences. Not the answer.
I powered on both units to discover that even though both units say 3-28-2002 on a very small sticker on top of the firmware chip, they are actually different.
Conductor firmware is:
AVERSION: N2 1.29 01/29/2002 Y

and the ComposerPro firmware is:
AVERSION: Q 2.16 12/05/2002 2

Both of them use a one time PLC, 17S05LPC. In the process of saving off my firmware now. :slight_smile:
Looking for just the Composer firmware if someone can help out.