From: Eric Zou Date: Wed, 14 May 2025 01:24:08 +0000 (-0400) Subject: Update README.md X-Git-Url: http://git.skullheadx.com/nixos/static/gitweb.js?a=commitdiff_plain;h=refs%2Fheads%2Fmaster;p=qrcodescanner.git Update README.md --- diff --git a/README.md b/README.md index c665106..b59f7b8 100644 --- a/README.md +++ b/README.md @@ -2,13 +2,11 @@ ## 🚀 Overview -Welcome to the QR Code Toolkit! This workspace is dedicated to the fascinating world of QR codes, featuring: +Welcome to the QR Code Toolkit! 1. **A C++ QR Code Generator**: Crafted from scratch, this tool takes numeric data and transforms it into a Version 1 QR code, saving it as a PBM (Portable BitMap) image. See it in action in [`qrgenerator.cpp`](qrgenerator.cpp). 2. **STM32 Camera Interface**: Code designed for an STM32 microcontroller to interface with a camera module (like the OV7670). This lays the groundwork for a potential QR code scanning application. Check out the setup in [`main.cpp`](main.cpp). -Let's dive into the details! - ## ✨ QR Code Generator (`qrgenerator.cpp`) This command-line program generates Version 1 QR codes, specifically for numeric input data with 'Medium' error correction. @@ -61,26 +59,17 @@ To generate a QR code: ## 📸 Camera Interface / QR Scanner Foundation (`main.cpp`) -The [`main.cpp`](main.cpp) file shifts focus to hardware, specifically setting up an STM32 microcontroller. This code is likely the starting point for a physical QR code scanner. +The [`main.cpp`](main.cpp) file shifts focus to hardware, specifically setting up an STM32 microcontroller. - **Hardware Configuration**: - **GPIO Setup**: Configures General Purpose Input/Output pins for: - A parallel camera interface (D0-D7 data lines, HREF, VSYNC, DCLK). - I2C communication (SDA, SCL), often used to configure camera sensors like the OV7670. - **Peripheral Initialization**: Sets up I2C and DMA ([`DMA_Init`](main.cpp)) controllers on the STM32. -- **Intended Purpose**: This configuration strongly suggests a project aiming to capture images using a camera module connected to the STM32, process these images, and decode QR codes. The [`camera.cpp`](camera.cpp) file might contain further logic for this. +- **Intended Purpose**: To capture images using a camera module connected to the STM32, process these images, and decode QR codes. The [`camera.cpp`](camera.cpp) file might contain further logic for this. This component is distinct from the generator and would run on the embedded STM32 platform. -## 📂 Workspace Files - -- [`qrgenerator.cpp`](qrgenerator.cpp): The heart of the QR code generation logic. -- [`main.cpp`](main.cpp): STM32 microcontroller code for camera and peripheral setup. -- [`camera.cpp`](camera.cpp): Likely contains camera control/data handling logic for the STM32 (contents not fully visible). -- [`gradient.txt`](gradient.txt): Its purpose isn't clear from the provided excerpts. -- `*.pbm` (e.g., [`6969696969.pbm`](6969696969.pbm)): Example QR code image generated by [`qrgenerator.cpp`](qrgenerator.cpp). -- `.gitignore`: Standard Git file to exclude certain files/directories from version control. -- `qrcodescanner-11-18-2024/`, `qrcodescanner-11-21-2024/`: These directories might hold different versions, backups, or specific development stages of the scanner project. ## 🔮 Future Directions & Potential Enhancements @@ -95,4 +84,3 @@ This project has a solid foundation with many exciting possibilities: --- -Happy QR coding!