diff --git a/Car_Stereo_Replacement/arduino/CarStereo_OLED_ssd1306_128x32_i2c/CarStereo_OLED_ssd1306_128x32_i2c.ino b/Car_Stereo_Replacement/arduino/CarStereo_OLED_ssd1306_128x32_i2c/CarStereo_OLED_ssd1306_128x32_i2c.ino new file mode 100644 index 0000000..39267eb --- /dev/null +++ b/Car_Stereo_Replacement/arduino/CarStereo_OLED_ssd1306_128x32_i2c/CarStereo_OLED_ssd1306_128x32_i2c.ino @@ -0,0 +1,504 @@ +/************************************************************************** + This is an example for our Monochrome OLEDs based on SSD1306 drivers + + Pick one up today in the adafruit shop! + ------> http://www.adafruit.com/category/63_98 + + This example is for a 128x32 pixel display using I2C to communicate + 3 pins are required to interface (two I2C and one reset). + + Adafruit invests time and resources providing this open + source code, please support Adafruit and open-source + hardware by purchasing products from Adafruit! + + Written by Limor Fried/Ladyada for Adafruit Industries, + with contributions from the open source community. + BSD license, check license.txt for more information + All text above, and the splash screen below must be + included in any redistribution. + **************************************************************************/ + +#include +#include +#include +#include + +#define SCREEN_WIDTH 128 // OLED display width, in pixels +#define SCREEN_HEIGHT 32 // OLED display height, in pixels + +// Declaration for an SSD1306 display connected to I2C (SDA, SCL pins) +#define OLED_RESET 4 // Reset pin # (or -1 if sharing Arduino reset pin) +Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET); + +#define NUMFLAKES 10 // Number of snowflakes in the animation example + +#define LOGO_HEIGHT 16 +#define LOGO_WIDTH 16 +static const unsigned char PROGMEM logo_bmp[] = +{ B00000000, B11000000, + B00000001, B11000000, + B00000001, B11000000, + B00000011, B11100000, + B11110011, B11100000, + B11111110, B11111000, + B01111110, B11111111, + B00110011, B10011111, + B00011111, B11111100, + B00001101, B01110000, + B00011011, B10100000, + B00111111, B11100000, + B00111111, B11110000, + B01111100, B11110000, + B01110000, B01110000, + B00000000, B00110000 }; + +void setup() { + Serial.begin(9600); + + // SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally + if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { // Address 0x3C for 128x32 + Serial.println(F("SSD1306 allocation failed")); + for(;;); // Don't proceed, loop forever + } + + // Show initial display buffer contents on the screen -- + // the library initializes this with an Adafruit splash screen. + display.display(); + delay(2000); // Pause for 2 seconds + + // Clear the buffer + display.clearDisplay(); + + // Draw a single pixel in white + display.drawPixel(10, 10, SSD1306_WHITE); + + // Show the display buffer on the screen. You MUST call display() after + // drawing commands to make them visible on screen! + display.display(); + delay(2000); + // display.display() is NOT necessary after every single drawing command, + // unless that's what you want...rather, you can batch up a bunch of + // drawing operations and then update the screen all at once by calling + // display.display(). These examples demonstrate both approaches... + + /*testdrawline(); // Draw many lines + + testdrawrect(); // Draw rectangles (outlines) + + testfillrect(); // Draw rectangles (filled) + + testdrawcircle(); // Draw circles (outlines) + + testfillcircle(); // Draw circles (filled) + + testdrawroundrect(); // Draw rounded rectangles (outlines) + + testfillroundrect(); // Draw rounded rectangles (filled) + + testdrawtriangle(); // Draw triangles (outlines) + + testfilltriangle(); // Draw triangles (filled) + + testdrawchar(); // Draw characters of the default font + + testdrawstyles(); // Draw 'stylized' characters + + testscrolltext(); // Draw scrolling text + + testdrawbitmap(); // Draw a small bitmap image + + // Invert and restore display, pausing in-between + display.invertDisplay(true); + delay(1000); + display.invertDisplay(false); + delay(1000);*/ + + //testanimate(logo_bmp, LOGO_WIDTH, LOGO_HEIGHT); // Animate bitmaps +} + +void loop() { + + testdrawchar2(); // Draw scrolling text + delay(2000); + while(1){ + display.clearDisplay(); + testdrawchar3(); // Draw scrolling text + } +} + + +double GetTemp(void) +{ + unsigned int wADC; + double t; + + // The internal temperature has to be used + // with the internal reference of 1.1V. + // Channel 8 can not be selected with + // the analogRead function yet. + + // Set the internal reference and mux. + ADMUX = (_BV(REFS1) | _BV(REFS0) | _BV(MUX3)); + ADCSRA |= _BV(ADEN); // enable the ADC + + delay(20); // wait for voltages to become stable. + + ADCSRA |= _BV(ADSC); // Start the ADC + + // Detect end-of-conversion + while (bit_is_set(ADCSRA,ADSC)); + + // Reading register "ADCW" takes care of how to read ADCL and ADCH. + wADC = ADCW; + + // The offset of 324.31 could be wrong. It is just an indication. + t = (wADC - 324.31 ) / 1.22; + + // The returned temperature is in degrees Celsius. + return (t); +} + + +void testdrawline() { + int16_t i; + + display.clearDisplay(); // Clear display buffer + + for(i=0; i=0; i-=4) { + display.drawLine(0, display.height()-1, display.width()-1, i, SSD1306_WHITE); + display.display(); + delay(1); + } + delay(250); + + display.clearDisplay(); + + for(i=display.width()-1; i>=0; i-=4) { + display.drawLine(display.width()-1, display.height()-1, i, 0, SSD1306_WHITE); + display.display(); + delay(1); + } + for(i=display.height()-1; i>=0; i-=4) { + display.drawLine(display.width()-1, display.height()-1, 0, i, SSD1306_WHITE); + display.display(); + delay(1); + } + delay(250); + + display.clearDisplay(); + + for(i=0; i0; i-=3) { + // The INVERSE color is used so circles alternate white/black + display.fillCircle(display.width() / 2, display.height() / 2, i, SSD1306_INVERSE); + display.display(); // Update screen with each newly-drawn circle + delay(1); + } + + delay(2000); +} + +void testdrawroundrect(void) { + display.clearDisplay(); + + for(int16_t i=0; i0; i-=5) { + // The INVERSE color is used so triangles alternate white/black + display.fillTriangle( + display.width()/2 , display.height()/2-i, + display.width()/2-i, display.height()/2+i, + display.width()/2+i, display.height()/2+i, SSD1306_INVERSE); + display.display(); + delay(1); + } + + delay(2000); +} + +void testdrawchar(void) { + display.clearDisplay(); + + display.setTextSize(1); // Normal 1:1 pixel scale + display.setTextColor(SSD1306_WHITE); // Draw white text + display.setCursor(0, 0); // Start at top-left corner + display.cp437(true); // Use full 256 char 'Code Page 437' font + + // Not all the characters will fit on the display. This is normal. + // Library will draw what it can and the rest will be clipped. + for(int16_t i=0; i<256; i++) { + if(i == '\n') display.write(' '); + else display.write(i); + } + + display.display(); + delay(2000); +} +void testdrawchar2(void) { + display.clearDisplay(); + + display.setTextSize(1); // Normal 1:1 pixel scale + display.setTextColor(SSD1306_WHITE); // Draw white text + display.setCursor(0, 0); // Start at top-left corner + display.cp437(true); // Use full 256 char 'Code Page 437' font + + display.println(F(" Steak Electronics")); + display.display(); + delay(2000); +} +void testdrawchar3(void) { + display.clearDisplay(); + + display.setTextSize(1); // Normal 1:1 pixel scale + display.setTextColor(SSD1306_WHITE); // Draw white text + display.setCursor(0, 10); // Start at top-left corner + display.cp437(true); // Use full 256 char 'Code Page 437' font + + display.print("Temp: "); + display.println(GetTemp(),1); + display.display(); + delay(200); + +} + + +void testdrawstyles(void) { + display.clearDisplay(); + + display.setTextSize(1); // Normal 1:1 pixel scale + display.setTextColor(SSD1306_WHITE); // Draw white text + display.setCursor(0,0); // Start at top-left corner + display.println(F("Hello, world!")); + + display.setTextColor(SSD1306_BLACK, SSD1306_WHITE); // Draw 'inverse' text + display.println(3.141592); + + display.setTextSize(2); // Draw 2X-scale text + display.setTextColor(SSD1306_WHITE); + display.print(F("0x")); display.println(0xDEADBEEF, HEX); + + display.display(); + delay(2000); +} + +void testscrolltext(void) { + display.clearDisplay(); + + display.setTextSize(2); // Draw 2X-scale text + display.setTextColor(SSD1306_WHITE); + display.setCursor(10, 0); + display.println(F("scroll")); + display.display(); // Show initial text + delay(100); + + // Scroll in various directions, pausing in-between: + display.startscrollright(0x00, 0x0F); + delay(2000); + display.stopscroll(); + delay(1000); + display.startscrollleft(0x00, 0x0F); + delay(2000); + display.stopscroll(); + delay(1000); + display.startscrolldiagright(0x00, 0x07); + delay(2000); + display.startscrolldiagleft(0x00, 0x07); + delay(2000); + display.stopscroll(); + delay(1000); +} +void testscrolltext2(void) { + display.clearDisplay(); + + display.setTextSize(2); // Draw 2X-scale text + display.setTextColor(SSD1306_WHITE); + display.setCursor(10, 0); + display.println(F("5318008")); + display.display(); // Show initial text + delay(100); + + // Scroll in various directions, pausing in-between: + display.startscrollright(0x00, 0x0F); + delay(2000); + display.stopscroll(); + delay(1000); + display.startscrollleft(0x00, 0x0F); + delay(2000); + display.stopscroll(); + delay(1000); + display.startscrolldiagright(0x00, 0x07); + delay(2000); + display.startscrolldiagleft(0x00, 0x07); + delay(2000); + display.stopscroll(); + delay(1000); +} + + +void testdrawbitmap(void) { + display.clearDisplay(); + + display.drawBitmap( + (display.width() - LOGO_WIDTH ) / 2, + (display.height() - LOGO_HEIGHT) / 2, + logo_bmp, LOGO_WIDTH, LOGO_HEIGHT, 1); + display.display(); + delay(1000); +} + +#define XPOS 0 // Indexes into the 'icons' array in function below +#define YPOS 1 +#define DELTAY 2 + +void testanimate(const uint8_t *bitmap, uint8_t w, uint8_t h) { + int8_t f, icons[NUMFLAKES][3]; + + // Initialize 'snowflake' positions + for(f=0; f< NUMFLAKES; f++) { + icons[f][XPOS] = random(1 - LOGO_WIDTH, display.width()); + icons[f][YPOS] = -LOGO_HEIGHT; + icons[f][DELTAY] = random(1, 6); + Serial.print(F("x: ")); + Serial.print(icons[f][XPOS], DEC); + Serial.print(F(" y: ")); + Serial.print(icons[f][YPOS], DEC); + Serial.print(F(" dy: ")); + Serial.println(icons[f][DELTAY], DEC); + } + + for(;;) { // Loop forever... + display.clearDisplay(); // Clear the display buffer + + // Draw each snowflake: + for(f=0; f< NUMFLAKES; f++) { + display.drawBitmap(icons[f][XPOS], icons[f][YPOS], bitmap, w, h, SSD1306_WHITE); + } + + display.display(); // Show the display buffer on the screen + delay(200); // Pause for 1/10 second + + // Then update coordinates of each flake... + for(f=0; f< NUMFLAKES; f++) { + icons[f][YPOS] += icons[f][DELTAY]; + // If snowflake is off the bottom of the screen... + if (icons[f][YPOS] >= display.height()) { + // Reinitialize to a random position, just off the top + icons[f][XPOS] = random(1 - LOGO_WIDTH, display.width()); + icons[f][YPOS] = -LOGO_HEIGHT; + icons[f][DELTAY] = random(1, 6); + } + } + } +} diff --git a/Car_Stereo_Replacement/docs/1.aux b/Car_Stereo_Replacement/docs/1.aux new file mode 100644 index 0000000..1d228b0 --- /dev/null +++ b/Car_Stereo_Replacement/docs/1.aux @@ -0,0 +1,4 @@ +\relax +\@writefile{toc}{\contentsline {section}{\numberline {1}Overview}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {2}Work Log}{1}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}I2C OLED display}{1}} diff --git a/Car_Stereo_Replacement/docs/1.log b/Car_Stereo_Replacement/docs/1.log new file mode 100644 index 0000000..e950489 --- /dev/null +++ b/Car_Stereo_Replacement/docs/1.log @@ -0,0 +1,70 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 28 OCT 2019 00:53 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**/home/layoutdev/Desktop/code/documentation_general/Electronics_Projects_2019/ +Car_Stereo_Replacement/docs/1.tex + +(/home/layoutdev/Desktop/code/documentation_general/Electronics_Projects_2019/C +ar_Stereo_Replacement/docs/1.tex +LaTeX2e <2017/01/01> patch level 3 +Babel <3.9r> and hyphenation patterns for 3 language(s) loaded. +(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls +Document Class: article 2014/09/29 v1.4h Standard LaTeX document class +(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) (./1.aux) +\openout1 = `1.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 6. +LaTeX Font Info: ... okay on input line 6. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 6. +LaTeX Font Info: ... okay on input line 6. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 6. +LaTeX Font Info: ... okay on input line 6. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 6. +LaTeX Font Info: ... okay on input line 6. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 6. +LaTeX Font Info: ... okay on input line 6. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 6. +LaTeX Font Info: ... okay on input line 6. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 8. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 8. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 8. + [1 + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] (./1.aux) ) +Here is how much of TeX's memory you used: + 231 strings out of 494945 + 2739 string characters out of 6181032 + 48564 words of memory out of 5000000 + 3601 multiletter control sequences out of 15000+600000 + 8194 words of font info for 29 fonts, out of 8000000 for 9000 + 14 hyphenation exceptions out of 8191 + 21i,6n,19p,352b,187s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on 1.pdf (1 page, 43339 bytes). +PDF statistics: + 20 PDF objects out of 1000 (max. 8388607) + 13 compressed objects within 1 object stream + 0 named destinations out of 1000 (max. 500000) + 1 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/Car_Stereo_Replacement/docs/1.pdf b/Car_Stereo_Replacement/docs/1.pdf new file mode 100644 index 0000000..dae07b8 Binary files /dev/null and b/Car_Stereo_Replacement/docs/1.pdf differ diff --git a/Car_Stereo_Replacement/docs/1.tex b/Car_Stereo_Replacement/docs/1.tex new file mode 100644 index 0000000..53ad146 --- /dev/null +++ b/Car_Stereo_Replacement/docs/1.tex @@ -0,0 +1,25 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\title{\textbf{Car Stereo Replacement}} +\author{Steak Electronics} +\date{10/27/19} +\begin{document} + +\maketitle + +\section{Overview} +Replacing a car stereo. +\section{Work Log} +\subsection{I2C OLED display} +Just for fun, I bought an I2C oled display and are going to use it to display something. Notes on this: +Using the adafruit SSD1306 and GFX library (this procedure is well covered in other places), you can load an example sketch and get it running. First thing to change is to remove the Adafruit logo and replace it with my own. Let's do that. + + + + + + + + + +\end{document} diff --git a/Car_Stereo_Replacement/docs/1.tex~ b/Car_Stereo_Replacement/docs/1.tex~ new file mode 100644 index 0000000..9ff3053 --- /dev/null +++ b/Car_Stereo_Replacement/docs/1.tex~ @@ -0,0 +1,21 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\title{\textbf{CCTV Fuse}} +\author{Steak Electronics} +\date{06/24/19} +\begin{document} + +\maketitle + +\section{History} + +Recently I had a camera fail on me. I thought it was due to rain shorting out the camera but it was infact the wires shorting. However the damaged wires would not allow another camera to run. Fuses Needed! + + + + + + + + +\end{document} diff --git a/Car_Stereo_Replacement/docs/2.aux b/Car_Stereo_Replacement/docs/2.aux new file mode 100644 index 0000000..1d228b0 --- /dev/null +++ b/Car_Stereo_Replacement/docs/2.aux @@ -0,0 +1,4 @@ +\relax +\@writefile{toc}{\contentsline {section}{\numberline {1}Overview}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {2}Work Log}{1}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}I2C OLED display}{1}} diff --git a/Car_Stereo_Replacement/docs/2.log b/Car_Stereo_Replacement/docs/2.log new file mode 100644 index 0000000..a44d213 --- /dev/null +++ b/Car_Stereo_Replacement/docs/2.log @@ -0,0 +1,78 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 28 OCT 2019 01:01 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**/home/layoutdev/Desktop/code/documentation_general/Electronics_Projects_2019/ +Car_Stereo_Replacement/docs/2.tex + +(/home/layoutdev/Desktop/code/documentation_general/Electronics_Projects_2019/C +ar_Stereo_Replacement/docs/2.tex +LaTeX2e <2017/01/01> patch level 3 +Babel <3.9r> and hyphenation patterns for 3 language(s) loaded. +(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls +Document Class: article 2014/09/29 v1.4h Standard LaTeX document class +(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) (./2.aux) +\openout1 = `2.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 6. +LaTeX Font Info: ... okay on input line 6. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 6. +LaTeX Font Info: ... okay on input line 6. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 6. +LaTeX Font Info: ... okay on input line 6. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 6. +LaTeX Font Info: ... okay on input line 6. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 6. +LaTeX Font Info: ... okay on input line 6. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 6. +LaTeX Font Info: ... okay on input line 6. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 8. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 8. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 8. + +Overfull \hbox (559.79004pt too wide) in paragraph at lines 22--22 +[]\OT1/cmtt/m/n/10.95 I'm on Linux here and found that the readily-available Im +ageMagick package will do the trick for you without any scripting. And runs on +the CLI! Simple as that:[] + [] + +[1 + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] (./2.aux) ) +Here is how much of TeX's memory you used: + 233 strings out of 494945 + 2763 string characters out of 6181032 + 49564 words of memory out of 5000000 + 3602 multiletter control sequences out of 15000+600000 + 8362 words of font info for 30 fonts, out of 8000000 for 9000 + 14 hyphenation exceptions out of 8191 + 21i,6n,19p,352b,187s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on 2.pdf (1 page, 58381 bytes). +PDF statistics: + 24 PDF objects out of 1000 (max. 8388607) + 16 compressed objects within 1 object stream + 0 named destinations out of 1000 (max. 500000) + 1 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/Car_Stereo_Replacement/docs/2.pdf b/Car_Stereo_Replacement/docs/2.pdf new file mode 100644 index 0000000..462a46d Binary files /dev/null and b/Car_Stereo_Replacement/docs/2.pdf differ diff --git a/Car_Stereo_Replacement/docs/2.tex b/Car_Stereo_Replacement/docs/2.tex new file mode 100644 index 0000000..c059af1 --- /dev/null +++ b/Car_Stereo_Replacement/docs/2.tex @@ -0,0 +1,31 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\title{\textbf{Car Stereo Replacement}} +\author{Steak Electronics} +\date{10/27/19} +\begin{document} + +\maketitle + +\section{Overview} +Replacing a car stereo. +\section{Work Log} +\subsection{I2C OLED display} +Just for fun, I bought an I2C oled display and are going to use it to display something. Notes on this: +Using the adafruit SSD1306 and GFX library (this procedure is well covered in other places), you can load an example sketch and get it running. First thing to change is to remove the Adafruit logo and replace it with my own. Let's do that. + +From https://design.goeszen.com/convert-image-for-oled-display.html +\begin{verbatim} +I'm on Linux here and found that the readily-available ImageMagick package will do the trick for you without any scripting. And runs on the CLI! Simple as that: + + convert some_image.png some.image.mono +\end{verbatim} +That's efficient. + + + + + + + +\end{document} diff --git a/Car_Stereo_Replacement/docs/2.tex~ b/Car_Stereo_Replacement/docs/2.tex~ new file mode 100644 index 0000000..53ad146 --- /dev/null +++ b/Car_Stereo_Replacement/docs/2.tex~ @@ -0,0 +1,25 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\title{\textbf{Car Stereo Replacement}} +\author{Steak Electronics} +\date{10/27/19} +\begin{document} + +\maketitle + +\section{Overview} +Replacing a car stereo. +\section{Work Log} +\subsection{I2C OLED display} +Just for fun, I bought an I2C oled display and are going to use it to display something. Notes on this: +Using the adafruit SSD1306 and GFX library (this procedure is well covered in other places), you can load an example sketch and get it running. First thing to change is to remove the Adafruit logo and replace it with my own. Let's do that. + + + + + + + + + +\end{document} diff --git a/Car_Stereo_Replacement/docs/3.aux b/Car_Stereo_Replacement/docs/3.aux new file mode 100644 index 0000000..1d228b0 --- /dev/null +++ b/Car_Stereo_Replacement/docs/3.aux @@ -0,0 +1,4 @@ +\relax +\@writefile{toc}{\contentsline {section}{\numberline {1}Overview}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {2}Work Log}{1}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}I2C OLED display}{1}} diff --git a/Car_Stereo_Replacement/docs/3.log b/Car_Stereo_Replacement/docs/3.log new file mode 100644 index 0000000..7081bde --- /dev/null +++ b/Car_Stereo_Replacement/docs/3.log @@ -0,0 +1,78 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 28 OCT 2019 01:01 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**/home/layoutdev/Desktop/code/documentation_general/Electronics_Projects_2019/ +Car_Stereo_Replacement/docs/3.tex + +(/home/layoutdev/Desktop/code/documentation_general/Electronics_Projects_2019/C +ar_Stereo_Replacement/docs/3.tex +LaTeX2e <2017/01/01> patch level 3 +Babel <3.9r> and hyphenation patterns for 3 language(s) loaded. +(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls +Document Class: article 2014/09/29 v1.4h Standard LaTeX document class +(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) (./3.aux) +\openout1 = `3.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 6. +LaTeX Font Info: ... okay on input line 6. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 6. +LaTeX Font Info: ... okay on input line 6. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 6. +LaTeX Font Info: ... okay on input line 6. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 6. +LaTeX Font Info: ... okay on input line 6. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 6. +LaTeX Font Info: ... okay on input line 6. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 6. +LaTeX Font Info: ... okay on input line 6. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 8. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 8. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 8. + +Overfull \hbox (559.79004pt too wide) in paragraph at lines 22--22 +[]\OT1/cmtt/m/n/10.95 I'm on Linux here and found that the readily-available Im +ageMagick package will do the trick for you without any scripting. And runs on +the CLI! Simple as that:[] + [] + +[1 + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] (./3.aux) ) +Here is how much of TeX's memory you used: + 233 strings out of 494945 + 2763 string characters out of 6181032 + 49564 words of memory out of 5000000 + 3602 multiletter control sequences out of 15000+600000 + 8362 words of font info for 30 fonts, out of 8000000 for 9000 + 14 hyphenation exceptions out of 8191 + 21i,6n,19p,352b,187s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on 3.pdf (1 page, 58381 bytes). +PDF statistics: + 24 PDF objects out of 1000 (max. 8388607) + 16 compressed objects within 1 object stream + 0 named destinations out of 1000 (max. 500000) + 1 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/Car_Stereo_Replacement/docs/3.pdf b/Car_Stereo_Replacement/docs/3.pdf new file mode 100644 index 0000000..4b04b5d Binary files /dev/null and b/Car_Stereo_Replacement/docs/3.pdf differ diff --git a/Car_Stereo_Replacement/docs/3.tex b/Car_Stereo_Replacement/docs/3.tex new file mode 100644 index 0000000..c059af1 --- /dev/null +++ b/Car_Stereo_Replacement/docs/3.tex @@ -0,0 +1,31 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\title{\textbf{Car Stereo Replacement}} +\author{Steak Electronics} +\date{10/27/19} +\begin{document} + +\maketitle + +\section{Overview} +Replacing a car stereo. +\section{Work Log} +\subsection{I2C OLED display} +Just for fun, I bought an I2C oled display and are going to use it to display something. Notes on this: +Using the adafruit SSD1306 and GFX library (this procedure is well covered in other places), you can load an example sketch and get it running. First thing to change is to remove the Adafruit logo and replace it with my own. Let's do that. + +From https://design.goeszen.com/convert-image-for-oled-display.html +\begin{verbatim} +I'm on Linux here and found that the readily-available ImageMagick package will do the trick for you without any scripting. And runs on the CLI! Simple as that: + + convert some_image.png some.image.mono +\end{verbatim} +That's efficient. + + + + + + + +\end{document} diff --git a/Car_Stereo_Replacement/pics/logo4.png b/Car_Stereo_Replacement/pics/logo4.png new file mode 100644 index 0000000..87b3125 Binary files /dev/null and b/Car_Stereo_Replacement/pics/logo4.png differ diff --git a/Car_Stereo_Replacement/pics/logo5.bmp b/Car_Stereo_Replacement/pics/logo5.bmp new file mode 100644 index 0000000..c14148c Binary files /dev/null and b/Car_Stereo_Replacement/pics/logo5.bmp differ diff --git a/Car_Stereo_Replacement/pics/logo5.mono b/Car_Stereo_Replacement/pics/logo5.mono new file mode 100644 index 0000000..7d361c6 Binary files /dev/null and b/Car_Stereo_Replacement/pics/logo5.mono differ diff --git a/Car_Stereo_Replacement/pics/logo5.png b/Car_Stereo_Replacement/pics/logo5.png new file mode 100644 index 0000000..585657d Binary files /dev/null and b/Car_Stereo_Replacement/pics/logo5.png differ diff --git a/batterycharge_stationdata/docs/8.log b/batterycharge_stationdata/docs/8.log index 9b4e521..c90d2b8 100644 --- a/batterycharge_stationdata/docs/8.log +++ b/batterycharge_stationdata/docs/8.log @@ -1,4 +1,4 @@ -This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2015/dev/Debian) (preloaded format=pdflatex 2018.11.28) 22 JUL 2019 19:27 +This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 8 SEP 2019 10:39 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -7,8 +7,8 @@ batterycharge_stationdata/docs/8.tex (/home/layoutdev/Desktop/code/documentation_general/Electronics_Projects_2019/b atterycharge_stationdata/docs/8.tex -LaTeX2e <2014/05/01> -Babel <3.9l> and hyphenation patterns for 2 languages loaded. +LaTeX2e <2017/01/01> patch level 3 +Babel <3.9r> and hyphenation patterns for 3 language(s) loaded. (/usr/share/texlive/texmf-dist/tex/latex/base/article.cls Document Class: article 2014/09/29 v1.4h Standard LaTeX document class (/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo @@ -27,31 +27,31 @@ File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) \bibindent=\dimen102 ) (/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty -Package: graphicx 2014/04/25 v1.0g Enhanced LaTeX Graphics (DPC,SPQR) +Package: graphicx 2014/10/28 v1.0g Enhanced LaTeX Graphics (DPC,SPQR) (/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty -Package: keyval 2014/05/08 v1.15 key=value parser (DPC) +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) \KV@toks@=\toks14 ) (/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty -Package: graphics 2009/02/05 v1.0o Standard LaTeX Graphics (DPC,SPQR) +Package: graphics 2016/10/09 v1.0u Standard LaTeX Graphics (DPC,SPQR) (/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty -Package: trig 1999/03/16 v1.09 sin cos tan (DPC) +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) ) -(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/graphics.cfg -File: graphics.cfg 2010/04/23 v1.9 graphics configuration of TeX Live +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration ) -Package graphics Info: Driver file: pdftex.def on input line 91. +Package graphics Info: Driver file: pdftex.def on input line 99. -(/usr/share/texlive/texmf-dist/tex/latex/pdftex-def/pdftex.def -File: pdftex.def 2011/05/27 v0.06d Graphics/color for pdfTeX +(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2017/01/12 v0.06k Graphics/color for pdfTeX (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty -Package: infwarerr 2010/04/08 v1.3 Providing info/warning/error messages (HO) +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) ) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty -Package: ltxcmds 2011/11/09 v1.22 LaTeX kernel commands for general use (HO) +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) ) \Gread@gobject=\count87 )) @@ -59,11 +59,11 @@ Package: ltxcmds 2011/11/09 v1.22 LaTeX kernel commands for general use (HO) \Gin@req@width=\dimen104 ) (/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty -Package: caption 2013/05/02 v3.3-89 Customizing captions (AR) +Package: caption 2016/02/21 v3.3-144 Customizing captions (AR) (/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty -Package: caption3 2013/05/02 v1.6-88 caption3 kernel (AR) -Package caption3 Info: TeX engine: e-TeX on input line 57. +Package: caption3 2016/05/22 v1.7-166 caption3 kernel (AR) +Package caption3 Info: TeX engine: e-TeX on input line 67. \captionmargin=\dimen105 \captionmargin@=\dimen106 \captionwidth=\dimen107 @@ -89,7 +89,7 @@ LaTeX Font Info: ... okay on input line 9. LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 9. LaTeX Font Info: ... okay on input line 9. -(/usr/share/texlive/texmf-dist/tex/context/base/supp-pdf.mkii +(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii [Loading MPS to PDF converter (version 2006.09.02).] \scratchcounter=\count89 \scratchdimen=\dimen112 @@ -103,16 +103,15 @@ LaTeX Font Info: ... okay on input line 9. \makeMPintoPDFobject=\count94 \everyMPtoPDFconversion=\toks16 ) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty -Package: pdftexcmds 2011/11/29 v0.20 Utility functions of pdfTeX for LuaTeX (HO +Package: pdftexcmds 2016/05/21 v0.22 Utility functions of pdfTeX for LuaTeX (HO ) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty -Package: ifluatex 2010/03/01 v1.3 Provides the ifluatex switch (HO) +Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) Package ifluatex Info: LuaTeX not detected. ) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty -Package: ifpdf 2011/01/30 v2.3 Provides the ifpdf switch (HO) -Package ifpdf Info: pdfTeX in PDF mode is detected. +Package: ifpdf 2016/05/14 v3.1 Provides the ifpdf switch ) Package pdftexcmds Info: LuaTeX not detected. Package pdftexcmds Info: \pdf@primitive is available. @@ -120,31 +119,33 @@ Package pdftexcmds Info: \pdf@ifprimitive is available. Package pdftexcmds Info: \pdfdraftmode found. ) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty -Package: epstopdf-base 2010/02/09 v2.5 Base part for package epstopdf +Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty -Package: grfext 2010/08/19 v1.1 Manage graphics extensions (HO) +Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty -Package: kvdefinekeys 2011/04/07 v1.3 Define keys (HO) +Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) )) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty -Package: kvoptions 2011/06/30 v3.11 Key value format for package options (HO) +Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty -Package: kvsetkeys 2012/04/25 v1.16 Key value parser (HO) +Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty -Package: etexcmds 2011/02/16 v1.5 Avoid name clashes with e-TeX commands (HO) +Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) Package etexcmds Info: Could not find \expanded. (etexcmds) That can mean that you are not using pdfTeX 1.50 or (etexcmds) that some package has redefined \expanded. (etexcmds) In the latter case, load this package earlier. ))) +Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 +38. Package grfext Info: Graphics extension search list: (grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE G,.JBIG2,.JB2,.eps] -(grfext) \AppendGraphicsExtensions on input line 452. +(grfext) \AppendGraphicsExtensions on input line 456. (/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv @@ -287,13 +288,13 @@ LaTeX Font Info: External font `cmex10' loaded for size [8 <../pics/tinythermocouple.jpg>] [9] [10] [11] (./8.aux) ) Here is how much of TeX's memory you used: - 2581 strings out of 495020 - 41209 string characters out of 6181323 - 95795 words of memory out of 5000000 - 5786 multiletter control sequences out of 15000+600000 + 2609 strings out of 494945 + 41752 string characters out of 6181032 + 96823 words of memory out of 5000000 + 5893 multiletter control sequences out of 15000+600000 10198 words of font info for 36 fonts, out of 8000000 for 9000 14 hyphenation exceptions out of 8191 - 38i,8n,38p,1022b,239s stack positions out of 5000i,500n,10000p,200000b,80000s + 39i,8n,39p,1022b,239s stack positions out of 5000i,500n,10000p,200000b,80000s -Output written on 8.pdf (11 pages, 307975 bytes). +Output written on 8.pdf (11 pages, 308032 bytes). PDF statistics: 78 PDF objects out of 1000 (max. 8388607) 53 compressed objects within 1 object stream diff --git a/batterycharge_stationdata/docs/8.pdf b/batterycharge_stationdata/docs/8.pdf index 248c79e..da4b0ba 100644 Binary files a/batterycharge_stationdata/docs/8.pdf and b/batterycharge_stationdata/docs/8.pdf differ diff --git a/cctv_camera_fuse/docs/1.log b/cctv_camera_fuse/docs/1.log index 0f03e5c..622024e 100644 --- a/cctv_camera_fuse/docs/1.log +++ b/cctv_camera_fuse/docs/1.log @@ -1,4 +1,4 @@ -This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2015/dev/Debian) (preloaded format=pdflatex 2018.11.28) 26 JUN 2019 23:21 +This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 8 SEP 2019 10:39 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -7,8 +7,8 @@ cctv_camera_fuse/docs/1.tex (/home/layoutdev/Desktop/code/documentation_general/Electronics_Projects_2019/c ctv_camera_fuse/docs/1.tex -LaTeX2e <2014/05/01> -Babel <3.9l> and hyphenation patterns for 2 languages loaded. +LaTeX2e <2017/01/01> patch level 3 +Babel <3.9r> and hyphenation patterns for 3 language(s) loaded. (/usr/share/texlive/texmf-dist/tex/latex/base/article.cls Document Class: article 2014/09/29 v1.4h Standard LaTeX document class (/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo @@ -50,10 +50,10 @@ LaTeX Font Info: External font `cmex10' loaded for size {/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] (./1.aux) ) Here is how much of TeX's memory you used: - 230 strings out of 495020 - 2713 string characters out of 6181323 - 47970 words of memory out of 5000000 - 3520 multiletter control sequences out of 15000+600000 + 230 strings out of 494945 + 2706 string characters out of 6181032 + 48564 words of memory out of 5000000 + 3600 multiletter control sequences out of 15000+600000 7887 words of font info for 28 fonts, out of 8000000 for 9000 14 hyphenation exceptions out of 8191 21i,6n,19p,312b,187s stack positions out of 5000i,500n,10000p,200000b,80000s @@ -61,7 +61,7 @@ Here is how much of TeX's memory you used: live/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx12.pfb> -Output written on 1.pdf (1 page, 36186 bytes). +Output written on 1.pdf (1 page, 36181 bytes). PDF statistics: 20 PDF objects out of 1000 (max. 8388607) 13 compressed objects within 1 object stream diff --git a/cctv_camera_fuse/docs/1.pdf b/cctv_camera_fuse/docs/1.pdf index 06ef89a..491a1f4 100644 Binary files a/cctv_camera_fuse/docs/1.pdf and b/cctv_camera_fuse/docs/1.pdf differ