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, } }