npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@libs-scripts-mep/ecil-manager

v1.0.3

Published

Biblioteca responsável por realizar a manipulação do cappo ecil através da comunicação serial.

Downloads

83

Readme

ecil-manager

Instalando

Abra o terminal, e na pasta do script, rode:

npm i @libs-scripts-mep/ecil-manager

Desinstalando

Abra o terminal, e na pasta do script, rode:

npm uninstall @libs-scripts-mep/ecil-manager

Atualizando

Abra o terminal, e na pasta do script, rode:

npm update @libs-scripts-mep/ecil-manager

Como utilizar

Realize a importação:

import CappoEcil from "../node_modules/@libs-scripts-mep/ecil-manager/ecil-manager.js"

As demais informações e instruções estarão disponíveis via JSDocs.

Documentação

  • Manual Cappo 10 Plus
    • documentation\Manual-Cappo-10-Plus.pdf
  • Protocolo de Comunicação Cappo 10 Plus
    • documentation\Protocolo-Comunicação-Cappo-10-Plus.pdf

Protocolo

Template da Requisição

[IDNAME] [Instruction] [DATA1] [DATA2] [DATA3] [DATA4] [CHKSUM]

IDNAME

O IDNAME é o valor que foi configurado no processo '10.1 - Digital interface data program mode' 
descrita no documento 'Protocolo-Comunicação-Cappo-10-Plus.pdf'

Instruction

Existem varias funções que podem ser utilizadas no cappo ecil, elas podem ser observadas no 
documento 'Protocolo-Comunicação-Cappo-10-Plus.pdf', mas as mais utilizadas são:

| Instrução                        | Valor | Tipo  |
| -------------------------------- | ----- | ----- |
| Leitura dos valor                | 0x18  | READ  |
| Seta o tipo de sensor            | 0x19  | WRITE |
| Seta configurações de calibração | 0x1A  | WRITE |
| Seta valores de temperatura      | 0x1B  | WRITE |

DATAS

Os datas são configurados dependendo da função escolhida, o que deve ser escrito nos datas pode ser 
encontrada no documento 'Protocolo-Comunicação-Cappo-10-Plus.pdf', segue exemplo das intruções mais 
utilizadas:


0x18:

    Descrição: Na leitura dos valores de temperatura os 'datas' devem ser preenchidos com '0x00'.  

    Exemplo: 0x01 0x18 0x00 0x00 0x00 0x00 0x00 // le valores da entrada do cappo.
    Resposta: 0x01 0x18 0x00 0x01 0x2C 0x0A 0x00
    Os valores lidos da temperatura estarão no 5 e 6 byte da resposta, no caso do exemplo acima será 
    '012C'


0x19:

    Descrição: Na escrita do tipo de sensor o valor manipulado deve ser o [DATA1], o restante deve ser 
    preenchido com 0x00, a baixo temos a tabala dos principais sensores com seus valores. 

    OBS: O chksum também deve ser manipulado.

        | Sensor | Valor de escrita |
        | ------ | ---------------- |
        | J      | 0x00             |
        | K      | 0x01             |
        | PT100  | 0x0E             |

    Exemplo: 0x01 0x19 0x01 0x00 0x00 0x00 0x01 // seta cappo em tipo K
    Resposta: 0x01 0x19 0x01 0x00 0x00 0x00 0x01


0x1A:

    Descrição: Na escrita das configurações do cappo o valor a ser manipulado é o [DATA1], para 
    manipulação desse byte é utilizado um sistema de soma de bits, ou seja caso o objetivo seja 
    adicionar duas configurações, será a soma dos valores dessas configurações a ser mandado pelo 
    [DATA1], segue os pricipais valores na tabela a baixo.

    OBS: O chksum também deve ser manipulado.

        | Configuração | Valor Habilitado    | Valor Desabilitado      |
        | ------------ | ------------------- | ----------------------- |
        | Compensação  | 0x10 (Rj ext)       | 0x00 (Rj int)           |
        | ITS          | 0x08 (ITS90)        | 0x00 (ITS68)            |
        | Escala       | 0x40 (°F)           | 0x00 (°C)               |
        | Out/In       | 0x20 (OUT)          | 0x00 (IN)               |
        | Casa Decimal | 0x00 0x01 0x02 0x03 | 0x04 (Sem casa decimal) |
                                

    Exemplo: 0x01 0x1A 0x38 0x00 0x00 0x00 0x38 
    // Desabilia compensação, seta cappo em saída e habilita ITS90

    Resposta: 0x01 0x1A 0x38 0x00 0x00 0x00 0x38 


0x1B:

    Descrição: Na escrita do valor de temperatura os valores a serem manipulados são os [DATA1]
    e o [DATA2], caso o valor de chksum passe de 0x7F será manipulado o valor [DATA3] e refeito 
    o calculo do chksum com o novo valor do [DATA3], o passo a passo dessa manipulação pode ser 
    encontrada no documento 'Protocolo-Comunicação-Cappo-10-Plus.pdf', e podemos observar abaixo 
    um exemplo de manipulação:

    let DATA3 = 256 - parseInt(checkSum, 16)
    DATA3 = dataAux.toString(16)
    checkSum = [DATA1] + [DATA2] + [DATA3] + [DATA4]

    OBS: O chksum também deve ser manipulado.
                                
    Exemplo 1: 0x01 0x1B 0x01 0x2C 0x00 0x00 0x2D  
    // Simulando 300°

    Exemplo 2: 0x01 0x1B 0x02 0xEE 0x10 0x00 0x00  
    // Simulando 750° (sendo necessário manipular o [DATA3])

    Outra questão é a manipulação de valores negativos, que deve seguir os seguintes passos:

    1. Transformar o numero decimal em binario e retirar o sinal negativo
    2. Inverter o número binario, trocando 0 por 1 e vice-versa
    3. Realiza a soma com +1 no número binario    
    4. Converter em Hexadecimal
    5. Enviar para o cappo 
    6. Recalcular o checksum

    Exemplo 3: 0x01 0x1B 0xFF 0x42 0x00 0x00 0x41 // Simulando -190°
    Resposta: 0x01 0x1B 0xFF 0x42 0x00 0x00 0x41

CHKSUM

    Descrição: Uma checksum é um pequeno código de informações computadas que trata da integridade 
    e segurança na transmissão de dados, no protocolo do cappo está definido que o checksum se da
    pela soma de todos os datas, ou seja o calculo será da seguinte forma:

    checkSum = [DATA1] + [DATA2] + [DATA3] + [DATA4]

    caso o valor de checksum passe de 0x7F será manipulado o valor [DATA3] e refeito 
    o calculo do checksum, o passo a passo dessa manipulação pode ser encontrada no documento 
    'Protocolo-Comunicação-Cappo-10-Plus.pdf'