|  |  | @@ -37,10 +37,10 @@ void AudioFilterBiquad::update(void) | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | block = receiveWritable(); | 
		
	
		
			
			|  |  |  | if (!block) return; | 
		
	
		
			
			|  |  |  | data = (uint32_t *)(block->data); | 
		
	
		
			
			|  |  |  | end = data + AUDIO_BLOCK_SAMPLES/2; | 
		
	
		
			
			|  |  |  | state = (int32_t *)definition; | 
		
	
		
			
			|  |  |  | do { | 
		
	
		
			
			|  |  |  | data = (uint32_t *)(block->data); // needs to be done inside the loop, end need not be reset. | 
		
	
		
			
			|  |  |  | a0 = *state++; | 
		
	
		
			
			|  |  |  | a1 = *state++; | 
		
	
		
			
			|  |  |  | a2 = *state++; | 
		
	
	
		
			
			|  |  | @@ -78,14 +78,20 @@ void AudioFilterBiquad::update(void) | 
		
	
		
			
			|  |  |  | release(block); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | void AudioFilterBiquad::updateCoefs(int *source, bool doReset) | 
		
	
		
			
			|  |  |  | void AudioFilterBiquad::updateCoefs(uint8_t set,int *source, bool doReset) | 
		
	
		
			
			|  |  |  | { | 
		
	
		
			
			|  |  |  | int32_t *dest=(int32_t *)definition; | 
		
	
		
			
			|  |  |  | int32_t *src=(int32_t *)source; | 
		
	
		
			
			|  |  |  | while(set) | 
		
	
		
			
			|  |  |  | { | 
		
	
		
			
			|  |  |  | *dest+=7; | 
		
	
		
			
			|  |  |  | if(!(*dest&0x80000000)) return; | 
		
	
		
			
			|  |  |  | *dest++; | 
		
	
		
			
			|  |  |  | set--; | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | __disable_irq(); | 
		
	
		
			
			|  |  |  | for(uint8_t index=0;index<5;index++) | 
		
	
		
			
			|  |  |  | { | 
		
	
		
			
			|  |  |  | *dest++=*src++; | 
		
	
		
			
			|  |  |  | *dest++=*source++; | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | if(doReset) | 
		
	
		
			
			|  |  |  | { | 
		
	
	
		
			
			|  |  | @@ -96,8 +102,3 @@ void AudioFilterBiquad::updateCoefs(int *source, bool doReset) | 
		
	
		
			
			|  |  |  | __enable_irq(); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | void AudioFilterBiquad::updateCoefs(int *source) | 
		
	
		
			
			|  |  |  | { | 
		
	
		
			
			|  |  |  | updateCoefs(source,false); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 |