package com.uxxu.konashi.lib.util; import com.uxxu.konashi.lib.Konashi; import java.util.Arrays; /** * Created by izumin on 9/18/15. */ public final class PwmUtils { private PwmUtils() { throw new AssertionError("constructor of the utility class should not be called"); } public static boolean isValidPin(int pin) { return (pin >= Konashi.PIO0) && (pin <= Konashi.PIO2); } public static boolean isValidMode(int mode) { return (mode == Konashi.PWM_ENABLE) || (mode == Konashi.PWM_DISABLE) || (mode == Konashi.PWM_ENABLE_LED_MODE); } public static boolean isValidPeriod(int period, int duty) { return (period >= 0) && (duty >= 0) && (duty <= period); } public static boolean isValidDuty(int duty, int period) { return isValidPeriod(period, duty); } public static boolean isValidDutyRatio(float dutyRatio) { return dutyRatio >= 0.0 && dutyRatio <= 100.0; } public static int getPwmDuty(byte[] value) { byte[] bytes = Arrays.copyOfRange(value, 1, value.length); return KonashiUtils.bytes2int(bytes); } public static int getPwmPeriod(byte[] value) { byte[] bytes = Arrays.copyOfRange(value, 1, value.length); return KonashiUtils.bytes2int(bytes); } }