// Copyright (C)2017-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
{
///
/// Remote I/O protocol message types
///
public enum MessageTypes
{
///
/// Loopback request
///
LOOPBACK_REQUEST,
///
/// Loopback response
///
LOOPBACK_RESPONSE,
///
/// Version string request
///
VERSION_REQUEST,
///
/// Version string response
///
VERSION_RESPONSE,
///
/// Capability string request
///
CAPABILITY_REQUEST,
///
/// Capability string response
///
CAPABILITY_RESPONSE,
///
/// GPIO pins available request
///
GPIO_PRESENT_REQUEST,
///
/// GPIO pins available response
///
GPIO_PRESENT_RESPONSE,
///
/// GPIO pins configure request
///
GPIO_CONFIGURE_REQUEST,
///
/// GPIO pins configure response
///
GPIO_CONFIGURE_RESPONSE,
///
/// GPIO pins read request
///
GPIO_READ_REQUEST,
///
/// GPIO pins read response
///
GPIO_READ_RESPONSE,
///
/// GPIO pins write request
///
GPIO_WRITE_REQUEST,
///
/// GPIO pins write response
///
GPIO_WRITE_RESPONSE,
///
/// I2C buses available request
///
I2C_PRESENT_REQUEST,
///
/// I2C buses available response
///
I2C_PRESENT_RESPONSE,
///
/// I2C bus configure request
///
I2C_CONFIGURE_REQUEST,
///
/// I2C bus configure response
///
I2C_CONFIGURE_RESPONSE,
///
/// I2C bus transaction request
///
I2C_TRANSACTION_REQUEST,
///
/// I2C bus transaction response
///
I2C_TRANSACTION_RESPONSE,
///
/// SPI slave devices available request
///
SPI_PRESENT_REQUEST,
///
/// SPI slave devices available response
///
SPI_PRESENT_RESPONSE,
///
/// SPI slave device configure request
///
SPI_CONFIGURE_REQUEST,
///
/// SPI slave device configure response
///
SPI_CONFIGURE_RESPONSE,
///
/// SPI bus transaction request
///
SPI_TRANSACTION_REQUEST,
///
/// SPI bus transaction response
///
SPI_TRANSACTION_RESPONSE,
///
/// ADC inputs available request
///
ADC_PRESENT_REQUEST,
///
/// ADC inputs available response
///
ADC_PRESENT_RESPONSE,
///
/// ADC input configure request
///
ADC_CONFIGURE_REQUEST,
///
/// ADC input configure response
///
ADC_CONFIGURE_RESPONSE,
///
/// ADC input read request
///
ADC_READ_REQUEST,
///
/// ADC input read response
///
ADC_READ_RESPONSE,
///
/// DAC outputs available request
///
DAC_PRESENT_REQUEST,
///
/// DAC outputs available response
///
DAC_PRESENT_RESPONSE,
///
/// DAC output configure request
///
DAC_CONFIGURE_REQUEST,
///
/// DAC output configure response
///
DAC_CONFIGURE_RESPONSE,
///
/// DAC output write request
///
DAC_WRITE_REQUEST,
///
/// DAC output write response
///
DAC_WRITE_RESPONSE,
///
/// PWM outputs available request
///
PWM_PRESENT_REQUEST,
///
/// PWM outputs available response
///
PWM_PRESENT_RESPONSE,
///
/// PWM input configure request
///
PWM_CONFIGURE_REQUEST,
///
/// PWM input configure response
///
PWM_CONFIGURE_RESPONSE,
///
/// PWM output write request
///
PWM_WRITE_REQUEST,
///
/// PWM output write response
///
PWM_WRITE_RESPONSE,
}
}