Initial commit
This commit is contained in:
		
							
								
								
									
										455
									
								
								docs/model/cmd-buttonmanager-overview.uxf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										455
									
								
								docs/model/cmd-buttonmanager-overview.uxf
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,455 @@ | ||||
| <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||||
| <diagram program="umlet" version="14.3.0"> | ||||
|   <help_text> | ||||
|  | ||||
| // Uncomment the following line to change the fontsize and font: | ||||
| // fontsize=14 | ||||
| // fontfamily=SansSerif //possible: SansSerif,Serif,Monospaced | ||||
|  | ||||
|  | ||||
| ////////////////////////////////////////////////////////////////////////////////////////////// | ||||
| // Welcome to UMLet! | ||||
| // | ||||
| // Double-click on elements to add them to the diagram, or to copy them | ||||
| // Edit elements by modifying the text in this panel | ||||
| // Hold Ctrl to select multiple elements | ||||
| // Use Ctrl+mouse to select via lasso | ||||
| // | ||||
| // Use +/- or Ctrl+mouse wheel to zoom | ||||
| // Drag a whole relation at its central square icon | ||||
| // | ||||
| // Press Ctrl+C to copy the whole diagram to the system clipboard (then just paste it to, eg, Word) | ||||
| // Edit the files in the "palettes" directory to create your own element palettes | ||||
| // | ||||
| // Select "Custom Elements > New..." to create new element types | ||||
| ////////////////////////////////////////////////////////////////////////////////////////////// | ||||
|  | ||||
|  | ||||
| // This text will be stored with each diagram;  use it for notes.</help_text> | ||||
|   <zoom_level>9</zoom_level> | ||||
|   <element> | ||||
|     <id>UMLClass</id> | ||||
|     <coordinates> | ||||
|       <x>288</x> | ||||
|       <y>234</y> | ||||
|       <w>252</w> | ||||
|       <h>117</h> | ||||
|     </coordinates> | ||||
|     <panel_attributes>ButtonEventsHandler | ||||
| <<Singleton>> | ||||
|  | ||||
| bg=white</panel_attributes> | ||||
|     <additional_attributes/> | ||||
|   </element> | ||||
|   <element> | ||||
|     <id>Text</id> | ||||
|     <coordinates> | ||||
|       <x>63</x> | ||||
|       <y>27</y> | ||||
|       <w>522</w> | ||||
|       <h>36</h> | ||||
|     </coordinates> | ||||
|     <panel_attributes>*ButtonManager - Basic Class Structure - Overview* | ||||
|  | ||||
| style=wordwrap | ||||
| fontsize=22</panel_attributes> | ||||
|     <additional_attributes/> | ||||
|   </element> | ||||
|   <element> | ||||
|     <id>Relation</id> | ||||
|     <coordinates> | ||||
|       <x>54</x> | ||||
|       <y>45</y> | ||||
|       <w>504</w> | ||||
|       <h>27</h> | ||||
|     </coordinates> | ||||
|     <panel_attributes>lt=- | ||||
| lw=2.5</panel_attributes> | ||||
|     <additional_attributes>10.0;10.0;540.0;10.0</additional_attributes> | ||||
|   </element> | ||||
|   <element> | ||||
|     <id>UMLClass</id> | ||||
|     <coordinates> | ||||
|       <x>63</x> | ||||
|       <y>756</y> | ||||
|       <w>882</w> | ||||
|       <h>27</h> | ||||
|     </coordinates> | ||||
|     <panel_attributes>lt=.. | ||||
| halign=right | ||||
| 2021-11-09</panel_attributes> | ||||
|     <additional_attributes/> | ||||
|   </element> | ||||
|   <element> | ||||
|     <id>UMLNote</id> | ||||
|     <coordinates> | ||||
|       <x>63</x> | ||||
|       <y>567</y> | ||||
|       <w>882</w> | ||||
|       <h>180</h> | ||||
|     </coordinates> | ||||
|     <panel_attributes>Note: | ||||
|  | ||||
| - ButtonsController receives button IO interrupts and debounces them | ||||
| - ButtonsController handles all buttons present on the board | ||||
| - ButtonsController sends button pressed/realeased notifications via a callback method | ||||
|  | ||||
| - ButtonEventsHandler creates button short pressed and button long pressed notifications | ||||
| - ButtonEventsHandler notifies via an observer pattern. | ||||
|  | ||||
| - ButtonEventsLogger logs the button short/long pressed notifications via Trace to the host PC | ||||
|  | ||||
| bg=#FFCCCC</panel_attributes> | ||||
|     <additional_attributes/> | ||||
|   </element> | ||||
|   <element> | ||||
|     <id>UMLClass</id> | ||||
|     <coordinates> | ||||
|       <x>288</x> | ||||
|       <y>468</y> | ||||
|       <w>252</w> | ||||
|       <h>72</h> | ||||
|     </coordinates> | ||||
|     <panel_attributes>ButtonsController | ||||
| <<Singleton>> | ||||
|  | ||||
| bg=white</panel_attributes> | ||||
|     <additional_attributes/> | ||||
|   </element> | ||||
|   <element> | ||||
|     <id>UMLClass</id> | ||||
|     <coordinates> | ||||
|       <x>288</x> | ||||
|       <y>90</y> | ||||
|       <w>252</w> | ||||
|       <h>72</h> | ||||
|     </coordinates> | ||||
|     <panel_attributes>app::ButtonEventsLogger | ||||
| bg=#53C05B</panel_attributes> | ||||
|     <additional_attributes/> | ||||
|   </element> | ||||
|   <element> | ||||
|     <id>Relation</id> | ||||
|     <coordinates> | ||||
|       <x>405</x> | ||||
|       <y>153</y> | ||||
|       <w>90</w> | ||||
|       <h>99</h> | ||||
|     </coordinates> | ||||
|     <panel_attributes>lt=<- | ||||
| <<observing>></panel_attributes> | ||||
|     <additional_attributes>10.0;90.0;10.0;10.0</additional_attributes> | ||||
|   </element> | ||||
|   <element> | ||||
|     <id>Relation</id> | ||||
|     <coordinates> | ||||
|       <x>405</x> | ||||
|       <y>342</y> | ||||
|       <w>81</w> | ||||
|       <h>144</h> | ||||
|     </coordinates> | ||||
|     <panel_attributes>lt=<- | ||||
| <<callback>></panel_attributes> | ||||
|     <additional_attributes>10.0;140.0;10.0;10.0</additional_attributes> | ||||
|   </element> | ||||
|   <element> | ||||
|     <id>UMLClass</id> | ||||
|     <coordinates> | ||||
|       <x>63</x> | ||||
|       <y>90</y> | ||||
|       <w>135</w> | ||||
|       <h>189</h> | ||||
|     </coordinates> | ||||
|     <panel_attributes>app::Factory | ||||
| bg=#53C05B | ||||
| -- | ||||
|  | ||||
| -- | ||||
| + initialize() | ||||
| + build() | ||||
| </panel_attributes> | ||||
|     <additional_attributes/> | ||||
|   </element> | ||||
|   <element> | ||||
|     <id>Relation</id> | ||||
|     <coordinates> | ||||
|       <x>189</x> | ||||
|       <y>108</y> | ||||
|       <w>117</w> | ||||
|       <h>36</h> | ||||
|     </coordinates> | ||||
|     <panel_attributes>lt=<<<<<-> | ||||
| m2=1</panel_attributes> | ||||
|     <additional_attributes>10.0;10.0;110.0;10.0</additional_attributes> | ||||
|   </element> | ||||
|   <element> | ||||
|     <id>UMLClass</id> | ||||
|     <coordinates> | ||||
|       <x>630</x> | ||||
|       <y>90</y> | ||||
|       <w>288</w> | ||||
|       <h>72</h> | ||||
|     </coordinates> | ||||
|     <panel_attributes>/ButtonEventsHandlerObserver/ | ||||
| <<interface>> | ||||
| bg=#90cbe0 | ||||
| -- | ||||
| + onButtonShortPressed(buttonIndex) | ||||
| + onButtonLongPressed(buttonIndex)</panel_attributes> | ||||
|     <additional_attributes/> | ||||
|   </element> | ||||
|   <element> | ||||
|     <id>Relation</id> | ||||
|     <coordinates> | ||||
|       <x>531</x> | ||||
|       <y>108</y> | ||||
|       <w>117</w> | ||||
|       <h>27</h> | ||||
|     </coordinates> | ||||
|     <panel_attributes>lt=<<.</panel_attributes> | ||||
|     <additional_attributes>110.0;10.0;10.0;10.0</additional_attributes> | ||||
|   </element> | ||||
|   <element> | ||||
|     <id>Relation</id> | ||||
|     <coordinates> | ||||
|       <x>513</x> | ||||
|       <y>126</y> | ||||
|       <w>135</w> | ||||
|       <h>126</h> | ||||
|     </coordinates> | ||||
|     <panel_attributes>lt=<<<<-> | ||||
| r2=observer | ||||
| m2=*</panel_attributes> | ||||
|     <additional_attributes>10.0;120.0;10.0;80.0;60.0;20.0;130.0;20.0</additional_attributes> | ||||
|   </element> | ||||
|   <element> | ||||
|     <id>UMLPackage</id> | ||||
|     <coordinates> | ||||
|       <x>63</x> | ||||
|       <y>405</y> | ||||
|       <w>126</w> | ||||
|       <h>135</h> | ||||
|     </coordinates> | ||||
|     <panel_attributes>XF | ||||
| -- | ||||
| bg=#BBBBBB</panel_attributes> | ||||
|     <additional_attributes/> | ||||
|   </element> | ||||
|   <element> | ||||
|     <id>Relation</id> | ||||
|     <coordinates> | ||||
|       <x>180</x> | ||||
|       <y>135</y> | ||||
|       <w>126</w> | ||||
|       <h>387</h> | ||||
|     </coordinates> | ||||
|     <panel_attributes>lt=<.</panel_attributes> | ||||
|     <additional_attributes>10.0;410.0;70.0;410.0;70.0;10.0;120.0;10.0</additional_attributes> | ||||
|   </element> | ||||
|   <element> | ||||
|     <id>Relation</id> | ||||
|     <coordinates> | ||||
|       <x>180</x> | ||||
|       <y>423</y> | ||||
|       <w>126</w> | ||||
|       <h>99</h> | ||||
|     </coordinates> | ||||
|     <panel_attributes>lt=<.</panel_attributes> | ||||
|     <additional_attributes>10.0;90.0;70.0;90.0;70.0;10.0;120.0;10.0</additional_attributes> | ||||
|   </element> | ||||
|   <element> | ||||
|     <id>Relation</id> | ||||
|     <coordinates> | ||||
|       <x>180</x> | ||||
|       <y>495</y> | ||||
|       <w>126</w> | ||||
|       <h>27</h> | ||||
|     </coordinates> | ||||
|     <panel_attributes>lt=<.</panel_attributes> | ||||
|     <additional_attributes>10.0;10.0;120.0;10.0</additional_attributes> | ||||
|   </element> | ||||
|   <element> | ||||
|     <id>UMLClass</id> | ||||
|     <coordinates> | ||||
|       <x>603</x> | ||||
|       <y>468</y> | ||||
|       <w>315</w> | ||||
|       <h>72</h> | ||||
|     </coordinates> | ||||
|     <panel_attributes>/ButtonIrq/ | ||||
| <<interface>> | ||||
| bg=#90cbe0 | ||||
| -- | ||||
| + onIrq()</panel_attributes> | ||||
|     <additional_attributes/> | ||||
|   </element> | ||||
|   <element> | ||||
|     <id>Relation</id> | ||||
|     <coordinates> | ||||
|       <x>531</x> | ||||
|       <y>504</y> | ||||
|       <w>90</w> | ||||
|       <h>36</h> | ||||
|     </coordinates> | ||||
|     <panel_attributes>lt=<<.</panel_attributes> | ||||
|     <additional_attributes>80.0;20.0;10.0;10.0</additional_attributes> | ||||
|   </element> | ||||
|   <element> | ||||
|     <id>UMLClass</id> | ||||
|     <coordinates> | ||||
|       <x>603</x> | ||||
|       <y>387</y> | ||||
|       <w>315</w> | ||||
|       <h>72</h> | ||||
|     </coordinates> | ||||
|     <panel_attributes>/ButtonsControllerCallbackCaller/ | ||||
| <<interface>> | ||||
| bg=#90cbe0 | ||||
| -- | ||||
| + registerCallback(callbackProvider, callbackMethod)</panel_attributes> | ||||
|     <additional_attributes/> | ||||
|   </element> | ||||
|   <element> | ||||
|     <id>Relation</id> | ||||
|     <coordinates> | ||||
|       <x>531</x> | ||||
|       <y>414</y> | ||||
|       <w>90</w> | ||||
|       <h>117</h> | ||||
|     </coordinates> | ||||
|     <panel_attributes>lt=<<.</panel_attributes> | ||||
|     <additional_attributes>80.0;10.0;10.0;110.0</additional_attributes> | ||||
|   </element> | ||||
|   <element> | ||||
|     <id>UMLClass</id> | ||||
|     <coordinates> | ||||
|       <x>603</x> | ||||
|       <y>279</y> | ||||
|       <w>315</w> | ||||
|       <h>72</h> | ||||
|     </coordinates> | ||||
|     <panel_attributes>/ButtonsControllerCallbackProvider/ | ||||
| <<interface>> | ||||
| bg=#90cbe0 | ||||
| -- | ||||
| + onButtonChanged(buttonIndex, pressed : bool)</panel_attributes> | ||||
|     <additional_attributes/> | ||||
|   </element> | ||||
|   <element> | ||||
|     <id>UMLClass</id> | ||||
|     <coordinates> | ||||
|       <x>603</x> | ||||
|       <y>198</y> | ||||
|       <w>315</w> | ||||
|       <h>72</h> | ||||
|     </coordinates> | ||||
|     <panel_attributes>/ButtonEventsHandlerSubject/ | ||||
| <<interface>> | ||||
| bg=#90cbe0 | ||||
| -- | ||||
| + subscribe(observer) | ||||
| + unsubscribe(observer)</panel_attributes> | ||||
|     <additional_attributes/> | ||||
|   </element> | ||||
|   <element> | ||||
|     <id>Relation</id> | ||||
|     <coordinates> | ||||
|       <x>531</x> | ||||
|       <y>225</y> | ||||
|       <w>90</w> | ||||
|       <h>81</h> | ||||
|     </coordinates> | ||||
|     <panel_attributes>lt=<<.</panel_attributes> | ||||
|     <additional_attributes>80.0;10.0;10.0;70.0</additional_attributes> | ||||
|   </element> | ||||
|   <element> | ||||
|     <id>Relation</id> | ||||
|     <coordinates> | ||||
|       <x>531</x> | ||||
|       <y>279</y> | ||||
|       <w>90</w> | ||||
|       <h>54</h> | ||||
|     </coordinates> | ||||
|     <panel_attributes>lt=<<.</panel_attributes> | ||||
|     <additional_attributes>80.0;40.0;10.0;10.0</additional_attributes> | ||||
|   </element> | ||||
|   <element> | ||||
|     <id>Relation</id> | ||||
|     <coordinates> | ||||
|       <x>765</x> | ||||
|       <y>153</y> | ||||
|       <w>27</w> | ||||
|       <h>63</h> | ||||
|     </coordinates> | ||||
|     <panel_attributes>lt=<.</panel_attributes> | ||||
|     <additional_attributes>10.0;10.0;10.0;50.0</additional_attributes> | ||||
|   </element> | ||||
|   <element> | ||||
|     <id>Relation</id> | ||||
|     <coordinates> | ||||
|       <x>477</x> | ||||
|       <y>153</y> | ||||
|       <w>144</w> | ||||
|       <h>72</h> | ||||
|     </coordinates> | ||||
|     <panel_attributes>lt=<.</panel_attributes> | ||||
|     <additional_attributes>140.0;60.0;110.0;40.0;20.0;40.0;10.0;10.0</additional_attributes> | ||||
|   </element> | ||||
|   <element> | ||||
|     <id>Relation</id> | ||||
|     <coordinates> | ||||
|       <x>477</x> | ||||
|       <y>342</y> | ||||
|       <w>144</w> | ||||
|       <h>81</h> | ||||
|     </coordinates> | ||||
|     <panel_attributes>lt=<.</panel_attributes> | ||||
|     <additional_attributes>140.0;70.0;110.0;40.0;20.0;40.0;10.0;10.0</additional_attributes> | ||||
|   </element> | ||||
|   <element> | ||||
|     <id>Relation</id> | ||||
|     <coordinates> | ||||
|       <x>765</x> | ||||
|       <y>342</y> | ||||
|       <w>27</w> | ||||
|       <h>63</h> | ||||
|     </coordinates> | ||||
|     <panel_attributes>lt=<.</panel_attributes> | ||||
|     <additional_attributes>10.0;10.0;10.0;50.0</additional_attributes> | ||||
|   </element> | ||||
|   <element> | ||||
|     <id>UMLClass</id> | ||||
|     <coordinates> | ||||
|       <x>288</x> | ||||
|       <y>405</y> | ||||
|       <w>99</w> | ||||
|       <h>45</h> | ||||
|     </coordinates> | ||||
|     <panel_attributes>ButtonStateSm</panel_attributes> | ||||
|     <additional_attributes/> | ||||
|   </element> | ||||
|   <element> | ||||
|     <id>Relation</id> | ||||
|     <coordinates> | ||||
|       <x>306</x> | ||||
|       <y>342</y> | ||||
|       <w>36</w> | ||||
|       <h>81</h> | ||||
|     </coordinates> | ||||
|     <panel_attributes>lt=<<<<<-> | ||||
| m2=4</panel_attributes> | ||||
|     <additional_attributes>10.0;10.0;10.0;70.0</additional_attributes> | ||||
|   </element> | ||||
|   <element> | ||||
|     <id>Relation</id> | ||||
|     <coordinates> | ||||
|       <x>351</x> | ||||
|       <y>342</y> | ||||
|       <w>36</w> | ||||
|       <h>81</h> | ||||
|     </coordinates> | ||||
|     <panel_attributes>lt=<<<<-> | ||||
| m2=1</panel_attributes> | ||||
|     <additional_attributes>10.0;70.0;10.0;10.0</additional_attributes> | ||||
|   </element> | ||||
| </diagram> | ||||
		Reference in New Issue
	
	Block a user