Replies: 3 comments 3 replies
-
There are two basic plugins, one that adds configuration of strip lengths and one that implements a Marlin style M150 command that can be used for testing. These are found in the new assorted plugins repo.
No, it only separates out the lower level APIs. The RGB (or status LED plugin) relies on the configuration plugin and can live alongside the M150 plugin - after it has been updated for the recent user M-code core change. |
Beta Was this translation helpful? Give feedback.
-
Have bumped into an interesting 'feature' of the H7 chip while looking at this (from searching online, seems it is the same on the G0 parts). At the start of a SPI transfer, if the first bit is 1, MOSI is driven high before the clock is enabled. (Have also seen MOSI delayed high at the end of a transfers in TI mode). See attached image, transferring binary This isn't an issue for real SPI data, as should only be sampled on the clock edge, but for generating neopixel timing it means the first bit of data is always interpreted as a longer 'high' level. I need to do a bit more testing, but I think the minimum workaround would be to shift the 3 bit pattern once to the right, from 110/100 to 011/010. By my reckoning, that should still generate the same data stream timing, but always starting with a 0 bit? The bit stream always ends with 0 anyway, due to the 24 bytes of padding added to As an aside, I've seen that some implementations (Zephyr for example), use 8 SPI bits per pulse, allowing the code to specify the high/low bit patterns. This does use more memory, but has the advantage that the bit pattern can be tweaked to better suit available SPI rates. Might be important on STM32 at least where you can only half/double the prescaler rates? Just something to consider.. |
Beta Was this translation helpful? Give feedback.
-
I've updated the neopixel SPI code for the H7 driver, all seems to be working as expected now. FYI - there were a few notable differences from the F7 driver.
Have definitely learnt some things along the way, so I will have another look at the WizNet SPI support.. |
Beta Was this translation helpful? Give feedback.
-
I've pulled the neopixel_spi support into the H7 driver with the latest updates.
As it's using DMA, will need a couple of local changes to cater for cache maintenance & alignment..
Am wondering what configuration I need to actually test it, other than defining the SPI port?
Does it replace the old 3rd party RGB plugin?
Thanks..
Beta Was this translation helpful? Give feedback.
All reactions