Rétro-ingénierie à émuler les cartouches d’encre pour une imprimante Epson (7 / 8 étapes)

Étape 7: Émulation Code Routines

Maintenant le plaisir partie !

J’ai besoin de l’imprimante à penser qu’il y a quatre cartouches d’encre installées, pour cela que nous avons besoin de mettre en œuvre certaines fonctions d’émulation d’abord. Nouveau de connaissance préalable, j’ai ai prédéfinies dans l’en-tête :

• #define epsnCartReady() (_ecRST)
• extern unsigned char espnCartGetAddr(void) ;
• extern void epsnCartOut (données unsigned char) ;
• extern unsigned char epsnCartIn (données unsigned char) ;

epsnCartReady est une macro permettant de vérifier si l’imprimante a TVD attachée haute.
epsnCartGetAddr renvoie l’adresse qui demande la tête d’impression.
epsnCartOut est utilisé pour envoyer des données vers le contrôleur hôte
epsnCartIn est utilisé pour recevoir les données de l’hôte quand il écrit

Alors cette fois, au lieu de contrôler la SCK pour aller en haut ou bas, nous avons besoin d’attendre pour qu’il puisse aller haut ou bas, mais si la réinitialisation est faible, alors tout arrêter et retourner :

unsigned char espnCartGetAddr(void) {}
char i = 0 ;
temp de char = 0 x 00 ;

tandis que ((i<4) & & _ecRST) {/ / Loop alors que j’ai 4 < et RST est haute
Temp >> = 1 ; Temp de Shift de droite par un
while((!_ecSCK) & & (_ecRST)) ; Attendez que l’horloge pour aller haut
if(_ecSDA) {/ / uniquement si SDA est élevé
Temp | = 0 x 08 ; puis définir le bit 4e
}
while((_ecSCK) & & (_ecRST));// attendre l’horloge aller en bas
i ++ ; incrémenter le compteur
}

if(_ecRST == 0) {}
Retour à 0xFF ; //if RST est allé faible, signifie l’hôte tué le signal
}
Return temp ; retourner à l’adresse et le peu de lecture/écriture
}

Et la fonction Out :

void epsnCartOut (données unsigned char) {}
char i = 0 ;
temp de char = données ;

_ecSDATRIS = 0 ; Définissez le SDA à la sortie
_ecSDALat = 0 ; la valeur de SDA faible

tandis que ((i<8) & & _ecRST) {/ / Loop alors que j’ai 8 < et RST est élevé
tandis que (! _ecSCK & & _ecRST) ; Attendez que la SCK à aller haut
_ecSDALat = temp & 0 x 01 ; SDA haute ou basse selon le premier bit de la valeur

tandis que (_ecSCK & & _ecRST) ; Attendez la SCK aller en bas
Temp >> = 1 ; Décalage vers la droite les données par un
i ++ ; incrémenter le compteur par un
}
_ecSDATRIS = 1 ; Set de SDA pour une sortie
_ecSDA = 1 ; pas sûr si cela est nécessaire
}

Et enfin la fonction In :

unsigned char epsnCartIn(void) {}
unsigned char i = 0 ;
temp de char = 0 x 00 ;

tandis que ((i<8) & & _ecRST) {/ / Loop alors que j’ai 8 < et RST est élevé
Temp >> = 1 ; Décalage vers la droite le temp par un
tandis que (! _ecSCK & & _ecRST) ; Attendez la SCK aller haut
if(_ecSDA) {//only id SDA est élevé
Temp | = 0 x 80 ; Définir le bit 8
}

tandis que (_ecSCK & & _ecRST);// attendez le SCK aller en bas
i ++ ; Incrémenter le compteur par un
}
Return temp ; ce que nous avons reçu de retour
}

Articles Liés

Rétro-ingénierie : USB contrôlée hack domotique

Rétro-ingénierie : USB contrôlée hack domotique

pirater un système domotique sans fil pour être contrôlé à l'aide de deux microcontrôleurs AVR de USB !Découvrez la vidéo ! Le système est vraiment plus réactif, mais le navigateur de mon téléphone est lent.Si vous le souhaitez, vous pouvez aussi com
Rétro-ingénierie en direct

Rétro-ingénierie en direct

J'ai commencé en électronique avant l'avènement de l'internet et les composants plus solides à l'État, donc obtenir des fiches techniques et des schémas n'a pas été facile pour moi. Aujourd'hui avec la fabrique faisant ICs personnalisés et écrans à c
Rétro-ingénierie : Ampoule de LED RVB avec télécommande IR

