Klipper

Hack Sonic Pad de Creality – Debian

Avant toute choses , soyez conscient que le hack du Sonic Pad est à vos risque, ni moi ou Creality ne seront responsable en cas de problème.

Ce dont vous aurez besoin :

Avant de commencer , pensez a faire une sauvegarde de vos fichier de configuration  » printer.cfg »

1ere étape – Installation des drivers :

il va falloir passer le Pad en mode Burning.
Pour cela:
1- le pad doit être éteint.
2- placer votre pointe dans le trou le plus a droite et garder le bouton enfoncé
3- allumez le pad , seule la led verte dois s’allumer ( l’écran reste noir)

4 – branchez le câble USB sur le port camera et sur votre PC, dans votre gestionnaire de périphérique , vous devriez voir apparait un périphérique inconnue.

Faite un clic droit et sélectionnez > Parcourir mon poste de travail pour rechercher des pilotes

donnez le chemin vers le dossier PhoenixSuit_V1.10\Drivers et faites Suivant

Voila , le Pad peu maintenant être flashé 😉


2eme étape : Flash du pad

Dans le dossier Tools fourni par Creality , lancez PhoenixSuit
Dans l’onglet Firmware , donnez le chemin de la nouvelle image pour votre pad « t800-sonic-debian« 

Vous pouvez maintenant lancez votre pad en mode Burning comme expliqué dans la première étape (trombone + power 😉 )
Et si tout va bien , vous devriez avoir ceci sur l’écran :

un petit YES et le flash se lance

une fois terminé (+- 4min) , le Pad se relancera automatiquement , et vous devriez avoir le beau logo Debian s’afficher à l’écran

3eme étape : Wifi + configuration de Klipper grâce a Kiauh

Rendez-vous dans un premier temps sur le pad : MENU > Network > Wifi
un ptit clic sur la flèche de votre réseaux pour lui donner le password .
Une fois connecté , vous y trouverai l’adresse IP du pad  » si vous ne voyez pas l’adresse ip s’afficher , faite un retour arriere et revenez sur wifi , cela devrais être bon cette fois »

passons maintenant à la configuration de Klipper , de base si vous tapez l’adresse ip de votre pad dans le navigateur , il ne se passe rien , et c’est normal 😉 il n’y a de base aucune interface installé.
Nous allons donc devoir le faire en SSH , avec Putty , mobaxterm , …
Vous allez avoir aussi besoin du login et password mis a dispo sur la release que vous avez téléchargez : Login: sonic ; password : pad

première choses à faire , étendre la partition pour que tout l’espace sois dispo et une petite mise a jour de Debian :

sudo resize2fs /dev/mmcblk0p5
sudo apt-get update && sudo apt-get install git -y
sudo reboot

premier lancement de Kiauh

./kiauh/kiauh.sh

Si une mise a jour est dispo , faites Y et relancer ensuite la commande

Par défaut , il y a une session klipper installé , sans interface

Vous pouvez simplement installer Mainsail ou fluid , mais bon , vous avez surement comme moi plusieurs imprimantes à brancher ?
Dans ce cas la , il va falloir supprimer Klipper et Moonraker pour refaire une belle installation multisession
– Menu 3 : Remove

On va donc supprimer :
1 Klipper – 2 Moonraker

il n’y a donc plus rien , on va pouvoir relancer une belle installation
On commence avec Klipper en laissant le choix recommandé pour la version de Python

il va falloir aussi maintenant lui donner le nombre de session que nous allons avoir besoin , et au passage pourquoi pas leur donner des nom facilement reconnaissable

une fois terminé , idem pour 2- Moonraker , 3- Mainsail ou 4- Fluid et 12 – crowsnest
apres quelques Yes , reboot …

vous devriez voir dans Kiauh , 2 Klipper et 2 moonraker installé

la dernière choses à installer sont les dépendance pour utiliser l’adxl

sudo apt install avrdude gcc-avr binutils-avr avr-libc stm32flash binutils-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib gcc-arm-none-eabi

maintenant vous pouvez vous rendre sur votre navigateur ou la vous allez pouvoir ajouter vos imprimantes

renseigner comme ceci :
Adresse ip du pad et ensuite le port 7125 pour la première , 7126 pour la seconde , ect …


Maintenant comme je suis sure que vous avez suivis mon conseil de faire une sauvegarde de votre config , vous pouvez vous rendre dans > Machine , ouvrir le fichier printer.cfg pour y coller votre propre config
Gardez uniquement les premières lignes qui corresponde a votre interface mainsail ou fluid , le virtual-sdcard (avec le nom de votre session)

[include mainsail.cfg]
[virtual_sdcard]
path: /home/sonic/MaxNeo_data/gcodes
on_error_gcode: CANCEL_PRINT

Vous devrez aussi changer le nom du serial dans la partie [mcu ]
Pour cela utilisez la commande

