/*
do not edit:
auto-generated by github.com/seamia/protodot
*/
digraph protodot {
/* package: platform */
/* source: C:/Users/sle11/Documents/VSCode/squeezelite-esp32/protobuf/proto/Devices.proto */
/* selection: * */
rankdir=LR;
label="platform";
tooltip="platform";
bgcolor="transparent"
node [
shape=plaintext
fontsize=10
fontname="Ubuntu"
];
/* ------ nodes ------ */
Node_Ja_144 [shape=plaintext tooltip="platform.SPDIF" label=<
SPDIF |
| 1 | dc | GPIO |
| 2 | data | GPIO |
| 3 | clk | GPIO |
>];
Node_Ja_129 [shape=plaintext tooltip="platform.Display" label=<Display |
| 1 | type | DeviceTypeEnum |
| 2 | common | DispCommon |
dispType |
| 3 | i2c | I2CDisplay |
| 4 | spi | SPIDisplay |
|
>];
Node_Ja_121 [shape=plaintext tooltip="DACModelEnum" label=<enum DACModelEnum |
UNSPECIFIED_MODEL | 0 |
TAS57xx | 1 |
TAS5713 | 2 |
AC101 | 3 |
WM8978 | 4 |
ES8388 | 5 |
I2S | 6 |
>];
Node_Ja_141 [shape=plaintext tooltip="platform.EthSPI" label=<EthSPI |
| 1 | cs | GPIO |
| 2 | speed | int32 |
| 3 | intr | GPIO |
| 4 | host | int32 |
>];
Node_Ja_131 [shape=plaintext tooltip="platform.ButtonActions" label=<ButtonActions |
| 1 | pressed | ButtonAction |
| 2 | released | ButtonAction |
>];
Node_Ja_125 [shape=plaintext tooltip="DisplayDriverEnum" label=<enum DisplayDriverEnum |
UNSPECIFIED_DRIVER | 0 |
SSD1306 | 1 |
SSD1322 | 2 |
SSD1326 | 3 |
SSD1327 | 4 |
SH1106 | 5 |
SSD1675 | 6 |
ST7735 | 7 |
ST7789 | 8 |
ILI9341 | 9 |
ILI9341_24 | 10 |
SSD1351 | 11 |
>];
Node_Ja_109 [shape=plaintext tooltip="platform.GPIOExp" label=<GPIOExp |
| 1 | model | GPIOExpModelEnum |
| 2 | addr | int32 |
ExpType |
| 3 | i2c | GPIOExpI2C |
| 4 | spi | GPIOExpSPI |
|
| 5 | base | int32 |
| 6 | count | int32 |
| 7 | intr | GPIO |
>];
Node_Ja_127 [shape=plaintext tooltip="platform.SPIDisplay" label=<SPIDisplay |
| 1 | cs | GPIO |
| 4 | speed | int32 |
| 5 | rotate | bool |
>];
Node_Ja_101 [shape=plaintext tooltip="PortEnum" label=<enum PortEnum |
UNSPECIFIED_SYSTPORT | 0 |
SYSTEM | 1 |
DAC_PORT | 2 |
>];
Node_Ja_147 [shape=plaintext tooltip="platform.LEDStrip" label=<>];
Node_Ja_102 [shape=plaintext tooltip="HostEnum" label=<enum HostEnum |
UNSPECIFIED_HOST | 0 |
Host0 | 1 |
Host1 | 2 |
>];
Node_Ja_123 [shape=plaintext tooltip="platform.DAC" label=<DAC |
| 1 | bck | GPIO |
| 2 | ws | GPIO |
| 3 | dout | GPIO |
| 4 | mck | MCKEnum |
| 5 | mute | GPIO |
| 6 | model | DACModelEnum |
| 7 | i2c | I2CBus |
| 8 | daccontrolset | DacControlSet |
>];
Node_Ja_132 [shape=plaintext tooltip="platform.Button" label=<Button |
| 1 | gpio | GPIO |
| 2 | pull | bool |
| 3 | debounce | int32 |
| 4 | shifter | GPIO |
| 5 | longduration | int32 |
| 6 | normal | ButtonActions |
| 7 | longpress | ButtonActions |
| 8 | shifted | ButtonActions |
| 9 | longshifted | ButtonActions |
>];
Node_Ja_111 [shape=plaintext tooltip="platform.I2CBus" label=<I2CBus |
| 1 | port | I2CPortEnum |
| 2 | speed | int32 |
| 3 | sda | GPIO |
| 4 | scl | GPIO |
>];
Node_Ja_112 [shape=plaintext tooltip="platform.DacControlSet" label=<DacControlSet |
[...] | 1 | commands | ControlCommand |
>];
Node_Ja_133 [shape=plaintext tooltip="platform.KnobOnly" label=<KnobOnly |
| 1 | enable | bool |
| 2 | delay_ms | int32 |
>];
Node_Ja_118 [shape=plaintext tooltip="platform.GpioAction" label=<GpioAction |
| 1 | gpio | int32 |
| 2 | level | GpioActionLevel |
>];
Node_Ja_120 [shape=plaintext tooltip="Mode" label=<enum Mode |
REG_MODE_NOTHING | 0 |
REG_MODE_OR | 1 |
REG_MODE_AND | 2 |
>];
Node_Ja_117 [shape=plaintext tooltip="GpioActionLevel" label=<enum GpioActionLevel |
ACTION_LEVEL_UNDEFINED | 0 |
ACTION_LEVEL_1 | 1 |
ACTION_LEVEL_0 | 2 |
>];
Node_Ja_122 [shape=plaintext tooltip="MCKEnum" label=<enum MCKEnum |
UNSPECIFIED_MCK | 0 |
MCK0 | 1 |
MCK1 | 2 |
MCK2 | 3 |
>];
Node_Ja_135 [shape=plaintext tooltip="BatteryChannelEnum" label=<enum BatteryChannelEnum |
UNSPECIFIED_CH | 0 |
CH0 | 1 |
CH1 | 2 |
CH2 | 3 |
CH3 | 4 |
CH4 | 5 |
CH5 | 6 |
CH6 | 7 |
CH7 | 8 |
>];
Node_Ja_142 [shape=plaintext tooltip="platform.EthRMII" label=<>];
Node_Ja_130 [shape=plaintext tooltip="ButtonAction" label=<enum ButtonAction |
ACTRLS_NONE | 0 |
ACTRLS_POWER | 1 |
ACTRLS_VOLUP | 2 |
ACTRLS_VOLDOWN | 3 |
ACTRLS_TOGGLE | 4 |
ACTRLS_PLAY | 5 |
ACTRLS_PAUSE | 6 |
ACTRLS_STOP | 7 |
ACTRLS_REW | 8 |
ACTRLS_FWD | 9 |
ACTRLS_PREV | 10 |
ACTRLS_NEXT | 11 |
BCTRLS_UP | 12 |
BCTRLS_DOWN | 13 |
BCTRLS_LEFT | 14 |
BCTRLS_RIGHT | 15 |
BCTRLS_PS1 | 16 |
BCTRLS_PS2 | 17 |
BCTRLS_PS3 | 18 |
BCTRLS_PS4 | 19 |
BCTRLS_PS5 | 20 |
BCTRLS_PS6 | 21 |
BCTRLS_PS7 | 22 |
BCTRLS_PS8 | 23 |
BCTRLS_PS9 | 24 |
BCTRLS_PS10 | 25 |
KNOB_LEFT | 26 |
KNOB_RIGHT | 27 |
KNOB_PUSH | 28 |
ACTRLS_SLEEP | 29 |
>];
Node_Ja_119 [shape=plaintext tooltip="platform.DelayAction" label=<>];
Node_Ja_146 [shape=plaintext tooltip="platform.WS2812" label=<WS2812 |
| 1 | length | int32 |
| 2 | gpio | GPIO |
>];
Node_Ja_104 [shape=plaintext tooltip="platform.GPIO" label=<>];
Node_Ja_106 [shape=plaintext tooltip="GPIOExpModelEnum" label=<enum GPIOExpModelEnum |
UNSPECIFIED_EXP | 0 |
PCA9535 | 1 |
PCA85XX | 2 |
MCP23017 | 3 |
MCP23S17 | 4 |
>];
Node_Ja_126 [shape=plaintext tooltip="platform.I2CDisplay" label=<>];
Node_Ja_114 [shape=plaintext tooltip="ControlCommandType" label=<enum ControlCommandType |
INIT | 0 |
POWER_ON | 1 |
POWER_OFF | 2 |
SPEAKER_ON | 3 |
SPEAKER_OFF | 4 |
HEADSET_ON | 5 |
HEADSET_OFF | 6 |
>];
Node_Ja_115 [shape=plaintext tooltip="platform.ControlItem" label=<ControlItem |
item_type |
| 1 | reg_action | RegisterAction |
| 2 | gpio_action | GpioAction |
| 3 | delay_action | DelayAction |
|
>];
Node_Ja_116 [shape=plaintext tooltip="platform.RegisterAction" label=<RegisterAction |
| 1 | reg | int32 |
| 2 | val | int32 |
| 3 | mode | Mode |
>];
Node_Ja_148 [shape=plaintext tooltip="platform.Dev" label=<Dev |
| 1 | spi | SPIBus |
| 2 | i2c | I2CBus |
| 3 | dac | DAC |
| 4 | spdif | SPDIF |
| 5 | display | Display |
[...] | 6 | gpio_exp | GPIOExp |
| 7 | led_strip | LEDStrip |
| 8 | rotary | Rotary |
[...] | 9 | buttons | Button |
| 10 | eth | Eth |
| 11 | battery | Battery |
>];
Node_Ja_140 [shape=plaintext tooltip="platform.EthCommon" label=<EthCommon |
| 1 | model | EthModelEnum |
| 2 | rst | GPIO |
>];
Node_Ja_124 [shape=plaintext tooltip="platform.DispOffsets" label=<DispOffsets |
| 1 | height | int32 |
| 2 | width | int32 |
>];
Node_Ja_137 [shape=plaintext tooltip="platform.Battery" label=<Battery |
| 1 | channel | BatteryChannelEnum |
| 2 | scale | float |
| 3 | cells | int32 |
| 4 | atten | BatteryAttenEnum |
>];
Node_Ja_143 [shape=plaintext tooltip="platform.Eth" label=<Eth |
| 1 | type | DeviceTypeEnum |
| 2 | common | EthCommon |
ethType |
| 3 | spi | EthSPI |
| 4 | rmii | EthRMII |
|
>];
Node_Ja_134 [shape=plaintext tooltip="platform.Rotary" label=<Rotary |
| 1 | A | GPIO |
| 2 | B | GPIO |
| 3 | SW | GPIO |
| 4 | knobonly | KnobOnly |
| 5 | volume | bool |
| 6 | longpress | bool |
>];
Node_Ja_136 [shape=plaintext tooltip="BatteryAttenEnum" label=<enum BatteryAttenEnum |
UNSPECIFIED_ATT | 0 |
ATT_0 | 1 |
ATT_1 | 2 |
ATT_2 | 3 |
ATT_3 | 4 |
>];
Node_Ja_107 [shape=plaintext tooltip="platform.GPIOExpSPI" label=<GPIOExpSPI |
| 1 | speed | int32 |
| 2 | host | HostEnum |
| 3 | cs | GPIO |
>];
Node_Ja_128 [shape=plaintext tooltip="platform.DispCommon" label=<DispCommon |
| 1 | width | int32 |
| 2 | height | int32 |
| 3 | HFlip | bool |
| 4 | VFlip | bool |
| 5 | driver | DisplayDriverEnum |
| 6 | bitDepth | int32 |
| 7 | back | GPIO |
| 8 | reset | GPIO |
| 9 | ready | GPIO |
| 10 | offsets | DispOffsets |
>];
Node_Ja_113 [shape=plaintext tooltip="platform.ControlCommand" label=<ControlCommand |
| 1 | type | ControlCommandType |
[...] | 2 | items | ControlItem |
>];
Node_Ja_145 [shape=plaintext tooltip="platform.SPIBus" label=<SPIBus |
| 1 | mosi | GPIO |
| 2 | miso | GPIO |
| 3 | clk | GPIO |
| 4 | dc | GPIO |
| 5 | host | HostEnum |
>];
Node_Ja_100 [shape=plaintext tooltip="DeviceTypeEnum" label=<enum DeviceTypeEnum |
UNSPECIFIED_TYPE | 0 |
DEVTYPE_SPI | 1 |
DEVTYPE_I2C | 2 |
DEVTYPE__RMII | 3 |
>];
Node_Ja_108 [shape=plaintext tooltip="platform.GPIOExpI2C" label=<>];
Node_Ja_110 [shape=plaintext tooltip="I2CPortEnum" label=<enum I2CPortEnum |
UNSPECIFIED_PORT | 0 |
I2CPort0 | 1 |
I2CPort1 | 2 |
>];
Node_Ja_138 [shape=plaintext tooltip="EthModelEnum" label=<enum EthModelEnum |
UNSPECIFIED_ETHMODEL | 0 |
LAN8720 | 1 |
DM9051 | 2 |
W5500 | 3 |
>];
/* ------ connections ------ */
Node_Ja_147:poWS2812:e -> Node_Ja_146:header [color="#000000" tooltip="Ja_147 --> Ja_146"];
Node_Ja_148:pobuttons:e -> Node_Ja_132:header [color="#000000" tooltip="Ja_148 --> Ja_132"];
Node_Ja_148:poi2c:e -> Node_Ja_111:header [color="#000000" tooltip="Ja_148 --> Ja_111"];
Node_Ja_128:podriver:e -> Node_Ja_125 [color="#008000" tooltip="Ja_128 --> Ja_125"];
Node_Ja_118:polevel:e -> Node_Ja_117 [color="#008000" tooltip="Ja_118 --> Ja_117"];
Node_Ja_145:podc:e -> Node_Ja_104:header [color="#000000" tooltip="Ja_145 --> Ja_104"];
Node_Ja_137:pochannel:e -> Node_Ja_135 [color="#008000" tooltip="Ja_137 --> Ja_135"];
Node_Ja_129:potype:e -> Node_Ja_100 [color="#008000" tooltip="Ja_129 --> Ja_100"];
Node_Ja_140:porst:e -> Node_Ja_104:header [color="#000000" tooltip="Ja_140 --> Ja_104"];
Node_Ja_131:popressed:e -> Node_Ja_130 [color="#008000" tooltip="Ja_131 --> Ja_130"];
Node_Ja_143:pocommon:e -> Node_Ja_140:header [color="#000000" tooltip="Ja_143 --> Ja_140"];
Node_Ja_143:potype:e -> Node_Ja_100 [color="#008000" tooltip="Ja_143 --> Ja_100"];
Node_Ja_109:pomodel:e -> Node_Ja_106 [color="#008000" tooltip="Ja_109 --> Ja_106"];
Node_Ja_132:ponormal:e -> Node_Ja_131:header [color="#000000" tooltip="Ja_132 --> Ja_131"];
Node_Ja_148:podac:e -> Node_Ja_123:header [color="#000000" tooltip="Ja_148 --> Ja_123"];
Node_Ja_123:pomute:e -> Node_Ja_104:header [color="#000000" tooltip="Ja_123 --> Ja_104"];
Node_Ja_134:poknobonly:e -> Node_Ja_133:header [color="#000000" tooltip="Ja_134 --> Ja_133"];
Node_Ja_113:poitems:e -> Node_Ja_115:header [color="#000000" tooltip="Ja_113 --> Ja_115"];
Node_Ja_148:porotary:e -> Node_Ja_134:header [color="#000000" tooltip="Ja_148 --> Ja_134"];
Node_Ja_132:polongpress:e -> Node_Ja_131:header [color="#000000" tooltip="Ja_132 --> Ja_131"];
Node_Ja_142:pomdc:e -> Node_Ja_104:header [color="#000000" tooltip="Ja_142 --> Ja_104"];
Node_Ja_128:poreset:e -> Node_Ja_104:header [color="#000000" tooltip="Ja_128 --> Ja_104"];
Node_Ja_140:pomodel:e -> Node_Ja_138 [color="#008000" tooltip="Ja_140 --> Ja_138"];
Node_Ja_113:potype:e -> Node_Ja_114 [color="#008000" tooltip="Ja_113 --> Ja_114"];
Node_Ja_115:pogpio_action:e -> Node_Ja_118:header [color="#000000" tooltip="Ja_115 --> Ja_118"];
Node_Ja_146:pogpio:e -> Node_Ja_104:header [color="#000000" tooltip="Ja_146 --> Ja_104"];
Node_Ja_123:podaccontrolset:e -> Node_Ja_112:header [color="#000000" tooltip="Ja_123 --> Ja_112"];
Node_Ja_132:poshifter:e -> Node_Ja_104:header [color="#000000" tooltip="Ja_132 --> Ja_104"];
Node_Ja_132:polongshifted:e -> Node_Ja_131:header [color="#000000" tooltip="Ja_132 --> Ja_131"];
Node_Ja_109:pospi:e -> Node_Ja_107:header [color="#000000" tooltip="Ja_109 --> Ja_107"];
Node_Ja_111:posda:e -> Node_Ja_104:header [color="#000000" tooltip="Ja_111 --> Ja_104"];
Node_Ja_127:pocs:e -> Node_Ja_104:header [color="#000000" tooltip="Ja_127 --> Ja_104"];
Node_Ja_128:poback:e -> Node_Ja_104:header [color="#000000" tooltip="Ja_128 --> Ja_104"];
Node_Ja_145:poclk:e -> Node_Ja_104:header [color="#000000" tooltip="Ja_145 --> Ja_104"];
Node_Ja_145:pohost:e -> Node_Ja_102 [color="#008000" tooltip="Ja_145 --> Ja_102"];
Node_Ja_137:poatten:e -> Node_Ja_136 [color="#008000" tooltip="Ja_137 --> Ja_136"];
Node_Ja_143:pormii:e -> Node_Ja_142:header [color="#000000" tooltip="Ja_143 --> Ja_142"];
Node_Ja_141:pointr:e -> Node_Ja_104:header [color="#000000" tooltip="Ja_141 --> Ja_104"];
Node_Ja_115:podelay_action:e -> Node_Ja_119:header [color="#000000" tooltip="Ja_115 --> Ja_119"];
Node_Ja_109:pointr:e -> Node_Ja_104:header [color="#000000" tooltip="Ja_109 --> Ja_104"];
Node_Ja_134:poB:e -> Node_Ja_104:header [color="#000000" tooltip="Ja_134 --> Ja_104"];
Node_Ja_111:poport:e -> Node_Ja_110 [color="#008000" tooltip="Ja_111 --> Ja_110"];
Node_Ja_112:pocommands:e -> Node_Ja_113:header [color="#000000" tooltip="Ja_112 --> Ja_113"];
Node_Ja_148:poeth:e -> Node_Ja_143:header [color="#000000" tooltip="Ja_148 --> Ja_143"];
Node_Ja_131:poreleased:e -> Node_Ja_130 [color="#008000" tooltip="Ja_131 --> Ja_130"];
Node_Ja_129:poi2c:e -> Node_Ja_126:header [color="#000000" tooltip="Ja_129 --> Ja_126"];
Node_Ja_141:pocs:e -> Node_Ja_104:header [color="#000000" tooltip="Ja_141 --> Ja_104"];
Node_Ja_132:pogpio:e -> Node_Ja_104:header [color="#000000" tooltip="Ja_132 --> Ja_104"];
Node_Ja_148:pospdif:e -> Node_Ja_144:header [color="#000000" tooltip="Ja_148 --> Ja_144"];
Node_Ja_148:pobattery:e -> Node_Ja_137:header [color="#000000" tooltip="Ja_148 --> Ja_137"];
Node_Ja_148:podisplay:e -> Node_Ja_129:header [color="#000000" tooltip="Ja_148 --> Ja_129"];
Node_Ja_134:poA:e -> Node_Ja_104:header [color="#000000" tooltip="Ja_134 --> Ja_104"];
Node_Ja_134:poSW:e -> Node_Ja_104:header [color="#000000" tooltip="Ja_134 --> Ja_104"];
Node_Ja_129:pocommon:e -> Node_Ja_128:header [color="#000000" tooltip="Ja_129 --> Ja_128"];
Node_Ja_116:pomode:e -> Node_Ja_120 [color="#008000" tooltip="Ja_116 --> Ja_120"];
Node_Ja_145:pomiso:e -> Node_Ja_104:header [color="#000000" tooltip="Ja_145 --> Ja_104"];
Node_Ja_144:poclk:e -> Node_Ja_104:header [color="#000000" tooltip="Ja_144 --> Ja_104"];
Node_Ja_123:podout:e -> Node_Ja_104:header [color="#000000" tooltip="Ja_123 --> Ja_104"];
Node_Ja_109:poi2c:e -> Node_Ja_108:header [color="#000000" tooltip="Ja_109 --> Ja_108"];
Node_Ja_107:pohost:e -> Node_Ja_102 [color="#008000" tooltip="Ja_107 --> Ja_102"];
Node_Ja_145:pomosi:e -> Node_Ja_104:header [color="#000000" tooltip="Ja_145 --> Ja_104"];
Node_Ja_144:podc:e -> Node_Ja_104:header [color="#000000" tooltip="Ja_144 --> Ja_104"];
Node_Ja_123:pobck:e -> Node_Ja_104:header [color="#000000" tooltip="Ja_123 --> Ja_104"];
Node_Ja_123:poi2c:e -> Node_Ja_111:header [color="#000000" tooltip="Ja_123 --> Ja_111"];
Node_Ja_123:pomck:e -> Node_Ja_122 [color="#008000" tooltip="Ja_123 --> Ja_122"];
Node_Ja_107:pocs:e -> Node_Ja_104:header [color="#000000" tooltip="Ja_107 --> Ja_104"];
Node_Ja_108:poport:e -> Node_Ja_101 [color="#008000" tooltip="Ja_108 --> Ja_101"];
Node_Ja_128:pooffsets:e -> Node_Ja_124:header [color="#000000" tooltip="Ja_128 --> Ja_124"];
Node_Ja_128:poready:e -> Node_Ja_104:header [color="#000000" tooltip="Ja_128 --> Ja_104"];
Node_Ja_144:podata:e -> Node_Ja_104:header [color="#000000" tooltip="Ja_144 --> Ja_104"];
Node_Ja_123:pows:e -> Node_Ja_104:header [color="#000000" tooltip="Ja_123 --> Ja_104"];
Node_Ja_143:pospi:e -> Node_Ja_141:header [color="#000000" tooltip="Ja_143 --> Ja_141"];
Node_Ja_132:poshifted:e -> Node_Ja_131:header [color="#000000" tooltip="Ja_132 --> Ja_131"];
Node_Ja_111:poscl:e -> Node_Ja_104:header [color="#000000" tooltip="Ja_111 --> Ja_104"];
Node_Ja_129:pospi:e -> Node_Ja_127:header [color="#000000" tooltip="Ja_129 --> Ja_127"];
Node_Ja_142:pomdio:e -> Node_Ja_104:header [color="#000000" tooltip="Ja_142 --> Ja_104"];
Node_Ja_115:poreg_action:e -> Node_Ja_116:header [color="#000000" tooltip="Ja_115 --> Ja_116"];
Node_Ja_148:poled_strip:e -> Node_Ja_147:header [color="#000000" tooltip="Ja_148 --> Ja_147"];
Node_Ja_148:pospi:e -> Node_Ja_145:header [color="#000000" tooltip="Ja_148 --> Ja_145"];
Node_Ja_148:pogpio_exp:e -> Node_Ja_109:header [color="#000000" tooltip="Ja_148 --> Ja_109"];
Node_Ja_123:pomodel:e -> Node_Ja_121 [color="#008000" tooltip="Ja_123 --> Ja_121"];
/* generated by github.com/seamia/protodot on Friday, 24-Nov-23 14:36:16 EST */
}