Limit max frequency to 64k

This commit is contained in:
Blaz Kristan 2024-03-08 18:11:40 +01:00
parent 99a7bece2e
commit f2ad10bbce
2 changed files with 10 additions and 10 deletions

View File

@ -167,12 +167,12 @@ void handleSettingsSet(AsyncWebServerRequest *request, byte subPage)
uint16_t freq = request->arg(sp).toInt();
if (IS_PWM(type)) {
switch (freq) {
case 0 : freq = WLED_PWM_FREQ/2; break;
case 1 : freq = WLED_PWM_FREQ*2/3; break;
case 0 : freq = WLED_PWM_FREQ/2; break;
case 1 : freq = WLED_PWM_FREQ*2/3; break;
default:
case 2 : freq = WLED_PWM_FREQ; break;
case 3 : freq = WLED_PWM_FREQ*2; break;
case 4 : freq = WLED_PWM_FREQ*4; break;
case 2 : freq = WLED_PWM_FREQ; break;
case 3 : freq = WLED_PWM_FREQ*2; break;
case 4 : freq = WLED_PWM_FREQ*10/3; break; // uint16_t max (19531 * 3.333)
}
} else if (IS_DIGITAL(type) && IS_2PIN(type)) {
switch (freq) {

View File

@ -402,12 +402,12 @@ void getSettingsJS(byte subPage, char* dest)
uint16_t speed = bus->getFrequency();
if (IS_PWM(bus->getType())) {
switch (speed) {
case WLED_PWM_FREQ/2 : speed = 0; break;
case WLED_PWM_FREQ*2/3 : speed = 1; break;
case WLED_PWM_FREQ/2 : speed = 0; break;
case WLED_PWM_FREQ*2/3 : speed = 1; break;
default:
case WLED_PWM_FREQ : speed = 2; break;
case WLED_PWM_FREQ*2 : speed = 3; break;
case WLED_PWM_FREQ*4 : speed = 4; break;
case WLED_PWM_FREQ : speed = 2; break;
case WLED_PWM_FREQ*2 : speed = 3; break;
case WLED_PWM_FREQ*10/3 : speed = 4; break; // uint16_t max (19531 * 3.333)
}
} else if (IS_DIGITAL(bus->getType()) && IS_2PIN(bus->getType())) {
switch (speed) {