Package com.diozero.internal
Class SoftwarePwmOutputDevice
java.lang.Object
com.diozero.internal.spi.AbstractDevice
com.diozero.internal.SoftwarePwmOutputDevice
- All Implemented Interfaces:
DeviceInterface
,GpioDeviceInterface
,PwmOutputDeviceInterface
,Closeable
,AutoCloseable
,Runnable
public class SoftwarePwmOutputDevice extends AbstractDevice implements PwmOutputDeviceInterface, Runnable
Generate a very poor approximation of a PWM signal - use at your own risk!
All timing is in milliseconds hence it is strongly recommend to use a
frequency of 50Hz to minimise integer rounding errors.
-
Constructor Summary
Constructors Constructor Description SoftwarePwmOutputDevice(String key, DeviceFactoryInterface deviceFactory, GpioDigitalOutputDeviceInterface digitalOutputDevice, int frequency, float initialValue)
-
Method Summary
Methods inherited from class com.diozero.internal.spi.AbstractDevice
close, getDeviceFactory, getKey, isOpen
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.diozero.api.DeviceInterface
close, getKey, isOpen
Methods inherited from interface com.diozero.internal.spi.PwmOutputDeviceInterface
getMode
-
Constructor Details
-
SoftwarePwmOutputDevice
public SoftwarePwmOutputDevice(String key, DeviceFactoryInterface deviceFactory, GpioDigitalOutputDeviceInterface digitalOutputDevice, int frequency, float initialValue)
-
-
Method Details
-
start
public void start() -
stop
public void stop() -
run
public void run() -
closeDevice
protected void closeDevice()- Specified by:
closeDevice
in classAbstractDevice
-
getValue
public float getValue()Description copied from interface:PwmOutputDeviceInterface
Get the current PWM output value (0..1)- Specified by:
getValue
in interfacePwmOutputDeviceInterface
- Returns:
- Range is 0..1
-
setValue
public void setValue(float value)Description copied from interface:PwmOutputDeviceInterface
Set the PWM output value (0..1)- Specified by:
setValue
in interfacePwmOutputDeviceInterface
- Parameters:
value
- Relative value in the range 0..1
-
getGpio
public int getGpio()- Specified by:
getGpio
in interfaceGpioDeviceInterface
-
getPwmNum
public int getPwmNum()Description copied from interface:PwmOutputDeviceInterface
Get the device PWM output device number- Specified by:
getPwmNum
in interfacePwmOutputDeviceInterface
- Returns:
- Device native PWM output
-