Fix wrong range of duty cycle (#1353)
The esp-idf expects duty values for the the sigma delta modulator in the range of -128 to 127 The arduino framework is supposed to use the range 0-255 thus the offset caclulation was wrong.
This commit is contained in:
parent
f14de5cf14
commit
dd639c4a02
@ -60,7 +60,7 @@ void sigmaDeltaWrite(uint8_t channel, uint8_t duty) //chan 0-7 duty 8 bit
|
|||||||
if(channel > 7) {
|
if(channel > 7) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
duty += 128;
|
duty -= 128;
|
||||||
SD_MUTEX_LOCK();
|
SD_MUTEX_LOCK();
|
||||||
SIGMADELTA.channel[channel].duty = duty;
|
SIGMADELTA.channel[channel].duty = duty;
|
||||||
SD_MUTEX_UNLOCK();
|
SD_MUTEX_UNLOCK();
|
||||||
@ -72,7 +72,7 @@ uint8_t sigmaDeltaRead(uint8_t channel) //chan 0-7
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
SD_MUTEX_LOCK();
|
SD_MUTEX_LOCK();
|
||||||
uint8_t duty = SIGMADELTA.channel[channel].duty - 128;
|
uint8_t duty = SIGMADELTA.channel[channel].duty + 128;
|
||||||
SD_MUTEX_UNLOCK();
|
SD_MUTEX_UNLOCK();
|
||||||
return duty;
|
return duty;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user