How to tie the adafruit_neopixel library and the VirtualWire in the arduino?

Faced with the problem of interaction libraries for WS2812 strips and rf transmitter for 433 Mhz. It turned out that adafruit_neopixel during amprace data to tape does not allow any interrupts, in the end, the RF receiver just can't protoclete nothing in Arduino.
Once added to the sketch line of pixels.show(); to display the WS2812 strips, each part of the programme shuts up tightly. Probably because quite often the feed updates are coming.
Please help for setting up the interaction color LED strip and rf transmitter. As a variant, by two arduin to the bridge. What is better to choose the Protocol to the minimum of interruption used?
July 4th 19 at 23:06
1 answer
July 4th 19 at 23:08
To retrain VirtualWire to use Timer2? Note that Timer2 8-bit, it may not be enough. In theory, you need to replace all the registers related to the timer functions vw_setup(), replace the handler for the interrupt SIGNAL(TIMER1_COMPA_vect), and to improve the function of _timer_calc(), because different timers the prescaler values are different.

You can still look for another library for the WS2812. This, it seems, does not use timers, only Assembly language magic:
https://github.com/cpldcpu/light_ws2812
Oh, nyashno! Feel this library. And timer try to pick. Thank you) - Lottie27 commented on July 4th 19 at 23:11
as it turned out, the neopixel library disables all interrupts while sending data to tape. The transfer of the library to the timer 2 has not helped. As soon as I deduce on a tape data rf channel shuts up.
Please advise how to get out of the situation to over the air data to obtain and drive them on the ws2812 ? - Lottie27 commented on July 4th 19 at 23:14
the same is observed with virtuoso library light_ws mentioned above. Symptom one to one.
any exit of this stack?) - Lottie27 commented on July 4th 19 at 23:17
to do this alternately. Interviewed a radio sent data to the tape. It is necessary to watch how long it takes both of how often to update where the code is paused, you can do something useful. - Sherwood_Larson commented on July 4th 19 at 23:20
the feed is updated quite often. I'm on a course don't even have the speed controller to render zaplanirovanno) - Lottie27 commented on July 4th 19 at 23:23
: then don't hassle with Arduino, get something powerful.
On the Stm32, for example, you can manage WS-s with a couple of timers, and DMA, all without the brain. Or via UART and, again, DMA. - Sherwood_Larson commented on July 4th 19 at 23:26
: I too topstory to curb stm (( - Lottie27 commented on July 4th 19 at 23:29
By hook or by crook =)
Korazim two Arduino. The first radio, the second controls the tapes. The connection between them via UART or SPI to less cpu cycles to spend on data transmission. - Sherwood_Larson commented on July 4th 19 at 23:32
: a great option. But I think SPI would be faster? ) - Lottie27 commented on July 4th 19 at 23:35
: it's not even that bright, and that works in hardware. You can not detracting to send data to WS, and at this time SPI will accept another byte. - Sherwood_Larson commented on July 4th 19 at 23:38
understood. thank you - Lottie27 commented on July 4th 19 at 23:41

Find more questions by tags Arduino