Fix DMA stream ID calculation in ws2812_pwm (#10008)
Some STM32 chips have STM32_DMA1_STREAM1 as the first DMA stream, others (F4xx, F7xx, H7xx) have STM32_DMA1_STREAM0. Instead of those names, use STM32_DMA_STREAM(0), which should always give the first stm32_dma_stream_t structure in the DMA streams array, so that the stream ID would be calculated correctly.
This commit is contained in:
		
							parent
							
								
									1de39e5632
								
							
						
					
					
						commit
						15df82cdf3
					
				
					 1 changed files with 1 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -180,7 +180,7 @@ void ws2812_init(void) {
 | 
			
		|||
 | 
			
		||||
    // Configure DMA
 | 
			
		||||
    // dmaInit(); // Joe added this
 | 
			
		||||
    dmaStreamAlloc(WS2812_DMA_STREAM - STM32_DMA1_STREAM1, 10, NULL, NULL);
 | 
			
		||||
    dmaStreamAlloc(WS2812_DMA_STREAM - STM32_DMA_STREAM(0), 10, NULL, NULL);
 | 
			
		||||
    dmaStreamSetPeripheral(WS2812_DMA_STREAM, &(WS2812_PWM_DRIVER.tim->CCR[WS2812_PWM_CHANNEL - 1]));  // Ziel ist der An-Zeit im Cap-Comp-Register
 | 
			
		||||
    dmaStreamSetMemory0(WS2812_DMA_STREAM, ws2812_frame_buffer);
 | 
			
		||||
    dmaStreamSetTransactionSize(WS2812_DMA_STREAM, WS2812_BIT_N);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue