RaspberryIO_26/Unosquare.WiringPi/Enums.cs
2019-12-04 18:57:18 +01:00

290 lines
5.7 KiB
C#

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