1.3.0 • Published 9 months ago

dvb-ble-manager v1.3.0

Weekly downloads
-
License
ISC
Repository
github
Last release
9 months ago

DVBDeviceBLE Library

A JavaScript library for interfacing with Bluetooth LE devices supporting DVB and MCU management services.

Installation

npm install @capacitor-community/bluetooth-le cbor2

Initialize class

import DVBDeviceBLE from './DVBDeviceBLE';

// Initialize with custom logger (optional)
const device = new DVBDeviceBLE({
  logger: {
    info: console.log,
    error: console.error,
  },
});

// Setup event handlers
device
  .onConnecting(() => console.log('Connecting...'))
  .onConnect(() => console.log('Connected'))
  .onDisconnect(() => console.log('Disconnected'))
  .onMessage((message) => console.log('Message received:', message))
  .onImageUploadProgress((progress) =>
    console.log(`Upload progress: ${progress}%`)
  )
  .onImageUploadFinished(() => console.log('Upload complete'));

// Connect to device (with optional filters)
try {
  await device.connect([
    { name: 'MyDevice' }, // Filter by device name
    // Add more filters as needed
  ]);
} catch (error) {
  console.error('Connection failed:', error);
}

Device Information

// Get device info
await device.setDeviceInfo();

const info = {
  shortName: device.getShortName(),
  serialNumber: device.getSerialNumber(),
  firmwareVersion: device.getFirmwareVersion(),
  hardwareVersion: device.getHardwareVersion(),
};

MCU Management

// Basic commands
await device.cmdReset();
await device.smpEcho('test message');

// Image operations
await device.cmdImageState();
await device.cmdImageErase();

// Image upload with hash verification
const imageData = new Uint8Array([
  /* your image data */
]);
await device.cmdUpload(imageData);
const imageInfo = await device.imageInfo(imageData);
await device.cmdImageTest(imageInfo.hash);
await device.cmdImageConfirm(imageInfo.hash);

Device Filtering Examples

// Filter by device name
await device.connect([{ name: 'MyDevice' }]);

// Filter by prefix
await device.connect([{ namePrefix: 'DVB-' }]);

// Multiple filters
await device.connect([
  { name: 'MyDevice' },
  { namePrefix: 'DVB-' },
  { services: [device.DVB_SERVICE_UUID] },
]);

Custom Error Logging

const device = new DVBDeviceBLE({
  logger: {
    info: (msg) => console.log('[DVB]', msg),
    error: (msg) => console.error('[DVB]', msg),
  },
});

Contributing

Carlos Fontes e Sousa

1.3.0

9 months ago

1.1.11

9 months ago

1.1.10

10 months ago

1.2.0

10 months ago

1.1.8

1 year ago

1.1.1

1 year ago

1.1.0

1 year ago

1.1.7

1 year ago

1.1.6

1 year ago

1.1.5

1 year ago

1.1.4

1 year ago

1.1.3

1 year ago

1.1.2

1 year ago

1.0.9

1 year ago

1.0.8

1 year ago

1.0.10

1 year ago

1.0.14

1 year ago

1.0.13

1 year ago

1.0.12

1 year ago

1.0.7

3 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago