git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2785 35acf78f-673a-0410-8e92-d51de3d6d3f4
parent
eed6999aaf
commit
3c9d9c9bb5
|
@ -30,5 +30,31 @@
|
|||
* @pre In order to use the SERIAL driver the @p HAL_USE_SERIAL option
|
||||
* must be enabled in @p halconf.h.
|
||||
*
|
||||
*
|
||||
* @section serial_1 Driver State Machine
|
||||
* The driver implements a state machine internally, not all the driver
|
||||
* functionalities can be used in any moment, any transition not explicitly
|
||||
* shown in the following diagram has to be considered an error and shall
|
||||
* be captured by an assertion (if enabled).
|
||||
* @dot
|
||||
digraph example {
|
||||
rankdir="LR";
|
||||
node [shape=circle, fontname=Helvetica, fontsize=8, fixedsize="true",
|
||||
width="0.9", height="0.9"];
|
||||
edge [fontname=Helvetica, fontsize=8];
|
||||
|
||||
uninit [label="SD_UNINIT", style="bold"];
|
||||
stop [label="SD_STOP\nLow Power"];
|
||||
ready [label="SD_READY\nClock Enabled"];
|
||||
|
||||
uninit -> stop [label=" sdInit()"];
|
||||
stop -> stop [label="\nsdStop()"];
|
||||
stop -> ready [label="\nsdStart()"];
|
||||
ready -> stop [label="\nsdStop()"];
|
||||
ready -> ready [label="\nsdStart()"];
|
||||
ready -> ready [label="\nAny I/O operation"];
|
||||
}
|
||||
* @enddot
|
||||
*
|
||||
* @ingroup IO
|
||||
*/
|
||||
|
|
|
@ -31,9 +31,25 @@
|
|||
* functionalities can be used in any moment, any transition not explicitly
|
||||
* shown in the following diagram has to be considered an error and shall
|
||||
* be captured by an assertion (if enabled).
|
||||
* @if LATEX_PDF
|
||||
* @else
|
||||
* @endif
|
||||
* @dot
|
||||
digraph example {
|
||||
rankdir="LR";
|
||||
node [shape=circle, fontname=Helvetica, fontsize=8, fixedsize="true",
|
||||
width="0.9", height="0.9"];
|
||||
edge [fontname=Helvetica, fontsize=8];
|
||||
|
||||
uninit [label="SDU_UNINIT", style="bold"];
|
||||
stop [label="SDU_STOP\nLow Power"];
|
||||
ready [label="SDU_READY\nClock Enabled"];
|
||||
|
||||
uninit -> stop [label=" sduInit()"];
|
||||
stop -> stop [label="\nsduStop()"];
|
||||
stop -> ready [label="\nsduStart()"];
|
||||
ready -> stop [label="\nsduStop()"];
|
||||
ready -> ready [label="\nsduStart()"];
|
||||
ready -> ready [label="\nAny I/O operation"];
|
||||
}
|
||||
* @enddot
|
||||
*
|
||||
* @ingroup IO
|
||||
*/
|
||||
|
|
|
@ -31,7 +31,64 @@
|
|||
* shown in the following diagram has to be considered an error and shall
|
||||
* be captured by an assertion (if enabled).
|
||||
* @if LATEX_PDF
|
||||
* @dot
|
||||
digraph example {
|
||||
size="5, 7";
|
||||
rankdir="LR";
|
||||
node [shape=circle, fontname=Helvetica, fontsize=8, fixedsize="true",
|
||||
width="0.9", height="0.9"];
|
||||
edge [fontname=Helvetica, fontsize=8];
|
||||
|
||||
stop [label="USB_STOP\nLow Power"];
|
||||
uninit [label="USB_UNINIT", style="bold"];
|
||||
ready [label="USB_READY\nClock Enabled"];
|
||||
selected [label="\nUSB_SELECTED\naddress\nassigned"];
|
||||
configured [label="\nUSB_ACTIVE\nconfiguration\nselected"];
|
||||
|
||||
uninit -> stop [label=" usbInit()", constraint=false];
|
||||
stop -> stop [label="\nusbStop()"];
|
||||
stop -> ready [label="\nusbStart()"];
|
||||
ready -> stop [label="\nusbStop()"];
|
||||
ready -> ready [label="\n\nusbStart()"];
|
||||
ready -> ready [label="\nSUSPEND/WAKEUP\n>event_cb<"];
|
||||
ready -> selected [label="\nSET_ADDRESS\n>event_cb<"];
|
||||
selected -> ready [label="\nUSB RESET\n>event_cb<"];
|
||||
selected -> selected [label="\nSUSPEND/WAKEUP\n>event_cb<\n\nValid EP0 Message\n>requests_hook_cb<\n\nGET DESCRIPTOR\n>get_descriptor_cb<"];
|
||||
selected -> configured [label="\nSET_CONF(n)\n>event_cb<"];
|
||||
configured -> selected [label="\nSET_CONF(0)\n>event_cb<"];
|
||||
configured -> configured [label="\nSUSPEND/WAKEUP\n>event_cb<\n\nValid EP0 Message\n>requests_hook_cb<\n\nGET DESCRIPTOR\n>get_descriptor_cb<\n\nEndpoints Activity\n >in_cb< or >out_cb<"];
|
||||
configured -> ready [label="\nUSB RESET\n>event_cb<"];
|
||||
}
|
||||
* @enddot
|
||||
* @else
|
||||
* @dot
|
||||
digraph example {
|
||||
rankdir="LR";
|
||||
node [shape=circle, fontname=Helvetica, fontsize=8, fixedsize="true",
|
||||
width="0.9", height="0.9"];
|
||||
edge [fontname=Helvetica, fontsize=8];
|
||||
|
||||
stop [label="USB_STOP\nLow Power"];
|
||||
uninit [label="USB_UNINIT", style="bold"];
|
||||
ready [label="USB_READY\nClock Enabled"];
|
||||
selected [label="\nUSB_SELECTED\naddress\nassigned"];
|
||||
configured [label="\nUSB_ACTIVE\nconfiguration\nselected"];
|
||||
|
||||
uninit -> stop [label=" usbInit()", constraint=false];
|
||||
stop -> stop [label="\nusbStop()"];
|
||||
stop -> ready [label="\nusbStart()"];
|
||||
ready -> stop [label="\nusbStop()"];
|
||||
ready -> ready [label="\n\nusbStart()"];
|
||||
ready -> ready [label="\nSUSPEND/WAKEUP\n>event_cb<"];
|
||||
ready -> selected [label="\nSET_ADDRESS\n>event_cb<"];
|
||||
selected -> ready [label="\nUSB RESET\n>event_cb<"];
|
||||
selected -> selected [label="\nSUSPEND/WAKEUP\n>event_cb<\n\nValid EP0 Message\n>requests_hook_cb<\n\nGET DESCRIPTOR\n>get_descriptor_cb<"];
|
||||
selected -> configured [label="\nSET_CONF(n)\n>event_cb<"];
|
||||
configured -> selected [label="\nSET_CONF(0)\n>event_cb<"];
|
||||
configured -> configured [label="\nSUSPEND/WAKEUP\n>event_cb<\n\nValid EP0 Message\n>requests_hook_cb<\n\nGET DESCRIPTOR\n>get_descriptor_cb<\n\nEndpoints Activity\n >in_cb< or >out_cb<"];
|
||||
configured -> ready [label="\nUSB RESET\n>event_cb<"];
|
||||
}
|
||||
* @enddot
|
||||
* @endif
|
||||
*
|
||||
* @section usb_2 USB Operations
|
||||
|
|
|
@ -114,6 +114,7 @@
|
|||
- CHANGE: Swapped the numeric values of the TIME_IMMEDIATE and TIME_INFINITE
|
||||
constants. Fixed the relative documentation in various places (backported
|
||||
to 2.2.2).
|
||||
- Many documentation improvements.
|
||||
|
||||
*** 2.1.8 ***
|
||||
- FIX: Fixed error in STM32 ADC driver macro names (bug 3160306)(backported
|
||||
|
|
Loading…
Reference in New Issue