ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A Java application that assigns IITM Electrical Engineering courses to institutional slots and produces evidence-backed explanations for every assignment. Version 2 hands the optimisation to UniTime's course timetabling engine, cpsolver, and keeps the v1 CP-SAT model as an exact reference solver.
Documentation: docs_v2 describes this version; docs_v1 keeps the original CP-SAT version.
| v1 | v2 | |
|---|---|---|
| Default solver | OR-Tools CP-SAT | UniTime cpsolver (--solver cpsat still available) |
| Time model | Slot labels, never overlapping | Real IITM meeting times from the official grid; overlaps computed to 5 minutes |
Labs (additional_slot) | Displayed only | Fixed lab meetings that block instructors, conflicts and students |
| Rooms | Displayed only | Hard rule: one course per room at a time |
| Validation | 9 checks | 18 checks, including duplicate or negative preferences and lab clashes |
| Tests | 41 | 52, comparing both solvers on every scenario |
Every generated test scenario is solved by both UniTime and the exact CP-SAT solver:
The full table is in the test plan.
The demonstrator uses an anonymized/mock subset inspired by the January–May 2025 EE slotbook. Course metadata resembles the supplied administrative sheet; student selections, instructor preferences, conflict weights and availability restrictions are synthetic test fixtures. Slot times follow the official grid at https://www.iitm.ac.in/timetable.
The system supports:
See MANUAL.md for usage and ARCHITECTURE.md for the module flow.
The portal/ directory contains a Vercel-ready web application that collects student course rankings and instructor slot penalties in Google Sheets, exports the exact CSV contracts used by this application, optionally invokes a deployed solver API, and publishes the generated slotbook with explanations.
cd portal
npm test
npm run check
The demonstration portal intentionally has no student or instructor authentication. Its admin operations use server-side secrets, and its documentation explains the Google Apps Script and Vercel setup.
Requirements: JDK 17+ and Maven 3.9+.
mvn clean test
mvn exec:java -Dexec.args="--input data/feasible --output output/demo"
mvn exec:java -Dexec.args="--input data/feasible --output output/demo --solver cpsat"
mvn javafx:run
For the mid-evaluation showcase, use the deliberately compact scenario in data/demo-showcase:
mvn exec:java -Dexec.args="--input data/demo-showcase --output output/demo-showcase --time-limit 10"
It contains 11 courses, 36 anonymous students and 144 ranked preferences. UniTime reaches objective 9, matching the CP-SAT proven optimum. The checked-in generated result shows one unavoidable low-weight elective overlap while satisfying the fixed-slot, laboratory, protected-pair and room constraints.
GitHub Actions runs the complete Maven test suite on every push and pull request.
cpsolver is distributed under the GNU Lesser General Public License v3. This project uses it unmodified as a Maven library dependency.