// 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;
}
}