Skip to content

Instantly share code, notes, and snippets.

View morkai's full-sized avatar

Łukasz Walukiewicz morkai

View GitHub Profile
@morkai
morkai / possible-leak-report.txt
Created December 11, 2011 14:16
node.js UDP socket.send() memory usage
0.4.12 (Ubuntu 10.10)
---------------------
After socket.close():
rss=27.05 MB (-2.52 MB) heapUsed=2.10 MB (-2.00 MB)
After expensive op 2:
rss=40.84 MB (+30.37 MB) heapUsed=21.54 MB (+20.06 MB)
After 32.50s:
@morkai
morkai / results-ubuntu.txt
Created October 5, 2012 13:22
node.js cwd on Windows
root@ubuntu:/workspace/node/cwd# uname -a
Linux ubuntu 2.6.35-30-generic #61-Ubuntu SMP Tue Oct 11 15:29:15 UTC 2011 i686 GNU/Linux
root@ubuntu:/workspace/node/cwd# node -v
v0.8.11
root@ubuntu:/workspace/node/cwd# node test-node.js
Test 1
exec cmd = node cwd.js
exec cwd = undefined
FAILED (AS IT SHOULD) :>
expected process cwd =
@morkai
morkai / modbus-serial.js
Last active December 25, 2015 19:39
h5.modbus: Example of using RTU transport and serial connection
var SerialPort = require('serialport').SerialPort;
var modbus = require('h5.modbus');
var serialPort = new SerialPort('COM8', {
baudRate: 9600
});
serialPort.write = function(data)
{
console.log('TX:', data);
@morkai
morkai / sp-rtu.js
Created October 17, 2013 20:50
Send MODBUS RTU frame through SerialPort.
var SerialPort = require('serialport').SerialPort;
var serialPort = new SerialPort('COM8', {
baudRate: 9600
});
serialPort.on('open', function()
{
var req = new Buffer([0xf5, 0x01, 0x00, 0x00, 0x00, 0x08, 0x28, 0xb8]);
@morkai
morkai / modbus-read-uint16.js
Created March 10, 2014 17:03
Example of reading 9 holding registers from a MODBUS slave and displaying them in console as 9 unsigned 16-bit integers.
var modbus = require('h5.modbus');
var master = modbus.createMaster();
master.once('connected', function()
{
var t1 = master.readHoldingRegisters(0, 9, {
interval: 2000
});
@morkai
morkai / modbus-write-random-registers.js
Created March 12, 2014 17:08
Example of continously writing random unsigned 16-bit integers to random number of holding registers.
var modbus = require('h5.modbus');
var master = modbus.createMaster();
master.once('connected', writeRandomRegisters.bind(null, master));
function writeRandomRegisters(master)
{
var registerCount = Math.round(Math.random() * 9) + 1;
var registerData = new Buffer(registerCount * 2);
var modbus = require('h5.modbus');
var master = modbus.createMaster({
// Unit used in transations that don't have an explicit `unit` option.
defaultUnit: 7
});
master.once('connected', writeRandomRegisters.bind(null, master));
function writeRandomRegisters(master)
var fs = require('fs');
const EV_KEY = 0x01;
const EV_TYPES = ['up', 'down', 'repeat'];
const EV_KEYS = {
'0': 'RESERVED',
'1': 'ESC',
'2': '1',
'3': '2',
'4': '3',
@morkai
morkai / modbus-ascii-read.js
Last active August 29, 2015 14:04
h5.modbus: Example of using the ASCII transport with the serial connection
var SerialPort = require('serialport').SerialPort;
var modbus = require('h5.modbus');
var serialPort = new SerialPort('COM1', {
baudRate: 9600
});
serialPort.write = function(data)
{
console.log('TX:', data);
//var SerialPort = require('serialport').SerialPort;
var BufferQueueReader = require('h5.buffers').BufferQueueReader;
//var serialPort = new SerialPort(/* setup */);
var serialPort = new process.EventEmitter();
var MODE_WAITING_FOR_FRAME = 0;
var MODE_READING_DATA = 1;
var REGISTER_LENGTH = 2;
var CHECKSUM_LENGTH = 2;