...
 
Commits (2)
#+TITLE: STM32F103C8T aka Blue Pill #+TITLE: My notes on the STM32F103C8T, aka. Blue Pill
#+INCLUDE: "../page.org" [[../img/STM32_Blue_Pill_perspective.jpg][file:./img/STM32_Blue_Pill_perspective.jpg]]
[[../img/STM32_Blue_Pill_perspective.jpg][file:../img/STM32_Blue_Pill_perspective.jpg]]
So I got me some of these off of ebay or aliexpress a while So I got me some of these off of ebay or aliexpress a while
ago. Mostly I wanted them because they're about as cheap and small as ago. Mostly I wanted them because they're about as cheap and small as
...@@ -44,7 +42,7 @@ programmable and running on par with an Arduino using STM32Duino. By ...@@ -44,7 +42,7 @@ programmable and running on par with an Arduino using STM32Duino. By
flashing the STM32duino bootloader, we'll be able to upload Arduino flashing the STM32duino bootloader, we'll be able to upload Arduino
sketches via USB in the Arduino IDE. sketches via USB in the Arduino IDE.
In all steps of the process, [[http://wiki.stm32duino.com/][the STM32duino wiki]] has been a great In all steps of the process, [[https://web.archive.org/web/20190520153010/http://wiki.stm32duino.com/index.php?title=Main_Page][the STM32duino wiki]] has been a great
help! help!
** Step 1: Install ~stlink~ ** Step 1: Install ~stlink~
......
header h1 { header {
height: calc(4em * 1.6); margin-bottom: 4em;
margin: 0 1.6em; }
header .title {
display: flex;
font-size: 3.0em;
margin-top: 1.8em;
} }
header h1:before, header h1:after { header h1:before, header h1:after {
...@@ -14,11 +19,15 @@ header h1:before, header h1:after { ...@@ -14,11 +19,15 @@ header h1:before, header h1:after {
} }
header h1:before { header h1:before {
right: 10px; right: 26px;
} }
header h1:after { header h1:after {
left: 9px; left: 10px;
}
#sitenav a:first-child {
display: none;
} }
@keyframes fire { @keyframes fire {
......
:root { :root {
/* Variable definitions */ /* Misc variables */
--toc-width: 320px; --toc-width: 320px;
--common-padding: 18px; --common-padding: 18px;
--main-width: 720px; --article-width: 640px;
--shaded: rgba(0, 0, 0, 0.07);
--blackish: rgb(50, 50, 50);
--whiteish: rgb(254, 253, 252);
--secondary-dark: #0a4;
--secondary: #1f7;
--primary: #63f;
--primary-light: #86f;
--primary-lighter: #dcf;
/* Code */
--emerald: #2ecc71;
--river: #3498db;
--amethyst: #9b59b6;
--asphalt: #425d78;
--sunflower: #f1c40f;
--carrot: #e67e22;
--alizarin: #e74c3c;
--clouds: #ecf0f1;
--concrete: #95a5a6;
--light-turquoise: #90c0a0;
--dark-turquoise: #3a9a90;
--bleak-emerald: #50c080;
--dark-emerald: #24aa5c;
--dark-river: #2980b9;
--dark-asphalt: #2c3e50;
--dark-sunflower: #b09000;
--dark-carrot: #d35400;
--bleak-alizarin: #d06065;
--dark-alizarin: #bc3c34;
--dark-clouds: #bdc3c7;
--deep-clouds: #dce0e1;
--dark-concrete: #7f8c8d;
} }
body { body {
display: flex;
min-height: 100vh;
flex-direction: column;
font: 16px "Fira Sans", "Dejavu Sans", sans-serif; font: 16px "Fira Sans", "Dejavu Sans", sans-serif;
line-height: 1.6; line-height: 1.6;
margin: 0; margin: 0;
color: rgb(50, 50, 50); color: var(--blackish);
background-color: rgb(254, 253, 252); background-color: var(--whiteish);
} }
header { header {
min-width: 100%; display: flex;
width: 100%; flex-direction: column;
align-items: center;
margin-bottom: 1.4em;
} }
header h1.title { #sitenav {
height: 2.4em;
width: calc(100% - var(--common-padding) * 2);
padding: var(--common-padding);
display: flex; display: flex;
justify-content: flex-end;
align-items: center; align-items: center;
justify-content: center;
margin-top: 0.8em;
margin-bottom: 0.6em;
} }
#content { #sitenav a:first-child {
display: flex; margin-right: auto;
flex-direction: row; }
justify-content: space-between;
flex-wrap: wrap; #sitenav a:first-child img {
height: 100%;
height: 2.4em;
}
#sitenav a {
padding: 0 6px;
margin: 0 8px;
font-size: 1.1em;
font-weight: bold;
color: var(--primary);
}
#sitenav a:visited {
color: var(--primary);
}
header {
margin-bottom: 2.2em;
}
header .title {
margin-top: 1.2em;
}
header .subtitle {
font-style: italic;
}
main {
display: grid;
grid-template-columns: var(--toc-width) auto var(--toc-width);
} }
#table-of-contents { #table-of-contents {
font-size: 0.83em; grid-column: 1 / 2;
min-width: var(--toc-width); align-self: start;
width: var(--toc-width); font-size: 1.0em;
padding: var(--common-padding); padding: var(--common-padding);
background-color: var(--shaded);
} }
#table-of-contents > h2, main > div:first-child > h2 { #table-of-contents a {
margin-top: 0px; color: var(--primary-light);
} }
#table-of-contents ul { #table-of-contents a:visited {
padding-left: 16px; color: var(--primary-light);
} }
.tag { #table-of-contents > h2 {
display: inline-block; margin-top: 12px;
} }
#table-of-contents li .todo, #table-of-contents li .tag { #table-of-contents ul {
font-size: 0.8em; padding-left: 16px;
} }
main { article {
max-width: var(--main-width); grid-column: 2 / 3;
/*min-width: 360px;*/ justify-self: center;
width: calc(100% - var(--toc-width) - 4*var(--common-padding)); max-width: var(--article-width);
width: auto;
padding: var(--common-padding); padding: var(--common-padding);
} }
main h2 .todo, main h2 .tag { article > p:first-child, article > div:first-child > h2 {
font-size: 0.6em; margin-top: 12px;
} }
#sitenav { .tag {
padding: 4px; display: inline-block;
background-color: rgba(0, 0, 0, 0.05);
} }
h2 { .todo, .tag {
margin-top: 2.2em; font-size: 0.8em;
} }
#right-padding { .outline-2 {
max-width: calc(var(--toc-width) + 2*var(--common-padding)); margin-bottom: 2.6em;
width: calc(100% - var(--toc-width) - var(--main-width) - 4*var(--common-padding));
} }
img { img {
...@@ -103,12 +167,12 @@ p { ...@@ -103,12 +167,12 @@ p {
} }
a { a {
color: rgba(20, 70, 240, 0.85); color: var(--secondary);
text-decoration: none; text-decoration: none;
} }
a:visited { a:visited {
color: rgba(150, 40, 210, 0.85); color: var(--secondary-dark);
} }
a:hover { a:hover {
...@@ -136,47 +200,92 @@ a:hover { ...@@ -136,47 +200,92 @@ a:hover {
} }
pre.src { pre.src {
font-size: 0.8em; font-size: 0.9em;
overflow-x: scroll !important; overflow-x: auto !important;
border: var(--primary-lighter) 2px dashed;
padding: 6px 8px;
}
/* CUSTOM_ID boxes */
pre.example {
display: none;
} }
code { code {
background-color: rgba(0, 180, 120, 0.12); color: black;
background-color: var(--primary-lighter);
padding: 0 0.15em; padding: 0 0.15em;
} }
.footdef {
display: flex;
}
footer { footer {
flex-grow: 1;
padding: 14px; padding: 14px;
padding-top: 18px; padding-top: 18px;
margin-top: 20px; margin-top: 20px;
background-color: rgba(0, 0, 0, 0.05); background-color: var(--shaded);
}
footer a, footer a:visited {
color: var(--primary-light)
} }
footer p { footer p {
text-align: left; text-align: left;
} }
@media screen and (max-width: 960px) { @media screen and (max-width: 1000px) {
body { :root {
font-size: 14px; --common-padding: 12px;
width: 100%;
} }
#table-of-contents { #table-of-contents {
padding: 12px; padding-left: calc(var(--common-padding) + 8px);
min-width: 0;
width: 100%;
} }
main { main {
padding: 12px; display: block;
max-width: 100%; }
min-width: 0;
width: 100%; article {
max-width: none;
} }
}
#right-padding { @media screen and (max-width: 560px) {
width: 0; body {
font-size: 10px;
} }
} }
/* Code faces */
pre.src {
color: var(--dark-asphalt); }
pre.src .org-builtin {
color: var(--dark-sunflower); }
pre.src .org-comment, pre.src .org-comment-delimiter {
color: var(--dark-concrete);
font-style: italic; }
pre.src .org-doc {
color: var(--dark-turquoise);
font-style: italic; }
pre.src .org-function-name {
color: var(--amethyst); }
pre.src .org-keyword {
color: var(--dark-asphalt);
font-style: italic; }
pre.src .org-string {
color: var(--bleak-alizarin); }
pre.src .org-type {
color: var(--dark-emerald); }
pre.src .org-constant {
color: var(--dark-emerald);
font-style: italic; }
pre.src .org-variable-name {
color: var(--river); }
pre.src .org-warning {
color: var(--dark-carrot); }
#+TITLE: Welcome to the Jo‑Zone! #+TITLE: Welcome to the Jo‑Zone!
#+AUTHOR: Han JoJo, The Jo-ster, Dr. J, The Living Yo-Yo
#+EMAIL: [email protected] #+OPTIONS: toc:nil
#+LANGUAGE: en
#+OPTIONS: h:4 tex:t f:t
#+OPTIONS: prop:("VERSION")
#+HTML_DOCTYPE: html5
#+HTML_HEAD: <link href="/css/style.css" rel="stylesheet" type="text/css" /> #+HTML_HEAD: <link href="/css/style.css" rel="stylesheet" type="text/css" />
#+HTML_HEAD: <link href="/css/index.css" rel="stylesheet" type="text/css" /> #+HTML_HEAD: <link href="/css/index.css" rel="stylesheet" type="text/css" />
#+HTML_POSTAMBLE: <p class="author">Author: %a (%e)</p><p class="date">Created: %T</p><p class="creator">%c</p>
# #+HTML: <div class="outline-2" id="meta">
# | *Author* | {{{author}}} ({{{email}}}) |
# | *Date* | {{{time(%Y-%m-%d %H:%M:%S)}}} |
# #+HTML: </div>
#+HTML: <main>
#+HTML_AFTER_CONTENTS: </main><div id="right-padding"></div>
* A zone for the Jo
I'm JoJo, and this is my personal site and wiki. Welcome to my personal website! I may publish stuff here at some
point. Who knows what. Guides and tutorials maybe?
I may publish stuff here at some point. Who knows what. Guides and * Projects
tutorials maybe? - [[https://carth.jo.zone][The Carth programming language]]
I'm a CS student at [[./pages/chalmers.org][chalmers]] in Sweden, and I have two * Pages
[[./pages/cats.org][cats]]. I semi-frequently push code to [[https://gitlab.com/JoJoZ][GitLab, where I'm "JoJoZ"]] and - [[file:bluepill.org][My notes on the STM32F103C8T, aka. Blue Pill]]
[[https://github.com/bryal/][GitHub, where I'm "bryal"]]. I have a [[https://www.linkedin.com/in/bryal][LinkedIn profile as well]]. - * tumbleweeds *
This pages on this site are statically generated from [[https://orgmode.org][org-mode]]. I * About me
use a customized version of the HTML backend for the Org export I'm a CS student at Chalmers in Sweden, and I semi-frequently push
engine. [[https://github.com/bryal/.emacs.d/blob/master/lisp/custom-org-html.el][Here's the source]]. You can view the org source for any page code to [[https://gitlab.com/JoJoZ][GitLab, where I'm "JoJoZ"]] and [[https://github.com/bryal/][GitHub, where I'm "bryal"]]. I
by simply changing the extension in the url to ~.org~. like cats. Thank you for listening.
#+AUTHOR: Han JoJo, The Jo-ster, Dr. J, The Living Yo-Yo
#+EMAIL: [email protected]
#+LANGUAGE: en
#+OPTIONS: h:4 tex:t f:t
#+OPTIONS: prop:t
#+HTML_DOCTYPE: html5
#+HTML_HEAD: <link href="/css/style.css" rel="stylesheet" type="text/css" />
#+HTML_POSTAMBLE: <p class="author">Author: %a (%e)</p><p class="date">Created: %T</p><p class="creator">%c</p>
# #+HTML: <div class="outline-2" id="meta">
# | *Author* | {{{author}}} ({{{email}}}) |
# | *Date* | {{{time(%Y-%m-%d %H:%M:%S)}}} |
# #+HTML: </div>
#+HTML: <main><nav id="sitenav">Go to: <a href="/index.html">home</a>, <a href="https://gitlab.com/jojoz/jo-zone">repo</a></nav>
#+HTML_AFTER_CONTENTS: </main><div id="right-padding"></div>
#+TITLE: My cats
#+INCLUDE: "../page.org"
* 🐱🐱
I have two cats. They are very pretty.
#+CAPTION: So pretty!
#+NAME: fig:together-on-bed
[[../img/highres/together-on-bed.jpg][file:../img/together-on-bed.jpg]]
This is how much I love my cats:
$$\begin{aligned}
l(c) &= \sum_{n=0,1,...} n \\
\text{where} & \\
\ \ l &= \text{ how much I love something}, \\
c &= \text{ my cats}
\end{aligned}$$
* Caesar
He is very pretty.
#+CAPTION: Handsome!
#+NAME: fig:handsome-caesar
[[../img/highres/handsome-caesar.jpg][file:../img/handsome-caesar.jpg]]
#+CAPTION: Where are you looking?
#+NAME: fig:attentive-caesar
[[../img/highres/attentive-caesar.jpg][file:../img/attentive-caesar.jpg]]
* Octavia
She is very pretty also.
#+CAPTION: What a cute face!
#+NAME: fig:octavia-cute-face
[[../img/highres/octavia-cute-face.jpg][file:../img/octavia-cute-face.jpg]]
#+CAPTION: So comfy!
#+NAME: fig:octavia-so-comfy
[[../img/highres/octavia-so-comfy.jpg][file:../img/octavia-so-comfy.jpg]]
#+TITLE: Chalmers
#+INCLUDE: "../page.org"
* Cool place
Studied [[https://dtek.se][Data / Computer Science and Engineering]] here for my
bachelors, and am currently doing my masters here as well, [[https://www.chalmers.se/en/education/programmes/masters-info/Pages/Computer-Science-algorithms-languages-and-logic.aspx][Algorithms, languages and
logic]].
#+TITLE: Literature
#+INCLUDE: "../page.org"
* NEXT Atlas Shrugged :SciFi:AnCap:
:PROPERTIES:
:author: Ayn Rand
:END:
Fiction, objectivism
* NEXT The Conquest of Bread :AnCom:
:PROPERTIES:
:author: Peter Kropotkin
:END:
Anarcho-communism
* NEXT Socialism: Utopian and Scientific :Communism:
:PROPERTIES:
:author: Friedrich Engels
:END:
Marxism
* NEXT Imperialism, the Highest Stage of Capitalism :Communism:
:PROPERTIES:
:author: Vladimir Lenin
:END:
Developments of economic theories formulated in *Das Kapital*.
* NEXT The State and Revolution :Communism:
:PROPERTIES:
:author: Vladimir Lenin
:END:
The role of the State in society
* NEXT Wage Labour and Capital :Communism:
:PROPERTIES:
:author: Karl Marx
:END:
Precursor to *Das Kapital*.
* NEXT The Communist Manifesto :Communism:
:PROPERTIES:
:author: Karl Marx
:END:
Class struggle
* NEXT The Future of Capitalism :Capitalism:
:PROPERTIES:
:author: Paul Collier
:END:
"Failures of capitalism and pragmatic and realistic vision for how we can repair it."
* NEXT Manifesto for a Democratic Civilization :LibSoc:
:PROPERTIES:
:author: Abdullah Öcalan
:END:
"This manifesto is the definitive work of Abdullah Ocalan, crucial
for understanding the Kurdish revolution. Here Ocalan outlines a
democratic alternative for the Middle East.
A criticism that limits itself to capitalism is too superficial,
Ocalan argues, and turns his eyes to the underlying structures of
civilization. Rethinking the methods of understanding culture,
politics, and society, he provides the tools for what he calls a
sociology of freedom."
* NEXT Intellectuals and Society :Neoliberalism:
:PROPERTIES:
:author: Thomas Sowell
:END:
* NEXT Free to Choose :Economics:
:PROPERTIES:
:author: Milton Friedman, Rose Friedman
:END:
Advocation of free market principles
* NEXT The General Theory of Employment, Interest and Money :Capitalism:
:PROPERTIES:
:author: John Maynard Keynes
:END:
* NEXT Capitalism, Socialism and Democracy :Economics:
:PROPERTIES:
:author: Joseph Schumpeter
:END:
* NEXT The Road to Serfdom :Libertarianism:
:PROPERTIES:
:author: Friedrich Hayek
:END:
* NEXT Anarchy, State, and Utopia :Libertarianism:
:PROPERTIES:
:author: Robert Nozick
:END:
* NEXT The Law :Libertarianism:
:PROPERTIES:
:author: Frédéric Bastiat
:END:
* NEXT Tio tusen miljarder: Skuldkalaset och den förträngda baksmällan :economics:finance:
:PROPERTIES:
:author: Tino Sanandaji
:END:
* NEXT Kapitalet i tjugoförsta århundradet :economics:
:PROPERTIES:
:author: Thomas Piketty
:END:
* NEXT Tradingguiden :finance:
:PROPERTIES:
:author: Jonas Bernhardsson
:END:
* NEXT One Up On Wall Street :finance:
:PROPERTIES:
:author: Peter Lynch
:END:
* NEXT The Little Book That Still Beats the Market :finance:
:PROPERTIES:
:author: Joel Greenblatt, Andrew Tobias
:END:
* NEXT To Mock a Mockingbird :math:
:PROPERTIES:
:author: Raymond Smullyan
:END:
"It contains many nontrivial recreational puzzles of the sort for which Smullyan is well known. It is also a gentle and humorous introduction to combinatory logic and the associated metamathematics, built on an elaborate ornithological metaphor."
(defun jozone-org-publish-to-html (plist filename pub-dir)
(let ((org-html-htmlize-output-type 'css))
(jojo-org-publish-to-html plist filename pub-dir)))
(let* ((dir (file-name-directory load-file-name))
(root "/")
(projects `(("jozone"
:base-directory ,dir
:base-extension "org"
:publishing-directory ,dir
:publishing-function jozone-org-publish-to-html
:author "JoJo"
:email "[email protected]"
:language "en"
:headline-levels 4
:with-footnotes t
:with-latex t
:with-tables t
:with-toc 2
:with-todo-keywords nil
:exclude-tags ("noexport")
:html-head ,(format "<link href=\"%s\" rel=\"stylesheet\" type=\"text/css\" />" (concat root "css/style.css"))
:html-home/up-format
,(concat "<a href=\"%s\">Home</a>"
"<a href=\"https://github.com/JoJoZ/\">GitLab</a>"
"<a href=\"https://github.com/bryal/\">GitHub</a>"
"<a href=\"https://gitlab.com/JoJoZ/jo-zone/\">Source</a>")
:html-postamble "<p class=\"author\">Author: %a (%e)</p><p class=\"date\">Last updated: %T</p><p class=\"creator\">%c</p>"
:html-link-home ,root
))))
(setq org-publish-project-alist
(append projects org-publish-project-alist)))