aboutsummaryrefslogtreecommitdiff
path: root/docs/design.md
diff options
context:
space:
mode:
authorlonkaars <loek@pipeframe.xyz>2023-01-17 22:12:50 +0100
committerlonkaars <loek@pipeframe.xyz>2023-01-17 22:12:50 +0100
commitd6b9985602e12dd612891604d79241aacc978401 (patch)
tree328e6f7b24665e862dc3fb583bc8aeb48da07e09 /docs/design.md
parentfabf078d519acdd47f3dec6df19b46d53321e981 (diff)
parent95101cb750b8f749509f757cd1cd8ebbad7c67ad (diff)
Merge branch 'dev' of https://github.com/UnavailableDev/avans-domotica into dev
Diffstat (limited to 'docs/design.md')
-rw-r--r--docs/design.md44
1 files changed, 42 insertions, 2 deletions
diff --git a/docs/design.md b/docs/design.md
index ca6f8c8..91e0047 100644
--- a/docs/design.md
+++ b/docs/design.md
@@ -23,6 +23,47 @@ details are:
features to edit the configuration and node state, but all action handling is
happening on the nodes.
+
+# Framework
+
+The following two are the possible frameworks for this project to use:
+
+## segger:
+
+For this there was very little to non research before starting this project.
+
+## Zephyr:
+
+This can be used with either a makefile system and the correct libraries or with the highly integrated visualstudio code extension. Because of this integration making a custom makefile is too time intensive for this project and the visualstudio code extension works great already.
+
+Further more zephyr and nordic both keep supporting their software with frequent updates and there are plenty of examples made with this.
+
+Thus the desicion has been made to use this option.
+
+
+
+# Data transfer between GUI and mesh network
+
+## Asynchronous data handling
+
+Because the data will be received asynchronously, certain decisions will have to be made about how to deal with this. In this case the GUI or client sends out requests/tasks to the border router. The border node then responds after x time. In both cases this triggers a callback function on the receiving end, so that the data can be handled accordingly, see the image below.
+
+![img](img/fig-AsyncCommunication.svg)
+
+## Communication standards
+
+There are two options available, each has its own set of benefits listed in the table below.
+
+<figure>
+| UART | Bluetooth |
+| --------------------- | ---------- |
+| Less interference | Wireless |
+| Simpler | Complexer |
+| Available on all pc's | (opposite) |
+<figcaption>Benefits of UART vs Bluetooth</figcaption>
+</figure>
+Seeing that there are more pro's to using UART then Bluetooth, it makes the most sense to use UART.
+
# Custom serial protocol
The border router node communicates with the QT application using a USART
@@ -114,5 +155,4 @@ There are two semaphores created in the provisioner software. The first one is c
|Zephyr|3.1|
|nRF SDK|2.1.2|
<figcaption>Software and library functions</figcaption>
-</figure>
-
+</figure> \ No newline at end of file