MattIPv4 / divoom-control

A little script/CLI for controlling Divoom devices (Pixoo etc.)
85 stars 10 forks source link

Slow load and doesn't seem to end #3

Open icepick3000 opened 3 years ago

icepick3000 commented 3 years ago

Hi,

This is one and only github project i so far got working with my pixoo max. I am running it on a raspberry 3. I got 2 questions about the script (maybe i am using it the wrong way, not very familiar with node);

When I issue node cli.js display-image -a 11:75:58:78:D4:DA -f exp.gif it takes about 10 seconds to load and display the image. Is this a normal loadtime? And after it shows the image the program doesn't seem to end (need to stop it with ctrl-c). Am I doing something wrong? Or is this expected behaviour?

Regards, Alex van Es

MattIPv4 commented 3 years ago

When I issue node cli.js display-image -a 11:75:58:78:D4:DA -f exp.gif it takes about 10 seconds to load and display the image.

Yeah the sounds reasonable, and is a similar amount of time to what the app itself takes to transmit data to the device.

And after it shows the image the program doesn't seem to end (need to stop it with ctrl-c). Am I doing something wrong? Or is this expected behaviour?

It definitely should exit cleanly once it has finished broadcasting all the required data and has closed the Bluetooth connection. How long are we talking here before you feel you need to manually exit it? If you just leave it, does it eventually exit on its own?

icepick3000 commented 3 years ago

Hi Matt,

Thanks for getting back to me. I usually hit the ctrl-c after about 5 mins. Is there any way I could make it quit right after sending? I want use your script in a batch file for displaying information but i would need to have it to quit on it' own.

Alex

soeren487 commented 3 years ago

Hi Matt,

thanks for sharing this little great piece of code on github! As Alex, I am facing the same issue that the program does not end in 95% of the executions.

$ node src/cli.js display-color -a XX:XX:XX:XX:XX:XX -c ff00ff -b 100 [LOCAL]: Connection 0/3: Connected [DIVOOM]: 1Ud� ^C

The color changes but after printing the return msg of the Pixoo the program freezes. I also hit Ctrl-C. Tried it once for 30 minutes. Do you have an idea where to start research?

Best Soeren

MattIPv4 commented 3 years ago

One option might be to update the code to forcibly call process.exit() once it has run the logic, just in case something in the background is closing properly. My late night guess without having dug into this at all is probably that the Bluetooth connection isn't terminating cleanly, which causes the program to remain running.