Ini adalah perangkat lunak untuk membaca dan menulis data pada cartridge stratasys EEPROM.
Anda dapat menggunakan kode ini untuk 'mengisi ulang' EEPROM atau membangun cartridge eeprom Image dari awal.
Alat ini membutuhkan Python 2.7.
Anda cukup menginstal StratAtools menggunakan PIP:
$ pip2 install stratatools
atau dari sumber:
$ python2 ./setup.py build
$ python2 ./setup.py install
Ini akan secara otomatis menarik ketergantungan:
Anda harus memberikan jenis mesin (Fox, Prodigy, Quantum, dll.) Dan EEPROM UID, dalam bentuk heksadesimal tanpa awalan '0x'. Perhatikan bahwa EEPROM UID untuk menggunakan ujung dengan "23" (yang merupakan kode keluarga untuk perangkat EEPROM).
$ stratatools eeprom_decode
--machine-type fox
--eeprom-uid 2362474d0100006b
cartridge_dump.bin
EEPROM UID harus dimulai dengan kode keluarga, sesuatu seperti '23' atau 'B3'. Kemudian diikuti oleh ID 6 byte kemudian selesai dengan checksum.
Di Linux, itu adalah konten dari file pseudo id .
Jika Anda memberikan opsi '-d', file input akan ditafsirkan sebagai file yang diformat ASCII, yang berisi baris dari formulir yang dihasilkan oleh perintah printer 'er', yaitu:
000096: 00 00 00 00 00 00 00 00 53 54 52 41 54 41 53 59 ........STRATASY
Jika tidak, file input harus merupakan file biner.
Dengan memberikan semua informasi yang diperlukan, perangkat lunak ini akan memberikan gambar EEPROM baru yang dapat Anda tulis ke kartrid.
Pertama, buat proto EEPROM baru menggunakan perintah eeprom_create .
Anda dapat menyesuaikan parameter apa pun dalam contoh berikut:
$ stratatools eeprom_create
--serial-number 1234.0
--material-name ABS
--manufacturing-lot 1234
--manufacturing-date "2001-01-01 01:01:01"
--use-date "2002-02-02 02:02:02"
--initial-material 11.1
--current-material 22.2
--key-fragment 4141414141414141
--version 1
--signature STRATASYS > cartridge.txt
Atau, buat file teks cartridge.txt dengan konten berikut:
serial_number: 1234.0
material_name: "ABS"
manufacturing_lot: "1234"
manufacturing_date {
seconds: 1436540129
}
last_use_date {
seconds: 1436540129
}
initial_material_quantity: 42.0
current_material_quantity: 42.0
key_fragment: "4141414141414141"
version: 1
signature: "STRATASYS"
Semua tanggal dalam format internasional: yyyy-mm-dd hh:mm:ss .
Anda kemudian dapat menggunakan eeprom_encode untuk membuat file biner yang digunakan oleh printer.
$ stratatools eeprom_encode
--machine-type fox
--eeprom-uid 2362474d0100006b
cartridge.txt cartridge.bin
Anda harus memberikan tipe mesin yang benar dan EEPROM UID yang valid.
EEPROM UID harus dimulai dengan kode keluarga, sesuatu seperti '23' atau 'B3'. Kemudian diikuti oleh ID 6 byte kemudian selesai dengan checksum.
File yang dihasilkan akan berukuran 113 byte. Anda dapat melengkapi file dengan nol jika Anda ingin membuatnya 512 byte, ukuran EEPROM yang biasa.
Menyediakan opsi '-d' akan menghasilkan file output yang berisi string byte ruang yang dibatasi, dinyatakan dalam heksadesimal.
Jika tidak, output akan menjadi file biner.
Anda juga dapat menyatukan kedua perintah itu:
$ stratatools eeprom_create
--serial-number 1234.0
--material-name ABS
--manufacturing-lot 1234
--manufacturing-date "2001-01-01 01:01:01"
--use-date "2002-02-02 02:02:02"
--initial-material 11.1
--current-material 22.2
--key-fragment 4141414141414141
--version 1
--signature STRATASYS |
stratatools eeprom_encode -t fox -e 2362474d0100006b > cartridge.bin
Jika Anda ingin daftar semua materi yang diketahui, cukup jalankan yang berikut:
$ stratatools material --list
0 ABS
1 ABS_RED
2 ABS_GRN
[...]
Gunakan nama -nama itu saat membuat kartrid baru.
Jika Anda memiliki kesalahan invalid checksum , kode tersebut tidak dapat mendekripsi EEPROM Anda dengan benar. Pastikan file EEPROM Anda valid, periksa ganda EEPROM UID.
Jika masih tidak berhasil, isi tiket di GitHub.
Skrip helper tersedia jika Anda ingin menulis ulang kartrid secara otomatis menggunakan Raspberry Pi. Skrip akan menetapkan tanggal pembuatan ke 'hari ini'. Ini juga akan mengacak nomor seri dan mengatur material saat ini ke kuantitas material awal.
Anda akan memerlukan pengaturan 1wire yang berfungsi di Raspberry Pi, lihat di bawah tentang cara melakukannya.
Untuk sekadar mengisi ulang kartrid, luncurkan skrip helper yang menentukan jenis printer:
$ stratatools_rpi_daemon prodigy
Anda juga dapat memberikan template kartrid:
$ stratatools_rpi_daemon --template ./abs_cartridge.txt prodigy
Script ini dapat menghasilkan kode konfigurasi untuk printer Anda. Sebenarnya ada 3 kode berbeda yang tersedia:
Kami hanya dapat menghasilkan kode configuration untuk saat ini. Kode -kode ini dapat membuka kunci fitur spesifik printer Anda.
Untuk memecahkan kode kode konfigurasi, cukup jalankan yang berikut:
$ stratatools setupcode_decode AAAA-BBBB-CCCC-DDDD
Anda dapat membuat kode konfigurasi sendiri untuk mengaktifkan fitur tertentu.
Misalnya:
$ stratatools setupcode_create
--serial-number 1234
--system-type 900mc
--type configuration
--envelope-size large
--build-speed 1x
--material ABS-M30 NYLON PC-ABS
--version 1
Akan menghasilkan kode configuration untuk tipe printer 900MC.
Untuk bantuan nilai yang tersedia, Anda dapat menjalankan yang berikut:
$ stratatools setupcode_create --help
Gunakan skema berikut sebagai referensi:
Bus pirate
grey >---+
| (connected together)
blue >---+
eeprom
+------+
orange >---| Data |
| |
black >---| Gnd |
+------+
Dua skrip helper tersedia untuk berinteraksi dengan busirate.
Untuk membaca eeprom:
$ stratatools_bp_read /dev/ttyUSB0 eeprom.bin
Untuk menulis eeprom:
$ stratatools_bp_write /dev/ttyUSB0 eeprom_new.bin
Gunakan skema berikut sebagai referensi:
Raspberry pi
5V >---+
|
4.7k Z eeprom
| +------+
GPIO4 >---+---| Data |
| |
GROUND >-------| Gnd |
+------+
Maka Anda harus menyelidiki 2 modul kernel:
$ sudo modprobe w1-gpio gpiopin=4
$ sudo modprobe w1-ds2433
Anda mungkin perlu mengubah overlay perangkat-pohon. Perbarui file /boot/config.txt , dan tambahkan baris ini di akhir:
dtoverlay=w1-gpio,gpiopin=4
Jika deteksi lambat di bus, Anda dapat mencoba mengurangi batas waktu. Buat file /etc/modprobe.d/wire.conf berikut dengan yang berikut:
options wire timeout=1 slave_ttl=3
Anda sekarang harus melihat EEPROM Anda muncul:
$ ls -l /sys/bus/w1/devices/w1_bus_master1
23-xxxxxxxxxxxx/
[...]
Untuk mencetak EEPROM UID:
$ xxd -p /sys/bus/w1/devices/w1_bus_master1/23-xxxxxxxxxxxx/id
23xxxxxxxxxxxx
Untuk membaca eeprom:
$ cp /sys/bus/w1/devices/w1_bus_master1/23-xxxxxxxxxxxx/eeprom ~/eeprom.bin
Untuk menulis eeprom:
$ cp ~/eeprom_new.bin /sys/bus/w1/devices/w1_bus_master1/23-xxxxxxxxxxxx/eeprom
Untuk berinteraksi dengan DS2432, Anda harus mengikuti langkah-langkah yang ditemukan dalam proyek ini: https://github.com/bvanheu/ds2432-linux.
Terima kasih khusus kepada Grup Stratahackers. Tanpa mereka, tidak ada yang mungkin terjadi. Mereka memberikan dukungan moral dan teknis!
Terima kasih kepada Ashanin atas dukungan Huyung. Terima kasih kepada Ajtayh untuk ASA dan ULT1010 di SetupCode.