Ir para conteúdo
  • Cadastre-se

dev botao

Loop Daruma FS800i


  • Este tópico foi criado há 3208 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Olha Amigos vem compartilhar mais uma melhoria que fiz no ACBrECFEscECF.pas

Em teste com Daruma FS800i percebi que ela entra em loop comando 26...

-- 13:37:13:611 NumCupom
                TX -> [SOH][25][26][NUL][4][NUL]1|1|[145]
                RX <- [ACK]
         Status TX -> [ENQ][NUL]
         Falha: 1
        Reenvio TX -> [SOH][25][26][NUL][4][NUL]1|1|[145]
                RX <- [WAK][16][SOH][NUL][NUL][NUL]
         Status TX -> [ENQ][NUL]
                RX <- [WAK][16][STX][NUL][NUL][NUL][SOH][25][26][NUL][NUL][SOH][NUL][NUL]@[ENQ][NUL]1|48|[14]
         Status TX -> [ENQ][NUL]
                RX <- [WAK][16][4][NUL][NUL][NUL]
         Status TX -> [ENQ][NUL]
                RX <- [WAK][16][4][NUL][NUL][NUL]

.......

Com teste, consegui identificar isso acontecia porque o comando 26 na daruma as vezes demora mais que outro comando para responder. Mesmo aumentado timeout, o comando atingia o tempo limite.

Com base nestas informações eu fiz uma alteração para quando ele atingir o timeout no camando 26 pela primeira vez,  em vez de reenviar o comando, ele pedira o status novamente..

14:31:03:823 NumCupom
                TX -> [SOH]"[26][NUL][4][NUL]1|1|[154]
                RX <- [ACK]
         Status TX -> [ENQ][NUL]
         Status TX -> [ENQ][NUL]
*** Daruma em possível loop: 1 respostas de Ocupada. Reenviando pedido de status
                RX <- [WAK][16][SOH][NUL][NUL][NUL]
         Status TX -> [ENQ][NUL]
                RX <- [WAK][16][SOH][NUL][NUL][NUL]
         Status TX -> [ENQ][NUL]
            Resposta: SEQ:34 CMD:26 EXT:0 CAT:0 RET:[SOH][NUL][NUL]@ TBR:5 BRS:"1|54|" CHK:20
   14:31:05:983 RX <- [SOH]"[26][NUL][NUL][SOH][NUL][NUL]@[ENQ][NUL]1|54|[20]

 

ACBrECFEscECF.pas

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Não compreendi muito bem a necessidade da modificação...

A implementação atual fica lenta ? A impressora para de responder ?

 

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Notei que o ECF está concatenando duas respostas...

Citar

-- 15:25:41:506 NumCupom
                TX -> [SOH][26][26][NUL][4][NUL]1|1|[146]
                RX <- [ACK]
         Status TX -> [ENQ][NUL]
         Falha: 1
        Reenvio TX -> [SOH][26][26][NUL][4][NUL]1|1|[146]
                RX <- [WAK][16][SOH][NUL][NUL][NUL]
         Status TX -> [ENQ][NUL]
                RX <- [WAK][16][STX][NUL][NUL][NUL][SOH][26][26][NUL][NUL][SOH][NUL][NUL]@[ENQ][NUL]1|66|[15]

Aparentemente ele respondeu 1|66... Este era o valor correto ?

talvez o melhor ajuste seja fazer a classe compreender que existem 2 respostas concatenadas

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Acho que podemos adotar o Pedido de status como padrão para todos os ECFs... para a primeira tentativa de falta de resposta... Por favor tente com a Unit em anexo

ACBrECFEscECF.pas

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Modificações enviadas para o SVN... Muito obrigado pela analise e contribuição

Citar

-- ACBrDevice --
[*] Ajuste para método "EnviaStringSerial" considerar os Bytes realmente
    enviados.   (por: DSA)

-- ACBrECFEscECF --
[-] Ajuste para problema de Loop infinito em Daruma FS800I
    http://www.projetoacbr.com.br/forum/topic/25830-loop-daruma-fs800i/
[*] Diminuindo constante tempo de espera WAK de 200 para 50                                                       

 

  • Curtir 1
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • 2 meses depois ...
  • Fundadores

Desde a data desse anúncio...

http://www.projetoacbr.com.br/forum/announcement/7-fim-de-corre%C3%A7%C3%B5es-e-commits-em-trunk/

apenas o Trunk2 recebe correções de minha parte...

  • Curtir 1
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 3208 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...