Categories
General

Introducing GitHub Package Registry – The GitHub Blog

With GitHub Package Registry your packages are at home with their code—sign up for the limited beta to try it out.

Source: Introducing GitHub Package Registry – The GitHub Blog

Categories
General

Shipping a Linux Kernel with Windows | Windows Command Line Tools For Developers

Beginning with Windows Insiders builds this Summer, we will include an in-house custom-built Linux kernel to underpin the newest version of the Windows Subsystem for Linux (WSL). This marks the first time that the Linux kernel will be included as a component in Windows.

Source: Shipping a Linux Kernel with Windows | Windows Command Line Tools For Developers

Categories
General HowTo's VSCP

Howto: Read a #VSCP mdf file with node.js

The Module Description file is a XML file that all VSCP devices must have and which describe the device. It can either be stored on the device itself or more common linked by the device and stored on some external server storage. Software that wants to configure a device can fetch this file to get the knowledge to do so. Typically a user interface use this file to guide a user through device configuration. A good thing is that one software can handle and configure any device.

A sample MDF file is here an here.

Read a mdf file from a device, parse it and display the module name. A device can consist of several modules, there will always be one and result.vscp.module[0] will always refer to the first. Most devices contains only one module. You can get the number of modules with result.vscp.module.length

Below are some Javascript examples on how to get information from the MDF-file.

Display the module name

const axios = require('axios');
const xml2js = require('xml2js');

let parser = new xml2js.Parser();

axios.get('https://www.eurosource.se/ntc10KA_3.xml')  
  .then((response) => {
      parser.parseString(response.data,
                         (err, result) => {
        console.dir(result.vscp.module[0].name);    
      });
  })  
  .catch((err) => {    
    console.log(err);  
  });

Similar to above sample get a link to the manual for a device

console.log(result.vscp.module[0].manual[0].$.path);

List all registers with

console.dir(result.vscp.module[0].registers[0].reg);

Iterate through all registers an display there names

axios.get('https://www.eurosource.se/ntc10KA_3.xml')
  .then((response) => {
    parser.parseString(response.data, (err, result) => {
      for (let reg of result.vscp.module[0].registers[0].reg) {
        console.log(reg.name[0]._);
      }
    });

  })
  .catch((err) => {
    console.log(err);
  });

List register descriptions with

console.log(reg.description[0]._);

You get the language code for a register name or a register description with

console.log(reg.name[0].$.lang);

List abstractions with

axios.get('https://www.eurosource.se/ntc10KA_3.xml')
  .then((response) => {
    parser.parseString(response.data, (err, result) => {
      for (let reg of result.vscp.module[0].registers[0].reg) {
        console.dir(result.vscp.module[0].abstractions[0].abstraction);
      }
    });

  })
  .catch((err) => {
    console.log(err);
  });



List number of events the module can generate and the events

console.dir('# events: ' + result.vscp.module[0].events[0].event.length);
console.dir(result.vscp.module[0].events[0].event);

If you want an url to a picture of the module

console.log(result.vscp.module[0].picture[0].$.path);

If you want the manual

console.log(result.vscp.module[0].manual[0].$.path);

or a firmware image

console.log(result.vscp.module[0].firmware[0].$.path);

The number of firmware images available

axios.get('http://www.eurosource.se/paris_010.xml')
  .then((response) => {
    parser.parseString(response.data, (err, result) => {
  console.log(result.vscp.module[0].firmware.length);
    });
  })
  .catch((err) => {
    console.log(err);
  });

The release date for a specific firmware

console.log(result.vscp.module[0].firmware[3].$.date);

The way this works should be obvious by now. Enjoy!

Categories
CAN general

The best gets even better #canbus #vscp

For my VSCP testing I have most of the available CAN adapters available on the market here in the lab. Among them my favorite has been the USB2CAN. It’s attractive price, CANAL/Socketcan support and quality just makes it better than the rest.

Not so anymore.

Gediminas (well his company Rusoku) has released a follow up called TouCAN that at the same attractive price (EUR 69) takes things to another level with the following features

  • No driver installation required (WinUSB Microsoft generic driver, out-of-the-box functionality
  • Zero Frame Loss
  • Timestamp resolution = 1uS
  • Data export to .csv
  • Data Buffer for 20000 Frames
  • Powerful CPU ( Cortex M4 100 MHz )
  • Supported Library. Open Source CANAL API DLL
  • Open Source GUI (Qt.io). Compatible with Linux, MacOS, Windows.
  • Linux SocketCAN support
  • Direct connection to device without CANAL API
  • 2x dual color LEDs
  • Unlimited CAN Device Support
  • Default speeds 10, 20, 50, 100, 125, 250, 500, 1000 or custom CAN bus baud rate.
  • Firmware upgrade via bootloader
  • Meets the requirements of ISO 11898-2
  • Bus-Fault protection of –27 V to 40 V
  • EMI filters for CAN and USB interfaces
  • Linux CANAL API library for SocketCAN
  • TouCAN USB to CAN adapter is compatible with home automation system  VSCP vscpWorks from www.vscp.org

This adapter in the Marin package will definitely be my favorite choice for my own setups in the future. More info is here .

Categories
Home Automation

SONOFF BASICR3 – WIFI Diy Smart Switch

SONOFF BASICR3 – an open source wifi diy smart switch that can use the REST API to connect it with the existing home automation system like MQTT, Vera, Fibaro, SmartThings, HomeSeer, Savant, Home assistant, smartthings, openhab, domoticz, etc.

Source: SONOFF BASICR3 – WIFI Diy Smart Switch

Categories
General

11 Do-It-Yourself PCB Design For Manufacture (DFM) Checks Anyone Can Do | Seeed Studio Blog

11 DO-IT-YOURSELF PCB DESIGN FOR MANUFACTURE (DFM) CHECKS ANYONE CAN DO

Source: 11 Do-It-Yourself PCB Design For Manufacture (DFM) Checks Anyone Can Do | Seeed Studio Blog

Categories
General

The Subtle Art Of Not Making Mistakes with PCB Design For Manufacturing | Seeed Studio Blog

Getting your PCB design manufactured is no easy feat.

Source: The Subtle Art Of Not Making Mistakes with PCB Design For Manufacturing | Seeed Studio Blog

Categories
General

The US Is the Undisputed Leader in Smart Homes – PCMag UK

Judging by both companies’ revenue and household penetration, the United States is crushing it in smart home adoption. At least for now.

Source: The US Is the Undisputed Leader in Smart Homes – PCMag UK

Categories
General

Korlan USB2CAN – 8devices

Source: Korlan USB2CAN – 8devices

For better value take a look at https://grodansparadis.com/wordpress/?p=3980

Categories
Programming

OverAPI.com | Collecting all the cheat sheets

OverAPI.com is a site collecting all the cheatsheets,all!

Source: OverAPI.com | Collecting all the cheat sheets