Skip to content

Latest commit

 

History

History
77 lines (53 loc) · 2.09 KB

README.md

File metadata and controls

77 lines (53 loc) · 2.09 KB

Utilisation

Le fichier [device].js est le point d'entrée du Javascript. Il prend un objet input contenant le payload sous forme de liste d'octets converti en décimal, le port et la date de reception.
La sortie est décrite dans le fichieruplink.schema.json.

Fichiers codec

Il ne faut pas toucher aux fichiers codec se trouvant dans devices, il sont écrasés par ceux dans codec lorsque rebuild_mains.js, dans utilities, est exécuté.

Webpack

Afin de respecter la contrainte d'un seul fichier final pour le codec, on utilise webpack pour compiler les fichiers en un seul.

Ces commandes doivent être exécutées dans le dossier du fichier.

Il faut installer webpack cli :

    npm install webpack webpack-cli --save-dev

On peut alors écrire notre fichier webpack.config.js, et l'exécuter comme ceci :

    npx webpack --config webpack.config.js

Il faudra s'assurer que le fichier entry existe.
Le chemin est relatif à la position du fichier webpack.config.js

Notre webpack.config.js est spécifique au capteur associé :

    const path = require("path");

    module.exports = {
    target: "node",
    mode: "production",
    entry: "./[device].js",
    output: {
    filename: "main.js",
    path: path.resolve(__dirname, "."),
    library: "driver",
        },
    };

JEST

Dans package.json :

    "scripts": {
        "test": "jest --collectCoverage"
    }

Lancer les tests :

    npm run test

Les tests sont fait indirectement avec les fichiers séparés comme le montre le point d'entrée du driver qui est le fichier spécifique au capteur :

    let driver = require("./[device].js");

Cependant notre packaging webpack crée un fichier main.js qui fonctionne de la même manière.
Cette séparation est due à la compression du code dans main.js qui casse les liens logiques entre les fichiers, ainsi que le nom des fonctions ; JEST ne le supporte pas.

TODO

  • ajout champ unit
  • error sur cmdID/clustID/attID inconnus
  • alarm function unique