package com.uxxu.konashi.lib.dispatcher; import com.uxxu.konashi.lib.KonashiUUID; import com.uxxu.konashi.lib.store.PwmStore; import com.uxxu.konashi.lib.util.PwmUtils; import java.util.UUID; /** * Created by izumin on 9/18/15. */ public enum PwmStoreUpdater implements CharacteristicDispatcher.Updater<PwmStore> { MODE(KonashiUUID.PWM_CONFIG_UUID) { @Override public void update(PwmStore store, byte[] value) { store.setModes(value[0]); } }, PERIOD(KonashiUUID.PWM_PARAM_UUID) { @Override public void update(PwmStore store, byte[] value) { int pin = value[0]; int period = PwmUtils.getPwmPeriod(value); store.setPeriod(pin, period); } }, DUTY(KonashiUUID.PWM_DUTY_UUID) { @Override public void update(PwmStore store, byte[] value) { int pin = value[0]; int duty = PwmUtils.getPwmDuty(value); store.setDuty(pin, duty); } }; private final UUID mUuid; PwmStoreUpdater(UUID uuid) { mUuid = uuid; } public UUID getUuid() { return mUuid; } }