diff --git a/os/hal/hal.dox b/os/hal/hal.dox index 619d29796..5a6cbb7cc 100644 --- a/os/hal/hal.dox +++ b/os/hal/hal.dox @@ -237,45 +237,51 @@ digraph example { size="5, 7"; rankdir="LR"; - node [shape=circle, fontname=Helvetica, fontsize=8, fixedsize="true", width="0.8", height="0.8"]; + node [shape=circle, fontname=Helvetica, fontsize=8, fixedsize="true", width="0.9", height="0.9"]; edge [fontname=Helvetica, fontsize=8]; - uninit [label="SPI_UNINIT", style="bold"]; stop [label="SPI_STOP\nLow Power"]; + uninit [label="SPI_UNINIT", style="bold"]; ready [label="SPI_READY\nClock Enabled"]; + selected [label="SPI_SELECTED\nSlave Selected"]; active [label="SPI_ACTIVE\nBus Active"]; - uninit -> stop [label="spiInit()"]; + sync [label="SPI_SYNC\nSynchronization"]; + uninit -> stop [label="spiInit()", constraint=false]; stop -> ready [label="spiStart()"]; - ready -> ready [label="spiStart()"]; - ready -> ready [label="spiIgnore()"]; + ready -> ready [label="spiUnselect()\nspiStart()\nspiWait()"]; ready -> stop [label="spiStop()"]; stop -> stop [label="spiStop()"]; - ready -> active [label="spiSelect()"]; - active -> active [label="spiSelect()"]; - active -> ready [label="spiUnselect()"]; - ready -> ready [label="spiUnselect()"]; - active -> active [label="spiIgnore()\nspiExchange()\nspiSend()\nspiReceive()"]; + ready -> selected [label="spiSelect()"]; + selected -> selected [label="spiSelect()\nspiWait()"]; + selected -> ready [label="spiUnselect()"]; + selected -> active [label="spiIgnore()\nspiExchange()\nspiSend()\nspiReceive()"]; + active -> selected [label="spiWait()\n>spc_endcb<"]; + ready -> sync [label="spiSynchronize()"]; + sync -> ready [label="spiWait()\n>spc_endcb<"]; } * @else * @dot digraph example { rankdir="LR"; - node [shape=circle, fontname=Helvetica, fontsize=8, fixedsize="true", width="0.8", height="0.8"]; + node [shape=circle, fontname=Helvetica, fontsize=8, fixedsize="true", width="0.9", height="0.9"]; edge [fontname=Helvetica, fontsize=8]; - uninit [label="SPI_UNINIT", style="bold"]; stop [label="SPI_STOP\nLow Power"]; + uninit [label="SPI_UNINIT", style="bold"]; ready [label="SPI_READY\nClock Enabled"]; + selected [label="SPI_SELECTED\nSlave Selected"]; active [label="SPI_ACTIVE\nBus Active"]; - uninit -> stop [label="spiInit()"]; + sync [label="SPI_SYNC\nSynchronization"]; + uninit -> stop [label="spiInit()", constraint=false]; stop -> ready [label="spiStart()"]; - ready -> ready [label="spiStart()"]; - ready -> ready [label="spiIgnore()"]; + ready -> ready [label="spiUnselect()\nspiStart()\nspiWait()"]; ready -> stop [label="spiStop()"]; stop -> stop [label="spiStop()"]; - ready -> active [label="spiSelect()"]; - active -> active [label="spiSelect()"]; - active -> ready [label="spiUnselect()"]; - ready -> ready [label="spiUnselect()"]; - active -> active [label="spiIgnore()\nspiExchange()\nspiSend()\nspiReceive()"]; + ready -> selected [label="spiSelect()"]; + selected -> selected [label="spiSelect()\nspiWait()"]; + selected -> ready [label="spiUnselect()"]; + selected -> active [label="spiIgnore()\nspiExchange()\nspiSend()\nspiReceive()"]; + active -> selected [label="spiWait()\n>spc_endcb<"]; + ready -> sync [label="spiSynchronize()"]; + sync -> ready [label="spiWait()\n>spc_endcb<"]; } * @enddot * @endif