Brevet FR2710169A1 — publié le 19950324

d-1 2710169 Dispositif et procédé d'émulation d'une imprimante pour ordinateur personnel à partir d'une imprimante de télécopieur De nombreux types d'appareils électroniques utilisés en bureautique comportent une imprimante, ou y sont associés, afin d'éditer et exploiter les données reçues et/ou traitées par ces appareils. On peut par exemple penser aux télécopieurs et aux ordinateurs personnels. Pour ce qui concerne les télécopieurs, I'imprimante, intégrée au télécopieur, est commandée de façon relativement simple, puisqu'elle imprime des lignes de points séparés par des blancs de longueur variable. Pour ce qui concerne les ordinateurs personnels, I'imprimante est externe et comporte une logique sophistiquée pour interpréter un jeu étendu de commandes d'impression de caractères, soit en mode ligne soit en mode graphique. Une telle imprimante d'ordinateur est coûteuse et volumineuse. Le document EP-A-519 253 enseigne d'affecter l'imprimante d'un télécopieur également à un ordinateur personnel, en prévoyant, dans le télécopieur, un circuit d'émulation d'une imprimante pour ordinateur, qui commute le fonctionnement du télécopieur du mode d'impression facsimilé au mode d'impression caractère, lorsque l'ordinateur envoie des données au télécopieur par une liaison spécifique. Cependant l'impression, sous la commande de l'ordinateur, prévue dans ce document entraîne l'indisponibilité temporaire des autres fonctions du télécopieur, ce qui est difficilement acceptable si l'ordinateur commande fréquemment des impressions. Par ailleurs, et même si le télécopieur est en fonctionnement mais sans l'aide de l'imprimante, I'ordinateur ne peut pas accéder à l'imprimante disponible, ce qui oblige l'utilisateur de ce dernier à réitérer sa demande d'impression. La présente invention vise à s'affranchir de ces difficultés. 2 2710169 A cet effet, I'invention concerne, tout d'abord, un dispositif d'émulation d'une imprimante d'ordinateur personnel à partir d'une imprimante de télécopieur, comportant des moyens de réception de données provenant de l'ordinateur et des moyens de commande de l'imprimante en fonction de ces données agencés pour scruter l'imprimante et déterminer sa disponibilité, caractérisé par le fait que les moyens de commande sont agencés pour effectuer une scrutation cyclique de l'imprimante et commander son impression par les données de l'ordinateur lorsqu'elle est disponible. Ainsi, même en cas d'impression à partir de l'ordinateur, le télécopieur conserve sa fonction "télécopie" et peut échanger des messages avec un autre télécopieur, puisque le circuit d'émulation décharge le télécopieur de la tâche de l'impression commandée par l'ordinateur. Par ailleurs, un échange de messages de télécopie en cours laisse disponible l'imprimante pour l'ordinateur. L'invention concerne aussi un procédé d'émulation d'une imprimante d'ordinateur personnel à partir d'une imprimante de télécopieur, dans lequel on relie l'ordinateur à un dispositif d'émulation d'imprimante du télécopieur activé par la réception de données de l'ordinateur, procédé caractérisé par le fait que, après activation du dispositif d'émulation et génération d'une demande d'impression, le dispositif d'émulation scrute l'imprimante et détermine sa disponibilité et, en cas d'indisponibilité, la demande d'impression est mémorisée pour entraîner une scrutation cyclique de l'imprimante pour déclencher l'impression des données de l'ordinateur lorsque l'imprimante devient disponible. L'invention sera mieux comprise à l'aide de la description suivante de la forme de réalisation préférée du dispositif d'émulation pour la mise en oeuvre du procédé de l'invention, en référence au dessin annexé, sur lequel: - la figure 1 est un schéma par blocs représentant un télécopieur comportant le dispositif d'émulation de l'invention, relié à un ordinateur personnel, 3 2710169 - la figure 2 est un schéma par blocs du dispositif d'émulation et - la figure 3 est un diagramme de cheminement exposant le fonctionnement du dispositif d'émulation. Le télécopieur 1 représenté sur la figure 1 est relié, par une liaison 2 bidirectionnelle, à un ordinateur personnel 3 et, par une ligne 4, au réseau téléphonique commuté. Le télécopieur 1 comporte un dispositif d'émulation 11 relié à la liaison 2, de type RS 232C, ainsi qu'à un contrôleur 12 et à une entrée d'un coupleur d'imprimante 13 contrôlant une imprimante 14 du télécopieur 1. Le contrôleur 12 commande le coupleur 13 et est relié à un dispositif 15 de connexion télécopie à l'imprimante 14, comportant un bloc de calcul 16 dans lequel est prévue une mémoire 17 et une porte ET 18 à deux entrées. Le dispositif de connexion 15 est relié à un circuit d'interface 19 relié à la ligne 4. Le coupleur 13 est relié en entrée au dispositif de connexion 15. Le dispositif d'émulation 11 est représenté plus en détails sur la figure 2. La liaison 2 est reliée à une mémoire tampon 21 reliée en sortie à un circuit 22 d'interprétation de commandes dont la sortie est reliée à un circuit générateur graphique 24 à travers un circuit 23 tampon de commandes. Le circuit générateur graphique 24 est relié en sortie au coupleur d'imprimante 13, lui-même relié en sortie à un bloc de calcul 25 commandant les circuits 22 et 24 et échangeant des données avec la mémoire tampon 21. Une mémoire 26 et une porte ET 27 à deux entrées sont prévues dans le bloc de calcul 25. Le fonctionnement du télécopieur 1 avec le dispositif d'émulation 11 va maintenant être expliqué en regard du diagramme de cheminement de la figure 3. 4 2710169 On suppose que, le télécopieur 1 étant au repos, il reçoit, par la ligne 4 et le circuit d'interface 19, un message de télécopie contenant des données a imprimer. Le message est mémorisé dans le dispositif 15 à une étape 31 et, à une étape 32 suivant le début de cette réception, une demande d'impression "télécopie" 32A est mémorisée dans le dispositif de connexion 15. Cette demande est appliquée à un circuit combinatoire, ici la porte logique ET 18, recevant un signal de disponibilité 41A de l'imprimante 14, comme expliqué plus loin. En cas de disponibilité de l'imprimante 14, la porte ET 18 fournit, à une étape 33, un signal de commande d'impression "télécopie" provoquant, à une étape 34, I'activation de circuits du bloc de calcul 16 qui gèrent le déroulement de l'impression. A une étape 35, le bloc de calcul 16 prépare un fichier contenant, dans la forme voulue pour l'impression, les données à imprimer. A une étape 36, le bloc de calcul 16 active le coupleur d'imprimante 13 à travers le contrôleur 12 et lui transmet le fichier ci-dessus. A une étape 37, I'imprimante 14 imprime le fichier et le coupleur 13 est ensuite désactivé par le contrôleur 12. A une étape 38, le bloc de calcul 25 est désactivé, si tel était le cas comme expliqué plus loin, et une dernière page imprimée partiellement, est, à une étape 39, éjectée si le cas se présente. Après l'étape 37, le bloc de calcul 16 est désactivé à une étape 40 et on passe à une étape 41 dans laquelle on mémorise dans la mémoire 17 et fournit le signal de disponibilité 41A de l'imprimante 14, appliqué à la porte ET 18. L'étape 39 se poursuit aussi par l'étape 41. Une séquence d'impression de données provenant de l'ordinateur personnel 3 va maintenant être exposée. Cette impression est gérée par le dispositif d'émulation 11. 2710169 A une étape 51, le dispositif d'émulation 11 teste la réception, dans la mémoire tampon 21, d'un caractère provenant de la liaison 2. Si le résultat du test est positif (o), il active, à une étape 54, le bloc de calcul 25 et engendre une demande d'impression "ordinateur" 54A. Cette activation peut aussi (fonction OU) être commandée par la porte ET 27 à une étape 53. La porte ET 27 est reliée à la mémoire 26 et en reçoit, sur sa première entrée, un signal 57A de demande d'impression io "ordinateur" mémorisée, comme expliqué plus loin, et, par sa seconde entrée, est reliée à la mémoire 17 et en reçoit le signal de disponibilité 41A. Après l'étape 54, une scrutation cyclique est effectuée pour tester, à une étape 55, si l'imprimante 14 est disponible ou si elle est utilisée par ailleurs ou en défaut. Si elle n'est pas disponible (N), le bloc de calcul émet sur la liaison 2, à une étape 56, à travers la mémoire tampon 21, un ordre, ici X OFF, commandant l'arrêt de l'émission de données par l'ordinateur personnel 3 et, à une étape 57, la demande d'impression "ordinateur" 54A est mémorisée dans la mémoire 26 sous la forme du signal 57A. Cette demande d'impression "ordinateur" 57A mémorisée est, comme indiqué, appliquée en rebouclage sur la porte ET 27. Les étapes 53-55 se répètent cycliquement pour détecter sans retard la disponibilité de l'imprimante 14 dans le cas o une demande d'impression "ordinateur" 57A a été mémorisée. Le bloc de calcul 25 comporte ainsi une boucle de scrutation 53-57 comprenant la mémoire 26 mémorisant, par le signal 57A, la réception des données de l'ordinateur 3. En cas de réponse positive (o) à l'étape 55, on passe à une étape 60, dans laquelle on active le circuit d'interprétation 22 et le générateur graphique 24. Une signalisation, X ON, est aussi envoyée sur la liaison 2 pour inviter l'ordinateur 3 à émettre ses données à imprimer, avec les données associées de commande, définissant la façon selon laquelle doivent être imprimées les données ci-dessus. 6 2710169 A une étape 61, il est procédé à l'interprétation des commandes, ici à la norme de la marque enregistrée Proprinter, dans le circuit 22 et, à une étape 62, le circuit tampon de commandes 23 engendre, d'après les commandes interprétées, une liste de commandes élémentaires appartenant à un jeu de commandes restreint ici à quatre commandes. Chaque commande comporte des champs de commande, ou arguments, définissant des paramètres d'impression, tel que "gras", "souligné", "surligné" et autres, qui augmentent la puissance de chaque commande. On dispose ainsi de moyens de conversion 22, 23 pour convertir des données de commande des données de l'ordinateur 3 en données sélectionnées dans le jeu, ou menu, de commandes prédéterminé. Les commandes ainsi converties peuvent être exécutées par l'imprimante 14, ce qui réalise l'émulation voulue. A mesure qu'elles sont fournies, les commandes élémentaires sont exécutées à une étape 63, les données de la mémoire tampon 21 sont exploitées et les données à imprimer sont électroniquement mises en page. Les étapes 36 et 37 pour l'impression se déroulent ensuite. Il est prévu une temporisation effectuée dans le bloc de calcul 25 pour terminer la session de transmission des données sur la ligne 2 en cas d'absence prolongée de réception de caractères. En cas de non réception (N) de caractère à l'étape 51, on teste, à une étape 52, si un temporisateur, remis à zéro par toute réception de caractère provenant de la liaison 2, a atteint une valeur de seuil prédéterminée. Si tel n'est pas le cas (N), on reboucle à l'étape 51. Si le seuil est atteint, on passe à l'étape 38 de désactivation du bloc de calcul 25. On comprend ainsi qu'en cas de demande d'impression "télécopieur" ou "ordinateur", celle-ci est soit réalisée immédiatement si l'imprimante 14 est disponible (signal 41A). Sinon, le signal 41A inhibe l'exécution de l'une ou l'autre des impressions, aux étapes respectives 33 et 53, 55, 7 2710169 tout en permettant cependant la mémorisation de la demande d'impression correspondante 32A et 57A. Cette demande d'impression entraîne la scrutation cyclique de l'état de disponibilité de l'imprimante 14 par les portes ET aux étapes 33 et 53 et commande l'activation (34, 54) des blocs de calcul 16, 25 associés dès que l'imprimante 14 redevient disponible (41A). Ainsi, dans le procédé de l'invention, on relie l'ordinateur 3 au dispositif 11 d'émulation d'imprimante du télécopieur activé par la réception de données de l'ordinateur 3 et, après activation du dispositif d'émulation 11 et génération de la demande d'impression 57A, le dispositif d'émulation 1 1 scrute l'imprimante 14 et détermine sa disponibilité et, en cas d'indisponibilité, la demande d'impression 54A est mémorisée pour entraîner une scrutation cyclique de l'imprimante 14 pour déclencher I'impression des données de l'ordinateur 3 lorsque l'imprimante 14 devient disponible. On comprendra que le dispositif d'émulation 11 pourrait être externe au télécopieur et, par exemple, appartenir à l'ordinateur 3, le contrôleur 12 étant doublé si nécessaire. 8 2710169 REVENDICATIONS 1. Dispositif d'émulation d'une imprimante d'ordinateur personnel (3) à partir d'une imprimante (14) de télécopieur, comportant des moyens (21) de réception de données provenant de l'ordinateur (3) et des moyens (22-25) de commande de l'imprimante (14) en fonction de ces données agencés pour scruter l'imprimante (14) et déterminer sa disponibilité (41A), caractérisé par le fait que les moyens de commande (22-25) sont agencés pour effectuer une scrutation (27) cyclique de l'imprimante (14) et commander son impression par les données de l'ordinateur (3) lorsqu'elle est disponible (41A). 2. Dispositif selon la revendication 1, dans lequel lesdits moyens (2225) de commande de l'imprimante (14) comportent une boucle de scrutation (53-57) comprenant des moyens de mémorisation (26) de la réception des données de l'ordinateur (3). 3. Dispositif selon la revendication 2, dans lequel la boucle de scrutation comporte une porte ET (27) reliée, par une première entrée, aux moyens de mémorisation (26) et agencée pour, par une deuxième entrée, être reliée à des moyens (17) sensibles à l'état de disponibilité de l'imprimante (14). 4. Dispositif selon la revendication 2, dans lequel les moyens de commande comportent des moyens de conversion (22, 23) pour convertir des données de commande des données de l'ordinateur (3) en données sélectionnées dans un menu prédéterminé. 5. Procédé d'émulation d'une imprimante d'ordinateur personnel (3) à partir d'une imprimante (14) de télécopieur, dans lequel on relie l'ordinateur (3) à un dispositif (11) d'émulation d'imprimante du télécopieur activé par la réception de données de l'ordinateur (3), procédé caractérisé par le fait que, après activation (54) du dispositif d'émulation (11) et génération d'une demande d'impression (54A), le dispositif d'émulation (11) scrute (55) I'imprimante (14) et détermine sa disponibilité et, en cas d'indisponibilité, la demande d'impression (54A) est mémorisée (57) pour entraîner une scrutation cyclique (53) de l'imprimante pour déclencher (60) I'impression des données de l'ordinateur (3) lorsque l'imprimante (14) devient disponible (41A).