From c7baa007203c4fea6ab14b697276bcf78dc9d06a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A1szl=C3=B3=20Monda?= Date: Sun, 14 Jan 2018 18:33:14 +0100 Subject: [PATCH] Add get-uptime.js --- packages/usb/get-i2c-baud-rate.js | 3 --- packages/usb/get-uptime.js | 25 +++++++++++++++++++++++++ packages/usb/uhk.js | 1 + 3 files changed, 26 insertions(+), 3 deletions(-) create mode 100755 packages/usb/get-uptime.js diff --git a/packages/usb/get-i2c-baud-rate.js b/packages/usb/get-i2c-baud-rate.js index 6fdd106c..2dd0c38e 100755 --- a/packages/usb/get-i2c-baud-rate.js +++ b/packages/usb/get-i2c-baud-rate.js @@ -3,9 +3,6 @@ const path = require('path'); const uhk = require('./uhk'); const device = uhk.getUhkDevice(); -let programName = path.basename(process.argv[1]); - -let bps = process.argv[2]; let buffer = new Buffer(uhk.pushUint32([uhk.usbCommands.getDeviceProperty, uhk.devicePropertyIds.i2cBaudRate])); //console.log(buffer); device.write(uhk.getTransferData(buffer)); diff --git a/packages/usb/get-uptime.js b/packages/usb/get-uptime.js new file mode 100755 index 00000000..6f8e7c83 --- /dev/null +++ b/packages/usb/get-uptime.js @@ -0,0 +1,25 @@ +#!/usr/bin/env node +const path = require('path'); +const uhk = require('./uhk'); +const device = uhk.getUhkDevice(); + +function convertMs(milliseconds) { + let days, hours, minutes, seconds; + seconds = Math.floor(milliseconds / 1000); + minutes = Math.floor(seconds / 60); + seconds = seconds % 60; + hours = Math.floor(minutes / 60); + minutes = minutes % 60; + days = Math.floor(hours / 24); + hours = hours % 24; + return {days, hours, minutes, seconds}; +} + +let buffer = new Buffer(uhk.pushUint32([uhk.usbCommands.getDeviceProperty, uhk.devicePropertyIds.uptime])); +//console.log(buffer); +device.write(uhk.getTransferData(buffer)); +let response = device.readSync(); +//console.log(Buffer.from(response)); +let uptimeMs = uhk.getUint32(response, 1); +let uptime = convertMs(uptimeMs); +console.log(`Uptime: ${uptime.days}d ${String(uptime.hours).padStart(2, '0')}:${String(uptime.minutes).padStart(2, '0')}:${String(uptime.seconds).padStart(2, '0')}`) diff --git a/packages/usb/uhk.js b/packages/usb/uhk.js index 01f435ea..38892aaf 100644 --- a/packages/usb/uhk.js +++ b/packages/usb/uhk.js @@ -124,6 +124,7 @@ exports = module.exports = moduleExports = { configSizes: 2, currentKbootCommand: 3, i2cBaudRate: 4, + uptime: 5, }, modulePropertyIds: { protocolVersions: 0,