#[derive(Debug, Copy, Clone, Ord, PartialOrd, Eq, PartialEq, Hash)]
#[derive(Deserialize, Serialize)]
#[serde(deny_unknown_fields)]
pub enum IntelligentInputOutputController
{
IntelligentInputOutput(IntelligentInputOutputProgrammingInterface),
}
impl IntelligentInputOutputController
{
#[inline(always)]
pub(crate) fn programming_interface(self) -> u8
{
use self::IntelligentInputOutputController::*;
match self
{
IntelligentInputOutput(programming_interface) => programming_interface.programming_interface(),
}
}
#[inline(always)]
pub(crate) fn parse(value: u8, programming_interface: u8) -> Option<Self>
{
use self::IntelligentInputOutputController::*;
match value
{
0x00 => programming_interface!(IntelligentInputOutput, programming_interface, IntelligentInputOutputProgrammingInterface),
_ => None,
}
}
#[inline(always)]
pub(crate) fn minor(self) -> u8
{
use self::IntelligentInputOutputController::*;
match self
{
IntelligentInputOutput(_) => 0x00,
}
}
}