From 11b6d5d17d0275fbc8281b58a97278c76fd2dd77 Mon Sep 17 00:00:00 2001
From: Julian <leuckerj@gmail.com>
Date: Thu, 31 Dec 2020 12:48:26 +0100
Subject: [PATCH 1/3] Update README.md

---
 README.md | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/README.md b/README.md
index e84b8dd..3c5ce30 100644
--- a/README.md
+++ b/README.md
@@ -1,14 +1,17 @@
-# FPGA Device Manager
+# Smart Home Solution
+This is a Smart Home Solution initially created as part of a Bachelor's thesis. The product consists of three parts, FPGA boards that can take signals from switches and switch lamps, an I2C bridge for communication of several FPGA boards with a Raspberry Pi and finally the Raspberry Pi itself, which runs the program HomeAssistant. 
+
+## FPGA Device Manager
 A GUI for managing device configurations for a Smart Home FPGA solution that was created as part of a Bachelor's thesis.
 
 This application aids you in creating a device configuration for a Smart Home FPGA and automatically generates the corresponding Verilog code.
 
-## Installation
+### Installation
 ```
 pip install fpga-device-manager
 ```
 
-## Usage
+### Usage
 To launch the GUI, execute:
 ```
 python -m fpga_device_manager
@@ -17,15 +20,15 @@ python -m fpga_device_manager
 - The generated Verilog `.v` files will have to be copied manually to the `smarthome/source/generated` folder of the Lattice Diamond project.
 - The generated `smarthome.ldf` file has to be copied manually to the root folder of the Lattice Diamond project.
 
-### Command-line generation
+#### Command-line generation
 Verilog code can be generated from the command line like this:
 ```
 python -m fpga_device_manager.generator --output=./generated configuration.json
 ```
 
-## Valid configurations
+### Valid configurations
 A valid configuration needs:
 
 - at least one appliance
 - at least one sensor
-- every sensor to be associated with an appliance
\ No newline at end of file
+- every sensor to be associated with an appliance
-- 
GitLab


From 1abd96317e80b910c20a718140ccc6a68b51989e Mon Sep 17 00:00:00 2001
From: Hangzhi Yu <hangzhi@protonmail.com>
Date: Sat, 11 Sep 2021 17:22:28 +0000
Subject: [PATCH 2/3] Update README.md

---
 README.md | 35 +++++++++++++++++++++++++++++++----
 1 file changed, 31 insertions(+), 4 deletions(-)

diff --git a/README.md b/README.md
index 3c5ce30..7e2be9b 100644
--- a/README.md
+++ b/README.md
@@ -1,23 +1,50 @@
 # Smart Home Solution
-This is a Smart Home Solution initially created as part of a Bachelor's thesis. The product consists of three parts, FPGA boards that can take signals from switches and switch lamps, an I2C bridge for communication of several FPGA boards with a Raspberry Pi and finally the Raspberry Pi itself, which runs the program HomeAssistant. 
+This is a Smart Home Solution initially created as part of a Bachelor's thesis. The product consists of three parts:
+- FPGA boards that can take signals from switches and other physical inputs and switch lamps and other home appliances,
+- an I²C bridge for communication of several FPGA boards with a Raspberry Pi
+- and finally the Raspberry Pi itself, which runs HomeAssistant. 
 
 ## FPGA Device Manager
-A GUI for managing device configurations for a Smart Home FPGA solution that was created as part of a Bachelor's thesis.
+A GUI for managing device configurations as a part of a Smart Home FPGA solution.
 
 This application aids you in creating a device configuration for a Smart Home FPGA and automatically generates the corresponding Verilog code.
 
-### Installation
+### User installation
 ```
 pip install fpga-device-manager
 ```
 
+### Developer installation
+If you want to install a local version of the project in order to try out changes, follow these steps:
+
+- Clone the repository
+```
+git clone git@edugit.org:fpga/fpga-device-manager-2.git
+```
+- Enter the dir, create a python virtual environment and enter it
+```
+cd fpga-device-manager-2
+python -m venv env
+source env/bin/activate
+```
+- Run the setup script and install the required dependencies
+```
+python setup.py install
+```
+
+Now, the local dev version of fpga-device-manager-2 is installed. Every time you want to try out some changes you have made to the program, you have to run
+```
+python setup.py install
+```
+again; then, they become live.
+
 ### Usage
 To launch the GUI, execute:
 ```
 python -m fpga_device_manager
 ```
 
-- The generated Verilog `.v` files will have to be copied manually to the `smarthome/source/generated` folder of the Lattice Diamond project.
+- The generated Verilog `.v` files will have to be copied manually to the `smarthome/source/generated` folder of the Lattice Diamond project (separate repo).
 - The generated `smarthome.ldf` file has to be copied manually to the root folder of the Lattice Diamond project.
 
 #### Command-line generation
-- 
GitLab


From 161049b9ea8835275ad4f202f4b7dc1255d99f43 Mon Sep 17 00:00:00 2001
From: Hangzhi Yu <hangzhi@protonmail.com>
Date: Sat, 11 Sep 2021 17:37:02 +0000
Subject: [PATCH 3/3] Add readme section for banks

---
 README.md | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/README.md b/README.md
index 5a1dd60..fac4a1d 100644
--- a/README.md
+++ b/README.md
@@ -53,10 +53,15 @@ Verilog code can be generated from the command line like this:
 python -m fpga_device_manager.generator --output=./generated configuration.json
 ```
 
-### Valid configurations
+#### Valid configurations
 A valid configuration needs:
 
 - at least one appliance
 - at least one sensor
 - every sensor to be associated with an appliance
-- an I2C adress between 8 and 119 which is not dividable by 4 but by 2
+- an I2C adress
+
+#### Concept
+
+##### Banks
+The pins on the used MachXO2 FPGA board are classified into so-called banks - groups of nearby pins that share the same I/O voltage. By now, these voltages and the assignment of banks to pins can only be changed manually in the JSON configuration. 
-- 
GitLab