[Résolu] Octoprint | problème de buffer?

Répondre
MrEtho53
Messages : 16
Enregistré le : 14 juil. 2020 14:07

[Résolu] Octoprint | problème de buffer?

Message par MrEtho53 »

Bonjour,

J'ai terminé le montage et la calibration de mon imprimante I3 RS il y a quelques semaines et en suit très satisfait.

Étant un fan d'automatisation/domotique, j'ai voulu intégrer à mon imprimante un RPI (Model B Rev 2) avec octoprint.

Toutes mes impressions en passant par les lecteurs SD/USB fonctionnaient parfaitement bien. Cependant, en passant par octoprint, elle imprime bien, jusqu'à ce qu'à un moment (aléatoire :?: car jamais la même couche) l'imprimante se mette à saccader, puis s'arrêter net.

Je suis allé voir le terminal d'octoprint qui est le suivant:

Code : Tout sélectionner

Send: N47700 G1 X117.444 Y105.35 E776.61995*83
Recv: Error:Line Number is not Last Line Number+1, Last Line: 47699
Recv: Resend: 47700
Recv: ok
Send: N47700 G1 X117.444 Y105.35 E776.61995*83
Recv: Error:Line Number is not Last Line Number+1, Last Line: 47699
Recv: Resend: 47700
Recv: ok
Send: N47700 G1 X117.444 Y105.35 E776.61995*83
Recv: Error:Line Number is not Last Line Number+1, Last Line: 47699
Recv: Resend: 47700
Recv: ok
Send: N47700 G1 X117.444 Y105.35 E776.61995*83
Recv: Error:Line Number is not Last Line Number+1, Last Line: 47699
Recv: Resend: 47700
Printer keeps requesting line 47700 again and again, communication stuck
Changing monitoring state from "Printing" to "Error: Printer keeps requesting line 47700 again and again, communication stuck"
Send: M112
Send: N47701 M112*36
Send: N47702 M104 T0 S0*39
Send: N47703 M140 S0*98
Changing monitoring state from "Error: Printer keeps requesting line 47700 again and again, communication stuck" to "Offline (Error: Printer keeps requesting line 47700 again and again, communication stuck)"
Connection closed, closing down monitor
On peut y voir que l'imprimante ne reçoit pas la ligne 47700 et la demande en boucle. (Il ne bloque jamais sur la même ligne mais ici je continuerai de parler de cette ligne)

Je me suis un peu renseigner sur le net et j'ai trouvé un plugin python que j'ai ajouté dans le dossier plugin de mon RPI.

Le plugin est le suivant:

Code : Tout sélectionner

# coding=utf-8
from __future__ import absolute_import

def Fix_Bad_Resend(comm, line, *args, **kwargs):
    if "Error:Line Number is not Last Line Number+1" not in line:
        return line
    goodline = line.replace(".*Resend:","Resend:")
    return goodline

__plugin_name__ = "Fix Bad Resend"
__plugin_version__ = "1.0.0"
__plugin_description__ = "Fix Bad Resend in printer responses (add newline)"
__plugin_hooks__ = {
    "octoprint.comm.protocol.gcode.received": Fix_Bad_Resend
}
Il vient de ce topic sur le forum d'octoprint: https://community.octoprint.org/t/probl ... 24/10420/5

J'ai vérifié qu'il se trouvait bien dans ma liste de plugin de mon dashboard et ai relancé une impression.... malheureusement, le problème persiste. :oops: :roll:

J'ai donc continuer mes recherches et j'ai trouvé que quelqu'un avait modifié la taille des buffer dans le fichier "Configuration_adv.h" pour la liaison série de marlin.

Code : Tout sélectionner

 #define BLOCK_BUFFER_SIZE 16 // SD,LCD,Buttons take more memory, block buffer needs to be smaller
#else
  #define BLOCK_BUFFER_SIZE 16 // maximize block buffer
#endif

// @section serial

// The ASCII buffer for serial input
#define MAX_CMD_SIZE 96
#define BUFSIZE 4
... est devenu ... :

Code : Tout sélectionner

  //before 32->16
  #define BLOCK_BUFFER_SIZE 32 // SD,LCD,Buttons take more memory, block buffer needs to be smaller
#else
  //before 32->16
  #define BLOCK_BUFFER_SIZE 32 // maximize block buffer
#endif

// @section serial

// The ASCII buffer for serial input
#define MAX_CMD_SIZE 96
//before 32 -> 4
#define BUFSIZE 32
Malheureusement, à nouveau sans succès.

[EDIT:]J'ai essayé d'imprimer de la même manière mais depuis mon PC et Simplify3D et de cette façon cela a fonctionné.

[EDIT 2:]Je me demande si le problème est un problème de baud rate lors de l'envoi du gcode depuis octoprint? Pouvons-nous changer ce paramètre quelque part?

OctoPrint 1.4.2
Python 2.7.16
OctoPi 0.17.0

Printer:
MakerFr I3-RS
Modified version of Marlin 1.1.8
Motherboard: MKS Base 1.5
Screen: TFT MKS 3.2"

RPI model B rev2 (2 USB ports)

Je viens donc ici pour savoir si quelqu'un a la solution à mon problème ou une piste qui me permettait d'avancer.

Merci d'avance ;)
Modifié en dernier par MrEtho53 le 17 août 2020 09:31, modifié 1 fois.
MrEtho53
Messages : 16
Enregistré le : 14 juil. 2020 14:07

Re: Octoprint | problème de buffer?

Message par MrEtho53 »

Répondre