|
- // Check for the various File API support.
- if (window.File && window.FileReader && window.FileList && window.Blob) {
- // Great success! All the File APIs are supported.
- } else {
- alert('The File APIs are not fully supported in this browser.');
- }
-
- let fr = new FileReader();
-
- // Please load the file: test-data/dbc.dbc
- fr.onload = function() {
- // Create parser instance
- let parser = new DBCC.DbcParser();
- parser.parse(fr.result);
-
- // Dump the DBC file data
- for (let msg of parser) {
- console.log(msg);
- for (let sig of msg) {
- console.log(sig);
- }
- }
-
- // Encode/decode test
- let msgId = 578;
- let sp = new DBCC.SignalProcessor(fr.result);
-
- // Register delegate
- let myhandler = {
- onEncoded: function (msgId, db) {
- console.log("msg:", msgId, ":", db);
- },
- onDecoded: function (msgId, signalName, value) {
- console.log("msg:", msgId, ",", signalName, ":", value);
- }
- };
- sp.registerDelegate(msgId, "ACCAccReqValHSC2", myhandler);
-
- data = Uint8Array.from([0x01, 0xA8, 0, 0, 0, 0, 0, 0]);
-
- sp.decodeMessage(msgId, data);
- sp.encodeMessage(msgId, {"ACCAccReqValHSC2": -5.1});
- }
-
- const fileSelector = document.getElementById('file-selector');
- const fileDnd = document.getElementById('file-dnd');
- const output = document.getElementById('output');
-
- // File selector demo
- fileSelector.addEventListener('change', (event) => {
- const files = event.target.files;
- for (let i = 0; i < files.length; i++) {
- const li = document.createElement('li');
- const file = files[i];
- const name = file.name ? file.name : 'NOT SUPPORTED';
- const type = file.type ? file.type : 'NOT SUPPORTED';
- const size = file.size ? file.size : 'NOT SUPPORTED';
- li.textContent = `name: ${name}, type: ${type}, size: ${size}`;
- output.appendChild(li);
- fr.readAsText(file);
- }
- });
-
- // DnD demo
- fileDnd.addEventListener('dragover', event => {
- event.stopPropagation();
- event.preventDefault();
- event.dataTransfer.dropEffect = 'copy';
- });
- fileDnd.addEventListener('drop', event => {
- output.innerHTML = '';
- event.stopPropagation();
- event.preventDefault();
-
- const files = event.dataTransfer.files;
- for (let i = 0; i < files.length; i++) {
- const li = document.createElement('li');
- const file = files[i];
- const name = file.name ? file.name : 'NOT SUPPORTED';
- const type = file.type ? file.type : 'NOT SUPPORTED';
- const size = file.size ? file.size : 'NOT SUPPORTED';
- li.textContent = `name: ${name}, type: ${type}, size: ${size}`;
- output.appendChild(li);
- fr.readAsText(file);
- }
- });
|