namespace Unosquare.WiringPi
{
using System;
///
/// Defines all the available Wiring Pi Pin Numbers.
///
public enum WiringPiPin
{
///
/// Unknown WiringPi pin.
///
Unknown = -1,
///
/// WiringPi pin 0.
///
Pin00 = 0,
///
/// WiringPi pin 1.
///
Pin01 = 1,
///
/// WiringPi pin 2.
///
Pin02 = 2,
///
/// WiringPi pin 3.
///
Pin03 = 3,
///
/// WiringPi pin 4.
///
Pin04 = 4,
///
/// WiringPi pin 5.
///
Pin05 = 5,
///
/// WiringPi pin 6.
///
Pin06 = 6,
///
/// WiringPi pin 7.
///
Pin07 = 7,
///
/// WiringPi pin 8.
///
Pin08 = 8,
///
/// WiringPi pin 9.
///
Pin09 = 9,
///
/// WiringPi pin 10.
///
Pin10 = 10,
///
/// WiringPi pin 11.
///
Pin11 = 11,
///
/// WiringPi pin 12.
///
Pin12 = 12,
///
/// WiringPi pin 13.
///
Pin13 = 13,
///
/// WiringPi pin 14.
///
Pin14 = 14,
///
/// WiringPi pin 15.
///
Pin15 = 15,
///
/// WiringPi pin 16.
///
Pin16 = 16,
///
/// WiringPi pin 17.
///
Pin17 = 17,
///
/// WiringPi pin 18.
///
Pin18 = 18,
///
/// WiringPi pin 19.
///
Pin19 = 19,
///
/// WiringPi pin 20.
///
Pin20 = 20,
///
/// WiringPi pin 21.
///
Pin21 = 21,
///
/// WiringPi pin 22.
///
Pin22 = 22,
///
/// WiringPi pin 23.
///
Pin23 = 23,
///
/// WiringPi pin 24.
///
Pin24 = 24,
///
/// WiringPi pin 25.
///
Pin25 = 25,
///
/// WiringPi pin 26.
///
Pin26 = 26,
///
/// WiringPi pin 27.
///
Pin27 = 27,
///
/// WiringPi pin 28.
///
Pin28 = 28,
///
/// WiringPi pin 29.
///
Pin29 = 29,
///
/// WiringPi pin 30.
///
Pin30 = 30,
///
/// WiringPi pin 31.
///
Pin31 = 31,
}
///
/// Defines the different pin capabilities.
///
[Flags]
public enum PinCapability
{
///
/// General Purpose capability: Digital and Analog Read/Write
///
GP = 0x01,
///
/// General Purpose Clock (not PWM)
///
GPCLK = 0x02,
///
/// i2c data channel
///
I2CSDA = 0x04,
///
/// i2c clock channel
///
I2CSCL = 0x08,
///
/// SPI Master Out, Slave In channel
///
SPIMOSI = 0x10,
///
/// SPI Master In, Slave Out channel
///
SPIMISO = 0x20,
///
/// SPI Clock channel
///
SPICLK = 0x40,
///
/// SPI Chip Select Channel
///
SPICS = 0x80,
///
/// UART Request to Send Channel
///
UARTRTS = 0x100,
///
/// UART Transmit Channel
///
UARTTXD = 0x200,
///
/// UART Receive Channel
///
UARTRXD = 0x400,
///
/// Hardware Pule Width Modulation
///
PWM = 0x800,
}
///
/// The PWM mode.
///
public enum PwmMode
{
///
/// PWM pulses are sent using mark-sign patterns (old school)
///
MarkSign = 0,
///
/// PWM pulses are sent as a balanced signal (default, newer mode)
///
Balanced = 1,
}
///
/// Defines GPIO controller initialization modes.
///
internal enum ControllerMode
{
///
/// The not initialized
///
NotInitialized,
///
/// The direct with wiring pi pins
///
DirectWithWiringPiPins,
///
/// The direct with BCM pins
///
DirectWithBcmPins,
///
/// The direct with header pins
///
DirectWithHeaderPins,
///
/// The file stream with hardware pins
///
FileStreamWithHardwarePins,
}
}