New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

oxyzen-sdk

Package Overview
Dependencies
Maintainers
1
Versions
31
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

oxyzen-sdk

OxyZenSdk for NodeJS

latest
npmnpm
Version
0.2.5
Version published
Weekly downloads
1
Maintainers
1
Weekly downloads
 
Created
Source

OxyzenSDK NodeJS

Requirement

  • BLE 4.2 or later
  • Mac 10.15 or later
  • Windows 10 build 10.0.15063 or later
  • Raspberrypi OS 5.10
  • NodeJS >=12.18.0 | >=14.17.0 | >=16.13.0

Integration

package.json

"dependencies": {
    "oxyzen-sdk": "^0.0.17"
},

Usage

Init

let _ozSDK;
async function initSDK(onAdapterStateChanged) {
  if (_ozSDK) return;
  OzLogger.i('OzSDK.init');

  // eslint-disable-next-line require-atomic-updates
  _ozSDK = await OzSDK.init(OZLogLevel.enum('info')); //info/error/warn
  _ozSDK.on('error', (e) => _runErrorCB(e));
  _ozSDK.on('onAdapterStateChanged', async (available) => {
    if (available) {
    //   if (ozDeviceMap.size > 0) _startReconnectTimer();
    } else {
      _runErrorCB(OZError.enum('ble_power_off'));
      await stopScan();
      //NOTE: 在ozDeviceMap中保留,不删除,用于设备重连
      ozDeviceMap.forEach(device => device.disconnect(false));
    }
    if (onAdapterStateChanged) onAdapterStateChanged(available);
  });
  if (_ozSDK.adapter.available) onAdapterStateChanged(true);
  OzLogger.i('OzSDK.init done');
};

(async function main() {
    OzLogger.i('------------- Example Main -------------');
    await initSDK(async (adapterAvailable) => {
        if (adapterAvailable) await startScan();
    });
})();

Scan 扫描

首次配对新设备时,需要先将头环设置为配对模式-->蓝灯快闪

_ozSDK.startScan(async device => { 
    console.log(`found device, [${p.name}] ${p.address}`);
});

Connect 连接

device.listener = exampleListener;
await device.connect();

Disconnect 断开连接

// disconnect device
await device.disconnect();

async function disposeSDK(cb) {
  disconnectAll();
  await OzSDK.dispose();
  _ozSDK = null;
  if (cb) cb();
};

// when exit application, disconnect all devices & clean resources
process.on('SIGINT', async () => {
    OzLogger.i({ message: `SIGINT signal received.` });
    await disposeSDK();
    OzLogger.i('End program');
    process.exit(0);
});

async function disconnectAll() {
  ozDeviceMap.forEach(device => device.disconnect());
  ozDeviceMap.clear();
  await stopScan();
}

ENUM

// 头环连接状态
const CONNECTIVITY = createEnum({
    connecting: 0,
    connected: 1,
    disconnecting: 2,
    disconnected: 3,
});
// 佩戴状态,电极与皮肤接触良好

// 佩戴方向,检测是否佩戴反
const ORIENTATION = createEnum({
    unknown: 0,
    normal: 1,     //头环戴正
    upsideDown: 2, //头环戴反
});

StartIMU 开启传输陀螺仪数据

device.listener = exampleListener;
device.startIMU();

More

class ZenliteDevice {
    id, 
    name, 
    connectivity,
    connect()
    disconnect()
    pair(cb)
    startEEG(cb)
    stopEEG(cb)
    startIMU(cb)
    stopIMU(cb)
    startPPG(cb)
    stopPPG(cb)
    shutdown(cb)
    // @param name length should be 4 ~ 18
    setDeviceName(name, cb)
}

Oxyzen Docs

see[https://www.brainco-hz.com/docs/oxyzen-sdk/]

FAQs

Package last updated on 07 Nov 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts