With thanks to bgm:
On your mark, get set, fill in the blank!
(At your own risk!)
DAVBUZ _1 to beep, replace 1 with a bigger decimal for longer beeps
DAVHOM to park the motors
DAVLED _1 or _0 to turn the inside light on and of
DAVS is not a command. All commands are exactly 6 bytes long.
Two more to add to the list:
DAVERD - reads and prints some data (serial, etc) from the cartridge chip.
DAVSDF - in some cases (I didn't dig deep) might format the SD card.
If the command processor detects an error it will output DAVxxx_ERR.
Different commands expect different arguments.
I guess some commands have to be issued in a particular order, i.e. for DAVEEP you might need to use something else first to setup the data to be written.
There are 3 types of arguments:
1) No argument. Just the command name, argument assumed to be 0, e.g. DAVLED, same as DAVLED_0.
2) Short (less than 13 bytes) argument coming after an underscore, e.g. DAVLED_1, everything after the underscore is treated as a decimal number.
3) Long (more than 13 bytes) argument. The sixth symbol has to be 'P' or it will be treated as no argument. e.g. DAVxxx_xxxxxPaaaabbbbcccc
Only aaaabbbbcccc is really used.
These commands are NOPs, probably placeholders for the 2nd extruder/cartridge.
BGM - Did you find a command/method to set the machine hours?
I never looked into it. Wild guess would be the Machine_Life.dat file the sd card.
Just what I was looking for, thanx! I tried most of them, figured a bunch out.
I've almost got these into a command line tool I wrote, which aside from monitoring a bunch of things, can upload gocde and start the print - direct to serial port, no XYZware.
FYI: Something in here did reset the machine hours on the LCD, but not the one reported with XYZ_@3D:5 command
DAVAUD - Check/Do Calibration
DAVBEH - ACK, ERR
DAVBUT - ACK, ERR
DAVBUZ - Buzzer, _1 to beep, bigger decimal for longer beeps
DAVCFW - Controller Firmware - DAVCFW_ACK@DAVCFW_1.1.J@DAVCFW_END@
DAVCM2 - Maybe CME2 for head 2?
DAVCMD - Controller Model Number - DAVCMD_ACK@DAVCMD_3DP01@DAVCMD_END@
DAVCME - DAVCME_ACK@DAVCME_1@DAVCME_END@
DAVCMF - ACK, then motors made noise
DAVCOM - ACK, END
DAVCPY - ACK, END
DAVCSN - Controller Serial Number - DAVCSN_ACK@DAVCSN_3DP01...@DAVCSN_END@
DAVCTF - DAVCTF_ACK@DAVCTF_-1@DAVCTF_END@
DAVDMO - ACK, END
DAVEEP (avoiding, don't want to ruin EEProm?)
DAVEEW (avoiding, don't want to ruin EEProm?)
DAVERD - Read printer serial number
DAVEX2 - Maybe EXH on head 2?
DAVEXH - ACK, ERR
DAVFA2 - ACK, END
DAVFAN - Maybe Fan??? _number gives delay of number seconds between DAVFAN_ACK@ and DAVFAN_END@
DAVHEB - Starts preheat of bed/extruder, reports bed temp, DAVHEB_38@ = 38 Deg C
DAVHOM - Park the motors
DAVLAN - ACK, END
DAVLCB - LCD Backlight, Alone == off, _0 = off, _1 == ON
DAVLCM - Clears Display
DAVLED - Inside white LEDs On/Off, _1 on, _0 off, DAVLED_ACK@DAVLED_END@
DAVLF2 - Probably Load Filament head 2
DAVLFT - Load Filament
DAVMS2 - Extruder 2 Motor?? ACK, END
DAVMSE - Extruder Motor?? ACK, ERR, motor noise
DAVMST (avoiding, don't want to ruin motors)
DAVMSX (avoiding, don't want to ruin motors)
DAVMSY (avoiding, don't want to ruin motors)
DAVMSZ (avoiding, don't want to ruin motors)
DAVPRH - Preheat
DAVPRT - ACK, ERR
DAVSAC - ACK, END
DAVSDC (avoiding, don't want to ruin SD card?)
DAVSDF (avoiding, don't want to ruin SD card?) - Maybe format the SD card !!!
DAVSDS (avoiding, don't want to ruin SD card?)
DAVSF2 - ACK, END
DAVSFA - ACK, END
DAVSFD - ACK, END
DAVSFR - DAVSFR_ACK@DAVSFR_1@DAVSFR_END@
DAVSMF - ACK, END
DAVSR1 - ACK, END Maybe something with head 1
DAVSR2 - ACK, ERR Maybe SR for head 2
DAVSSN - Set Serial Number, WARNING: Alone will blank it, _XXXXXXXXX sets
DAVSTF - ACK, END
DAVSTO - DAVSTO_ACK@DAVSTO_0@DAVSTO_END@
DAVTE1 - Temp Extruder 1 - DAVTE1_ACK@DAVTE1_21@DAVTE1_END@ = 21 Deg C
DAVTE2 - Probably Temp Extruder 2
DAVTEB - Temp Bed
DAVUF2 - Probably Unload Filament head 2
DAVUFT - Unload Filament head 1
DAVWIP - Wipe head front/back
DAVXMB - X Motor Backwards, _10 is about 1 second, ~7mm
DAVXMF - X Motor Forwards, _10 is about 1 second, ~7mm
DAVYMB - Y Motor Backwards, _10 is about 1 second, ~7mm
DAVYMF - Y Motor Forwards, _10 is about 1 second, ~7mm
DAVZMB - Z Motor Backwards, _10 is about 1 second, ~7mm
DAVZMF - Z Motor Forwards, _10 is about 1 second, ~7mm
I can now say EEP and/or EEW write to the EEPROM on the cartridge. It's now unrecognizable, but the machine does think PLA is loaded. Trying to figure that out now, and get any kind of patterned write to it. Fortunately I put my original nearly empty half-sized spool back in.
reads back as
000 07 00 00 FF FF FF FF FF FF FF FF FF FF FF FF FF
010 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
020 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
030 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
040 07 00 00 FF FF FF FF FF FF FF FF FF FF FF FF FF
050 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
060 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
070 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
reads back as
000 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
010 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
020 01 01 01 01 01 01 01 01 FF FF FF FF AA 55 AA 55
030 88 33 55 AA 01 01 01 01 AA 55 AA 55 47 B3 0A 00
040 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
050 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
060 01 01 01 01 01 01 01 01 FF FF FF FF AA 55 AA 55
070 88 33 55 AA 01 01 01 01 AA 55 AA 55 47 B3 0A 00
So DAVEEP must be erasing and DAVEEW will write if the data is correctly formatted?
Programmed eeprom to stock settings.
Of course this data is
xyzCode(Z),material(ABS A),color(white W),Mdate(41A), total_length (mm), remain_length (mm), temperatureHead ©, temperatureBed ©, Mloc (TH), Dloc(GB),SN(SERIAL),security_code
Cartridge info on printer display says unidentified cartridge. We know 1.2.3 has some kind of check for unusual eeprom data.
Used a modified eeprom dump
Cartridge info on printer display says REMAIN 120m , CAPACITY 120m, WHITE.
Used a stock eeprom dump
from XYZware-184.108.40.206 data is
xyzCode,material,color,Mdate, total_length (mm), remain_length (mm), temperatureHead ©, temperatureBed ©, Mloc , Dloc,SN(SERIAL),security_code,check_illegal
XYZ_@3D:0 -Displays 3d printer model, firmware version and serial
XYZ_@3D:1 - Printer doesn't respond ?
XYZ_@3D:2 - Printer doesn't respond ?
XYZ_@3D:3 - Goes into firmware update , send M1:firmware,# of bytes , eg M1:firmware,249344 , then send bin file
XYZ_@3D:4 - Wants to receive a job to print, send M1:Name,# of bytes, est time minutes, est time seconds, ee1 check, ee2 check, eg M1:MyTest,524719,0.37.34,EE1_OK,EE2_OK , then send gcode.
XYZ_@3D:5- Displays machine life, and extruder life
XYZ_@3D:6 - Displays eeprom 1 info if plugged in
XYZ_@3D:7 - Displays eeprom 2 info if plugged in
XYZ_@3D:8- Displays bed temp, extruder temp, job stats
I'm reviving this thread to see if there's a way to write to EEPROM.
so if DAVEEP clears EEPROM and DAVEEW can write to it, why can't you generate new code to act as a new cartridge reset?
Maybe try to read a "full" cart and write it than on an "empty" one?!