diff options
| -rw-r--r-- | README.md | 5 | ||||
| -rw-r--r-- | bin/__pycache__/i2c.cpython-312.pyc | bin | 4218 -> 0 bytes | |||
| -rw-r--r-- | bin/display.c | 5 | ||||
| -rw-r--r-- | bin/main.py | 10 | ||||
| -rwxr-xr-x | bin/test | bin | 16016 -> 0 bytes | |||
| -rw-r--r-- | webGUI/index.html | 28 | ||||
| -rw-r--r-- | webGUI/main.mjs | 14 | ||||
| -rw-r--r-- | webGUI/pages/cpuinfo.html | 30 | ||||
| -rw-r--r-- | webGUI/pages/general.html | 30 | ||||
| -rw-r--r-- | webGUI/pages/main.js | 0 | ||||
| -rw-r--r-- | webGUI/pages/notes.html | 25 | ||||
| -rw-r--r-- | webGUI/pages/recourses.html | 30 | ||||
| -rw-r--r-- | webGUI/pages/speech.html | 30 | ||||
| -rw-r--r-- | webGUI/pages/stats.html | 14 | ||||
| -rw-r--r-- | webGUI/styles.css | 90 |
15 files changed, 264 insertions, 47 deletions
| @@ -1,7 +1,10 @@ | |||
| 1 | # I2C | 1 | # I2C |
| 2 | |||
| 2 | A application to control an I2C display on RPI. | 3 | A application to control an I2C display on RPI. |
| 3 | This application should represent a multi-use software with features ranging from a bus line analyser, bus delay analiser, an generative AI command line, weather reports, note's saving and much more. | 4 | This application should represent a multi-use software with features ranging from a bus line analyser, bus delay analiser, an generative AI command line, weather reports, note's saving and much more. |
| 4 | 5 | ||
| 5 | This is a starter project with the goal of expanded everything later on to let's say an e-ink display or small LCD. | 6 | This is a starter project with the goal of expanded everything later on to let's say an e-ink display or small LCD. |
| 6 | 7 | ||
| 7 | 18/11/2024 migrating to C for the main code \ No newline at end of file | 8 | 18/11/2024 migrating to C for the main code |
| 9 | |||
| 10 | The program is Multi-platform and even supports a web-console | ||
diff --git a/bin/__pycache__/i2c.cpython-312.pyc b/bin/__pycache__/i2c.cpython-312.pyc deleted file mode 100644 index a2ea22c..0000000 --- a/bin/__pycache__/i2c.cpython-312.pyc +++ /dev/null | |||
| Binary files differ | |||
diff --git a/bin/display.c b/bin/display.c index 51a0873..b960ff1 100644 --- a/bin/display.c +++ b/bin/display.c | |||
| @@ -1,4 +1,7 @@ | |||
| 1 | #include <gtk/gtk.h> | 1 | #include <gtk/gtk.h> |
| 2 | #include <stdio.h> | ||
| 3 | #include <string.h> | ||
| 4 | |||
| 2 | 5 | ||
| 3 | static void activate(GtkApplication *app, gpointer user_data) { | 6 | static void activate(GtkApplication *app, gpointer user_data) { |
| 4 | // Create a new application window | 7 | // Create a new application window |
| @@ -24,4 +27,4 @@ int main(int argc, char *argv[]) { | |||
| 24 | g_object_unref(app); | 27 | g_object_unref(app); |
| 25 | 28 | ||
| 26 | return status; | 29 | return status; |
| 27 | } \ No newline at end of file | 30 | } |
diff --git a/bin/main.py b/bin/main.py index 482fde0..17b506d 100644 --- a/bin/main.py +++ b/bin/main.py | |||
| @@ -57,11 +57,17 @@ def recognize_speech(): | |||
| 57 | 57 | ||
| 58 | def save_notes(): | 58 | def save_notes(): |
| 59 | print("Type your notes (type 'stop' to exit):") | 59 | print("Type your notes (type 'stop' to exit):") |
| 60 | print("Type line=1 or line=2 to print something to a specific line") | ||
| 60 | while True: | 61 | while True: |
| 61 | output = input() | 62 | line = 1 |
| 63 | output = input(":") | ||
| 62 | if output.lower() in ["stop", "break", "quit", "exit"]: | 64 | if output.lower() in ["stop", "break", "quit", "exit"]: |
| 63 | break | 65 | break |
| 64 | lcd_instance.text(output, 1) | 66 | if output == "line=1": |
| 67 | line = 1 | ||
| 68 | elif output == "line=2": | ||
| 69 | line = 2 | ||
| 70 | lcd_instance.text(output, line) | ||
| 65 | time.sleep(2) | 71 | time.sleep(2) |
| 66 | 72 | ||
| 67 | 73 | ||
diff --git a/bin/test b/bin/test deleted file mode 100755 index 180427d..0000000 --- a/bin/test +++ /dev/null | |||
| Binary files differ | |||
diff --git a/webGUI/index.html b/webGUI/index.html index eb12eca..28665f8 100644 --- a/webGUI/index.html +++ b/webGUI/index.html | |||
| @@ -6,26 +6,28 @@ | |||
| 6 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> | 6 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| 7 | <title>CONSOLE</title> | 7 | <title>CONSOLE</title> |
| 8 | <link rel="stylesheet" href="styles.css"> | 8 | <link rel="stylesheet" href="styles.css"> |
| 9 | <script src="main.js"></script> | 9 | <script src="main.js" defer></script> |
| 10 | </head> | 10 | </head> |
| 11 | 11 | ||
| 12 | <body> | 12 | <body> |
| 13 | |||
| 14 | <nav class="navigation"> | 13 | <nav class="navigation"> |
| 15 | <p>I2C MODES</p> | 14 | <a href="index.html" class="home">HOME</a> |
| 16 | <a href="" class="CPU_INFO">CPU Information</a> | 15 | <h2>I2C MODES</h2> |
| 17 | <a href="" class="recources">Recources</a> | 16 | <a href="https://www.github.com/nasrlol" target="_blank">GITHUB</a> |
| 18 | <a href="" class="speech_trans">Speech Transcriber</a> | ||
| 19 | <a href="" class="notes">Display a message</a> | ||
| 20 | <a href="" class="general">General Tools</a> | ||
| 21 | |||
| 22 | </nav> | 17 | </nav> |
| 23 | 18 | ||
| 19 | <section class="controls"> | ||
| 20 | <a href="pages/cpuinfo.html" class="CPU_INFO">CPU Information</a> | ||
| 21 | <a href="pages/general.html" class="resources">Resources</a> | ||
| 22 | <a href="pages/notes.html" class="speech_trans">Speech Transcriber</a> | ||
| 23 | <a href="pages/recourses.html" class="notes">Display a Message</a> | ||
| 24 | <a href="pages/speech.html" class="general">General Tools</a> | ||
| 25 | </section> | ||
| 24 | 26 | ||
| 27 | <footer> | ||
| 28 | <p>Created by <a href="https://www.github.com/nasrlol" target="_blank">nsrddyn</a>. All rights reserved © | ||
| 29 | 2024.</p> | ||
| 30 | </footer> | ||
| 25 | </body> | 31 | </body> |
| 26 | 32 | ||
| 27 | <footer> | ||
| 28 | |||
| 29 | </footer> | ||
| 30 | |||
| 31 | </html> \ No newline at end of file | 33 | </html> \ No newline at end of file |
diff --git a/webGUI/main.mjs b/webGUI/main.mjs index c7464e5..7e48f65 100644 --- a/webGUI/main.mjs +++ b/webGUI/main.mjs | |||
| @@ -1 +1,13 @@ | |||
| 1 | let modes = ["STATS", ""] \ No newline at end of file | 1 | document.addEventListener("DOMContentLoaded", () => { |
| 2 | const buttons = document.querySelectorAll(".controls a"); | ||
| 3 | |||
| 4 | buttons.forEach((button) => { | ||
| 5 | button.addEventListener("mouseover", () => { | ||
| 6 | button.style.boxShadow = "0px 6px 12px rgba(255, 255, 255, 0.5)"; | ||
| 7 | }); | ||
| 8 | |||
| 9 | button.addEventListener("mouseout", () => { | ||
| 10 | button.style.boxShadow = "0px 4px 8px rgba(0, 0, 0, 0.4)"; | ||
| 11 | }); | ||
| 12 | }); | ||
| 13 | }); | ||
diff --git a/webGUI/pages/cpuinfo.html b/webGUI/pages/cpuinfo.html new file mode 100644 index 0000000..99579cb --- /dev/null +++ b/webGUI/pages/cpuinfo.html | |||
| @@ -0,0 +1,30 @@ | |||
| 1 | <!DOCTYPE html> | ||
| 2 | <html lang="en"> | ||
| 3 | |||
| 4 | <head> | ||
| 5 | <meta charset="UTF-8"> | ||
| 6 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||
| 7 | <title>CPU Information</title> | ||
| 8 | <link rel="stylesheet" href="../styles.css"> | ||
| 9 | <script src="main.js" defer></script> | ||
| 10 | |||
| 11 | </head> | ||
| 12 | |||
| 13 | <body> | ||
| 14 | <nav class="navigation"> | ||
| 15 | <a href="../index.html" class="home">HOME</a> | ||
| 16 | <h2>CPU Information</h2> | ||
| 17 | <a href="https://www.github.com/nasrlol" target="_blank">GITHUB</a> | ||
| 18 | </nav> | ||
| 19 | |||
| 20 | <section class="content"> | ||
| 21 | <h1>CPU Information</h1> | ||
| 22 | </section> | ||
| 23 | |||
| 24 | <footer> | ||
| 25 | <p>Created by <a href="https://www.github.com/nasrlol" target="_blank">nsrddyn</a>. All rights reserved © | ||
| 26 | 2024.</p> | ||
| 27 | </footer> | ||
| 28 | </body> | ||
| 29 | |||
| 30 | </html> \ No newline at end of file | ||
diff --git a/webGUI/pages/general.html b/webGUI/pages/general.html new file mode 100644 index 0000000..087afbc --- /dev/null +++ b/webGUI/pages/general.html | |||
| @@ -0,0 +1,30 @@ | |||
| 1 | <!DOCTYPE html> | ||
| 2 | <html lang="en"> | ||
| 3 | |||
| 4 | <head> | ||
| 5 | <meta charset="UTF-8"> | ||
| 6 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||
| 7 | <title>General Tools</title> | ||
| 8 | <link rel="stylesheet" href="../styles.css"> | ||
| 9 | <script src="main.js" defer></script> | ||
| 10 | |||
| 11 | </head> | ||
| 12 | |||
| 13 | <body> | ||
| 14 | <nav class="navigation"> | ||
| 15 | <a href="../index.html" class="home">HOME</a> | ||
| 16 | <h2>General Tools</h2> | ||
| 17 | <a href="https://www.github.com/nasrlol" target="_blank">GITHUB</a> | ||
| 18 | </nav> | ||
| 19 | |||
| 20 | <section class="content"> | ||
| 21 | <h1>General Tools</h1> | ||
| 22 | </section> | ||
| 23 | |||
| 24 | <footer> | ||
| 25 | <p>Created by <a href="https://www.github.com/nasrlol" target="_blank">nsrddyn</a>. All rights reserved © | ||
| 26 | 2024.</p> | ||
| 27 | </footer> | ||
| 28 | </body> | ||
| 29 | |||
| 30 | </html> \ No newline at end of file | ||
diff --git a/webGUI/pages/main.js b/webGUI/pages/main.js new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/webGUI/pages/main.js | |||
diff --git a/webGUI/pages/notes.html b/webGUI/pages/notes.html new file mode 100644 index 0000000..ea870d7 --- /dev/null +++ b/webGUI/pages/notes.html | |||
| @@ -0,0 +1,25 @@ | |||
| 1 | <!DOCTYPE html> | ||
| 2 | <html lang="en"> | ||
| 3 | |||
| 4 | <head> | ||
| 5 | <meta charset="UTF-8"> | ||
| 6 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||
| 7 | <title>Display a Message</title> | ||
| 8 | <link rel="stylesheet" href="../styles.css"> | ||
| 9 | <script src="main.js" defer></script> | ||
| 10 | |||
| 11 | </head> | ||
| 12 | |||
| 13 | <body> | ||
| 14 | <nav class="navigation"> | ||
| 15 | <a href="../index.html" class="home">HOME</a> | ||
| 16 | <h2>Display a Message</h2> | ||
| 17 | <a href="https://www.github.com/nasrlol" target="_blank">GITHUB</a> | ||
| 18 | </nav> | ||
| 19 | |||
| 20 | <section class="content"> | ||
| 21 | <h1>Display a Message</h1> | ||
| 22 | </section> | ||
| 23 | |||
| 24 | <footer> | ||
| 25 | <p>Created by <a href="https://www.github.com/nasrlol" target="_blank">nsrddyn</a>. All \ No newline at end of file | ||
diff --git a/webGUI/pages/recourses.html b/webGUI/pages/recourses.html new file mode 100644 index 0000000..890ab73 --- /dev/null +++ b/webGUI/pages/recourses.html | |||
| @@ -0,0 +1,30 @@ | |||
| 1 | <!DOCTYPE html> | ||
| 2 | <html lang="en"> | ||
| 3 | |||
| 4 | <head> | ||
| 5 | <meta charset="UTF-8"> | ||
| 6 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||
| 7 | <title>Resources</title> | ||
| 8 | <link rel="stylesheet" href="../styles.css"> | ||
| 9 | <script src="main.js" defer></script> | ||
| 10 | |||
| 11 | </head> | ||
| 12 | |||
| 13 | <body> | ||
| 14 | <nav class="navigation"> | ||
| 15 | <a href="../index.html" class="home">HOME</a> | ||
| 16 | <h2>Resources</h2> | ||
| 17 | <a href="https://www.github.com/nasrlol" target="_blank">GITHUB</a> | ||
| 18 | </nav> | ||
| 19 | |||
| 20 | <section class="content"> | ||
| 21 | <h1>Resources</h1> | ||
| 22 | </section> | ||
| 23 | |||
| 24 | <footer> | ||
| 25 | <p>Created by <a href="https://www.github.com/nasrlol" target="_blank">nsrddyn</a>. All rights reserved © | ||
| 26 | 2024.</p> | ||
| 27 | </footer> | ||
| 28 | </body> | ||
| 29 | |||
| 30 | </html> \ No newline at end of file | ||
diff --git a/webGUI/pages/speech.html b/webGUI/pages/speech.html new file mode 100644 index 0000000..2c1a848 --- /dev/null +++ b/webGUI/pages/speech.html | |||
| @@ -0,0 +1,30 @@ | |||
| 1 | <!DOCTYPE html> | ||
| 2 | <html lang="en"> | ||
| 3 | |||
| 4 | <head> | ||
| 5 | <meta charset="UTF-8"> | ||
| 6 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||
| 7 | <title>Speech Transcriber</title> | ||
| 8 | <link rel="stylesheet" href="../styles.css"> | ||
| 9 | <script src="main.js" defer></script> | ||
| 10 | |||
| 11 | </head> | ||
| 12 | |||
| 13 | <body> | ||
| 14 | <nav class="navigation"> | ||
| 15 | <a href="../index.html" class="home">HOME</a> | ||
| 16 | <h2>Speech Transcriber</h2> | ||
| 17 | <a href="https://www.github.com/nasrlol" target="_blank">GITHUB</a> | ||
| 18 | </nav> | ||
| 19 | |||
| 20 | <section class="content"> | ||
| 21 | <h1>Speech Transcriber</h1> | ||
| 22 | </section> | ||
| 23 | |||
| 24 | <footer> | ||
| 25 | <p>Created by <a href="https://www.github.com/nasrlol" target="_blank">nsrddyn</a>. All rights reserved © | ||
| 26 | 2024.</p> | ||
| 27 | </footer> | ||
| 28 | </body> | ||
| 29 | |||
| 30 | </html> \ No newline at end of file | ||
diff --git a/webGUI/pages/stats.html b/webGUI/pages/stats.html deleted file mode 100644 index 8fdbb74..0000000 --- a/webGUI/pages/stats.html +++ /dev/null | |||
| @@ -1,14 +0,0 @@ | |||
| 1 | <!DOCTYPE html> | ||
| 2 | <html lang="en"> | ||
| 3 | |||
| 4 | <head> | ||
| 5 | <meta charset="UTF-8"> | ||
| 6 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||
| 7 | <title>STATS - CONSOLE</title> | ||
| 8 | </head> | ||
| 9 | |||
| 10 | <body> | ||
| 11 | |||
| 12 | </body> | ||
| 13 | |||
| 14 | </html> \ No newline at end of file | ||
diff --git a/webGUI/styles.css b/webGUI/styles.css index eefc162..03b0256 100644 --- a/webGUI/styles.css +++ b/webGUI/styles.css | |||
| @@ -1,32 +1,92 @@ | |||
| 1 | @import url("https://fonts.googleapis.com/css2?family=Host+Grotesk:ital,wght@0,300..800;1,300..800&display=swap"); | ||
| 2 | |||
| 1 | body { | 3 | body { |
| 2 | background-color: rgba(0, 10, 30, 1); | 4 | background-color: rgb(40, 44, 52); |
| 3 | text-decoration: none; | ||
| 4 | color: white; | 5 | color: white; |
| 5 | font: sans-serif; | 6 | font-family: "Host Grotesk", sans-serif; |
| 6 | } | 7 | font-weight: 500; |
| 7 | 8 | margin: 0; | |
| 8 | body button a { | 9 | padding: 0; |
| 9 | border-radius: 10px; | ||
| 10 | text-decoration: none; | ||
| 11 | } | 10 | } |
| 12 | 11 | ||
| 13 | a { | 12 | a { |
| 14 | text-decoration: none; | 13 | text-decoration: none; |
| 15 | color: wheat; | 14 | color: wheat; |
| 15 | transition: color 0.3s ease; | ||
| 16 | } | ||
| 17 | |||
| 18 | a:hover { | ||
| 19 | color: rgb(255, 215, 128); | ||
| 16 | } | 20 | } |
| 17 | 21 | ||
| 18 | .navigation { | 22 | .navigation { |
| 19 | max-width: fit-content; | 23 | display: flex; |
| 20 | margin-left: auto; | 24 | justify-content: space-between; |
| 21 | margin-right: auto; | 25 | align-items: center; |
| 26 | padding: 20px 10%; | ||
| 27 | background-color: rgba(0, 0, 0, 0.8); | ||
| 28 | border-bottom: 2px solid white; | ||
| 29 | box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.3); | ||
| 30 | position: sticky; | ||
| 31 | top: 0; | ||
| 32 | z-index: 10; | ||
| 22 | } | 33 | } |
| 23 | 34 | ||
| 24 | .navigation a { | 35 | .navigation a { |
| 25 | display: block; | 36 | font-size: 1.2em; |
| 37 | font-weight: 600; | ||
| 38 | transition: transform 0.3s ease; | ||
| 39 | } | ||
| 26 | 40 | ||
| 27 | background-color: rgba(0, 0, 0, 1); | 41 | .navigation a:hover { |
| 42 | transform: scale(1.1); | ||
| 43 | } | ||
| 44 | |||
| 45 | .controls { | ||
| 46 | display: flex; | ||
| 47 | flex-wrap: wrap; | ||
| 48 | justify-content: center; | ||
| 49 | gap: 20px; | ||
| 50 | padding: 50px 10%; | ||
| 51 | } | ||
| 52 | |||
| 53 | .controls a { | ||
| 54 | display: flex; | ||
| 55 | justify-content: center; | ||
| 56 | align-items: center; | ||
| 57 | background-color: rgba(255, 255, 255, 0.1); | ||
| 28 | border-radius: 10px; | 58 | border-radius: 10px; |
| 29 | border: none; | 59 | padding: 15px; |
| 60 | min-width: 150px; | ||
| 61 | width: 200px; | ||
| 62 | text-align: center; | ||
| 63 | font-size: 1.2em; | ||
| 64 | font-weight: 600; | ||
| 65 | color: white; | ||
| 66 | box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.4); | ||
| 67 | transition: background-color 0.3s ease, transform 0.3s ease; | ||
| 68 | } | ||
| 69 | |||
| 70 | .controls a:hover { | ||
| 71 | background-color: rgba(255, 255, 255, 0.2); | ||
| 72 | transform: translateY(-5px); | ||
| 73 | } | ||
| 74 | |||
| 75 | footer { | ||
| 76 | background-color: rgba(0, 0, 0, 0.8); | ||
| 77 | text-align: center; | ||
| 30 | padding: 10px; | 78 | padding: 10px; |
| 31 | min-width: 100px; | 79 | font-size: 0.9em; |
| 80 | border-top: 1px solid rgba(255, 255, 255, 0.2); | ||
| 81 | margin-top: 20px; | ||
| 82 | } | ||
| 83 | |||
| 84 | footer a { | ||
| 85 | color: wheat; | ||
| 86 | font-weight: 600; | ||
| 87 | text-decoration: underline; | ||
| 88 | } | ||
| 89 | |||
| 90 | footer a:hover { | ||
| 91 | color: rgb(255, 215, 128); | ||
| 32 | } | 92 | } |
