mirror of https://github.com/ARMmbed/mbed-os.git
				
				
				
			pwmout - TMPM46B - add read methods for period and pulsewidth
							parent
							
								
									067431e088
								
							
						
					
					
						commit
						7388ff8b43
					
				| 
						 | 
				
			
			@ -80,7 +80,7 @@ void pwmout_free(pwmout_t *obj)
 | 
			
		|||
{
 | 
			
		||||
    // Stops and clear count operation
 | 
			
		||||
    TMRB_SetRunState(obj->channel, TMRB_STOP);
 | 
			
		||||
    pwmout_write(obj,0);
 | 
			
		||||
    pwmout_write(obj, 0);
 | 
			
		||||
    obj->channel = NULL;
 | 
			
		||||
    obj->trailing_timing = 0;
 | 
			
		||||
    obj->leading_timing = 0;
 | 
			
		||||
| 
						 | 
				
			
			@ -169,7 +169,7 @@ void pwmout_period_us(pwmout_t *obj, int us)
 | 
			
		|||
    // Restore the duty-cycle
 | 
			
		||||
    duty_cycle = (float)((obj->trailing_timing - obj->leading_timing) / obj->trailing_timing);
 | 
			
		||||
    obj->trailing_timing = cycles;
 | 
			
		||||
    obj->leading_timing = ((cycles)- (uint16_t)(cycles * duty_cycle));
 | 
			
		||||
    obj->leading_timing = ((cycles) - (uint16_t)(cycles * duty_cycle));
 | 
			
		||||
 | 
			
		||||
    // Change the source clock division and period
 | 
			
		||||
    m_tmrb.Mode = TMRB_INTERVAL_TIMER;
 | 
			
		||||
| 
						 | 
				
			
			@ -192,6 +192,11 @@ void pwmout_period_us(pwmout_t *obj, int us)
 | 
			
		|||
    TMRB_SetRunState(obj->channel, TMRB_RUN);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int pwmout_read_period_us(pwmout_t *obj)
 | 
			
		||||
{
 | 
			
		||||
    return obj->trailing_timing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void pwmout_pulsewidth(pwmout_t *obj, float seconds)
 | 
			
		||||
{
 | 
			
		||||
    pwmout_pulsewidth_us(obj, (seconds * 1000000.0f));
 | 
			
		||||
| 
						 | 
				
			
			@ -212,6 +217,11 @@ void pwmout_pulsewidth_us(pwmout_t *obj, int us)
 | 
			
		|||
    pwmout_write(obj, value);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int pwmout_read_pulsewidth_us(pwmout_t *obj)
 | 
			
		||||
{
 | 
			
		||||
    return obj->trailing_timing - obj->leading_timing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const PinMap *pwmout_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_PWM;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue