add projects

This commit is contained in:
Sneupi 2025-04-29 14:14:38 -07:00
parent a3f872151e
commit 32e9b42d97
4 changed files with 169 additions and 0 deletions

18
_posts/can-analyzer.md Normal file
View File

@ -0,0 +1,18 @@
# [can-analyzer](https://github.com/Sneupi/can-analyzer/blob/main)
Analyzer-Translator tool for decoding automotive CAN bus
Originally intended for decoding data, in creation of custom [digital dashboard](https://github.com/Sneupi/digital-dashboard) project.
# Notes
1. Read `TranslateCAN.h` for tuning the tool to decode your vehicle
2. Set CAN_RX & CAN_TX in the `.ino` according to your CAN transciever wiring
# Project Requirements
1. Hardware req: ESP32 with CAN Transciever
2. Software req: Terminal emulator (such as Tera Term) that supports ANSI escape codes
# Serial Commands
| cmd | desc |
| --- | --- |
| m | switch to live CAN map |
| t | switch to live CAN translations |

View File

@ -0,0 +1,56 @@
---
image:
path: https://img.youtube.com/vi/ePmj9b9VglM/maxresdefault.jpg
---
## CSC 335 - Object-Oriented Programming and Design
## [Final Project -- Restaurant](https://github.com/jscm1607/CSC335_FinalProject/tree/videobranch)
## Members
Gabe Venegas<br />
Aidan Fuhrmann<br />
Cody Rice<br />
Jose Santiago Campa Morales
## Video
[![Watch the video](https://img.youtube.com/vi/ePmj9b9VglM/maxresdefault.jpg)](https://youtu.be/ePmj9b9VglM)
## Design:
Our project follows a MVC strucutre to develop a restaurant
manager software from a server's point of view. <br />
Oue model is made up of five distinct classes (Food, Order,
OrderFood, Server and Session). Each model class has its respective
Data Access Object (DAO) Class, which extends from the DAO class.
An individual DAO class is in change of overriding the DAO methods,
which perform basic SQL database operations. The model classes contain
their DAO object, and all of the instance variables inside these classes
are final, and our methods consist of setters and getters.<br />
The controller is made up of a Controller class which contains five DAO
objects, one for each model class. The controller's main goal is to update
the model while communicating with the GUI when a change occurs. The controller
holds methods related to each model class, allowing us to retrieve information
from the database.<br />
The view is made up of various graphic panels using Java Swing. Our main
entry point is the login frame, where a server has the opportunity to either
log into their shift or register themselves. After log in, the server is met
with the main window, where other panels have different functions. Some include
assigning tables, checking table availability, selecting seats for ordering, and
analyzing sales. Our view was created with the help of generative AI.
## Running from Jar:
To run this program, make sure to be able to run maven, and jar files in the command line.
```
mvn clean package
java -jar target/CSC335_FinalProject-1.0-jar-with-dependencies.jar
```
If you do not have maven, a precompiled jar is provided in repo root.
```
java -jar CSC335_FinalProject-1.0-jar-with-dependencies.jar
```
## Run without Jar File
If running without jar file, make sure you run
this program as a Java Application from the
LoginFrame.java file.

View File

@ -0,0 +1,80 @@
---
image:
path: https://github.com/Sneupi/digital-dashboard/blob/main/exampleproject.jpg?raw=true
---
# [digital-dashboard](https://github.com/Sneupi/digital-dashboard/blob/main)
Source code for ESP32 based CAN-bus powered dashboard.
Reprogrammable to interpret & display any CAN-bus containing vehicle's CAN data.
Originally developed for Wildcat Formula Racing (University of Arizona) Formula SAE race car.
# Get Started
1. Install VS Code
2. Install PlatformIO extension for VS Code
3. Plug ESP32 and restart VS Code
4. Within PlatformIO extension "Clone Git Project"
5. Upload to ESP32 using PlatformIO sidebar
# Re-Configurability
Configured as-is for example project below.
1. Pinouts for CAN transceiver and pushbutton. Open `pinout.h` source files to do so.
2. Vehicle-specific CAN-bus interpretation, open CAN source files (`limits.h`, `TranslateCAN.h`) for config instructions. For help decoding your vehicle, see related tool [can-analyzer](https://github.com/Sneupi/can-analyzer).
3. Compatible with wide range of TFT displays. Read [TFT_eSPI library documentation](https://github.com/Bodmer/TFT_eSPI) and edit library files accordingly (`User_Setup.h` or `User_Setup_Select.h`).
# Example Project
Project for University of Arizona FSAE racecar. Interprets custom MoTeC M150 CAN bus protocol.
![(image of example project)](https://github.com/Sneupi/digital-dashboard/blob/main/exampleproject.jpg?raw=true)
### IMPORTANT
ESP32 module requires 5V power (VIN or Micro USB) but GPIO pins operate at 3.3V
### Parts List
[ESP32 Microcontroller](https://www.amazon.com/dp/B08D5ZD528)
[CAN Transceiver (SN65HVD230)](https://www.amazon.com/gp/product/B00KM6XMXO)
[TFT Display 5" (SSD1963)](https://www.amazon.com/s?k=ssd1963+5+inch)
...And any pushbutton will work
### Pinout
Note: PB = Pushbutton
Note: TFT_DC may be labeled "RS" depending on the TFT
| NAME | ESP32 GPIO |
| --- | --- |
| PB | 5 |
| --- | --- |
| CAN_RX | 18 |
| CAN_TX | 19 |
| --- | --- |
| TFT_CS | 33 |
| TFT_DC | 15 |
| TFT_RST | 32 |
| --- | --- |
| TFT_WR | 4 |
| TFT_RD | 2 |
| --- | --- |
| TFT_D0 | 12 |
| TFT_D1 | 13 |
| TFT_D2 | 26 |
| TFT_D3 | 25 |
| TFT_D4 | 17 |
| TFT_D5 | 16 |
| TFT_D6 | 27 |
| TFT_D7 | 14 |
# Common Issue: ESP32 not detected as COM port
You may try installing [VCP drivers](https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers?tab=downloads)

15
_posts/vsb-logger.md Normal file
View File

@ -0,0 +1,15 @@
---
image:
path: https://github.com/Sneupi/vsb_logger/raw/refractor/demo.gif
---
# [VSB-LOGGER](https://github.com/Sneupi/vsb_logger/blob/refractor)
Single window, single screen interface for serial communication with the VSB.
Displays, plots, and generates CSV logs of realtime metrics from raw data.
<img src="https://github.com/Sneupi/vsb_logger/blob/refractor/demo.gif" width="550" height="350" />
## Future Additions:
- input scripting via a formatted file