From 4ab5b37d05c53b49033282a3d0206cbda55a574e Mon Sep 17 00:00:00 2001 From: Zamfir Andrei-Paul <56279630+ZamfirAndreiPaul@users.noreply.github.com> Date: Wed, 26 Feb 2025 03:44:20 +0200 Subject: [PATCH 01/31] [Issue #16] Add project description and rules --- .../version-acs_cc/project/index.md | 37 +++++++++++-------- .../version-fils_en/project/index.md | 37 +++++++++++-------- 2 files changed, 42 insertions(+), 32 deletions(-) diff --git a/website/versioned_docs/version-acs_cc/project/index.md b/website/versioned_docs/version-acs_cc/project/index.md index 03f8afa..8c956f0 100644 --- a/website/versioned_docs/version-acs_cc/project/index.md +++ b/website/versioned_docs/version-acs_cc/project/index.md @@ -4,10 +4,10 @@ sidebar_position: 1 # Description -The purpose of the project is to build a hardware device that runs software written in Rust. +The goal of the project is to showcase the knowledge gained throughout the semester by creating functional hardware that runs software written in Rust. ## Deliverables -All the deliverables will be published in a GitHub repository that each student will be assigned to. +The deliverables will be stored in two places, the source code will be stored on Github and the project documentation will be stored on Gitlab, where there is a repository for the course site. The repository contains: - documentation - the reposiotry's `README.md` file @@ -19,20 +19,22 @@ The repository contains: - functional diagram - software source code -Students will have to build and showcase the hardware with the running software at PM Fair. +The github repository will be checked by the lab coordinator at each lab assigned to the project. Uploading code on the last day of the software milestone is not allowed. + +Students will have to build and showcase the hardware with the running software at PM Fair. On the day of the presentation, students will upload the source code to the hardware and the demo will be done live in front of the committee. ## Hardware Rules 1. Projects have to use a microcontroller (MCU) that is capable of running Rust code. Examples of MCUs are *nRF52*, *RP2040*, *ESP32* (RISC-V version). 2. Usage of a development board is encouraged, but not required, a custom PCB can be built. Example of development boards are: - - [Raspberry Pi Pico](https://www.raspberrypi.com/documentation/microcontrollers/raspberry-pi-pico.html) (RP2040) or [Raspberry Pi Pico W](https://www.raspberrypi.com/documentation/microcontrollers/raspberry-pi-pico.html) for WiFi + - [Raspberry Pi Pico](https://www.raspberrypi.com/documentation/microcontrollers/raspberry-pi-pico.html) (RP2040) or [Raspberry Pi Pico W](https://www.raspberrypi.com/documentation/microcontrollers/raspberry-pi-pico.html) for WiFi (The version of Pico is not important, but we encourage the use of version 2.) - [Adafruit Trinkey QT2040](https://www.adafruit.com/product/5056) (RP2040) - [Arduino Nano RP2040 Connect](https://store.arduino.cc/products/arduino-nano-rp2040-connect) (RP2040) - â ď¸ [^arduino_nano_rp2040_connect] - [micro:bit v2](https://microbit.org/) (nRF52833) - [nRF52 DK](https://www.nordicsemi.com/Products/Development-hardware/nrf52-dk) (nRF52810) - [STM32 NUCLEO-F401RE](https://ro.mouser.com/ProductDetail/STMicroelectronics/NUCLEO-F401RE?qs=sGAEpiMZZMuqBwn8WqcFUv%2FX0DKhApUpi46qP7WpjrffIid8Wo1rTg%3D%3D) - [ESP32-C3-DevKit-RUST-1](https://www.espressif.com/en/dev-board/esp32-c3-devkit-rust-1-en) (ESP32-C3) - â ď¸ [^esp32_riscv] -3. The hardware part may be designed either using a breadboard and jumper wires, a prototype board (solder breadboard) or a PCB. +3. The hardware part may be designed either using a breadboard and jumper wires, a prototype board (solder breadboard) or a PCB. If you want to use prototyping boards, ask the lab coordinator if he can help you with solder them during lab hours. ## Software Rules It has to run software written in Rust. Students can use: @@ -45,15 +47,18 @@ It has to run software written in Rust. Students can use: ## Project Rules -1. Copying schematics or source code from the Internet is not allowed. -2. Each project is considered individual work, students can ask the lab assistant (lab) about implementation details during the development period. -3. Students are strongly encouraged to ask the lab assistant questions about the project. -4. The presentation of all the milestones is mandatory. +1. Copying schematics or source code from the Internet is not allowed. Any attempt to copy the project will be accompanied by the corresponding repercussions. +2. The project is individual, any attempt at collaborative work will be sanctioned, students can also carry out projects that interact, but the work must be separate. +3. Any problem or blockage you have will be discussed with the lab teacher during project work hours. +4. Students are strongly encouraged to ask the lab assistant questions about the project. +5. The presentation of all the milestones is mandatory. +6. The project topic must be established in week 4 and approved by the lab coordinator by week 6. After week 6, the topic cannot be changed. +7. The laboratory supervisor may modify the topic or propose another topic if it is not complex enough for this project. ## Requirements -1. *Complexity:* use knowledge of at least 3 labs, **excluding** [00 - Rust](https://embedded-rust-101.wyliodrin.com/docs/lab/00), [01 - Hardware Introduction](https://embedded-rust-101.wyliodrin.com/docs/lab/01) and [02 - Setting up the Raspberry Pi Pico + GPIO](https://embedded-rust-101.wyliodrin.com/docs/lab/02) +1. *Complexity:* The project must reflect at least 40 hours of work and contain elements learned during the year. 2. *Documentation:* Complete documentation of the implementation for both hardware and software. -3. *Functionality:* the hardware device has to be fully functional. +3. *Functionality:* The hardware device has to be fully functional. ## Example Projects @@ -71,11 +76,11 @@ It has to run software written in Rust. Students can use: | Part | Deadline | Points | |--------|--------|--------| -| Documentation Milestone | Lab 9 | 1p | -| Hardware Milestone | Lab 11 | 1p | -| Software Milestone | Lab 12 | 1p | -| PM Faire | TBD | 2p | -| **Total** | | **5p** | +| Documentation Milestone | Lab 9 | 0.5p | +| Hardware Milestone | Lab 11 | 0.5p | +| Software Milestone | Lab 12 | 0.5p | +| PM Faire | TBD | 1.5p | +| **Total** | | **3p** | ## F.A.Q **Q:** Can I use another programming language, not Rust?\ diff --git a/website/versioned_docs/version-fils_en/project/index.md b/website/versioned_docs/version-fils_en/project/index.md index 03f8afa..8c956f0 100644 --- a/website/versioned_docs/version-fils_en/project/index.md +++ b/website/versioned_docs/version-fils_en/project/index.md @@ -4,10 +4,10 @@ sidebar_position: 1 # Description -The purpose of the project is to build a hardware device that runs software written in Rust. +The goal of the project is to showcase the knowledge gained throughout the semester by creating functional hardware that runs software written in Rust. ## Deliverables -All the deliverables will be published in a GitHub repository that each student will be assigned to. +The deliverables will be stored in two places, the source code will be stored on Github and the project documentation will be stored on Gitlab, where there is a repository for the course site. The repository contains: - documentation - the reposiotry's `README.md` file @@ -19,20 +19,22 @@ The repository contains: - functional diagram - software source code -Students will have to build and showcase the hardware with the running software at PM Fair. +The github repository will be checked by the lab coordinator at each lab assigned to the project. Uploading code on the last day of the software milestone is not allowed. + +Students will have to build and showcase the hardware with the running software at PM Fair. On the day of the presentation, students will upload the source code to the hardware and the demo will be done live in front of the committee. ## Hardware Rules 1. Projects have to use a microcontroller (MCU) that is capable of running Rust code. Examples of MCUs are *nRF52*, *RP2040*, *ESP32* (RISC-V version). 2. Usage of a development board is encouraged, but not required, a custom PCB can be built. Example of development boards are: - - [Raspberry Pi Pico](https://www.raspberrypi.com/documentation/microcontrollers/raspberry-pi-pico.html) (RP2040) or [Raspberry Pi Pico W](https://www.raspberrypi.com/documentation/microcontrollers/raspberry-pi-pico.html) for WiFi + - [Raspberry Pi Pico](https://www.raspberrypi.com/documentation/microcontrollers/raspberry-pi-pico.html) (RP2040) or [Raspberry Pi Pico W](https://www.raspberrypi.com/documentation/microcontrollers/raspberry-pi-pico.html) for WiFi (The version of Pico is not important, but we encourage the use of version 2.) - [Adafruit Trinkey QT2040](https://www.adafruit.com/product/5056) (RP2040) - [Arduino Nano RP2040 Connect](https://store.arduino.cc/products/arduino-nano-rp2040-connect) (RP2040) - â ď¸ [^arduino_nano_rp2040_connect] - [micro:bit v2](https://microbit.org/) (nRF52833) - [nRF52 DK](https://www.nordicsemi.com/Products/Development-hardware/nrf52-dk) (nRF52810) - [STM32 NUCLEO-F401RE](https://ro.mouser.com/ProductDetail/STMicroelectronics/NUCLEO-F401RE?qs=sGAEpiMZZMuqBwn8WqcFUv%2FX0DKhApUpi46qP7WpjrffIid8Wo1rTg%3D%3D) - [ESP32-C3-DevKit-RUST-1](https://www.espressif.com/en/dev-board/esp32-c3-devkit-rust-1-en) (ESP32-C3) - â ď¸ [^esp32_riscv] -3. The hardware part may be designed either using a breadboard and jumper wires, a prototype board (solder breadboard) or a PCB. +3. The hardware part may be designed either using a breadboard and jumper wires, a prototype board (solder breadboard) or a PCB. If you want to use prototyping boards, ask the lab coordinator if he can help you with solder them during lab hours. ## Software Rules It has to run software written in Rust. Students can use: @@ -45,15 +47,18 @@ It has to run software written in Rust. Students can use: ## Project Rules -1. Copying schematics or source code from the Internet is not allowed. -2. Each project is considered individual work, students can ask the lab assistant (lab) about implementation details during the development period. -3. Students are strongly encouraged to ask the lab assistant questions about the project. -4. The presentation of all the milestones is mandatory. +1. Copying schematics or source code from the Internet is not allowed. Any attempt to copy the project will be accompanied by the corresponding repercussions. +2. The project is individual, any attempt at collaborative work will be sanctioned, students can also carry out projects that interact, but the work must be separate. +3. Any problem or blockage you have will be discussed with the lab teacher during project work hours. +4. Students are strongly encouraged to ask the lab assistant questions about the project. +5. The presentation of all the milestones is mandatory. +6. The project topic must be established in week 4 and approved by the lab coordinator by week 6. After week 6, the topic cannot be changed. +7. The laboratory supervisor may modify the topic or propose another topic if it is not complex enough for this project. ## Requirements -1. *Complexity:* use knowledge of at least 3 labs, **excluding** [00 - Rust](https://embedded-rust-101.wyliodrin.com/docs/lab/00), [01 - Hardware Introduction](https://embedded-rust-101.wyliodrin.com/docs/lab/01) and [02 - Setting up the Raspberry Pi Pico + GPIO](https://embedded-rust-101.wyliodrin.com/docs/lab/02) +1. *Complexity:* The project must reflect at least 40 hours of work and contain elements learned during the year. 2. *Documentation:* Complete documentation of the implementation for both hardware and software. -3. *Functionality:* the hardware device has to be fully functional. +3. *Functionality:* The hardware device has to be fully functional. ## Example Projects @@ -71,11 +76,11 @@ It has to run software written in Rust. Students can use: | Part | Deadline | Points | |--------|--------|--------| -| Documentation Milestone | Lab 9 | 1p | -| Hardware Milestone | Lab 11 | 1p | -| Software Milestone | Lab 12 | 1p | -| PM Faire | TBD | 2p | -| **Total** | | **5p** | +| Documentation Milestone | Lab 9 | 0.5p | +| Hardware Milestone | Lab 11 | 0.5p | +| Software Milestone | Lab 12 | 0.5p | +| PM Faire | TBD | 1.5p | +| **Total** | | **3p** | ## F.A.Q **Q:** Can I use another programming language, not Rust?\ -- GitLab From 4caf04e0415c5176103f0852733359d294d31375 Mon Sep 17 00:00:00 2001 From: Andrei-Paul ZAMFIR <andrei_paul.zamfir@stud.fils.upb.ro> Date: Wed, 26 Feb 2025 14:32:07 +0000 Subject: [PATCH 02/31] Apply 1 suggestion(s) to 1 file(s) Co-authored-by: GabrielPavaloiu <gabriel.pavaloiu@upb.ro> --- website/versioned_docs/version-acs_cc/project/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versioned_docs/version-acs_cc/project/index.md b/website/versioned_docs/version-acs_cc/project/index.md index 8c956f0..65ac00f 100644 --- a/website/versioned_docs/version-acs_cc/project/index.md +++ b/website/versioned_docs/version-acs_cc/project/index.md @@ -7,7 +7,7 @@ sidebar_position: 1 The goal of the project is to showcase the knowledge gained throughout the semester by creating functional hardware that runs software written in Rust. ## Deliverables -The deliverables will be stored in two places, the source code will be stored on Github and the project documentation will be stored on Gitlab, where there is a repository for the course site. +The deliverables will be stored in two places: the source code will be stored on Github and the project documentation will be stored on Gitlab, by creating a fork of the course site. The repository contains: - documentation - the reposiotry's `README.md` file -- GitLab From d1236600ae26c07b64fba04424db11b0a6c34d31 Mon Sep 17 00:00:00 2001 From: Andrei-Paul ZAMFIR <andrei_paul.zamfir@stud.fils.upb.ro> Date: Wed, 26 Feb 2025 14:32:23 +0000 Subject: [PATCH 03/31] Apply 1 suggestion(s) to 1 file(s) Co-authored-by: GabrielPavaloiu <gabriel.pavaloiu@upb.ro> --- website/versioned_docs/version-acs_cc/project/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versioned_docs/version-acs_cc/project/index.md b/website/versioned_docs/version-acs_cc/project/index.md index 65ac00f..cdf6b63 100644 --- a/website/versioned_docs/version-acs_cc/project/index.md +++ b/website/versioned_docs/version-acs_cc/project/index.md @@ -34,7 +34,7 @@ Students will have to build and showcase the hardware with the running software - [nRF52 DK](https://www.nordicsemi.com/Products/Development-hardware/nrf52-dk) (nRF52810) - [STM32 NUCLEO-F401RE](https://ro.mouser.com/ProductDetail/STMicroelectronics/NUCLEO-F401RE?qs=sGAEpiMZZMuqBwn8WqcFUv%2FX0DKhApUpi46qP7WpjrffIid8Wo1rTg%3D%3D) - [ESP32-C3-DevKit-RUST-1](https://www.espressif.com/en/dev-board/esp32-c3-devkit-rust-1-en) (ESP32-C3) - â ď¸ [^esp32_riscv] -3. The hardware part may be designed either using a breadboard and jumper wires, a prototype board (solder breadboard) or a PCB. If you want to use prototyping boards, ask the lab coordinator if he can help you with solder them during lab hours. +3. The hardware part may be designed either using a breadboard and jumper wires, a prototype board (solder breadboard) or a PCB. If you want to use prototyping boards, ask the lab coordinator for help with soldering during lab hours. ## Software Rules It has to run software written in Rust. Students can use: -- GitLab From 0d2ca324c795d1a29a3b8356ed934e8b5988b994 Mon Sep 17 00:00:00 2001 From: Andrei-Paul ZAMFIR <andrei_paul.zamfir@stud.fils.upb.ro> Date: Wed, 26 Feb 2025 14:32:30 +0000 Subject: [PATCH 04/31] Apply 1 suggestion(s) to 1 file(s) Co-authored-by: GabrielPavaloiu <gabriel.pavaloiu@upb.ro> --- website/versioned_docs/version-acs_cc/project/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versioned_docs/version-acs_cc/project/index.md b/website/versioned_docs/version-acs_cc/project/index.md index cdf6b63..c6ded16 100644 --- a/website/versioned_docs/version-acs_cc/project/index.md +++ b/website/versioned_docs/version-acs_cc/project/index.md @@ -49,7 +49,7 @@ It has to run software written in Rust. Students can use: 1. Copying schematics or source code from the Internet is not allowed. Any attempt to copy the project will be accompanied by the corresponding repercussions. 2. The project is individual, any attempt at collaborative work will be sanctioned, students can also carry out projects that interact, but the work must be separate. -3. Any problem or blockage you have will be discussed with the lab teacher during project work hours. +3. Any problem or blockage you have will be discussed with the lab assistant during project work hours. 4. Students are strongly encouraged to ask the lab assistant questions about the project. 5. The presentation of all the milestones is mandatory. 6. The project topic must be established in week 4 and approved by the lab coordinator by week 6. After week 6, the topic cannot be changed. -- GitLab From 48dd989c223b0d124650608bdb41533872afa3f0 Mon Sep 17 00:00:00 2001 From: Andrei-Paul ZAMFIR <andrei_paul.zamfir@stud.fils.upb.ro> Date: Wed, 26 Feb 2025 14:32:43 +0000 Subject: [PATCH 05/31] Apply 1 suggestion(s) to 1 file(s) Co-authored-by: Alexandru RADOVICI <alexandru.radovici@upb.ro> --- website/versioned_docs/version-fils_en/project/index.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/website/versioned_docs/version-fils_en/project/index.md b/website/versioned_docs/version-fils_en/project/index.md index 8c956f0..9607eca 100644 --- a/website/versioned_docs/version-fils_en/project/index.md +++ b/website/versioned_docs/version-fils_en/project/index.md @@ -7,7 +7,9 @@ sidebar_position: 1 The goal of the project is to showcase the knowledge gained throughout the semester by creating functional hardware that runs software written in Rust. ## Deliverables -The deliverables will be stored in two places, the source code will be stored on Github and the project documentation will be stored on Gitlab, where there is a repository for the course site. +The deliverables will be stored in two places: +- the project's source code will be stored on Github; +- the project's documentation will be published on the course's website, that I stored on Gitlab. The repository contains: - documentation - the reposiotry's `README.md` file -- GitLab From 0012220133c7ece8281c38e8298c90d087b9b55a Mon Sep 17 00:00:00 2001 From: Andrei-Paul ZAMFIR <andrei_paul.zamfir@stud.fils.upb.ro> Date: Wed, 26 Feb 2025 14:32:49 +0000 Subject: [PATCH 06/31] Apply 1 suggestion(s) to 1 file(s) Co-authored-by: Alexandru RADOVICI <alexandru.radovici@upb.ro> --- website/versioned_docs/version-fils_en/project/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versioned_docs/version-fils_en/project/index.md b/website/versioned_docs/version-fils_en/project/index.md index 9607eca..64027ae 100644 --- a/website/versioned_docs/version-fils_en/project/index.md +++ b/website/versioned_docs/version-fils_en/project/index.md @@ -21,7 +21,7 @@ The repository contains: - functional diagram - software source code -The github repository will be checked by the lab coordinator at each lab assigned to the project. Uploading code on the last day of the software milestone is not allowed. +The progress of the project will be regulary checked by the lab coordinator by looking at the commits sent to the project's Github repository. **Uploading code on the last day of the software milestone is not allowed**. Students will have to build and showcase the hardware with the running software at PM Fair. On the day of the presentation, students will upload the source code to the hardware and the demo will be done live in front of the committee. -- GitLab From ed865a44baab962c785946516604a4c5fcdc528f Mon Sep 17 00:00:00 2001 From: Andrei-Paul ZAMFIR <andrei_paul.zamfir@stud.fils.upb.ro> Date: Wed, 26 Feb 2025 16:39:15 +0000 Subject: [PATCH 07/31] Apply 1 suggestion(s) to 1 file(s) Co-authored-by: GabrielPavaloiu <gabriel.pavaloiu@upb.ro> --- website/versioned_docs/version-acs_cc/project/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versioned_docs/version-acs_cc/project/index.md b/website/versioned_docs/version-acs_cc/project/index.md index c6ded16..57a5686 100644 --- a/website/versioned_docs/version-acs_cc/project/index.md +++ b/website/versioned_docs/version-acs_cc/project/index.md @@ -19,7 +19,7 @@ The repository contains: - functional diagram - software source code -The github repository will be checked by the lab coordinator at each lab assigned to the project. Uploading code on the last day of the software milestone is not allowed. +The repositories will be checked by the lab coordinator at each lab assigned to the project. Uploading code on the last day of the software milestone is not allowed. Students will have to build and showcase the hardware with the running software at PM Fair. On the day of the presentation, students will upload the source code to the hardware and the demo will be done live in front of the committee. -- GitLab From 9a802cf9e9e5432d2ad292d0b4f706cdf1aba3aa Mon Sep 17 00:00:00 2001 From: Andrei-Paul ZAMFIR <andrei_paul.zamfir@stud.fils.upb.ro> Date: Wed, 26 Feb 2025 20:03:26 +0200 Subject: [PATCH 08/31] [Issue-16] Update project page --- .../version-acs_cc/project/index.md | 25 +++++++++++++ .../version-fils_en/project/index.md | 35 +++++++++++++++---- 2 files changed, 54 insertions(+), 6 deletions(-) diff --git a/website/versioned_docs/version-acs_cc/project/index.md b/website/versioned_docs/version-acs_cc/project/index.md index 57a5686..a25aad2 100644 --- a/website/versioned_docs/version-acs_cc/project/index.md +++ b/website/versioned_docs/version-acs_cc/project/index.md @@ -23,6 +23,30 @@ The repositories will be checked by the lab coordinator at each lab assigned to Students will have to build and showcase the hardware with the running software at PM Fair. On the day of the presentation, students will upload the source code to the hardware and the demo will be done live in front of the committee. +## How to create a page for your project? + +### How to setup gitlab? +1. To begin with, you will have to get a good ssh key with the gitlab account. For this, call the following command in the windows/linux/mac console: ssh-keygen -t rsa -b 2048. Press enter until you exit the respective command prompts. + - If your command prompt "Overwrite (y/n)?" press 'n' and run the above command again, changing the destination of the key. + - If the key was generated successfully, you will have the keys generated in the location indicated by the command "Enter file in which to save the key (C:\Users\"NAME"/.ssh/id_rsa):" + - Read the content of the file id_rsa.pub or the name you gave to the file and transfer it to Github. + - Login to https://gitlab.cs.pub.ro/ and go to : https://gitlab.cs.pub.ro/-/user_settings/ssh_keys. + - Click on "Add new key" and insert into "Key" textbox your key from "id_rsa.pub". + - Be very careful about the expiration date of the ssh key, change the expiration date otherwise it is set to 30 days. + +2. Download Git from the official website and access it in the command line using git -v to check if it was installed correctly. +3. Run in the command line: 'git clone git@gitlab.cs.pub.ro:pmrust/pmrust.pages.upb.ro.git' +4. Now you have your own clone. You need to create a new branch. For this, follow the steps: + - Run the command: 'git fetch' followed by the 'git pull' command + - The branches have the following naming convention: project/[first_name]-[last_name]-[project_name]. Example: 'project/andrei-paul-zamfir-smart-weather' + - To create a new branch: + - git checkout -b branch_name + - git push --set-upstream origin test + +5. To start creating your page for the project, go to the directory: website/versioned_docs/version-acs_cc/project/2025 and create a new directory with your tag from Gitlab. Example: andrei_paul.zamfir. + +6. In that directory you must create a file named index.md which will be your project page. For a better understanding of Markdown syntax look over: https://www.markdownguide.org/cheat-sheet/ + ## Hardware Rules 1. Projects have to use a microcontroller (MCU) that is capable of running Rust code. Examples of MCUs are *nRF52*, *RP2040*, *ESP32* (RISC-V version). @@ -54,6 +78,7 @@ It has to run software written in Rust. Students can use: 5. The presentation of all the milestones is mandatory. 6. The project topic must be established in week 4 and approved by the lab coordinator by week 6. After week 6, the topic cannot be changed. 7. The laboratory supervisor may modify the topic or propose another topic if it is not complex enough for this project. +8. We encourage you not to use prebuild kits, you may be penalized for hardware part. ## Requirements 1. *Complexity:* The project must reflect at least 40 hours of work and contain elements learned during the year. diff --git a/website/versioned_docs/version-fils_en/project/index.md b/website/versioned_docs/version-fils_en/project/index.md index 64027ae..8b79a26 100644 --- a/website/versioned_docs/version-fils_en/project/index.md +++ b/website/versioned_docs/version-fils_en/project/index.md @@ -7,9 +7,7 @@ sidebar_position: 1 The goal of the project is to showcase the knowledge gained throughout the semester by creating functional hardware that runs software written in Rust. ## Deliverables -The deliverables will be stored in two places: -- the project's source code will be stored on Github; -- the project's documentation will be published on the course's website, that I stored on Gitlab. +The deliverables will be stored in two places: the source code will be stored on Github and the project documentation will be stored on Gitlab, by creating a fork of the course site. The repository contains: - documentation - the reposiotry's `README.md` file @@ -21,10 +19,34 @@ The repository contains: - functional diagram - software source code -The progress of the project will be regulary checked by the lab coordinator by looking at the commits sent to the project's Github repository. **Uploading code on the last day of the software milestone is not allowed**. +The repositories will be checked by the lab coordinator at each lab assigned to the project. Uploading code on the last day of the software milestone is not allowed. Students will have to build and showcase the hardware with the running software at PM Fair. On the day of the presentation, students will upload the source code to the hardware and the demo will be done live in front of the committee. +## How to create a page for your project? + +### How to setup gitlab? +1. To begin with, you will have to get a good ssh key with the gitlab account. For this, call the following command in the windows/linux/mac console: ssh-keygen -t rsa -b 2048. Press enter until you exit the respective command prompts. + - If your command prompt "Overwrite (y/n)?" press 'n' and run the above command again, changing the destination of the key. + - If the key was generated successfully, you will have the keys generated in the location indicated by the command "Enter file in which to save the key (C:\Users\"NAME"/.ssh/id_rsa):" + - Read the content of the file id_rsa.pub or the name you gave to the file and transfer it to Github. + - Login to https://gitlab.cs.pub.ro/ and go to : https://gitlab.cs.pub.ro/-/user_settings/ssh_keys. + - Click on "Add new key" and insert into "Key" textbox your key from "id_rsa.pub". + - Be very careful about the expiration date of the ssh key, change the expiration date otherwise it is set to 30 days. + +2. Download Git from the official website and access it in the command line using git -v to check if it was installed correctly. +3. Run in the command line: 'git clone git@gitlab.cs.pub.ro:pmrust/pmrust.pages.upb.ro.git' +4. Now you have your own clone. You need to create a new branch. For this, follow the steps: + - Run the command: 'git fetch' followed by the 'git pull' command + - The branches have the following naming convention: project/[first_name]-[last_name]-[project_name]. Example: 'project/andrei-paul-zamfir-smart-weather' + - To create a new branch: + - git checkout -b branch_name + - git push --set-upstream origin test + +5. To start creating your page for the project, go to the directory: website/versioned_docs/version-fils_en/project/2025 and create a new directory with your tag from Gitlab. Example: andrei_paul.zamfir. + +6. In that directory you must create a file named index.md which will be your project page. For a better understanding of Markdown syntax look over: https://www.markdownguide.org/cheat-sheet/ + ## Hardware Rules 1. Projects have to use a microcontroller (MCU) that is capable of running Rust code. Examples of MCUs are *nRF52*, *RP2040*, *ESP32* (RISC-V version). @@ -36,7 +58,7 @@ Students will have to build and showcase the hardware with the running software - [nRF52 DK](https://www.nordicsemi.com/Products/Development-hardware/nrf52-dk) (nRF52810) - [STM32 NUCLEO-F401RE](https://ro.mouser.com/ProductDetail/STMicroelectronics/NUCLEO-F401RE?qs=sGAEpiMZZMuqBwn8WqcFUv%2FX0DKhApUpi46qP7WpjrffIid8Wo1rTg%3D%3D) - [ESP32-C3-DevKit-RUST-1](https://www.espressif.com/en/dev-board/esp32-c3-devkit-rust-1-en) (ESP32-C3) - â ď¸ [^esp32_riscv] -3. The hardware part may be designed either using a breadboard and jumper wires, a prototype board (solder breadboard) or a PCB. If you want to use prototyping boards, ask the lab coordinator if he can help you with solder them during lab hours. +3. The hardware part may be designed either using a breadboard and jumper wires, a prototype board (solder breadboard) or a PCB. If you want to use prototyping boards, ask the lab coordinator for help with soldering during lab hours. ## Software Rules It has to run software written in Rust. Students can use: @@ -51,11 +73,12 @@ It has to run software written in Rust. Students can use: 1. Copying schematics or source code from the Internet is not allowed. Any attempt to copy the project will be accompanied by the corresponding repercussions. 2. The project is individual, any attempt at collaborative work will be sanctioned, students can also carry out projects that interact, but the work must be separate. -3. Any problem or blockage you have will be discussed with the lab teacher during project work hours. +3. Any problem or blockage you have will be discussed with the lab assistant during project work hours. 4. Students are strongly encouraged to ask the lab assistant questions about the project. 5. The presentation of all the milestones is mandatory. 6. The project topic must be established in week 4 and approved by the lab coordinator by week 6. After week 6, the topic cannot be changed. 7. The laboratory supervisor may modify the topic or propose another topic if it is not complex enough for this project. +8. We encourage you not to use prebuild kits, you may be penalized for hardware part. ## Requirements 1. *Complexity:* The project must reflect at least 40 hours of work and contain elements learned during the year. -- GitLab From 3cc470a639f13b1971418917bdf44316ba6f660d Mon Sep 17 00:00:00 2001 From: Andrei-Paul ZAMFIR <andrei_paul.zamfir@stud.fils.upb.ro> Date: Thu, 27 Feb 2025 05:50:52 +0000 Subject: [PATCH 09/31] Apply 1 suggestion(s) to 1 file(s) Co-authored-by: GabrielPavaloiu <gabriel.pavaloiu@upb.ro> --- website/versioned_docs/version-acs_cc/project/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versioned_docs/version-acs_cc/project/index.md b/website/versioned_docs/version-acs_cc/project/index.md index a25aad2..c921d99 100644 --- a/website/versioned_docs/version-acs_cc/project/index.md +++ b/website/versioned_docs/version-acs_cc/project/index.md @@ -34,7 +34,7 @@ Students will have to build and showcase the hardware with the running software - Click on "Add new key" and insert into "Key" textbox your key from "id_rsa.pub". - Be very careful about the expiration date of the ssh key, change the expiration date otherwise it is set to 30 days. -2. Download Git from the official website and access it in the command line using git -v to check if it was installed correctly. +2. Download Git from the official website and access it in the command line using `git -v` to check if it was installed correctly. 3. Run in the command line: 'git clone git@gitlab.cs.pub.ro:pmrust/pmrust.pages.upb.ro.git' 4. Now you have your own clone. You need to create a new branch. For this, follow the steps: - Run the command: 'git fetch' followed by the 'git pull' command -- GitLab From eaa70342304519fee043db6004349ae2984441c9 Mon Sep 17 00:00:00 2001 From: Andrei-Paul ZAMFIR <andrei_paul.zamfir@stud.fils.upb.ro> Date: Thu, 27 Feb 2025 05:51:00 +0000 Subject: [PATCH 10/31] Apply 1 suggestion(s) to 1 file(s) Co-authored-by: GabrielPavaloiu <gabriel.pavaloiu@upb.ro> --- website/versioned_docs/version-acs_cc/project/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versioned_docs/version-acs_cc/project/index.md b/website/versioned_docs/version-acs_cc/project/index.md index c921d99..57a4f15 100644 --- a/website/versioned_docs/version-acs_cc/project/index.md +++ b/website/versioned_docs/version-acs_cc/project/index.md @@ -35,7 +35,7 @@ Students will have to build and showcase the hardware with the running software - Be very careful about the expiration date of the ssh key, change the expiration date otherwise it is set to 30 days. 2. Download Git from the official website and access it in the command line using `git -v` to check if it was installed correctly. -3. Run in the command line: 'git clone git@gitlab.cs.pub.ro:pmrust/pmrust.pages.upb.ro.git' +3. Run this in the command line: `git clone git@gitlab.cs.pub.ro:pmrust/pmrust.pages.upb.ro.git` 4. Now you have your own clone. You need to create a new branch. For this, follow the steps: - Run the command: 'git fetch' followed by the 'git pull' command - The branches have the following naming convention: project/[first_name]-[last_name]-[project_name]. Example: 'project/andrei-paul-zamfir-smart-weather' -- GitLab From cec57d83ac33b0e20f91a0d9360943742e08fd45 Mon Sep 17 00:00:00 2001 From: Andrei-Paul ZAMFIR <andrei_paul.zamfir@stud.fils.upb.ro> Date: Thu, 27 Feb 2025 05:51:18 +0000 Subject: [PATCH 11/31] Apply 1 suggestion(s) to 1 file(s) Co-authored-by: GabrielPavaloiu <gabriel.pavaloiu@upb.ro> --- website/versioned_docs/version-acs_cc/project/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versioned_docs/version-acs_cc/project/index.md b/website/versioned_docs/version-acs_cc/project/index.md index 57a4f15..f09ae1a 100644 --- a/website/versioned_docs/version-acs_cc/project/index.md +++ b/website/versioned_docs/version-acs_cc/project/index.md @@ -37,7 +37,7 @@ Students will have to build and showcase the hardware with the running software 2. Download Git from the official website and access it in the command line using `git -v` to check if it was installed correctly. 3. Run this in the command line: `git clone git@gitlab.cs.pub.ro:pmrust/pmrust.pages.upb.ro.git` 4. Now you have your own clone. You need to create a new branch. For this, follow the steps: - - Run the command: 'git fetch' followed by the 'git pull' command + - Run `git fetch` followed by `git pull`. - The branches have the following naming convention: project/[first_name]-[last_name]-[project_name]. Example: 'project/andrei-paul-zamfir-smart-weather' - To create a new branch: - git checkout -b branch_name -- GitLab From aa05cf3715386862f987e622f315d87dcbb34c5d Mon Sep 17 00:00:00 2001 From: Andrei-Paul ZAMFIR <andrei_paul.zamfir@stud.fils.upb.ro> Date: Thu, 27 Feb 2025 05:51:24 +0000 Subject: [PATCH 12/31] Apply 1 suggestion(s) to 1 file(s) Co-authored-by: GabrielPavaloiu <gabriel.pavaloiu@upb.ro> --- website/versioned_docs/version-acs_cc/project/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versioned_docs/version-acs_cc/project/index.md b/website/versioned_docs/version-acs_cc/project/index.md index f09ae1a..f9236dc 100644 --- a/website/versioned_docs/version-acs_cc/project/index.md +++ b/website/versioned_docs/version-acs_cc/project/index.md @@ -38,7 +38,7 @@ Students will have to build and showcase the hardware with the running software 3. Run this in the command line: `git clone git@gitlab.cs.pub.ro:pmrust/pmrust.pages.upb.ro.git` 4. Now you have your own clone. You need to create a new branch. For this, follow the steps: - Run `git fetch` followed by `git pull`. - - The branches have the following naming convention: project/[first_name]-[last_name]-[project_name]. Example: 'project/andrei-paul-zamfir-smart-weather' + - The branches have the following naming convention: project/[first_name]-[last_name]-[project_name]. Example: `project/andrei-paul-zamfir-smart-weather` - To create a new branch: - git checkout -b branch_name - git push --set-upstream origin test -- GitLab From 3a0ed4c2f75ca6ce1e8ca772ef484b12ef6abf91 Mon Sep 17 00:00:00 2001 From: Andrei-Paul ZAMFIR <andrei_paul.zamfir@stud.fils.upb.ro> Date: Thu, 27 Feb 2025 05:51:30 +0000 Subject: [PATCH 13/31] Apply 1 suggestion(s) to 1 file(s) Co-authored-by: GabrielPavaloiu <gabriel.pavaloiu@upb.ro> --- website/versioned_docs/version-acs_cc/project/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/versioned_docs/version-acs_cc/project/index.md b/website/versioned_docs/version-acs_cc/project/index.md index f9236dc..5c9cafa 100644 --- a/website/versioned_docs/version-acs_cc/project/index.md +++ b/website/versioned_docs/version-acs_cc/project/index.md @@ -40,8 +40,8 @@ Students will have to build and showcase the hardware with the running software - Run `git fetch` followed by `git pull`. - The branches have the following naming convention: project/[first_name]-[last_name]-[project_name]. Example: `project/andrei-paul-zamfir-smart-weather` - To create a new branch: - - git checkout -b branch_name - - git push --set-upstream origin test + - `git checkout -b branch_name` + - `git push --set-upstream origin test` 5. To start creating your page for the project, go to the directory: website/versioned_docs/version-acs_cc/project/2025 and create a new directory with your tag from Gitlab. Example: andrei_paul.zamfir. -- GitLab From 9d23da113c37568156baecdefa738a3dc3273d83 Mon Sep 17 00:00:00 2001 From: Andrei-Paul ZAMFIR <andrei_paul.zamfir@stud.fils.upb.ro> Date: Thu, 27 Feb 2025 05:51:36 +0000 Subject: [PATCH 14/31] Apply 1 suggestion(s) to 1 file(s) Co-authored-by: GabrielPavaloiu <gabriel.pavaloiu@upb.ro> --- website/versioned_docs/version-acs_cc/project/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versioned_docs/version-acs_cc/project/index.md b/website/versioned_docs/version-acs_cc/project/index.md index 5c9cafa..35d245f 100644 --- a/website/versioned_docs/version-acs_cc/project/index.md +++ b/website/versioned_docs/version-acs_cc/project/index.md @@ -43,7 +43,7 @@ Students will have to build and showcase the hardware with the running software - `git checkout -b branch_name` - `git push --set-upstream origin test` -5. To start creating your page for the project, go to the directory: website/versioned_docs/version-acs_cc/project/2025 and create a new directory with your tag from Gitlab. Example: andrei_paul.zamfir. +5. To start creating your page for the project, go to the `website/versioned_docs/version-acs_cc/project/2025` directory and create a new directory with your tag from Gitlab. Example: `andrei_paul.zamfir`. 6. In that directory you must create a file named index.md which will be your project page. For a better understanding of Markdown syntax look over: https://www.markdownguide.org/cheat-sheet/ -- GitLab From 2e1edf470b70a9e0010f578d53569f1fabdcb24c Mon Sep 17 00:00:00 2001 From: Andrei-Paul ZAMFIR <andrei_paul.zamfir@stud.fils.upb.ro> Date: Thu, 27 Feb 2025 05:58:19 +0000 Subject: [PATCH 15/31] Apply 1 suggestion(s) to 1 file(s) Co-authored-by: GabrielPavaloiu <gabriel.pavaloiu@upb.ro> --- .../versioned_docs/version-acs_cc/project/index.md | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/website/versioned_docs/version-acs_cc/project/index.md b/website/versioned_docs/version-acs_cc/project/index.md index 35d245f..27b1685 100644 --- a/website/versioned_docs/version-acs_cc/project/index.md +++ b/website/versioned_docs/version-acs_cc/project/index.md @@ -26,13 +26,10 @@ Students will have to build and showcase the hardware with the running software ## How to create a page for your project? ### How to setup gitlab? -1. To begin with, you will have to get a good ssh key with the gitlab account. For this, call the following command in the windows/linux/mac console: ssh-keygen -t rsa -b 2048. Press enter until you exit the respective command prompts. - - If your command prompt "Overwrite (y/n)?" press 'n' and run the above command again, changing the destination of the key. - - If the key was generated successfully, you will have the keys generated in the location indicated by the command "Enter file in which to save the key (C:\Users\"NAME"/.ssh/id_rsa):" - - Read the content of the file id_rsa.pub or the name you gave to the file and transfer it to Github. - - Login to https://gitlab.cs.pub.ro/ and go to : https://gitlab.cs.pub.ro/-/user_settings/ssh_keys. - - Click on "Add new key" and insert into "Key" textbox your key from "id_rsa.pub". - - Be very careful about the expiration date of the ssh key, change the expiration date otherwise it is set to 30 days. +1. Follow [this tutorial](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent) to create a new SSH key pair. + - Login on https://gitlab.cs.pub.ro/ and go to https://gitlab.cs.pub.ro/-/user_settings/ssh_keys. + - Click on "Add new key" and insert the public key created earlier into the "Key" textbox. + - Be careful about the expiration date of the SSH key: the default value it is set to 30 days. 2. Download Git from the official website and access it in the command line using `git -v` to check if it was installed correctly. 3. Run this in the command line: `git clone git@gitlab.cs.pub.ro:pmrust/pmrust.pages.upb.ro.git` -- GitLab From b80a9bb7af6b14be65afcd603362f98163e48157 Mon Sep 17 00:00:00 2001 From: Andrei-Paul ZAMFIR <andrei_paul.zamfir@stud.fils.upb.ro> Date: Thu, 27 Feb 2025 05:58:31 +0000 Subject: [PATCH 16/31] Apply 1 suggestion(s) to 1 file(s) Co-authored-by: GabrielPavaloiu <gabriel.pavaloiu@upb.ro> --- website/versioned_docs/version-acs_cc/project/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versioned_docs/version-acs_cc/project/index.md b/website/versioned_docs/version-acs_cc/project/index.md index 27b1685..9cfb5c8 100644 --- a/website/versioned_docs/version-acs_cc/project/index.md +++ b/website/versioned_docs/version-acs_cc/project/index.md @@ -42,7 +42,7 @@ Students will have to build and showcase the hardware with the running software 5. To start creating your page for the project, go to the `website/versioned_docs/version-acs_cc/project/2025` directory and create a new directory with your tag from Gitlab. Example: `andrei_paul.zamfir`. -6. In that directory you must create a file named index.md which will be your project page. For a better understanding of Markdown syntax look over: https://www.markdownguide.org/cheat-sheet/ +6. In that directory you must create a file named `index.md` which will be your project page. For a better understanding of the Markdown syntax, chek out [markdownguide](https://www.markdownguide.org/). ## Hardware Rules -- GitLab From b7343188ec7bee4b85aad740ef99dc071be22d01 Mon Sep 17 00:00:00 2001 From: Alexandru RADOVICI <alexandru.radovici@wyliodrin.com> Date: Thu, 27 Feb 2025 18:19:08 +0200 Subject: [PATCH 17/31] update FILS rules --- .../version-fils_en/project/index.md | 51 ++++++++++--------- 1 file changed, 28 insertions(+), 23 deletions(-) diff --git a/website/versioned_docs/version-fils_en/project/index.md b/website/versioned_docs/version-fils_en/project/index.md index 8b79a26..a2207b0 100644 --- a/website/versioned_docs/version-fils_en/project/index.md +++ b/website/versioned_docs/version-fils_en/project/index.md @@ -7,10 +7,14 @@ sidebar_position: 1 The goal of the project is to showcase the knowledge gained throughout the semester by creating functional hardware that runs software written in Rust. ## Deliverables -The deliverables will be stored in two places: the source code will be stored on Github and the project documentation will be stored on Gitlab, by creating a fork of the course site. +The deliverables will be stored in two places: +- the *source code* will be stored on [Github](https://github.com/UPB-PMRust-Students) +- the project documentation will be stored on [Gitlab](https://gitlab.cs.pub.ro/pmrust/pmrust.pages.upb.ro), by creating a fork of the course's website + +## Source Code Repository The repository contains: -- documentation - the reposiotry's `README.md` file +- a brief documentation - the repository's `README.md` file - short description of functionality - requirements (hardware and software) - hardware design - use [KiCad EDA](https://www.kicad.org/) or a similar tool for the schematics @@ -19,39 +23,39 @@ The repository contains: - functional diagram - software source code -The repositories will be checked by the lab coordinator at each lab assigned to the project. Uploading code on the last day of the software milestone is not allowed. +The repositories will be checked by the lab professor at during lab reserved for the project. Uploading code on the last day of the software milestone is not allowed. **The professor will check that students have **submitted regularly commits** to the repository. -Students will have to build and showcase the hardware with the running software at PM Fair. On the day of the presentation, students will upload the source code to the hardware and the demo will be done live in front of the committee. +Students will have to build and showcase the hardware with the running software at PM Fair. On the presentation day, **students will upload the source code to the hardware** and the demo will be done live in front of the committee. ## How to create a page for your project? -### How to setup gitlab? -1. To begin with, you will have to get a good ssh key with the gitlab account. For this, call the following command in the windows/linux/mac console: ssh-keygen -t rsa -b 2048. Press enter until you exit the respective command prompts. - - If your command prompt "Overwrite (y/n)?" press 'n' and run the above command again, changing the destination of the key. - - If the key was generated successfully, you will have the keys generated in the location indicated by the command "Enter file in which to save the key (C:\Users\"NAME"/.ssh/id_rsa):" - - Read the content of the file id_rsa.pub or the name you gave to the file and transfer it to Github. - - Login to https://gitlab.cs.pub.ro/ and go to : https://gitlab.cs.pub.ro/-/user_settings/ssh_keys. - - Click on "Add new key" and insert into "Key" textbox your key from "id_rsa.pub". +1. Please login with your UPB login to [Gitlab](https://gitlab.cs.pub.ro) +2. You will have to add an SSH Key to your Gitlab account. This will allow you to push code without entering you username and password every time. For this, run the following command in the Windows/Linux/macOS's console: `ssh-keygen -t rsa -b 2048`. Press press ENTER until you exit the respective command prompts. + - If your command prompt `Overwrite (y/n)?` press `n` and run the above command again, changing the destination of the key. + - If the key was generated successfully, you will have the keys generated in the location indicated by the command `Enter file in which to save the key (C:\Users\"NAME"/.ssh/id_rsa):` + - Read the content of the file `id_rsa.pub` or the name you gave to the file and transfer it to Github. + - Login to [Gitlab](https://gitlab.cs.pub.ro/) and go to: [SSH Keys](https://gitlab.cs.pub.ro/-/user_settings/ssh_keys). + - Click on *Add new key* and insert into the *Key* textbox your key from `id_rsa.pub`. - Be very careful about the expiration date of the ssh key, change the expiration date otherwise it is set to 30 days. -2. Download Git from the official website and access it in the command line using git -v to check if it was installed correctly. -3. Run in the command line: 'git clone git@gitlab.cs.pub.ro:pmrust/pmrust.pages.upb.ro.git' -4. Now you have your own clone. You need to create a new branch. For this, follow the steps: - - Run the command: 'git fetch' followed by the 'git pull' command - - The branches have the following naming convention: project/[first_name]-[last_name]-[project_name]. Example: 'project/andrei-paul-zamfir-smart-weather' - - To create a new branch: - - git checkout -b branch_name - - git push --set-upstream origin test +3. [Download Git](https://git-scm.com) from the official website and access it in the command line using `git -v` to check if it was installed correctly. You might have to use *Git Bash*. +4. Run in the command line: `git clone git@gitlab.cs.pub.ro:pmrust/pmrust.pages.upb.ro.git` +5. Now you have your own clone. You need to create a new branch. For this, follow the steps: + - Run the command: `git fetch` followed by the `git pull` command + - The branches have the following naming convention: `project/your_curs.upb.ro_username`. Example: `project/andrei_paul.zamfir` + - To create a new branch: + - `git checkout -b <branch_name>` + - `git push --set-upstream origin project/your_curs.upb.ro_username` -5. To start creating your page for the project, go to the directory: website/versioned_docs/version-fils_en/project/2025 and create a new directory with your tag from Gitlab. Example: andrei_paul.zamfir. +6. To start creating your page for the project, go to the directory: `website/versioned_docs/version-fils_en/project/2025` and create a new directory with your curs.upb.ro username. Example: `andrei_paul.zamfir`. -6. In that directory you must create a file named index.md which will be your project page. For a better understanding of Markdown syntax look over: https://www.markdownguide.org/cheat-sheet/ +7. In that directory you must create a file named `index.md` which will be your project page. You can take a look at the [Markdown](https://www.markdownguide.org/cheat-sheet/) syntax. ## Hardware Rules 1. Projects have to use a microcontroller (MCU) that is capable of running Rust code. Examples of MCUs are *nRF52*, *RP2040*, *ESP32* (RISC-V version). 2. Usage of a development board is encouraged, but not required, a custom PCB can be built. Example of development boards are: - - [Raspberry Pi Pico](https://www.raspberrypi.com/documentation/microcontrollers/raspberry-pi-pico.html) (RP2040) or [Raspberry Pi Pico W](https://www.raspberrypi.com/documentation/microcontrollers/raspberry-pi-pico.html) for WiFi (The version of Pico is not important, but we encourage the use of version 2.) + - [Raspberry Pi Pico 2](https://www.raspberrypi.com/documentation/microcontrollers/raspberry-pi-pico.html) (RP2350) or [Raspberry Pi Pico 2W](https://www.raspberrypi.com/documentation/microcontrollers/raspberry-pi-pico.html) for WiFi (The version of Pico is not important, but we encourage the use of version 2.) - [Adafruit Trinkey QT2040](https://www.adafruit.com/product/5056) (RP2040) - [Arduino Nano RP2040 Connect](https://store.arduino.cc/products/arduino-nano-rp2040-connect) (RP2040) - â ď¸ [^arduino_nano_rp2040_connect] - [micro:bit v2](https://microbit.org/) (nRF52833) @@ -78,7 +82,7 @@ It has to run software written in Rust. Students can use: 5. The presentation of all the milestones is mandatory. 6. The project topic must be established in week 4 and approved by the lab coordinator by week 6. After week 6, the topic cannot be changed. 7. The laboratory supervisor may modify the topic or propose another topic if it is not complex enough for this project. -8. We encourage you not to use prebuild kits, you may be penalized for hardware part. +8. We encourage you not to use prebuilt kits, you may get less points for hardware part. ## Requirements 1. *Complexity:* The project must reflect at least 40 hours of work and contain elements learned during the year. @@ -88,6 +92,7 @@ It has to run software written in Rust. Students can use: ## Example Projects ### Examples of projects from past years +1. [Projects from 2024](/docs/fils_en/project/2024) 1. https://ocw.cs.pub.ro/courses/pm/prj2022 2. https://ocw.cs.pub.ro/courses/pm/prj2023 -- GitLab From 74258db0fe5b4c03bd6d8094400520e668e03832 Mon Sep 17 00:00:00 2001 From: Alexandru RADOVICI <alexandru.radovici@wyliodrin.com> Date: Thu, 27 Feb 2025 18:24:38 +0200 Subject: [PATCH 18/31] project rules --- .../version-acs_cc/project/index.md | 50 +++++++++++-------- .../version-fils_en/project/index.md | 4 +- 2 files changed, 32 insertions(+), 22 deletions(-) diff --git a/website/versioned_docs/version-acs_cc/project/index.md b/website/versioned_docs/version-acs_cc/project/index.md index 9cfb5c8..38bd623 100644 --- a/website/versioned_docs/version-acs_cc/project/index.md +++ b/website/versioned_docs/version-acs_cc/project/index.md @@ -7,10 +7,14 @@ sidebar_position: 1 The goal of the project is to showcase the knowledge gained throughout the semester by creating functional hardware that runs software written in Rust. ## Deliverables -The deliverables will be stored in two places: the source code will be stored on Github and the project documentation will be stored on Gitlab, by creating a fork of the course site. +The deliverables will be stored in two places: +- the *source code* will be stored on [Github](https://github.com/UPB-PMRust-Students) +- the project documentation will be stored on [Gitlab](https://gitlab.cs.pub.ro/pmrust/pmrust.pages.upb.ro), by creating a fork of the course's website + +## Source Code Repository The repository contains: -- documentation - the reposiotry's `README.md` file +- a brief documentation - the repository's `README.md` file - short description of functionality - requirements (hardware and software) - hardware design - use [KiCad EDA](https://www.kicad.org/) or a similar tool for the schematics @@ -19,36 +23,39 @@ The repository contains: - functional diagram - software source code -The repositories will be checked by the lab coordinator at each lab assigned to the project. Uploading code on the last day of the software milestone is not allowed. +The repositories will be checked by the lab professor at during lab reserved for the project. Uploading code on the last day of the software milestone is not allowed. **The professor will check that students have **submitted regularly commits** to the repository. -Students will have to build and showcase the hardware with the running software at PM Fair. On the day of the presentation, students will upload the source code to the hardware and the demo will be done live in front of the committee. +Students will have to build and showcase the hardware with the running software at PM Fair. On the presentation day, **students will upload the source code to the hardware** and the demo will be done live in front of the committee. ## How to create a page for your project? -### How to setup gitlab? -1. Follow [this tutorial](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent) to create a new SSH key pair. - - Login on https://gitlab.cs.pub.ro/ and go to https://gitlab.cs.pub.ro/-/user_settings/ssh_keys. - - Click on "Add new key" and insert the public key created earlier into the "Key" textbox. - - Be careful about the expiration date of the SSH key: the default value it is set to 30 days. +1. Please login with your UPB login to [Gitlab](https://gitlab.cs.pub.ro) +2. You will have to add an SSH Key to your Gitlab account. This will allow you to push code without entering you username and password every time. For this, run the following command in the Windows/Linux/macOS's console: `ssh-keygen -t rsa -b 2048`. Press press ENTER until you exit the respective command prompts. + - If your command prompt `Overwrite (y/n)?` press `n` and run the above command again, changing the destination of the key. + - If the key was generated successfully, you will have the keys generated in the location indicated by the command `Enter file in which to save the key (C:\Users\"NAME"/.ssh/id_rsa):` + - Read the content of the file `id_rsa.pub` or the name you gave to the file and transfer it to Github. + - Login to [Gitlab](https://gitlab.cs.pub.ro/) and go to: [SSH Keys](https://gitlab.cs.pub.ro/-/user_settings/ssh_keys). + - Click on *Add new key* and insert into the *Key* textbox your key from `id_rsa.pub`. + - Be very careful about the expiration date of the ssh key, change the expiration date otherwise it is set to 30 days. -2. Download Git from the official website and access it in the command line using `git -v` to check if it was installed correctly. -3. Run this in the command line: `git clone git@gitlab.cs.pub.ro:pmrust/pmrust.pages.upb.ro.git` -4. Now you have your own clone. You need to create a new branch. For this, follow the steps: - - Run `git fetch` followed by `git pull`. - - The branches have the following naming convention: project/[first_name]-[last_name]-[project_name]. Example: `project/andrei-paul-zamfir-smart-weather` - - To create a new branch: - - `git checkout -b branch_name` - - `git push --set-upstream origin test` +3. [Download Git](https://git-scm.com) from the official website and access it in the command line using `git -v` to check if it was installed correctly. You might have to use *Git Bash*. +4. Run in the command line: `git clone git@gitlab.cs.pub.ro:pmrust/pmrust.pages.upb.ro.git` +5. Now you have your own clone. You need to create a new branch. For this, follow the steps: + - Run the command: `git fetch` followed by the `git pull` command + - The branches have the following naming convention: `project/your_curs.upb.ro_username`. Example: `project/andrei_paul.zamfir` + - To create a new branch: + - `git checkout -b <branch_name>` + - `git push --set-upstream origin project/your_curs.upb.ro_username` -5. To start creating your page for the project, go to the `website/versioned_docs/version-acs_cc/project/2025` directory and create a new directory with your tag from Gitlab. Example: `andrei_paul.zamfir`. +6. To start creating your page for the project, go to the directory: `website/versioned_docs/version-acs_cc/project/2025` and create a new directory with your curs.upb.ro username. Example: `andrei_paul.zamfir`. -6. In that directory you must create a file named `index.md` which will be your project page. For a better understanding of the Markdown syntax, chek out [markdownguide](https://www.markdownguide.org/). +7. In that directory you must create a file named `index.md` which will be your project page. You can take a look at the [Markdown](https://www.markdownguide.org/cheat-sheet/) syntax. ## Hardware Rules 1. Projects have to use a microcontroller (MCU) that is capable of running Rust code. Examples of MCUs are *nRF52*, *RP2040*, *ESP32* (RISC-V version). 2. Usage of a development board is encouraged, but not required, a custom PCB can be built. Example of development boards are: - - [Raspberry Pi Pico](https://www.raspberrypi.com/documentation/microcontrollers/raspberry-pi-pico.html) (RP2040) or [Raspberry Pi Pico W](https://www.raspberrypi.com/documentation/microcontrollers/raspberry-pi-pico.html) for WiFi (The version of Pico is not important, but we encourage the use of version 2.) + - [Raspberry Pi Pico 2](https://www.raspberrypi.com/documentation/microcontrollers/raspberry-pi-pico.html) (RP2350) or [Raspberry Pi Pico 2W](https://www.raspberrypi.com/documentation/microcontrollers/raspberry-pi-pico.html) for WiFi (The version of Pico is not important, but we encourage the use of version 2.) - [Adafruit Trinkey QT2040](https://www.adafruit.com/product/5056) (RP2040) - [Arduino Nano RP2040 Connect](https://store.arduino.cc/products/arduino-nano-rp2040-connect) (RP2040) - â ď¸ [^arduino_nano_rp2040_connect] - [micro:bit v2](https://microbit.org/) (nRF52833) @@ -75,7 +82,7 @@ It has to run software written in Rust. Students can use: 5. The presentation of all the milestones is mandatory. 6. The project topic must be established in week 4 and approved by the lab coordinator by week 6. After week 6, the topic cannot be changed. 7. The laboratory supervisor may modify the topic or propose another topic if it is not complex enough for this project. -8. We encourage you not to use prebuild kits, you may be penalized for hardware part. +8. We encourage you not to use prebuilt kits, you may get less points for hardware part. ## Requirements 1. *Complexity:* The project must reflect at least 40 hours of work and contain elements learned during the year. @@ -85,6 +92,7 @@ It has to run software written in Rust. Students can use: ## Example Projects ### Examples of projects from past years +1. [Projects from 2024](/docs/fils_en/category/projects-2024) 1. https://ocw.cs.pub.ro/courses/pm/prj2022 2. https://ocw.cs.pub.ro/courses/pm/prj2023 diff --git a/website/versioned_docs/version-fils_en/project/index.md b/website/versioned_docs/version-fils_en/project/index.md index a2207b0..e2c880f 100644 --- a/website/versioned_docs/version-fils_en/project/index.md +++ b/website/versioned_docs/version-fils_en/project/index.md @@ -89,10 +89,12 @@ It has to run software written in Rust. Students can use: 2. *Documentation:* Complete documentation of the implementation for both hardware and software. 3. *Functionality:* The hardware device has to be fully functional. +The **IoT** stream has to use the **WiFi** capability. + ## Example Projects ### Examples of projects from past years -1. [Projects from 2024](/docs/fils_en/project/2024) +1. [Projects from 2024](/docs/fils_en/category/projects-2024) 1. https://ocw.cs.pub.ro/courses/pm/prj2022 2. https://ocw.cs.pub.ro/courses/pm/prj2023 -- GitLab From 25ea0521311d299ffc13e56317ec8b6d401f0c1c Mon Sep 17 00:00:00 2001 From: Alexandru RADOVICI <alexandru.radovici@wyliodrin.com> Date: Sun, 2 Mar 2025 21:36:32 +0200 Subject: [PATCH 19/31] adjust project grading for acs_cc --- website/versioned_docs/version-acs_cc/project/index.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/versioned_docs/version-acs_cc/project/index.md b/website/versioned_docs/version-acs_cc/project/index.md index 38bd623..ae9dbc0 100644 --- a/website/versioned_docs/version-acs_cc/project/index.md +++ b/website/versioned_docs/version-acs_cc/project/index.md @@ -106,10 +106,10 @@ It has to run software written in Rust. Students can use: | Part | Deadline | Points | |--------|--------|--------| -| Documentation Milestone | Lab 9 | 0.5p | -| Hardware Milestone | Lab 11 | 0.5p | -| Software Milestone | Lab 12 | 0.5p | -| PM Faire | TBD | 1.5p | +| Documentation Milestone | Lab 9 | 0.4p | +| Hardware Milestone | Lab 11 | 0.8p | +| Software Milestone | Lab 12 | 0.8p | +| PM Faire | TBD | 1p | | **Total** | | **3p** | ## F.A.Q -- GitLab From b88d3aef52f307fc34d433572ccb73d0ae441282 Mon Sep 17 00:00:00 2001 From: Alexandru RADOVICI <alexandru.radovici@upb.ro> Date: Sun, 2 Mar 2025 20:52:16 +0000 Subject: [PATCH 20/31] Apply 1 suggestion(s) to 1 file(s) Co-authored-by: GabrielPavaloiu <gabriel.pavaloiu@upb.ro> --- website/versioned_docs/version-acs_cc/project/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versioned_docs/version-acs_cc/project/index.md b/website/versioned_docs/version-acs_cc/project/index.md index ae9dbc0..9670fda 100644 --- a/website/versioned_docs/version-acs_cc/project/index.md +++ b/website/versioned_docs/version-acs_cc/project/index.md @@ -23,7 +23,7 @@ The repository contains: - functional diagram - software source code -The repositories will be checked by the lab professor at during lab reserved for the project. Uploading code on the last day of the software milestone is not allowed. **The professor will check that students have **submitted regularly commits** to the repository. +The repositories will be checked by the lab assistant at during lab reserved for the project. Uploading code on the last day of the software milestone is not allowed. **The assistant** will check that students have **submitted regular commits** to the repository. Students will have to build and showcase the hardware with the running software at PM Fair. On the presentation day, **students will upload the source code to the hardware** and the demo will be done live in front of the committee. -- GitLab From bf9ff828b30a0812449d807c2ebdedc582510732 Mon Sep 17 00:00:00 2001 From: Alexandru RADOVICI <alexandru.radovici@upb.ro> Date: Sun, 2 Mar 2025 20:52:33 +0000 Subject: [PATCH 21/31] Apply 1 suggestion(s) to 1 file(s) Co-authored-by: GabrielPavaloiu <gabriel.pavaloiu@upb.ro> --- website/versioned_docs/version-acs_cc/project/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versioned_docs/version-acs_cc/project/index.md b/website/versioned_docs/version-acs_cc/project/index.md index 9670fda..89fab39 100644 --- a/website/versioned_docs/version-acs_cc/project/index.md +++ b/website/versioned_docs/version-acs_cc/project/index.md @@ -82,7 +82,7 @@ It has to run software written in Rust. Students can use: 5. The presentation of all the milestones is mandatory. 6. The project topic must be established in week 4 and approved by the lab coordinator by week 6. After week 6, the topic cannot be changed. 7. The laboratory supervisor may modify the topic or propose another topic if it is not complex enough for this project. -8. We encourage you not to use prebuilt kits, you may get less points for hardware part. +8. We encourage you not to use prebuilt kits, you may get less points for the hardware part. ## Requirements 1. *Complexity:* The project must reflect at least 40 hours of work and contain elements learned during the year. -- GitLab From 45013d048314f7b3a5e5cf948f918c819d0ee7fa Mon Sep 17 00:00:00 2001 From: Alexandru RADOVICI <alexandru.radovici@upb.ro> Date: Sun, 2 Mar 2025 20:52:45 +0000 Subject: [PATCH 22/31] Apply 1 suggestion(s) to 1 file(s) Co-authored-by: GabrielPavaloiu <gabriel.pavaloiu@upb.ro> --- website/versioned_docs/version-acs_cc/project/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versioned_docs/version-acs_cc/project/index.md b/website/versioned_docs/version-acs_cc/project/index.md index 89fab39..e53dd82 100644 --- a/website/versioned_docs/version-acs_cc/project/index.md +++ b/website/versioned_docs/version-acs_cc/project/index.md @@ -109,7 +109,7 @@ It has to run software written in Rust. Students can use: | Documentation Milestone | Lab 9 | 0.4p | | Hardware Milestone | Lab 11 | 0.8p | | Software Milestone | Lab 12 | 0.8p | -| PM Faire | TBD | 1p | +| PM Fair | TBD | 1p | | **Total** | | **3p** | ## F.A.Q -- GitLab From 920eb7889de8351ae458649aa89839441f10f07a Mon Sep 17 00:00:00 2001 From: GabrielPavaloiu <gabriel.pavaloiu@upb.ro> Date: Sat, 8 Mar 2025 05:49:19 +0000 Subject: [PATCH 23/31] Applied cc project page suggestions to fils --- website/versioned_docs/version-fils_en/project/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/versioned_docs/version-fils_en/project/index.md b/website/versioned_docs/version-fils_en/project/index.md index e2c880f..89c1bc3 100644 --- a/website/versioned_docs/version-fils_en/project/index.md +++ b/website/versioned_docs/version-fils_en/project/index.md @@ -23,7 +23,7 @@ The repository contains: - functional diagram - software source code -The repositories will be checked by the lab professor at during lab reserved for the project. Uploading code on the last day of the software milestone is not allowed. **The professor will check that students have **submitted regularly commits** to the repository. +The repositories will be checked by the lab assistant at during lab reserved for the project. Uploading code on the last day of the software milestone is not allowed. **The assistant** will check that students have **submitted regular commits** to the repository. Students will have to build and showcase the hardware with the running software at PM Fair. On the presentation day, **students will upload the source code to the hardware** and the demo will be done live in front of the committee. @@ -82,7 +82,7 @@ It has to run software written in Rust. Students can use: 5. The presentation of all the milestones is mandatory. 6. The project topic must be established in week 4 and approved by the lab coordinator by week 6. After week 6, the topic cannot be changed. 7. The laboratory supervisor may modify the topic or propose another topic if it is not complex enough for this project. -8. We encourage you not to use prebuilt kits, you may get less points for hardware part. +8. We encourage you not to use prebuilt kits, you may get less points for the hardware part. ## Requirements 1. *Complexity:* The project must reflect at least 40 hours of work and contain elements learned during the year. -- GitLab From d194a285092f2c56e18e0451db3d80113eff6634 Mon Sep 17 00:00:00 2001 From: GabrielPavaloiu <gabriel.pavaloiu@upb.ro> Date: Sat, 8 Mar 2025 05:53:59 +0000 Subject: [PATCH 24/31] typo pm fair --- website/versioned_docs/version-fils_en/project/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versioned_docs/version-fils_en/project/index.md b/website/versioned_docs/version-fils_en/project/index.md index 89c1bc3..e21c60b 100644 --- a/website/versioned_docs/version-fils_en/project/index.md +++ b/website/versioned_docs/version-fils_en/project/index.md @@ -111,7 +111,7 @@ The **IoT** stream has to use the **WiFi** capability. | Documentation Milestone | Lab 9 | 0.5p | | Hardware Milestone | Lab 11 | 0.5p | | Software Milestone | Lab 12 | 0.5p | -| PM Faire | TBD | 1.5p | +| PM Fair | TBD | 1.5p | | **Total** | | **3p** | ## F.A.Q -- GitLab From 02f43c416ed9792a9a840cc26d884cfdfe70cba2 Mon Sep 17 00:00:00 2001 From: Alexandru RADOVICI <alexandru.radovici@upb.ro> Date: Mon, 10 Mar 2025 23:04:01 +0000 Subject: [PATCH 25/31] Apply 1 suggestion(s) to 1 file(s) Co-authored-by: GabrielPavaloiu <gabriel.pavaloiu@upb.ro> --- .../versioned_docs/version-fils_en/project/index.md | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/website/versioned_docs/version-fils_en/project/index.md b/website/versioned_docs/version-fils_en/project/index.md index e21c60b..7ded7cd 100644 --- a/website/versioned_docs/version-fils_en/project/index.md +++ b/website/versioned_docs/version-fils_en/project/index.md @@ -39,17 +39,22 @@ Students will have to build and showcase the hardware with the running software - Be very careful about the expiration date of the ssh key, change the expiration date otherwise it is set to 30 days. 3. [Download Git](https://git-scm.com) from the official website and access it in the command line using `git -v` to check if it was installed correctly. You might have to use *Git Bash*. -4. Run in the command line: `git clone git@gitlab.cs.pub.ro:pmrust/pmrust.pages.upb.ro.git` -5. Now you have your own clone. You need to create a new branch. For this, follow the steps: +4. Navigate to the [website's Gitlab repository](https://gitlab.cs.pub.ro/pmrust/pmrust.pages.upb.ro) and create a public fork by clicking on the button in the top right corner. + +5. Clone the newly created repository by running `git clone git@gitlab.cs.pub.ro:<gitlab_username>/pmrust.pages.upb.ro.git`, where <gitlab_username> is replaced by your gitlab username. + +6. Now you have your own clone. You need to create a new branch. For this, follow the steps: - Run the command: `git fetch` followed by the `git pull` command - The branches have the following naming convention: `project/your_curs.upb.ro_username`. Example: `project/andrei_paul.zamfir` - To create a new branch: - `git checkout -b <branch_name>` - `git push --set-upstream origin project/your_curs.upb.ro_username` -6. To start creating your page for the project, go to the directory: `website/versioned_docs/version-fils_en/project/2025` and create a new directory with your curs.upb.ro username. Example: `andrei_paul.zamfir`. +7. To start creating your page for the project, go to `website/versioned_docs/version-acs_cc/project/2025` and create a new directory with your curs.upb.ro username. Example: `andrei_paul.zamfir`. + +8. In that directory you must create a file named `index.md` which will be your project page. You can take a look at the [Markdown](https://www.markdownguide.org/cheat-sheet/) syntax. You can look at [last year's projects and template](https://gitlab.cs.pub.ro/pmrust/pmrust.pages.upb.ro/-/tree/main/website/versioned_docs/version-fils_en/project/2024) -7. In that directory you must create a file named `index.md` which will be your project page. You can take a look at the [Markdown](https://www.markdownguide.org/cheat-sheet/) syntax. +9. After finishing the project, make a _merge request_ to the [upstream repository](https://gitlab.cs.pub.ro/pmrust/pmrust.pages.upb.ro) ## Hardware Rules -- GitLab From 93073c6d1fc7b619710d3bb71fa07093d8c6c4db Mon Sep 17 00:00:00 2001 From: Alexandru RADOVICI <alexandru.radovici@upb.ro> Date: Mon, 10 Mar 2025 23:04:29 +0000 Subject: [PATCH 26/31] Apply 1 suggestion(s) to 1 file(s) Co-authored-by: GabrielPavaloiu <gabriel.pavaloiu@upb.ro> --- .../versioned_docs/version-acs_cc/project/index.md | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/website/versioned_docs/version-acs_cc/project/index.md b/website/versioned_docs/version-acs_cc/project/index.md index e53dd82..51fb3b7 100644 --- a/website/versioned_docs/version-acs_cc/project/index.md +++ b/website/versioned_docs/version-acs_cc/project/index.md @@ -39,17 +39,22 @@ Students will have to build and showcase the hardware with the running software - Be very careful about the expiration date of the ssh key, change the expiration date otherwise it is set to 30 days. 3. [Download Git](https://git-scm.com) from the official website and access it in the command line using `git -v` to check if it was installed correctly. You might have to use *Git Bash*. -4. Run in the command line: `git clone git@gitlab.cs.pub.ro:pmrust/pmrust.pages.upb.ro.git` -5. Now you have your own clone. You need to create a new branch. For this, follow the steps: +4. Navigate to the [website's Gitlab repository](https://gitlab.cs.pub.ro/pmrust/pmrust.pages.upb.ro) and create a public fork by clicking on the button in the top right corner. + +5. Clone the newly created repository by running `git clone git@gitlab.cs.pub.ro:<gitlab_username>/pmrust.pages.upb.ro.git`, where <gitlab_username> is replaced by your gitlab username. + +6. Now you have your own clone. You need to create a new branch. For this, follow the steps: - Run the command: `git fetch` followed by the `git pull` command - The branches have the following naming convention: `project/your_curs.upb.ro_username`. Example: `project/andrei_paul.zamfir` - To create a new branch: - `git checkout -b <branch_name>` - `git push --set-upstream origin project/your_curs.upb.ro_username` -6. To start creating your page for the project, go to the directory: `website/versioned_docs/version-acs_cc/project/2025` and create a new directory with your curs.upb.ro username. Example: `andrei_paul.zamfir`. +7. To start creating your page for the project, go to `website/versioned_docs/version-acs_cc/project/2025` and create a new directory with your curs.upb.ro username. Example: `andrei_paul.zamfir`. + +8. In that directory you must create a file named `index.md` which will be your project page. You can take a look at the [Markdown](https://www.markdownguide.org/cheat-sheet/) syntax. You can look at [last year's projects and template](https://gitlab.cs.pub.ro/pmrust/pmrust.pages.upb.ro/-/tree/main/website/versioned_docs/version-fils_en/project/2024) -7. In that directory you must create a file named `index.md` which will be your project page. You can take a look at the [Markdown](https://www.markdownguide.org/cheat-sheet/) syntax. +9. After finishing the project, make a _merge request_ to the [upstream repository](https://gitlab.cs.pub.ro/pmrust/pmrust.pages.upb.ro) ## Hardware Rules -- GitLab From 7577802a2a524789eefdc5664470c143e40becdf Mon Sep 17 00:00:00 2001 From: Alexandru RADOVICI <alexandru.radovici@wyliodrin.com> Date: Tue, 11 Mar 2025 21:30:30 +0100 Subject: [PATCH 27/31] fix username --- website/versioned_docs/version-acs_cc/project/index.md | 2 +- website/versioned_docs/version-fils_en/project/index.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/website/versioned_docs/version-acs_cc/project/index.md b/website/versioned_docs/version-acs_cc/project/index.md index 51fb3b7..042534c 100644 --- a/website/versioned_docs/version-acs_cc/project/index.md +++ b/website/versioned_docs/version-acs_cc/project/index.md @@ -41,7 +41,7 @@ Students will have to build and showcase the hardware with the running software 3. [Download Git](https://git-scm.com) from the official website and access it in the command line using `git -v` to check if it was installed correctly. You might have to use *Git Bash*. 4. Navigate to the [website's Gitlab repository](https://gitlab.cs.pub.ro/pmrust/pmrust.pages.upb.ro) and create a public fork by clicking on the button in the top right corner. -5. Clone the newly created repository by running `git clone git@gitlab.cs.pub.ro:<gitlab_username>/pmrust.pages.upb.ro.git`, where <gitlab_username> is replaced by your gitlab username. +5. Clone the newly created repository by running `git clone git@gitlab.cs.pub.ro:<gitlab_username>/pmrust.pages.upb.ro.git`, where `<gitlab_username>` is replaced by your gitlab username. 6. Now you have your own clone. You need to create a new branch. For this, follow the steps: - Run the command: `git fetch` followed by the `git pull` command diff --git a/website/versioned_docs/version-fils_en/project/index.md b/website/versioned_docs/version-fils_en/project/index.md index 7ded7cd..5567a69 100644 --- a/website/versioned_docs/version-fils_en/project/index.md +++ b/website/versioned_docs/version-fils_en/project/index.md @@ -41,7 +41,7 @@ Students will have to build and showcase the hardware with the running software 3. [Download Git](https://git-scm.com) from the official website and access it in the command line using `git -v` to check if it was installed correctly. You might have to use *Git Bash*. 4. Navigate to the [website's Gitlab repository](https://gitlab.cs.pub.ro/pmrust/pmrust.pages.upb.ro) and create a public fork by clicking on the button in the top right corner. -5. Clone the newly created repository by running `git clone git@gitlab.cs.pub.ro:<gitlab_username>/pmrust.pages.upb.ro.git`, where <gitlab_username> is replaced by your gitlab username. +5. Clone the newly created repository by running `git clone git@gitlab.cs.pub.ro:<gitlab_username>/pmrust.pages.upb.ro.git`, where `<gitlab_username>` is replaced by your gitlab username. 6. Now you have your own clone. You need to create a new branch. For this, follow the steps: - Run the command: `git fetch` followed by the `git pull` command @@ -94,7 +94,7 @@ It has to run software written in Rust. Students can use: 2. *Documentation:* Complete documentation of the implementation for both hardware and software. 3. *Functionality:* The hardware device has to be fully functional. -The **IoT** stream has to use the **WiFi** capability. +The **IoT** stream has to use the networking (**WiFi**, **Bluetooth** or **Ethernet**). ## Example Projects -- GitLab From 881a37f5437342cccc0d78a2776fb19ee19cbee2 Mon Sep 17 00:00:00 2001 From: Alexandru RADOVICI <alexandru.radovici@upb.ro> Date: Tue, 11 Mar 2025 20:33:17 +0000 Subject: [PATCH 28/31] Apply 1 suggestion(s) to 1 file(s) Co-authored-by: GabrielPavaloiu <gabriel.pavaloiu@upb.ro> --- .../version-fils_en/project/index.md | 30 ++++++++++++++----- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/website/versioned_docs/version-fils_en/project/index.md b/website/versioned_docs/version-fils_en/project/index.md index 5567a69..a2eb590 100644 --- a/website/versioned_docs/version-fils_en/project/index.md +++ b/website/versioned_docs/version-fils_en/project/index.md @@ -11,16 +11,32 @@ The deliverables will be stored in two places: - the *source code* will be stored on [Github](https://github.com/UPB-PMRust-Students) - the project documentation will be stored on [Gitlab](https://gitlab.cs.pub.ro/pmrust/pmrust.pages.upb.ro), by creating a fork of the course's website -## Source Code Repository +The **documentation repository** should contain: +- the full documentation of the project, in the `index.md` file + - a description of the functionality + - the motivation for choosing the project + - the architecture + - a description of all components and how they interconnect + - a diagram drawn in [diagrams.net](https://app.diagrams.net/) or similar + - a weekly log of the project status + - hardware design + - a description of the hardware used + - a schematic drawn in [KiCad EDA](https://www.kicad.org/) or similar + - photos of the device + - software design + - detailed design + - functional diagram + - bill of materials (hardware and software) +- the photos and other files required by the index.md file + +**ATTENTION:** You need to work in a fork of this website's Gitlab repository and not in a blank one, in order to create a _merge request_, as described below. -The repository contains: +The **source code repository** should contain: - a brief documentation - the repository's `README.md` file - - short description of functionality + - short description of the functionality - requirements (hardware and software) - - hardware design - use [KiCad EDA](https://www.kicad.org/) or a similar tool for the schematics - - software design - - detail design - - functional diagram + - brief hardware and software design, including diagrams +- software source code - software source code The repositories will be checked by the lab assistant at during lab reserved for the project. Uploading code on the last day of the software milestone is not allowed. **The assistant** will check that students have **submitted regular commits** to the repository. -- GitLab From f0f9b634cca60dfd795e025134acc871f4c379a7 Mon Sep 17 00:00:00 2001 From: Alexandru RADOVICI <alexandru.radovici@upb.ro> Date: Tue, 11 Mar 2025 20:33:26 +0000 Subject: [PATCH 29/31] Apply 1 suggestion(s) to 1 file(s) Co-authored-by: GabrielPavaloiu <gabriel.pavaloiu@upb.ro> --- .../version-acs_cc/project/index.md | 29 ++++++++++++++----- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/website/versioned_docs/version-acs_cc/project/index.md b/website/versioned_docs/version-acs_cc/project/index.md index 042534c..15a40ff 100644 --- a/website/versioned_docs/version-acs_cc/project/index.md +++ b/website/versioned_docs/version-acs_cc/project/index.md @@ -11,16 +11,31 @@ The deliverables will be stored in two places: - the *source code* will be stored on [Github](https://github.com/UPB-PMRust-Students) - the project documentation will be stored on [Gitlab](https://gitlab.cs.pub.ro/pmrust/pmrust.pages.upb.ro), by creating a fork of the course's website -## Source Code Repository +The **documentation repository** should contain: +- the full documentation of the project, in the `index.md` file + - a description of the functionality + - the motivation for choosing the project + - the architecture + - a description of all components and how they interconnect + - a diagram drawn in [diagrams.net](https://app.diagrams.net/) or similar + - a weekly log of the project status + - hardware design + - a description of the hardware used + - a schematic drawn in [KiCad EDA](https://www.kicad.org/) or similar + - photos of the device + - software design + - detailed design + - functional diagram + - bill of materials (hardware and software) +- the photos and other files required by the index.md file + +**ATTENTION:** You need to work in a fork of this website's Gitlab repository and not in a blank one, in order to create a _merge request_, as described below. -The repository contains: +The **source code repository** should contain: - a brief documentation - the repository's `README.md` file - - short description of functionality + - short description of the functionality - requirements (hardware and software) - - hardware design - use [KiCad EDA](https://www.kicad.org/) or a similar tool for the schematics - - software design - - detail design - - functional diagram + - brief hardware and software design, including diagrams - software source code The repositories will be checked by the lab assistant at during lab reserved for the project. Uploading code on the last day of the software milestone is not allowed. **The assistant** will check that students have **submitted regular commits** to the repository. -- GitLab From 7cb095986a3a2d55680e3829a8ee2a290d67ae0d Mon Sep 17 00:00:00 2001 From: Alexandru RADOVICI <alexandru.radovici@wyliodrin.com> Date: Tue, 11 Mar 2025 21:36:38 +0100 Subject: [PATCH 30/31] update warnings --- website/versioned_docs/version-acs_cc/project/index.md | 6 +++++- website/versioned_docs/version-fils_en/project/index.md | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/website/versioned_docs/version-acs_cc/project/index.md b/website/versioned_docs/version-acs_cc/project/index.md index 15a40ff..aa3e1be 100644 --- a/website/versioned_docs/version-acs_cc/project/index.md +++ b/website/versioned_docs/version-acs_cc/project/index.md @@ -29,7 +29,11 @@ The **documentation repository** should contain: - bill of materials (hardware and software) - the photos and other files required by the index.md file -**ATTENTION:** You need to work in a fork of this website's Gitlab repository and not in a blank one, in order to create a _merge request_, as described below. +:::warning + +You need to work in a fork of this website's Gitlab repository and not in a blank one, in order to create a _merge request_, as described below. + +::: The **source code repository** should contain: - a brief documentation - the repository's `README.md` file diff --git a/website/versioned_docs/version-fils_en/project/index.md b/website/versioned_docs/version-fils_en/project/index.md index a2eb590..bd22008 100644 --- a/website/versioned_docs/version-fils_en/project/index.md +++ b/website/versioned_docs/version-fils_en/project/index.md @@ -29,7 +29,11 @@ The **documentation repository** should contain: - bill of materials (hardware and software) - the photos and other files required by the index.md file -**ATTENTION:** You need to work in a fork of this website's Gitlab repository and not in a blank one, in order to create a _merge request_, as described below. +:::warning + +You need to work in a fork of this website's Gitlab repository and not in a blank one, in order to create a _merge request_, as described below. + +::: The **source code repository** should contain: - a brief documentation - the repository's `README.md` file -- GitLab From 971c92e9e08e0f7db6bb140a0fd4c1a08410ff92 Mon Sep 17 00:00:00 2001 From: GabrielPavaloiu <gabriel.pavaloiu@upb.ro> Date: Wed, 12 Mar 2025 05:38:40 +0000 Subject: [PATCH 31/31] Apply 1 suggestion(s) to 1 file(s) Co-authored-by: Teodor-Alexandru DICU <teodor.dicu@upb.ro> --- website/versioned_docs/version-fils_en/project/index.md | 1 - 1 file changed, 1 deletion(-) diff --git a/website/versioned_docs/version-fils_en/project/index.md b/website/versioned_docs/version-fils_en/project/index.md index bd22008..94ead6b 100644 --- a/website/versioned_docs/version-fils_en/project/index.md +++ b/website/versioned_docs/version-fils_en/project/index.md @@ -41,7 +41,6 @@ The **source code repository** should contain: - requirements (hardware and software) - brief hardware and software design, including diagrams - software source code -- software source code The repositories will be checked by the lab assistant at during lab reserved for the project. Uploading code on the last day of the software milestone is not allowed. **The assistant** will check that students have **submitted regular commits** to the repository. -- GitLab