BBBCSIO

The OutputPortFS Class

 

The OutputPortFS Class

The OutputPortFS class is designed to set the state (high or low) of a GPIO pin on the Beaglebone Black via a SYSFS access method. The maximum output rate has been observed to be in the range of about 1.2KHz. The OutputPortMM class is a similar version of this class which uses Memory Mapped access.

 

Source Code

The source code for this class is available online for download and also in browseable form.

 

Example Code

Example code which demonstrates the use of this class can be found on the Output Port Example page.

 

Syntax

public class OutputPortFS : PortFS, IDisposable

Provides output port functionality for a BeagleBone Black (SYSFS Version).

 

Public Constructors

public OutputPortFS(GpioEnum gpioIDIn) : base(gpioIDIn)

Constructor.

Parameters
gpioIDIn - The GPIO the port will access.

 

Public Methods

public override void ClosePort()

Closes the port. Throws an exception on failure, including if the port is already closed. This is really just doing the equivalent of a shell command echo <gpioID> > /sys/class/gpio/unexport after which the /sys/class/gpio/gpio<gpioID> directory should not exist.

 

public void Dispose()

Implements IDisposable. Should be called after the class is closed to release resources.

 

public override PortDirectionEnum PortDirection()

Gets the PortDirection

Returns
A PortDirectionEnum value. This value is always PortDirectionEnum.PORTDIR_INPUT.

 

public bool Read()

Gets the port value (high or low) as a boolean. This is really just doing the equivalent of a shell command echo <value_as_string> > /sys/class/gpio/gpio<gpioID>/value

Returns
true, the GPIO pin is at a high voltage level. false - GPIO pin is at a low voltage level.

 

public void Write(bool valueToSet)

Sets the port state. This is really just doing the equivalent of a shell command echo <value_as_string> > /sys/class/gpio/gpio<gpioID>/value

Parameters
true, set the GPIO pin to a high voltage level. false - set the GPIO pin to a low voltage level.

 

Public Properties

public GpioConfig GpioCfgObject { get; }

Gets the objects gpioCfgObject. There is no set accessor. This object is built in the constructor

value
The working gpioID.

 

public GpioEnum GpioID { get; }

Gets the objects gpioID. There is no set accessor. This value is set in the constructor

value
The working gpioID.