import React from "react";
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
import { HardwareMetadata, Interconnect } from "../hardware-metadata";
import { groupedMetadata, InterconnectDetails } from "./hardware-utils";
interface InterconnectTabsProps {
items: HardwareMetadata[];
}
function mapInterconnect(interconnect: Interconnect) {
let content = require(`@site/src/data/interconnects/${interconnect.id}/design_guideline.md`);
let imageUrl = require(`@site/docs/assets/interconnects/${interconnect.id}/pinout.png`);
return (
{interconnect.node_labels && (
<>
The following node labels are available:
-
GPIO:
&{interconnect.node_labels.gpio}
{interconnect.node_labels.i2c && (
-
I2C bus:
&{interconnect.node_labels.i2c}
)}
{interconnect.node_labels.spi && (
-
SPI bus:
&{interconnect.node_labels.spi}
)}
{interconnect.node_labels.uart && (
-
UART:
&{interconnect.node_labels.uart}
)}
{interconnect.node_labels.adc && (
-
ADC:
&{interconnect.node_labels.adc}
)}
>
)}
);
}
function mapInterconnectValue(interconnect: Interconnect) {
return { label: `${interconnect.name} Shields`, value: interconnect.id };
}
function InterconnectTabs({ items }: InterconnectTabsProps) {
let grouped = Object.values(groupedMetadata(items).interconnects)
.map((i) => i?.interconnect as Interconnect)
.filter((i) => i?.design_guideline)
.sort((a, b) => a.id.localeCompare(b.id));
return (
{grouped.map(mapInterconnect)}
);
}
export default InterconnectTabs;