1.3.0 • Published 8 months ago

dvb-ble-manager v1.3.0

Weekly downloads
-
License
ISC
Repository
github
Last release
8 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

8 months ago

1.1.11

8 months ago

1.1.10

9 months ago

1.2.0

9 months ago

1.1.8

11 months ago

1.1.1

11 months ago

1.1.0

11 months ago

1.1.7

11 months ago

1.1.6

11 months ago

1.1.5

11 months ago

1.1.4

11 months ago

1.1.3

11 months ago

1.1.2

11 months ago

1.0.9

12 months ago

1.0.8

12 months ago

1.0.10

12 months ago

1.0.14

12 months ago

1.0.13

12 months ago

1.0.12

12 months ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 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