// I/O Resources available from a BeagleBone 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 BeagleBone { /// /// Analog input channel number for the remote BeagleBone 1.8V analog /// input AIN0 at pin P9.39. /// public const int AIN0 = 0; /// /// Analog input channel number for the remote BeagleBone 1.8V analog /// input AIN1 at pin P9.40. /// public const int AIN1 = 1; /// /// Analog input channel number for the remote BeagleBone 1.8V analog /// input AIN2 at pin P9.37. /// public const int AIN2 = 2; /// /// Analog input channel number for the remote BeagleBone 1.8V analog /// input AIN3 at pin P9.38. /// public const int AIN3 = 3; /// /// Analog input channel number for the remote BeagleBone 1.8V analog /// input AIN4 at pin P9.33. /// public const int AIN4 = 4; /// /// Analog input channel number for the remote BeagleBone 1.8V analog /// input AIN5 at pin P9.36. /// public const int AIN5 = 5; /// /// Analog input channel number for the remote BeagleBone 1.8V analog /// input AIN6 at pin P9.35. /// public const int AIN6 = 6; /// /// GPIO channel number for the remote BeagleBone user LED. /// /// /// This GPIO channel cannot be configured as an input. /// public const int USERLED = 0; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO2 at pin P9.22. /// /// /// Conflicts with EHRPWM0B, SPI0 SCK or /// UART2 RXD. /// public const int GPIO2 = 2; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO3 at pin P9.21. /// /// /// Conflicts with SPI0 MISO or UART2 TXD. /// public const int GPIO3 = 3; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO4 at pin P9.18. /// /// /// Conflicts with SPI0 MOSI. /// public const int GPIO4 = 4; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO5 at pin P9.17. /// /// /// Conflicts with SPI0 SS0. /// public const int GPIO5 = 5; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO7 at pin P9.42. /// /// /// Conflicts with SPI1 SS1. /// public const int GPIO7 = 7; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO8 at pin P8.35. /// public const int GPIO8 = 8; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO9 at pin P8.33. /// public const int GPIO9 = 9; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO10 at pin P8.31. /// public const int GPIO10 = 10; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO11 at pin P8.32. /// public const int GPIO11 = 11; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO12 at pin P9.20. /// /// /// Conflicts with I2C2 SDA. /// public const int GPIO12 = 12; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO13 at pin P9.19. /// /// /// Conflicts with I2C2 SCL. /// public const int GPIO13 = 13; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO14 at pin P9.26. /// /// /// Conflicts with UART1 RXD. /// public const int GPIO14 = 14; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO15 at pin P9.24. /// /// /// Conflicts with UART1 TXD. /// public const int GPIO15 = 15; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO20 at pin P9.41. /// public const int GPIO20 = 20; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO22 at pin P8.19. /// /// /// Conflicts with EHRPWM2A. /// public const int GPIO22 = 22; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO23 at pin P8.13. /// /// /// Conflicts with EHRPWM2B. /// public const int GPIO23 = 23; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO26 at pin P8.14. /// public const int GPIO26 = 26; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO27 at pin P8.17. /// public const int GPIO27 = 27; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO30 at pin P9.11. /// /// /// Conflicts with UART4 RXD. /// public const int GPIO30 = 30; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO31 at pin P9.13. /// /// /// Conflicts with UART4 TXD. /// public const int GPIO31 = 31; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO32 at pin P8.25. /// /// /// Conflicts with MMC1 DAT0. /// public const int GPIO32 = 32; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO33 at pin P8.24. /// /// /// Conflicts with MMC1 DAT1. /// public const int GPIO33 = 33; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO34 at pin P8.5. /// /// /// Conflicts with MMC1 DAT2. /// public const int GPIO34 = 34; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO35 at pin P8.6. /// /// /// Conflicts with MMC1 DAT3. /// public const int GPIO35 = 35; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO36 at pin P8.23. /// /// /// Conflicts with MMC1 DAT4. /// public const int GPIO36 = 36; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO37 at pin P8.22. /// /// /// Conflicts with MMC1 DAT5. /// public const int GPIO37 = 37; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO38 at pin P8.3. /// /// /// Conflicts with MMC1 DAT6. /// public const int GPIO38 = 38; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO39 at pin P8.4. /// /// /// Conflicts with MMC1 DAT7. /// public const int GPIO39 = 39; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO44 at pin P8.12. /// public const int GPIO44 = 44; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO45 at pin P8.11. /// public const int GPIO45 = 45; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO46 at pin P8.16. /// public const int GPIO46 = 46; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO47 at pin P8.15. /// public const int GPIO47 = 47; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO48 at pin P9.15. /// public const int GPIO48 = 48; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO49 at pin P9.23. /// public const int GPIO49 = 49; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO50 at pin P9.14. /// /// /// Conflicts with EHRPWM1A. /// public const int GPIO50 = 50; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO51 at pin P9.16. /// /// /// Conflicts with EHRPWM1B. /// public const int GPIO51 = 51; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO60 at pin P9.12. /// public const int GPIO60 = 60; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO61 at pin P8.26. /// public const int GPIO61 = 61; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO62 at pin P8.21. /// /// /// Conflicts with MMC1 CLK. /// public const int GPIO62 = 62; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO63 at pin P8.20. /// /// /// Conflicts with MMC1 CMD. /// public const int GPIO63 = 63; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO65 at pin P8.18. /// public const int GPIO65 = 65; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO66 at pin P8.7. /// public const int GPIO66 = 66; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO67 at pin P8.8. /// public const int GPIO67 = 67; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO68 at pin P8.10. /// public const int GPIO68 = 68; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO69 at pin P8.9. /// public const int GPIO69 = 69; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO70 at pin P8.45. /// /// /// Conflicts with EHRPWM2A. /// public const int GPIO70 = 70; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO71 at pin P8.46. /// /// /// Conflicts with EHRPWM2B. /// public const int GPIO71 = 71; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO72 at pin P8.43. /// public const int GPIO72 = 72; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO73 at pin P8.44. /// public const int GPIO73 = 73; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO74 at pin P8.41. /// public const int GPIO74 = 74; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO75 at pin P8.42. /// public const int GPIO75 = 75; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO76 at pin P8.39. /// public const int GPIO76 = 76; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO77 at pin P8.40. /// public const int GPIO77 = 77; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO78 at pin P8.37. /// /// /// Conflicts with UART5 TXD. /// public const int GPIO78 = 78; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO79 at pin P8.38. /// /// /// Conflicts with UART5 RXD. /// public const int GPIO79 = 79; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO80 at pin P8.36. /// /// /// Conflicts with EHRPWM1A. /// public const int GPIO80 = 80; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO81 at pin P8.34. /// /// /// Conflicts with EHRPWM1B. /// public const int GPIO81 = 81; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO86 at pin P8.27. /// public const int GPIO86 = 86; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO87 at pin P8.29. /// public const int GPIO87 = 87; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO88 at pin P8.28. /// public const int GPIO88 = 88; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO89 at pin P8.30. /// public const int GPIO89 = 89; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO110 at pin P9.31. /// /// /// Conflicts with EHRPWM0A or SPI1 SCLK. /// public const int GPIO110 = 110; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO111 at pin P9.29. /// /// /// Conflicts with SPI1 MISO. /// public const int GPIO111 = 111; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO112 at pin P9.30. /// /// /// Conflicts with SPI1 MOSI. /// public const int GPIO112 = 112; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO113 at pin P9.28. /// /// /// Conflicts with SPI1 SS0. /// public const int GPIO113 = 113; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO115 at pin P9.27. /// public const int GPIO115 = 115; /// /// GPIO channel number for the remote BeagleBone GPIO pin /// GPIO117 at pin P9.25. /// public const int GPIO117 = 117; /// /// I2C bus channel number for the remote BeagleBone /// I2C bus at pins P9.19 and P9.20. /// /// /// Conflicts with GPIO12 and GPIO13. /// public const int I2C2 = 0; /// /// PWM output channel number for the remote BeagleBone PWM output /// EHRPWM1A at pins P8.36 or P9.14. /// public const int EHRPWM1A = 0; /// /// PWM output channel number for the remote BeagleBone PWM output /// EHRPWM1B at pins P8.34 or P9.16. /// public const int EHRPWM1B = 1; /// /// PWM output channel number for the remote BeagleBone PWM output /// EHRPWM2A at pins P8.19 or P8.45. /// public const int EHRPWM2A = 2; /// /// PWM output channel number for the remote BeagleBone PWM output /// EHRPWM2B at pins P8.13 or P8.46. /// public const int EHRPWM2B = 3; /// /// SPI slave channel number for the remote BeagleBone SPI slave select /// SPI1_0 at pin P9.28 /// public const int SPI1_0 = 0; /// /// SPI slave channel number for the remote BeagleBone SPI slave select /// SPI1_1 at pin P9.42 /// public const int SPI1_1 = 1; /// /// SPI slave channel number for the remote BeagleBone SPI slave select /// SPI0_0 at pin P9.17 /// public const int SPI0_0 = 2; } }