ls /dev/serial/by-path/*


et remplacer le /dev/serial/by-id/usb_serial_2 par /dev/serial/by-path/platform-5200000.ehci1-controller-usb-0:1.2:1.0-port0 – avec le nom de votre serial évidement 😉
Le reste vous pouvez simplement le coller dessous (mais n’oubliez pas par contre de supprimer votre virtual-sdcard )

Une fois sauvegardé et relancé , voila une imprimante de faites 😉

Pour ce qui est du theme , je vous laisse regarder l’article : Créer votre propre thème pour Klipper

Pour le Multicam

Il va falloir pour cela passer par le SSH , car le fichier à modifier touche toutes vos session

Si vous utilisez Mobaxterm , il vous sera très facile d’éditer le fichier directement sur le pad , rendez-vous dans le répertoire /home/sonic/printer_data/config/
et ouvrez le fichier : crowsnest.conf

Repérez la section cam 1 que vous allez simplement copier et coller dessus
Changez le cam 1 en Cam 2
Le port 8080 en port 8081

[cam 1]
mode: ustreamer                         # ustreamer - Provides mjpg and snapshots. (All devices)
                                        # camera-streamer - Provides webrtc, mjpg and snapshots. (rpi + Raspi OS based only)
enable_rtsp: false                      # If camera-streamer is used, this enables also usage of an rtsp server
rtsp_port: 8554                         # Set different ports for each device!
port: 8080                              # HTTP/MJPG Stream/Snapshot Port
device: /dev/video0                     # See Log for available ...
resolution: 720x480                     # widthxheight format
max_fps: 25                            # If Hardware Supports this it will be forced, otherwise ignored/coerced.
#custom_flags:                          # You can run the Stream Services with custom flags.
#v4l2ctl:                               # Add v4l2-ctl parameters to setup your camera, see Log what your cam is capable of.

[cam 2]
mode: ustreamer                         # ustreamer - Provides mjpg and snapshots. (All devices)
                                        # camera-streamer - Provides webrtc, mjpg and snapshots. (rpi + Raspi OS based only)
enable_rtsp: false                      # If camera-streamer is used, this enables also usage of an rtsp server
rtsp_port: 8554                       # Set different ports for each device!
port: 8081                              # HTTP/MJPG Stream/Snapshot Port
device: /dev/video1                     # See Log for available ...
resolution: 720x480                     # widthxheight format
max_fps: 25                            # If Hardware Supports this it will be forced, otherwise ignored/coerced.
#custom_flags:                          # You can run the Stream Services with custom flags.
#v4l2ctl:                               # Add v4l2-ctl parameters to setup your camera, see Log what your cam is capable of.

Dans votre interface , vous allez maintenant pouvoir définir quel camera va avec quel imprimante en modifiant les URL de cette maniere :
/webcam/?action=stream en /webcam2/?action=stream & /webcam/?action=snapshot en /webcam2/?action=snapshot

4eme étape : KlipperScreen

Dernière choses maintenant à faire , rendre les imprimante disponible sur l’écran
Go en SSH et éditer le fichier : /home/sonic/KlipperScreen/ks_includes/defaults.conf
et y ajouter les ligne suivante :


[main]

default_printer: MaxNeo
use_default_menu: True
# Define printer and name. Name is anything after the first printer word

[printer MaxNeo]
# Define the moonraker host/port if different from 127.0.0.1 and 7125
moonraker_host: 127.0.0.1
# ports 443 and 7130 will use https/wss
moonraker_port: 7125
# Moonraker API key if this is not connecting from a trusted client IP
moonraker_api_key: False

[printer X5SA]
# Define the moonraker host/port if different from 127.0.0.1 and 7125
moonraker_host: 127.0.0.1
# ports 443 and 7130 will use https/wss
moonraker_port: 7126
# Moonraker API key if this is not connecting from a trusted client IP
moonraker_api_key: False

Adaptez les lignes selon votre config

5eme étape : ADXL

il va falloir maintenant installer les composant de votre ADXL pour que celui-ci soit pris en compte.

il n’y a pas de grande différence avec l’installation sur Raspi que j’avais déjà expliqué dans cette article : installation-un-adlxr-dans-klipper
il y a juste quelque petite choses en moins. vous pouvez simplement copier-coller les ligne de code pour l’installation.

Installation de Mumpy :

sudo apt update
sudo apt install python3-numpy python3-matplotlib libatlas-base-dev
~/klippy-env/bin/pip install -v numpy

Installation du MCU

cd ~/klipper/
sudo cp ./scripts/klipper-mcu.service /etc/systemd/system/
sudo systemctl enable klipper-mcu.service
cd ~/klipper/
make menuconfig

Retirer la sélection de « Enable extra low-level …. «  si il y a la petite etoile , et choisisez : Linux Process comme micro-controller

quittez le menu et dans la console :

sudo service klipper stop
make flash
sudo service klipper start

le process est plutôt long ….

Vous ne pouvez activer l’adxl que dans une session à la fois.
Je vous conseille donc de créer un fichier adxl.cfg et de coller le code :

[mcu rpi]
serial: /tmp/klipper_host_mcu

[adxl345]
cs_pin: rpi:None
spi_speed: 2000000
spi_bus: spidev2.0

[resonance_tester]
accel_chip: adxl345
accel_per_hz: 70
probe_points:
      150,150,10

Dans votre printer.cfg
Ajoutez la ligne :

[include adxl.cfg] 

une fois utilisé , placez simplement le symbole : # devant votre include pour qu’il ne soit plus pris en charge et eviter des erreurs de connnection entre les machine.

Relancez bien le tout , surtout klipper ; une fois fait vous pouvez tester si l’adxl fonctionne en tapant la commande suivante.
ACCELEROMETER_QUERY
Ce qui devrait vous donnez un resultat du genre :

Voici le moment de tester votre machine. Commencez par un home.
vous pouvez maintenant lancer le test de résonnance selon le type de machine


Pour les delta :
 
SHAPER_CALIBRATE

Pour les cartésienne : 

SHAPER_CALIBRATE AXIS=Y ou X selon l'endroit ou se trouve votre ADLXR