Bienvenue aux nouveaux arrivants sur FantasPic !
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
Modérateur : Jérémy
Test terminal VBRAY en mode XON XOFF avec fichier Gcode
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
bonsoir,
je suis le fil concernant CNC coté ASM,
mais ayant déconnecté l'ASM pour le C, je poste ici
un test fait avec le terminal VBRAY , avec handshaking XON XOFF
et les codes usuels normalisés pour XOFF et XON
le programme , dans sa boucle principale , lit un ADC (EA0) et affiche sa valeur .
Cette boucle tourne via un delai de boucle de 1 sec.
Via le terminal Vbray on peut selectionner un fichier
ici "Gcode_liste.txt"
j'ai rajouté en fin de ligne un index numerique , uniquement pour faciliter le reperage sur le terminal .
des l'appuy sur la touche SEND , celui ci est envoyé ...
La reception UART est traitée via interruption ..
Un flag est levé des la reception d'un CR (0x0D) , qui correspond à la fin d'une ligne de GCode
et aussitot , dans l'interrupt, j' envoie un XOFF pour stopper, suspendre le flux d'envoi .
Dans la boucle principale on à tout le temps necessaire pour traiter cette ligne de Gcode, ici je ne fais que l'afficher
et rearme l'envoi (la suite) du fichier , en envoyant un XON au terminal
et ainsi de suite ,
on recupere chaque ligne du GCode .
puis à la fin d'envoi du fichier
la tache principale (de fond) retourne à son etat de latence :
afficher la mesure analogique
Pour la liaison au PC ( tourne sous WIN10) j'utilise un cordon Prolific classique TTL/USB 3 fils 0V, TX,RX
Terminal VBray voit le port serie virtuel en COM13 (19200,8,N,1)
CON'S :
Le plus gros defaut de Vbray est que le scroll texte ne marche plus sous WIN10 .. was OK sous XP.
Il faut effacer l'ecran pour voir la suite,
sinon, il y a l'option d'activer un fichier log qui capturera tout.
PRO'S :
mais il a aussi des macros, touches de fonctions, et langage simili pascal.
Je SAIS , c'est en C ! mais il y aura ,je pense aussi des amateurs en C, interessé comme moi ,par ce sujet captivant CNC .
Nota : avec TeraTerm , je ne vois null part ou declarer le protocole XON XOFF ?
le code mikroC
fichier Gcode_list.txt
fichier log recupéré
je suis le fil concernant CNC coté ASM,
mais ayant déconnecté l'ASM pour le C, je poste ici
un test fait avec le terminal VBRAY , avec handshaking XON XOFF
et les codes usuels normalisés pour XOFF et XON
le programme , dans sa boucle principale , lit un ADC (EA0) et affiche sa valeur .
Cette boucle tourne via un delai de boucle de 1 sec.
Via le terminal Vbray on peut selectionner un fichier
ici "Gcode_liste.txt"
j'ai rajouté en fin de ligne un index numerique , uniquement pour faciliter le reperage sur le terminal .
des l'appuy sur la touche SEND , celui ci est envoyé ...
La reception UART est traitée via interruption ..
Un flag est levé des la reception d'un CR (0x0D) , qui correspond à la fin d'une ligne de GCode
et aussitot , dans l'interrupt, j' envoie un XOFF pour stopper, suspendre le flux d'envoi .
Dans la boucle principale on à tout le temps necessaire pour traiter cette ligne de Gcode, ici je ne fais que l'afficher
et rearme l'envoi (la suite) du fichier , en envoyant un XON au terminal
et ainsi de suite ,
on recupere chaque ligne du GCode .
puis à la fin d'envoi du fichier
la tache principale (de fond) retourne à son etat de latence :
afficher la mesure analogique
Pour la liaison au PC ( tourne sous WIN10) j'utilise un cordon Prolific classique TTL/USB 3 fils 0V, TX,RX
Terminal VBray voit le port serie virtuel en COM13 (19200,8,N,1)
CON'S :
Le plus gros defaut de Vbray est que le scroll texte ne marche plus sous WIN10 .. was OK sous XP.
Il faut effacer l'ecran pour voir la suite,
sinon, il y a l'option d'activer un fichier log qui capturera tout.
PRO'S :
mais il a aussi des macros, touches de fonctions, et langage simili pascal.
Je SAIS , c'est en C ! mais il y aura ,je pense aussi des amateurs en C, interessé comme moi ,par ce sujet captivant CNC .
Nota : avec TeraTerm , je ne vois null part ou declarer le protocole XON XOFF ?
le code mikroC
Code : Tout sélectionner
#define Version "180519"
#define Directory "C:\\_MikroC\\_MesProjets_MikroC\\_18F26K22_46K22 "
#define Project "18F26K22_uart_test_Xon_XOFF.mcppi"
#define Source "_18F26K22_16Mhz_Uart1_test_XON_XOFF_"
#define FOSC_INTERNE
#define FOSC "16MHz"
#define MCU "18F26K22"
#define POWER_Supply "2,5 to 5V"
//ac:Pinout18F26K22
// Hardware
/*
Pin 28 RB7 -----------------ICSP Data
Pin 27 RB6 -----------------ICSP Clock
Pin 26 RB5
Pin 25 RB4
Pin 24 RB3
Pin 23 RB2
Pin 22 RB1
Pin 21 RB0
Pin 20 VDD --------+5V
Pin 19 Vss ---------Gnd
Pin 18 RC7 RX UART <-- Keyboard
Pin 17 RC6 TX UART --> Display * mettre une pull up de 10K si RX non utilisée
Pin 16 RC5
Pin 15 RC4 SDA
Pin 14 RC3 SCL
Pin 13 RC2
Pin 12 RC1
Pin 11 RC0
Pin 10 RA6 --> output fOSC/4
Pin 9 RA7
Pin 8 VSS --------- Gnd
Pin 7 RA5
Pin 6 RA4 Output -- Led -- 2,7K --+Vcc
Pin 5 RA3
Pin 4 RA2 (DAC)
Pin 3 RA1 Analog input EA1
Pin 2 RA0 Analog Input EA0
Pin 1 RE3 MCLR Reset --------ICSP PGRM
*/
// config Bits
//P18F26K22_FOSC_interne_16Mhz.cfgsch
/*
CONFIG1H : $300001 : 0x0029
CONFIG2L : $300002 : 0x001F
CONFIG2H : $300003 : 0x003C
CONFIG3H : $300005 : 0x00BF
CONFIG4L : $300006 : 0x0081
CONFIG5L : $300008 : 0x000F
CONFIG5H : $300009 : 0x00C0
CONFIG6L : $30000A : 0x000F
CONFIG6H : $30000B : 0x00E0
CONFIG7L : $30000C : 0x000F
CONFIG7H : $30000D : 0x0040
*/
#define XOFF 19
#define XON 17
#define CLS 12
#define CR 13
#define LF 10
#define TAB 9
#define BACK 8
#define MAXLEN0 80
#define MAXLEN1 80
#define MAXLEN2 80
//sbit Led_Rouge at LATA4_bit ;
#define Led_On_RA4 LATA4_bit //tirage au +VCC via 2,7K
#define Led_On_RA4_Direction TRISA4_bit
#define ON 0
#define OFF 1
// Port Expander module connections
sbit SPExpanderRST at RC0_bit;
sbit SPExpanderCS at RC1_bit;
sbit SPExpanderRST_Direction at TRISC0_bit;
sbit SPExpanderCS_Direction at TRISC1_bit;
unsigned char TEXTE[MAXLEN0];
unsigned char buffer1[MAXLEN1];
unsigned char buffer2[MAXLEN2];
unsigned char * txt;
int i,j,k,l;
unsigned char Reglage;
unsigned char CRam1[32];
unsigned int Index;
unsigned int EA0;
unsigned int clk;
volatile char c1,c2;
volatile int DataReady1;
volatile int CptFO1,CptFE1;
volatile int Index1,i1;
int erreurs;
#define PI 3.141592653589793238
float df1;
float r1,r2,r3,r4;
//void Interrupts() iv 0x0008 ics ICS_AUTO
void Interrupts_High() iv 0x0008 ics ICS_AUTO
{
if((RC1IE_bit==1)&& (PIR1.RC1IF==1)) // si une interruption UART1 arrive
{
c1 =RC1REG; // le lire => RAZ RCIF
if(RCSTA1.FERR==1 )
{
RCSTA1.SPEN = 0 ;
CptFE1++;
RCSTA1.SPEN= 1 ;
c1=0;
}
if (RCSTA1.OERR==1) // voir parag 16.1.26 p273
{
RCSTA1.CREN = 0 ;
CptFO1++;
RCSTA1.CREN = 1 ;
c1=0;
}
if(c1 != CR )
{
buffer1[i1] = c1;
Index1=i1;
i1++;
if (i1>(MAXLEN1-1))
{
TXREG=XOFF; // envoi XOFF
DataReady1=2;
RC1IE_bit=0;
buffer1[i1-1]=0;
Index1=i1;
i1=0;
}
}
else
{
TXREG=XOFF; // envoi XOFF
buffer1[i1] = 0; // 0 a la fin du string
DataReady1 = 1; // drapeau Data recue
Index1=i1;
i1=0;
}
} //if PIR1
}
void UART1_Write_CText(const char *txt)
{
while (*txt)
UART1_Write(*txt++);
}
void Print_Cte_String (const char * q)
{
while(*q)
{
UART1_Write(*q++);
}
}
void CRLF1()
{
UART1_Write(CR);
UART1_Write(LF);
}
void RAZ_UART1(void)
{
for (i1=0;i1<MAXLEN1;i1++) buffer1[i1]=0;
DataReady1=0;
Index1=0;
buffer1[0]=0;
RC1IE_bit=1;
i1=0;
c1=0;
}
void main()
{
#ifdef FOSC_INTERNE
OSCCON = 0b01110010 ; //0x72 ; //Oscillateur à 16Mhz
//OSCCON = 0b01100010 ; //0x62 ; //Oscillateur à 8Mhz
//OSCTUNE.PLLEN=1
OSCTUNE=0;;
OSCTUNE.PLLEN=0;
while (OSCCON.HFIOFS==0); // wait stable oscillator
#else
// Q=20Mhz
#endif
ANSELA=3;
ANSELB=0 ;
ANSELC=0 ;
TRISB=0xFF;
TRISC=0b10010100;
TRISA=0b00000011;
Led_On_RA4_Direction=0;
Led_On_RA4=OFF; // eteinte car tirage au +VCC via 2,7K
INTCON2.RBPU=0; // enable Pull-up
i1=0;
Index1=0;
DataReady1=0;
CptFO1=CptFE1=0;
txt=TEXTE;
ADC_Init();
EA0 = ADC_Read(0); // Get 10-bit results of AD conversion
UART1_Init(19200); // Initalize USART (38400,8,N,1)
UART_Set_Active(&UART1_Read, &UART1_Write, &UART1_Data_Ready, &UART1_Tx_Idle);
Delay_ms(200);
UART1_Write(CLS); // Erase screen terminal :it is an option on Vbray Terminal!
CRLF1();
Print_Cte_String("MCU : " MCU"\r\n");
Print_Cte_String("Power supply: "POWER_Supply"\r\n");
Print_Cte_String("Directory : " Directory"\r\n");
Print_Cte_String("Projet : " Project"\r\n");
Print_Cte_String("Source : "Source"_"Version".c\r\n");
Print_Cte_String(" FOSC : " FOSC"\r\n");
CRLF1() ;
CptFO1=CptFE1==0;
RAZ_UART1();
RCON.IPEN=1 ; // enable priority levels
INTCON.PEIE = 1 ;
RC1IE_bit=1;
GIE_bit=1;
erreurs=0;
i=0;
Reglage=0;
Print_Cte_String("envoi XON\r\n");
UART1_Write(XON);
do
{
EA0 = ADC_Read(0); // Get 10-bit results of AD conversion
txt=TEXTE;
sprintf(txt,"Test UART1 %3d ADC0= % 5d % 4XH\r\n",i,EA0,EA0);
UART1_Write_Text(txt);
erreurs= CptFO1+CptFE1;
if(DataReady1==1)
{
txt=TEXTE;
sprintf(txt,"envoi stopé par XOFF, Recept buffer1 = %s \r\n",buffer1 );
UART1_Write_Text(txt);
Print_Cte_String("envoi XON pour la suite du fichier \r\n");
UART1_Write(XON);
RAZ_UART1();
}
if (DataReady1==2)
{
txt=TEXTE;
sprintf(txt,"Buffer1 UART1 Full = %05d \r\n",Index1 );
UART1_Write_Text(txt);
CRLF1();
UART1_Write_Text(buffer1);
CRLF1();
Print_Cte_String("envoi XON\r\n");
UART1_Write(XON);
RAZ_UART1();
}
Led_On_RA4=!Led_On_RA4;
Delay_ms(1000);
i++;
}
while(1);
}
fichier Gcode_list.txt
GCODE
Text test
Z10
X10 Y10 Z10 1
X10 Y10 Z1 2
X10 Y10 Z0 3
X70 Y10 Z0 4
X70 Y70 Z0 5
X10 Y70 Z0 6
X10 Y10 Z0 7
X10 Y10 Z10 8
X10 Y0 Z10 9
X10 Y0 Z1 10
X10 Y0 Z0 11
X80 Y0 Z0 12
X80 Y80 Z0 13
X0 Y80 Z0 14
X0 Y0 Z0 15
X10 Y0 Z0 16
X10 Y0 Z10 FIN
fichier log recupéré
Code : Tout sélectionner
Terminal log file
Date: 19/05/2018 - 19:58:04
-----------------------------------------------
þ
MCU : 18F26K22
Power supply: 2,5 to 5V
Directory : C:\_MikroC\_MesProjets_MikroC\_18F26K22_46K22
Projet : 18F26K22_uart_test_Xon_XOFF.mcppi
Source : _18F26K22_16Mhz_Uart1_test_XON_XOFF__180519.c
FOSC : 16MHz
Test Reglage OSCTUNE, avec Freq meter sur RA6
Clock initiale in Khz = 16000
envoi XON
Test UART1 0 ADC0= 1023 3FFH
Test UART1 1 ADC0= 950 3B6H
Test UART1 2 ADC0= 932 3A4H
Test UART1 3 ADC0= 919 397H
Test UART1 4 ADC0= 904 388H
Test UART1 5 ADC0= 886 376H
Test UART1 6 ADC0= 873 369H
Test UART1 7 ADC0= 867 363H
Test UART1 8 ADC0= 867 363H
Test UART1 9 ADC0= 869 365H
Test UART1 10 ADC0= 875 36BH
envoi stopé par XOFF, Recept buffer1 = CODE
envoi XON
Test UART1 11 ADC0= 883 373H
envoi stopé par XOFF, Recept buffer1 = Text test
envoi XON
Test UART1 12 ADC0= 917 395H
envoi stopé par XOFF, Recept buffer1 = Z10
envoi XON
Test UART1 13 ADC0= 975 3CFH
envoi stopé par XOFF, Recept buffer1 = 10 Y10 Z10 1
envoi XON
Test UART1 14 ADC0= 976 3D0H
envoi stopé par XOFF, Recept buffer1 = X10 Y10 Z1 2
envoi XON
Test UART1 15 ADC0= 972 3CCH
envoi stopé par XOFF, Recept buffer1 = X10 Y10 Z0 3
envoi XON
Test UART1 16 ADC0= 949 3B5H
envoi stopé par XOFF, Recept buffer1 = 70 Y10 Z0 4
envoi XON
Test UART1 17 ADC0= 941 3ADH
envoi stopé par XOFF, Recept buffer1 = 70 Y70 Z0 5
envoi XON
Test UART1 18 ADC0= 933 3A5H
envoi stopé par XOFF, Recept buffer1 = 10 Y70 Z0 6
envoi XON
Test UART1 19 ADC0= 925 39DH
envoi stopé par XOFF, Recept buffer1 = 10 Y10 Z0 7
envoi XON
Test UART1 20 ADC0= 916 394H
envoi stopé par XOFF, Recept buffer1 = 10 Y10 Z10 8
envoi XON
Test UART1 21 ADC0= 897 381H
envoi stopé par XOFF, Recept buffer1 = 10 Y0 Z10 9
envoi XON
Test UART1 22 ADC0= 871 367H
envoi stopé par XOFF, Recept buffer1 = 10 Y0 Z1 10
envoi XON
Test UART1 23 ADC0= 869 365H
envoi stopé par XOFF, Recept buffer1 = 10 Y0 Z0 11
envoi XON
Test UART1 24 ADC0= 875 36BH
envoi stopé par XOFF, Recept buffer1 = 80 Y0 Z0 12
envoi XON
Test UART1 25 ADC0= 892 37CH
envoi stopé par XOFF, Recept buffer1 = 80 Y80 Z0 13
envoi XON
Test UART1 26 ADC0= 919 397H
envoi stopé par XOFF, Recept buffer1 = X0 Y80 Z0 14
envoi XON
Test UART1 27 ADC0= 961 3C1H
envoi stopé par XOFF, Recept buffer1 = X0 Y0 Z0 15
envoi XON
Test UART1 28 ADC0= 983 3D7H
envoi stopé par XOFF, Recept buffer1 = 10 Y0 Z0 16
envoi XON
Test UART1 29 ADC0= 979 3D3H
envoi stopé par XOFF, Recept buffer1 = 10 Y0 Z10 FIN
envoi XON
Test UART1 30 ADC0= 980 3D4H
envoi stopé par XOFF, Recept buffer1 =
envoi XON
Test UART1 31 ADC0= 917 395H
envoi stopé par XOFF, Recept buffer1 =
envoi XON
Test UART1 32 ADC0= 893 37DH
Test UART1 33 ADC0= 872 368H
Test UART1 34 ADC0= 867 363H
Test UART1 35 ADC0= 881 371H
Test UART1 36 ADC0= 918 396H
Test UART1 37 ADC0= 972 3CCH
Test UART1 38 ADC0= 984 3D8H
Test UART1 39 ADC0= 982 3D6H
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Test terminal VBRAY en mode XON XOFF avec fichier Gcode
Bonsoir paulfjujo, et tout le forum,
Le XOFF et XON ne son pas une obligation parce qu'on pratique un checksum, qui est calculé sur tout les octets précédents voir ICI.
Rien n'empêche de créer un programme sur PC pour envoi des donnés, et d'avoir son propre protocole, mais cela ne sera pas intégrés
dans usart du PIC, donc obligé de réinventé la roue.
Merci d'avoir ouvert ce post pour évité de pollué ASM, j'espère que tu auras du monde qui viendrons de ton coté, Jérémy
sera ravi de participer, car maintenant il en à une, et lui il pratique le C++
A+
Le XOFF et XON ne son pas une obligation parce qu'on pratique un checksum, qui est calculé sur tout les octets précédents voir ICI.
Rien n'empêche de créer un programme sur PC pour envoi des donnés, et d'avoir son propre protocole, mais cela ne sera pas intégrés
dans usart du PIC, donc obligé de réinventé la roue.
Merci d'avoir ouvert ce post pour évité de pollué ASM, j'espère que tu auras du monde qui viendrons de ton coté, Jérémy
sera ravi de participer, car maintenant il en à une, et lui il pratique le C++
A+
Test terminal VBRAY en mode XON XOFF avec fichier Gcode
Bonjour,
Le Xon /Xoff c'est un contrôle de flux logiciel. Il évite les fils supplémentaires, mais il impose d'envoyer dans le flot de données 2 octets de contrôle STOP et RESTART pour moduler le trafic. Il ne faut donc pas que ces 2 octets figurent dans les datas transmises.
Dans notre cas, je pense qu'il est plus simple de demander ligne par ligne, ça ne surcharge pas du tout le pic, car envoyer de temps en temps ACK, c'est rien du tout. Il n'y a même pas à attendre qu'il soit parti, on passe tout de suite à autre chose. On a juste écrit un registre.
On a réinventé un protocole, mais cela n'a pas été trop dur :) Dans tous les cas, le pic doit calculer un checksum. La aussi ce sera simple si on conserve le checksum de Tera Term. En fait il fait la somme des octets du paquet. Donc le pic des qu'il reçoit un paquet par irq, calcule la somme à la volée, et dès que le nombre d'octets du paquet (qui figure dans les premiers octets du paquet) est atteint, il compare le dernier octet avec le checksum calculé, et c'est fini. Il pourra éventuellement gérer un buffer, mais je vois pas trop l'intérêt, vu que l'élément lent de la chaîne PC->Pic->CNC , c'est le dernier, la machine CNC.
Le problème dans tout ça, c'est de demander à un 18F de faire des math :)
Paul,
dans Tera Term tu peux régler le contrôle de flux, une fois la communication série établie, par le menu Setup/Serial port
pour les macros, il y a l'instruction "setflowctrl"
Le Xon /Xoff c'est un contrôle de flux logiciel. Il évite les fils supplémentaires, mais il impose d'envoyer dans le flot de données 2 octets de contrôle STOP et RESTART pour moduler le trafic. Il ne faut donc pas que ces 2 octets figurent dans les datas transmises.
Dans notre cas, je pense qu'il est plus simple de demander ligne par ligne, ça ne surcharge pas du tout le pic, car envoyer de temps en temps ACK, c'est rien du tout. Il n'y a même pas à attendre qu'il soit parti, on passe tout de suite à autre chose. On a juste écrit un registre.
On a réinventé un protocole, mais cela n'a pas été trop dur :) Dans tous les cas, le pic doit calculer un checksum. La aussi ce sera simple si on conserve le checksum de Tera Term. En fait il fait la somme des octets du paquet. Donc le pic des qu'il reçoit un paquet par irq, calcule la somme à la volée, et dès que le nombre d'octets du paquet (qui figure dans les premiers octets du paquet) est atteint, il compare le dernier octet avec le checksum calculé, et c'est fini. Il pourra éventuellement gérer un buffer, mais je vois pas trop l'intérêt, vu que l'élément lent de la chaîne PC->Pic->CNC , c'est le dernier, la machine CNC.
Le problème dans tout ça, c'est de demander à un 18F de faire des math :)
Paul,
dans Tera Term tu peux régler le contrôle de flux, une fois la communication série établie, par le menu Setup/Serial port
pour les macros, il y a l'instruction "setflowctrl"
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Test terminal VBRAY en mode XON XOFF avec fichier Gcode
-
Jérémy
Administrateur du site- Messages : 2722
- Âge : 44
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Hello ici ,
Super idée Paul ton post !
Je vais bien évidemment le suivre avec grand intérêt !.
Mais j'avoue que je ne compte pas m'y frotter pour plusieurs raisons. C'est vraiment passionnant les CNC ( un peu comme la robotique), mais je sais déjà que cela va prendre énormément de temps. De plus j'en ai une maintenant ! bien sur un jour ( peu être proche qui sait) je devrais forcement la modifier (changer la carte de contrôle, l'alim , le moteur etc ..). Pour le moment je préfère faire plein de petits projets plutôt qu'un gros !
Super idée Paul ton post !
Je vais bien évidemment le suivre avec grand intérêt !.
Mais j'avoue que je ne compte pas m'y frotter pour plusieurs raisons. C'est vraiment passionnant les CNC ( un peu comme la robotique), mais je sais déjà que cela va prendre énormément de temps. De plus j'en ai une maintenant ! bien sur un jour ( peu être proche qui sait) je devrais forcement la modifier (changer la carte de contrôle, l'alim , le moteur etc ..). Pour le moment je préfère faire plein de petits projets plutôt qu'un gros !
Test terminal VBRAY en mode XON XOFF avec fichier Gcode
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
satinas a écrit :Le Xon /Xoff c'est un contrôle de flux logiciel. Il évite les fils supplémentaires, mais il impose d'envoyer dans le flot de données 2 octets de contrôle STOP et
si les datas GCode sont en ascii , donc dans la plage des caracteres imprimables
0x30 pour '0' ...pour les chiffres . et Alphabet >= 0x20
pourquoi les code originaux XON ,XOFF seraient à éviter ?
dans Tera Term tu peux régler le contrôle de flux, une fois la communication série établie, par le menu Setup/Serial port
pour les macros, il y a l'instruction "setflowctrl"
En effet, il faut que la COM soit déja activée pour pouvoir modifier le protocole
Bizarre aussi qu'on ne puisse sauvegarder la config via TERATERM.INI
contrairement avec terminal VBRAY .
ou y a-t-il un autre moyen en passant un parametre dans la commande Tterm.exe ?
correctif:
en fait le fichier Teraterm.ini modifié n'était pas dans le bon directory
la config est donc bien sauvegardée.
sinon test avec Teraterm et envoi de fichier ..ligne par ligne ...OK
Modifié en dernier par paulfjujo le dim. 20 mai 2018 14:27, modifié 2 fois.
Test terminal VBRAY en mode XON XOFF avec fichier Gcode
pourquoi les code originaux XON ,XOFF seraient à éviter ?
J'ai pas dit qu'ils seraient à éviter, mais qu'on peut pas tout faire, par exemple envoyer du binaire. Dans notre cas, en fait, aucun problème.
En fait, j'ai un peu de mal à suivre, je réponds souvent du tac au tac sans regarder ce qu'il y a au dessus :)
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 39 invités