Merge remote-tracking branch 'origin/master' into develop
This commit is contained in:
		
						commit
						39ed48f7a7
					
				
					 1 changed files with 17 additions and 21 deletions
				
			
		| 
						 | 
				
			
			@ -67,19 +67,27 @@ void ws2812_setleds(LED_TYPE *ledarray, uint16_t number_of_leds) {
 | 
			
		|||
#define w_onecycles (((F_CPU / 1000) * w_onepulse + 500000) / 1000000)
 | 
			
		||||
#define w_totalcycles (((F_CPU / 1000) * w_totalperiod + 500000) / 1000000)
 | 
			
		||||
 | 
			
		||||
// w1 - nops between rising edge and falling edge - low
 | 
			
		||||
#define w1 (w_zerocycles - w_fixedlow)
 | 
			
		||||
// w2   nops between fe low and fe high
 | 
			
		||||
#define w2 (w_onecycles - w_fixedhigh - w1)
 | 
			
		||||
// w3   nops to complete loop
 | 
			
		||||
#define w3 (w_totalcycles - w_fixedtotal - w1 - w2)
 | 
			
		||||
 | 
			
		||||
#if w1 > 0
 | 
			
		||||
#    define w1_nops w1
 | 
			
		||||
// w1_nops - nops between rising edge and falling edge - low
 | 
			
		||||
#if w_zerocycles >= w_fixedlow
 | 
			
		||||
#    define w1_nops (w_zerocycles - w_fixedlow)
 | 
			
		||||
#else
 | 
			
		||||
#    define w1_nops 0
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
// w2_nops - nops between fe low and fe high
 | 
			
		||||
#if w_onecycles >= (w_fixedhigh + w1_nops)
 | 
			
		||||
#    define w2_nops (w_onecycles - w_fixedhigh - w1_nops)
 | 
			
		||||
#else
 | 
			
		||||
#    define w2_nops 0
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
// w3_nops - nops to complete loop
 | 
			
		||||
#if w_totalcycles >= (w_fixedtotal + w1_nops + w2_nops)
 | 
			
		||||
#    define w3_nops (w_totalcycles - w_fixedtotal - w1_nops - w2_nops)
 | 
			
		||||
#else
 | 
			
		||||
#    define w3_nops 0
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
// The only critical timing parameter is the minimum pulse length of the "0"
 | 
			
		||||
// Warn or throw error if this timing can not be met with current F_CPU settings.
 | 
			
		||||
#define w_lowtime ((w1_nops + w_fixedlow) * 1000000) / (F_CPU / 1000)
 | 
			
		||||
| 
						 | 
				
			
			@ -90,18 +98,6 @@ void ws2812_setleds(LED_TYPE *ledarray, uint16_t number_of_leds) {
 | 
			
		|||
#    warning "Please consider a higher clockspeed, if possible"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if w2 > 0
 | 
			
		||||
#    define w2_nops w2
 | 
			
		||||
#else
 | 
			
		||||
#    define w2_nops 0
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if w3 > 0
 | 
			
		||||
#    define w3_nops w3
 | 
			
		||||
#else
 | 
			
		||||
#    define w3_nops 0
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define w_nop1 "nop      \n\t"
 | 
			
		||||
#define w_nop2 "rjmp .+0 \n\t"
 | 
			
		||||
#define w_nop4 w_nop2 w_nop2
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue