Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/saintedlama/pixoo-soup
Display a soup of pixels on your Divoom Pixoo. Should work on other Divoom devices as well.
https://github.com/saintedlama/pixoo-soup
Last synced: 3 months ago
JSON representation
Display a soup of pixels on your Divoom Pixoo. Should work on other Divoom devices as well.
- Host: GitHub
- URL: https://github.com/saintedlama/pixoo-soup
- Owner: saintedlama
- License: mit
- Created: 2021-07-05T05:39:07.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2021-07-05T05:48:24.000Z (over 3 years ago)
- Last Synced: 2024-09-13T04:23:48.343Z (4 months ago)
- Language: JavaScript
- Size: 7.81 KB
- Stars: 3
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Pixoo Soup
Display a soup of pixels on your Divoom Pixoo. Should work on other Divoom devices as well.
This library uses a lot of code from https://github.com/RomRider/node-divoom-timebox-evo .
## Usage
```bash
npm i pixoo-soup
``````js
import { display, connect } from "pixoo-soup";async function displayRunningPixel(deviceAddress) {
// Connect
const connection = await connect(deviceAddress);const colors = ["000000", "00ff00"]; // array containing colors
for (let i=0;i<256;i++) {
const pixels = new Array(256).fill(0); // 256 length, color index references// set the pixel at i to color 1 (00ff00)
pixels[i] = 1;// Display
await display({ colors, pixels }, (buffer) => connection.write(buffer));// Give the pixoo some time to catch up
await sleep(20);
}// disconnect
connection.close();
}function sleep(timeoutMs) {
return new Promise((resolve) => setTimeout(resolve, timeoutMs));
}displayRunningPixel(process.argv[2])
.then(() => console.log("Hope you had fun with the pixel soup show!"));
```## API
### async display({ colors, pixels }, writeBufferFn)
Displays the image object containing a `colors` and `pixels` fields on the Pixoo using the `writeBufferFn`.
### Buffer[] toImageBuffers({ colors, pixels })
Low level function to transform the image object argument containing `colors` and `pixels` fields to a buffer
array that can be sent to a Pixoo device via bluetooth.### connect(address)
Establishes a blootooth connection and returns a connection object to write buffers and to close the connection.
```js
{
async write(buffer) {}
close() {}
}
```