// I/O Resources available from a PocketBeagle Remote I/O Server // Copyright (C)2023, Philip Munts dba Munts Technologies. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are met: // // * Redistributions of source code must retain the above copyright notice, // this list of conditions and the following disclaimer. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE // POSSIBILITY OF SUCH DAMAGE. namespace IO.Objects.RemoteIO.Platforms { /// /// I/O resources (channel numbers) available on a BeagleBone Remote I/O /// Protocol Server /// public static class PocketBeagle { /// /// Analog input channel number for the remote PocketBeagle 1.8V analog /// input AIN0 at pin P1.19. /// public const int AIN0 = 0; /// /// Analog input channel number for the remote PocketBeagle 1.8V analog /// input AIN1 at pin P1.21. /// public const int AIN1 = 1; /// /// Analog input channel number for the remote PocketBeagle 1.8V analog /// input AIN2 at pin P1.23. /// public const int AIN2 = 2; /// /// Analog input channel number for the remote PocketBeagle 1.8V analog /// input AIN3 at pin P1.24. /// public const int AIN3 = 3; /// /// Analog input channel number for the remote PocketBeagle 1.8V analog /// input AIN4 at pin P1.25. /// public const int AIN4 = 4; /// /// Analog input channel number for the remote PocketBeagle 3.6V analog /// input AIN5 at pin P2.35. /// /// /// Conflicts with GPIO86. /// public const int AIN5 = 5; /// /// Analog input channel number for the remote PocketBeagle 3.6V analog /// input AIN6 at pin P1.2. /// /// /// Conflicts with GPIO87. /// public const int AIN6 = 6; /// /// Analog input channel number for the remote PocketBeagle 1.8V analog /// input AIN7 at pin P2.36. /// public const int AIN7 = 7; /// /// GPIO channel number for the remote PocketBeagle user LED. /// /// /// This GPIO channel cannot be configured as an input. /// public const int USERLED = 0; /// /// GPIO channel number for the remote PocketBeagle GPIO pin /// GPIO2 at pin P1.8. /// /// /// Conflicts with SPI0 SCLK. /// public const int GPIO2 = 2; /// /// GPIO channel number for the remote PocketBeagle GPIO pin /// GPIO3 at pin P1.10. /// /// /// Conflicts with SPI0 MISO. /// public const int GPIO3 = 3; /// /// GPIO channel number for the remote PocketBeagle GPIO pin /// GPIO4 at pin P1.12. /// /// /// Conflicts with SPI0 MOSI. /// public const int GPIO4 = 4; /// /// GPIO channel number for the remote PocketBeagle GPIO pin /// GPIO5 at pin P1.6. /// /// /// Conflicts with SPI0 CS0. /// public const int GPIO5 = 5; /// /// GPIO channel number for the remote PocketBeagle GPIO pin /// GPIO7 at pin P2.29. /// /// /// Conflicts with SPI1 SCLK. /// public const int GPIO7 = 7; /// /// GPIO channel number for the remote PocketBeagle GPIO pin /// GPIO12 at pin P1.26. /// /// /// Conflicts with I2C2 SDA. /// public const int GPIO12 = 12; /// /// GPIO channel number for the remote PocketBeagle GPIO pin /// GPIO13 at pin P1.28. /// /// /// Conflicts with I2C2 SCL. /// public const int GPIO13 = 13; /// /// GPIO channel number for the remote PocketBeagle GPIO pin /// GPIO14 at pin P2.11. /// /// /// Conflicts with I2C1 SDA. /// public const int GPIO14 = 14; /// /// GPIO channel number for the remote PocketBeagle GPIO pin /// GPIO15 at pin P2.9. /// /// /// Conflicts with I2C1 SCL. /// public const int GPIO15 = 15; /// /// GPIO channel number for the remote PocketBeagle GPIO pin /// GPIO19 at pin P2.31. /// /// /// Conflicts with SPI1 CS1. /// public const int GPIO19 = 19; /// /// GPIO channel number for the remote PocketBeagle GPIO pin /// GPIO20 at pin P1.20. /// public const int GPIO20 = 20; /// /// GPIO channel number for the remote PocketBeagle GPIO pin /// GPIO23 at pin P2.3. /// public const int GPIO23 = 23; /// /// GPIO channel number for the remote PocketBeagle GPIO pin /// GPIO26 at pin P1.34. /// public const int GPIO26 = 26; /// /// GPIO channel number for the remote PocketBeagle GPIO pin /// GPIO27 at pin P2.19. /// public const int GPIO27 = 27; /// /// GPIO channel number for the remote PocketBeagle GPIO pin /// GPIO30 at pin P2.5. /// /// /// Conflicts with RXD4. /// public const int GPIO30 = 30; /// /// GPIO channel number for the remote PocketBeagle GPIO pin /// GPIO31 at pin P2.7. /// /// /// Conflicts with TXD4. /// public const int GPIO31 = 31; /// /// GPIO channel number for the remote PocketBeagle GPIO pin /// GPIO40 at pin P2.27. /// /// /// Conflicts with SPI1 MISO. /// public const int GPIO40 = 40; /// /// GPIO channel number for the remote PocketBeagle GPIO pin /// GPIO41 at pin P2.25. /// /// /// Conflicts with SPI1 MOSI. /// public const int GPIO41 = 41; /// /// GPIO channel number for the remote PocketBeagle GPIO pin /// GPIO42 at pin P1.32. /// /// /// Conflicts with RXD0. /// public const int GPIO42 = 42; /// /// GPIO channel number for the remote PocketBeagle GPIO pin /// GPIO43 at pin P1.30. /// /// /// Conflicts with TXD0. /// public const int GPIO43 = 43; /// /// GPIO channel number for the remote PocketBeagle GPIO pin /// GPIO44 at pin P2.24. /// public const int GPIO44 = 44; /// /// GPIO channel number for the remote PocketBeagle GPIO pin /// GPIO45 at pin P2.33. /// public const int GPIO45 = 45; /// /// GPIO channel number for the remote PocketBeagle GPIO pin /// GPIO46 at pin P2.22. /// public const int GPIO46 = 46; /// /// GPIO channel number for the remote PocketBeagle GPIO pin /// GPIO47 at pin P2.18. /// public const int GPIO47 = 47; /// /// GPIO channel number for the remote PocketBeagle GPIO pin /// GPIO50 at pin P2.1. /// /// /// Conflicts with PWM2:0. /// public const int GPIO50 = 50; /// /// GPIO channel number for the remote PocketBeagle GPIO pin /// GPIO52 at pin P2.10. /// public const int GPIO52 = 52; /// /// GPIO channel number for the remote PocketBeagle GPIO pin /// GPIO57 at pin P2.6. /// public const int GPIO57 = 57; /// /// GPIO channel number for the remote PocketBeagle GPIO pin /// GPIO58 at pin P2.4. /// public const int GPIO58 = 58; /// /// GPIO channel number for the remote PocketBeagle GPIO pin /// GPIO59 at pin P2.2. /// public const int GPIO59 = 59; /// /// GPIO channel number for the remote PocketBeagle GPIO pin /// GPIO60 at pin P2.8. /// public const int GPIO60 = 60; /// /// GPIO channel number for the remote PocketBeagle GPIO pin /// GPIO64 at pin P2.20. /// public const int GPIO64 = 64; /// /// GPIO channel number for the remote PocketBeagle GPIO pin /// GPIO65 at pin P2.17. /// public const int GPIO65 = 65; /// /// GPIO channel number for the remote PocketBeagle GPIO pin /// GPIO86 at pin P2.35. /// /// /// Conflicts with AIN5. /// public const int GPIO86 = 86; /// /// GPIO channel number for the remote PocketBeagle GPIO pin /// GPIO87 at pin P1.2. /// /// /// Conflicts with AIN6. /// public const int GPIO87 = 87; /// /// GPIO channel number for the remote PocketBeagle GPIO pin /// GPIO88 at pin P1.35. /// public const int GPIO88 = 88; /// /// GPIO channel number for the remote PocketBeagle GPIO pin /// GPIO89 at pin P1.4. /// public const int GPIO89 = 89; /// /// GPIO channel number for the remote PocketBeagle GPIO pin /// GPIO110 at pin P1.36. /// /// /// Conflicts with PWM0:0. /// public const int GPIO110 = 110; /// /// GPIO channel number for the remote PocketBeagle GPIO pin /// GPIO111 at pin P1.33. /// public const int GPIO111 = 111; /// /// GPIO channel number for the remote PocketBeagle GPIO pin /// GPIO112 at pin P2.32. /// public const int GPIO112 = 112; /// /// GPIO channel number for the remote PocketBeagle GPIO pin /// GPIO113 at pin P2.30. /// public const int GPIO113 = 113; /// /// GPIO channel number for the remote PocketBeagle GPIO pin /// GPIO114 at pin P1.31. /// public const int GPIO114 = 114; /// /// GPIO channel number for the remote PocketBeagle GPIO pin /// GPIO115 at pin P2.34. /// public const int GPIO115 = 115; /// /// GPIO channel number for the remote PocketBeagle GPIO pin /// GPIO116 at pin P2.28. /// public const int GPIO116 = 116; /// /// GPIO channel number for the remote PocketBeagle GPIO pin /// GPIO117 at pin P1.29. /// public const int GPIO117 = 117; /// /// I2C bus channel number for the remote BeagleBone /// I2C bus I2C at pins P2.9 and /// P2.11. /// /// /// Conflicts with GPIO14 and GPIO15. /// public const int I2C1 = 1; /// /// I2C bus channel number for the remote BeagleBone /// I2C bus I2C at pins P1.26 and /// P1.28. /// /// /// Conflicts with GPIO12 and GPIO13. /// public const int I2C2 = 2; /// /// PWM output channel number for the remote PocketBeagle PWM output /// PWM0_0 at pin P1.36 /// /// /// Conflicts with GPIO110. /// public const int PWM0_0 = 0; /// /// PWM output channel number for the remote PocketBeagle PWM output /// PWM2_0 at pin P2.1 /// /// /// Conflicts with GPIO50. /// public const int PWM2_0 = 1; /// /// SPI slave channel number for the remote PocketBeagle SPI slave select /// SPI0_0 at pin P1.6 /// /// /// Conflicts with GPIO5. /// public const int SPI0_0 = 0; /// /// SPI slave channel number for the remote PocketBeagle SPI slave select /// SPI1_1 at pin P2.31 /// /// /// Conflicts with GPIO19. /// public const int SPI1_1 = 1; } }