aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSam Anthony <sam@samanthony.xyz>2025-10-13 13:37:27 -0400
committerSam Anthony <sam@samanthony.xyz>2025-10-13 13:37:27 -0400
commitccf2d029feb19c5c976807d29cc78fcb9d06e981 (patch)
treeab809ffc0cc2df29be8e65d3675d62a89584cfac
parent98c0e2281060f9fea3f82f4c28223a2fd3b983dd (diff)
downloadcan-gauge-interface-ccf2d029feb19c5c976807d29cc78fcb9d06e981.zip
midterm report: firmware
-rw-r--r--midterm_report/midterm_report.tex16
-rw-r--r--midterm_report/references.bib6
2 files changed, 21 insertions, 1 deletions
diff --git a/midterm_report/midterm_report.tex b/midterm_report/midterm_report.tex
index 8c7e3f0..1e358f1 100644
--- a/midterm_report/midterm_report.tex
+++ b/midterm_report/midterm_report.tex
@@ -203,7 +203,21 @@ TODO
\section{Firmware}
-TODO
+Firmware is the program that runs on the PIC microcontroller.
+It is responsible for interacting with the peripherals and transforming data from the CAN bus into output signals for the gauges.
+
+The firmware is written in C for Microchip's XC8 compiler.
+
+Each peripheral---MCP2515, 25LC160C, and MCP4912---has a corresponding translation unit.
+So far, I have written and tested the MCP4912 DAC unit.
+The 25LC160C and MCP2515 units are mostly written but still require more testing.
+
+The firmware must also communicate with a PC via USB.
+The Microchip MLA USB library is employed for this purpose \cite{mla_usb}.
+However, the USB code uses a lot of the PIC's flash memory.
+Some system test builds already fail to link due to lack of space.
+As a result, USB may have to be dropped from the project, and another method will have to be devised for programming the user configuration into the EEPROM.
+This is a major disappointment, but I will have to work around it seeing as the hardware has already been finalized.
\section{Software}
diff --git a/midterm_report/references.bib b/midterm_report/references.bib
index 6a019a9..04defbe 100644
--- a/midterm_report/references.bib
+++ b/midterm_report/references.bib
@@ -57,3 +57,9 @@
author = {Sam Anthony},
url = {power_supply.ods},
},
+@online{mla_usb,
+ title = {MLA USB},
+ organization = {Microchip Inc.},
+ publisher = {Github},
+ url = {https://github.com/MicrochipTech/mla_usb},
+},