-[Task 3: Server UDP time.](#task-3-server-udp-time)
-[Task 3: Documentation.](#task-3-documentation)
-[Demos](#demos)
-[Getting Started](#getting-started)
-[Dependencies](#dependencies)
...
...
@@ -60,26 +60,18 @@ FEATURES OF CALCULATOR
***On-Off** Located on the side of the calculator lies a push button with a On-Off icon. Pressing this button toggles a toggle switch connected between the negative leg of the batery and the raspberry pi.
***LED** As the rapsberry pi is located within the case, I have added a LED status light that indicates that the device is powered and working.
***Battery** The battery is a small LIPO Cell connected to the usb-c charging port. It charges relatively slow but due to the low power consumption of the raspberry pi this is not an issue.
***USB-C**
***Case**
***USB-C** The adafruit usb-c board is responsible for charging the battery. It charges the battery at 100ma.
***Case** I designed the case to house all the components. I used fusion 360 and my 3d printer. Everything is securely mounted with cap hex bolts and nuts that are recessed into the case.
___
### Task 3: Server UDP time.
* This takes builds upon **task 1** and **task 2** we need to send and receive packets from the sever with the correct checksum. This means encoding and decoding UDP.
****mainSendandReceive()*** This function is a controller for smaller functions. It simply connects to server and tells the program to send and get packets from the server.
****recv_and_decode_packet(websocket)*** We are taking a websocket connecting to it and printing the packet all it one. This take doesnt require us todo much else with the packet so it can just be called in a function. 
### Task 3: Documentation.
* This task involves building UML diagrams for the calculator.
****Wiring Diagram*** This diagram demonstrates how the calculator is wired up.
****UML Class Diagram*** We are taking a websocket connecting to it and printing the packet all it one. This take doesnt require us todo much else with the packet so it can just be called in a function. 
****send_packet(websocket, sourcePort, deskPort, payLoad)*** To send packets to the server they need to be in UDP format in base64. This function will create a header for the payload including the correct checksum so the server can confirm the packet has arrived valid. 
****unittest.py*** unittest is an inbuilt Python library. Its a test runner and is specially design for running tests and debugging. This one contains a few useful tools that we are going to use. It works similarly to the assert function. Task 3 doesn't have any output other than to the terminal. I could alter the output but this is out of my scope for the project. Here I am just checking if the program runs correctly. All the tests were successful.