You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/ar_ibus.md
+18-2Lines changed: 18 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,23 @@ One of the foundational capabilities of the SparkFun Toolkit is bus communicatio
4
4
5
5
For bus communication, the SparkFun Toolkit is designed to provide a common implementation for use across all SparkFun libraries. Additionally, the bus architecture is modeled on a *driver* pattern, separating the individual bus setup/configuration from data communication, enabling a single device implementation to easily support a variety of device bus types.
6
6
7
-
The key goals set for the Bus implementation in the Toolkit include:
7
+
### The Bus Interface Design Pattern
8
+
9
+
This pattern allows an application to develop against the common bus interface without regard to the underlying bus type or implementation. This *plug-in* nature of this model enables core application reuse across a range of bus devices. What to use a different bus type? Just use a different driver.
10
+
11
+
This pattern is show in the following diagram:
12
+
13
+

14
+
15
+
This pattern extends across different platforms, allowing a common platform independent application core to utilize platform specific bus drivers.
16
+
17
+

18
+
19
+
The platform dependant drivers implement the core Bus Interface (IBus) for communication, with platform specific setup and management left to the underlying implementation. Since the application core only works with the Bus Interface, if implemented correctly, the same core works across different bus types and across different development environments.
20
+
21
+
## Goals
22
+
23
+
For the initial implementation the key goals set for the Bus implementation in the Toolkit include:
8
24
9
25
* Separate device setup from device communication
10
26
* Define a common bus interface for use across a variety of common device bus types
@@ -13,7 +29,7 @@ The key goals set for the Bus implementation in the Toolkit include:
13
29
14
30
## Architecture Overview
15
31
16
-
To meet the goals for this subsystem, the Flux framework follows a ***Driver Pattern***, defining a common interface for bus communication. Device drivers are designed around this interface, leaving bus configuration and implementation to platform specific implementation.
32
+
As outlined above, the SparkFun Toolkit follows a ***Driver Pattern***, defining a common interface for bus communication. Device drivers are designed around this interface, leaving bus configuration and implementation to platform specific implementation.
0 commit comments