Pwm
public
interface
Pwm
implements
Closeable
com.google.android.things.pio.Pwm |
Known Indirect Subclasses |
Controls a PWM pin.
Opening a PWM pin takes ownership of it for the whole system, preventing anyone else from
opening/accessing the PWM until you call close()
. Forgetting to call close()
will
prevent anyone (including the same process/app) from using the PWM.
Summary
Public methods | |
---|---|
abstract
void
|
close()
Releases the PWM pin. |
default
String
|
getName()
Returns the I/O name. |
abstract
void
|
setEnabled(boolean enabled)
Enables the PWM pin. |
abstract
void
|
setPwmDutyCycle(double duty_cycle)
Sets the duty cycle. |
abstract
void
|
setPwmFrequencyHz(double freq_hz)
Sets the frequency of the signal. |
Inherited methods | |
---|---|
From
interface
java.io.Closeable
| |
From
interface
java.lang.AutoCloseable
|
Public methods
close
void close ()
Releases the PWM pin.
This must be called in order for the PWM pin to be released and be available to other users. Closing a PWM does not change its state, for example if it is closed while enabled, it will continue to output the same PWM signal until another user opens it and changes its state.
Throws | |
---|---|
IOException |
if the PWM is already closed. |
setEnabled
void setEnabled (boolean enabled)
Enables the PWM pin.
Frequency must be set via setPwmFrequencyHz(double)
before enabling the pin, but
frequency and duty cycle settings can be set in both enabled and disabled state and
will be remembered if the PWM is disabled and then re-enabled.
Parameters | |
---|---|
enabled |
boolean : True to enable the PWM, false to disable. |
Throws | |
---|---|
IOException |
setPwmDutyCycle
void setPwmDutyCycle (double duty_cycle)
Sets the duty cycle.
Parameters | |
---|---|
duty_cycle |
double : A double between 0 and 100 (inclusive). |
Throws | |
---|---|
|
IOException |
IllegalArgumentException |
|
IOException |
setPwmFrequencyHz
void setPwmFrequencyHz (double freq_hz)
Sets the frequency of the signal.
Parameters | |
---|---|
freq_hz |
double : Frequency in Hertz to use for the signal. Must be positive. |
Throws | |
---|---|
|
IOException |
IllegalArgumentException |
|
IOException |
Interfaces
Classes