overthesun / simoc-sam

Live backend for SAM at Biosphere 2
2 stars 1 forks source link

Add SAM functional diagram via mermaid #83

Open fcarbogn opened 7 months ago

fcarbogn commented 7 months ago
flowchart RL
subgraph ide6 [OPS]
I[webmail]
L[/UB-LINK\]
M[sam-ctrl-1]
N[sam-ctrl-2]
O[\SAM OPS/]
end

subgraph ide0 [HAB]
subgraph ide1 [MY]
E{{sambridge1}}
F{{sambridge2}}
G[\SAM HAB/]
H[/UB-LINK\]
Q[sam-hab-1]
end
subgraph ide2 [CQ]
B{samrpi2}
end
subgraph ide3 [EB]
C{samrpi3}
P[sam-hab-2]
end
subgraph ide4 [TM]
D{samrpi4}
end
subgraph ide5 [LL]
A{samrpi1}
end

A <-. mesh .-> B
A <-. mesh .-> D
B <-. mesh .-> C
A <-. mesh .-> C
B <-. mesh .-> D
C<-. mesh .-> D
A <-. mesh .-> E
A <-. mesh .-> F
B <-. mesh .-> E
C<-. mesh .-> E
C<-. mesh .-> F
D<-. mesh .-> E
D<-. mesh .-> F
E<-. mesh .-> F
E<---> G
F<---> G
G<--> H
P<-.->G
Q<--->G

H<==>L
I<-->L
I<-->O
I<-->M
O<-.->M
O<-.->N

classDef box font-weight: bolder;
class ide0,ide1,ide2,ide3,ide4,ide5,ide6 box;
end

%% Legend
H ~~~ legend
subgraph legend [Legend]
direction LR
X{samrpiX} ~~~ |RaspberryPi 0| n
Y{{sambridgeX}} ~~~ |RaspberryPi 4| n
Z[sam-X-X] ~~~ |Linux Workstation| n
R[/UB-LINK\] ~~~ |Ubiquity Antennas| n
S[\SAM XXX/] ~~~ |Linksys Router| n

classDef hide fill:#0000,stroke:#0000,stroke-width:0px,color:#0000;
classDef small font-size:9px;
class legend,n hide;
class X,Y,Z,R,S small
end
ezio-melotti commented 7 months ago

I tried to tweak it a bit to make it look more like the real map. I still need to fix the legend, the classes, and tweak a few more things.

flowchart LR
subgraph B2
  direction TB

  subgraph OPS
    direction LR
    WM[webmail]
    UBO[/UB-LINK\]
   SC1[sam-ctrl-1]
   SC2[sam-ctrl-2]
   RO[\SAM OPS/]
  end

  subgraph HAB
    direction LR

    subgraph MY
      UBM[/UB-LINK\]
      RH[\SAM HAB/]
      SB1{{sambridge1}}
      %% SB2{{sambridge2}}
      SH1[sam-hab-1]
    end

    subgraph CQ
      Z2{samrpi2}
    end

    subgraph EB
      SH2[sam-hab-2]
      Z3{samrpi3}
    end

    subgraph TM
        Z4{samrpi4}
    end

    subgraph LL
        Z1{samrpi1}
    end
  end
end

%% OPS
UBO<-->WM
WM<-->RO
WM<-->SC1
RO<-.->SC1
RO<-.->SC2

%% OPS <-> MY
UBO<==>UBM

%% MY
UBM<-->RH
RH<-->SB1
RH<-.->SH1
RH<--->SH2

%% MESH
SB1<-.->Z2
SB1<-..->Z3
SB1<-...->Z4
SB1<-...->Z1

Z2<-.->Z3
Z2<-..->Z4
Z2<-..->Z1

Z3<-.->Z4
Z3<-.->Z1

Z4<-..->Z1

classDef box font-weight: bolder;
class ide0,ide1,ide2,ide3,ide4,ide5,ide6 box;

%% Legend
UBM ~~~ legend
subgraph legend [Legend]
    direction LR
    X{samrpiX} ~~~ |RaspberryPi 0| n
    Y{{sambridgeX}} ~~~ |RaspberryPi 4| n
    Z[sam-X-X] ~~~ |Linux Workstation| n
    R[/UB-LINK\] ~~~ |Ubiquity Antennas| n
    S[\SAM XXX/] ~~~ |Linksys Router| n

    classDef hide fill:#0000,stroke:#0000,stroke-width:0px,color:#0000;
    classDef small font-size:9px;
    class legend,n hide;
    class X,Y,Z,R,S small
end