Rétro-ingénierie : Ampoule de LED RVB avec télécommande IR

nous avons acheté 20 de ces ampoules LED RVB pour un parti au travail, mais j'ai été un peu déçu avec les fonctions de décoloration de couleur ils ont fourni. J'ai donc décidé de prendre un ingénieur apart, inverse le protocole infrarouge et voir si
Comment remplir les cartouches d’encre HP en deux minutes.

Comment remplir les cartouches d’encre HP en deux minutes.

Comment remplir HP 21 27 56 imprimante jet d'encre panier en moins de deux minutes.Pour des informations plus détaillées, consultez mon blog :http://refillhp.blogspot.com/
Comment inverser l’ingénierie pcb

Comment inverser l’ingénierie pcb

PCB rétro-ingénierie, également appelée clonage de PCB ou de copie de PCB, utilise la technologie de l'ingénierie inverse sur le PCB qui a été conçu et fabriqué par d'autres, c'est d'utiliser des PCB ayant trait aux logiciels pour copier la carte de
Comment enseigner l’ingénierie orientée projet Kids

Comment enseigner l’ingénierie orientée projet Kids

Si vous aimez ce Instructable, alors je vous encourage à acheter mon livre, Ingénieur de l'élastique. Elle est pleine de projets plus impressionnants et originaux fabriqués à partir de matériel domestique. Vous pouvez le trouver là où les livres sont
Recycler les cartouches jet d’encre CMJN dans des enclos de marqueur

Recycler les cartouches jet d’encre CMJN dans des enclos de marqueur

j'ai parfois jeter des cartouches d'encre et remarqué comment complet qu'ils sont toujours même si l'imprimante ne le pense. J'ai pensé à fixer certains desséchées vieux marqueurs à bas prix sur l'ouverture de l'extrémité qui se connecte à l'impriman
Conversion d’une imprimante jet d’encre pour imprimer les BPC

Conversion d’une imprimante jet d’encre pour imprimer les BPC

Voir l'étape 12 pour un gravure/projet mise à jour et nouveaux résultats!Récemment, un des mes objectifs a été de trouver un moyen pour faciliter le processus de création de PCB (Printed Circuit Board). J'aime être en mesure de concevoir que quelque
Imprimer les Circuits conducteurs avec une imprimante jet d’encre

Imprimer les Circuits conducteurs avec une imprimante jet d’encre

Ce tutorial va vous apprendre comment modifier votre imprimante jet d'encre moyenne pour pouvoir imprimer les circuits conducteurs d'électricité. Cette technologie est assez nouveau mais peut fournir une option plus rapide et plus sûr de prototypage
Comment imprimer avec une cartouche d’encre « vide ».

Comment imprimer avec une cartouche d’encre « vide ».

Il est tard et vous devrez imprimer certains rapports à emporter avec vous à une réunion. Votre imprimante est à court d'une seule couleur d'encre et maintient votre en otage tout le travail jusqu'à ce que vous pouvez mettre dans une nouvelle cartouc
Comment faire pour remplacer la cartouche d’encre Neopost IJ25

Comment faire pour remplacer la cartouche d’encre Neopost IJ25

Faire un reset de Neopost IJ25 cartouche peut être difficile si vous n'avez pas remplacé votre encre ij25 cartouche avant. Cependant nous avons mis en place ce guide pour aider et faire le travail rapidement.Si vous avez besoin de Télécharger un Manu
Contrôler une imprimante 3D avec les gestes de la main

Contrôler une imprimante 3D avec les gestes de la main

j'ai écrit à ce sujet avant, mais j'ai réussi un laboratoire de technologie créative au California College of the Arts. J'ai aider les élèves avec un large éventail de compétences, créer un large éventail de projets. Une des nombreuses parties de mon
Ingénierie d’un système d’alimentation pour cycle-camions lourds et les velomobiles

Ingénierie d’un système d’alimentation pour cycle-camions lourds et les velomobiles

Utilitaire lourd cycles deviendra une très grande partie du transport, comme les gens se réveillent à la réalité du changement climatique. Il n'est pas facile de comprendre comment fournir assez basse vitesse couple Poussée qui est nécessaire pour gr
La plupart les plate-formes d’ingénierie jamais

La plupart les plate-formes d’ingénierie jamais

J'ai construit ces étagères pour ma copine maintenant fiancé (Merci beaucoup) donc elle pourrait remplir avec tout le travail Uni ici.Pour une raison quelconque, j'aime construire des étagères que vous pourriez vraiment remarqué si vous consultez mes