diff --git a/_posts/can-analyzer.md b/_posts/can-analyzer.md new file mode 100644 index 0000000..b43b9cc --- /dev/null +++ b/_posts/can-analyzer.md @@ -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 | diff --git a/_posts/csc335-restaurant.md b/_posts/csc335-restaurant.md new file mode 100644 index 0000000..94397ca --- /dev/null +++ b/_posts/csc335-restaurant.md @@ -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
+Aidan Fuhrmann
+Cody Rice
+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.
+ +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.
+ +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.
+ +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. diff --git a/_posts/digital-dashboard.md b/_posts/digital-dashboard.md new file mode 100644 index 0000000..c2cacae --- /dev/null +++ b/_posts/digital-dashboard.md @@ -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) diff --git a/_posts/vsb-logger.md b/_posts/vsb-logger.md new file mode 100644 index 0000000..5756cec --- /dev/null +++ b/_posts/vsb-logger.md @@ -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. + + + +## Future Additions: +- input scripting via a formatted file