From 42ca0bd84dd7bf15bcab438e8afd4f60e8eadaa6 Mon Sep 17 00:00:00 2001 From: eaman <eaman@andreamanni.com> Date: Thu, 16 Feb 2017 19:50:47 +0100 Subject: [PATCH 1/1] ifirst --- .gitignore | 5 + .gitmodules | 3 + .jekyll-metadata | Bin 0 -> 17013 bytes Gemfile | 8 + README.md | 69 +++ _config.yml | 17 + _includes/HEADER.html | 1 + _includes/head.html | 9 + _includes/page-footer.html | 4 + _includes/page-header.html | 7 + _layouts/default.html | 18 + _layouts/page.html | 5 + _layouts/post.html | 7 + _plugins/jekyll-rst | 1 + _posts/2017-01-13-benvenuti.markdown | 15 + .../aerei/2017-02-14-aereo-antonino.markdown | 11 + _posts/aerei/2017-02-14-aereo-cirso.markdown | 24 + _posts/aerei/2017-02-15-zeta.markdown | 20 + _posts/aerei/repo | 1 + _posts/esempi/2017-02-08-elettronica.markdown | 15 + _posts/esempi/2017-02-09-arduino.markdown | 26 ++ _posts/esempi/2017-02-09-libreria.markdown | 19 + _posts/esempi/2017-02-10-base.markdown | 16 + .../2017-02-11-throttle_pulse_in.markdown | 23 + .../esempi/2017-02-12-throttle-stadi.markdown | 37 ++ .../esempi/2017-02-13-throttle-fsm.markdown | 29 ++ .../esempi/2017-02-16-accensione-fsm.markdown | 24 + _posts/esempi/repo | 1 + _posts/repo | 1 + _sass/_base.scss | 206 +++++++++ _sass/_layout.scss | 242 ++++++++++ _sass/_normalize.scss | 425 ++++++++++++++++++ _sass/_syntax-highlighting.scss | 71 +++ css/cayman.css | 192 ++++++++ css/cayman.css_grad | 192 ++++++++ css/main.scss | 53 +++ css/normalize.css | 424 +++++++++++++++++ index.html | 43 ++ jekyll-cayman-theme.gemspec | 17 + js/html5shiv.js | 322 +++++++++++++ js/respond.js | 353 +++++++++++++++ night.jpg | Bin 0 -> 56518 bytes night2.jpg | Bin 0 -> 55693 bytes pages/about.rst | 53 +++ pages/setup.markdown | 76 ++++ repo | 1 + 46 files changed, 3086 insertions(+) create mode 100644 .gitignore create mode 100644 .gitmodules create mode 100644 .jekyll-metadata create mode 100644 Gemfile create mode 100755 README.md create mode 100644 _config.yml create mode 100644 _includes/HEADER.html create mode 100644 _includes/head.html create mode 100644 _includes/page-footer.html create mode 100644 _includes/page-header.html create mode 100644 _layouts/default.html create mode 100644 _layouts/page.html create mode 100644 _layouts/post.html create mode 160000 _plugins/jekyll-rst create mode 100644 _posts/2017-01-13-benvenuti.markdown create mode 100644 _posts/aerei/2017-02-14-aereo-antonino.markdown create mode 100644 _posts/aerei/2017-02-14-aereo-cirso.markdown create mode 100644 _posts/aerei/2017-02-15-zeta.markdown create mode 160000 _posts/aerei/repo create mode 100644 _posts/esempi/2017-02-08-elettronica.markdown create mode 100644 _posts/esempi/2017-02-09-arduino.markdown create mode 100644 _posts/esempi/2017-02-09-libreria.markdown create mode 100644 _posts/esempi/2017-02-10-base.markdown create mode 100644 _posts/esempi/2017-02-11-throttle_pulse_in.markdown create mode 100644 _posts/esempi/2017-02-12-throttle-stadi.markdown create mode 100644 _posts/esempi/2017-02-13-throttle-fsm.markdown create mode 100644 _posts/esempi/2017-02-16-accensione-fsm.markdown create mode 160000 _posts/esempi/repo create mode 160000 _posts/repo create mode 100644 _sass/_base.scss create mode 100644 _sass/_layout.scss create mode 100644 _sass/_normalize.scss create mode 100644 _sass/_syntax-highlighting.scss create mode 100755 css/cayman.css create mode 100755 css/cayman.css_grad create mode 100644 css/main.scss create mode 100755 css/normalize.css create mode 100644 index.html create mode 100644 jekyll-cayman-theme.gemspec create mode 100644 js/html5shiv.js create mode 100644 js/respond.js create mode 100644 night.jpg create mode 100644 night2.jpg create mode 100644 pages/about.rst create mode 100644 pages/setup.markdown create mode 160000 repo diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..771fc10 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +_site +.bundle +.sass-cache +Gemfile.lock +.DS_Store \ No newline at end of file diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..0a95d9b --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "_plugins/jekyll-rst"] + path = _plugins/jekyll-rst + url = https://github.com/xdissent/jekyll-rst.git diff --git a/.jekyll-metadata b/.jekyll-metadata new file mode 100644 index 0000000000000000000000000000000000000000..7884d655b1c2eb9a67c2ba13e699bfb14d757e15 GIT binary patch literal 17013 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 literal 0 HcmV?d00001 diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000..260cdca --- /dev/null +++ b/Gemfile @@ -0,0 +1,8 @@ +source 'https://rubygems.org' +gemspec + +gem 'jekyll' +gem 'jekyll-paginate' +gem 'kramdown' +gem 'pygments.rb' +gem 'RbST' diff --git a/README.md b/README.md new file mode 100755 index 0000000..b562943 --- /dev/null +++ b/README.md @@ -0,0 +1,69 @@ +# Jekyll Cayman theme + +This is a [Jekyll][1] theme for [@jasonlong][2]'s [Cayman theme][4] on [GitHub Pages][3]. + +Cayman is a clean, responsive theme for [GitHub Pages](https://pages.github.com). This theme is available as an option if you use the [Automatic Page Generator](https://help.github.com/articles/creating-pages-with-the-automatic-generator/) or you can copy the template and styles to use on your own. + +You can preview the theme at http://jasonlong.github.io/cayman-theme or with real content at http://jasonlong.github.io/geo_pattern. + + + +# How to use it? + +Download the theme @ http://github.com/pietromenna/jekyll-cayman-theme/archive/master.zip + +Unzip it and use it as a regular jekyll folder. + +``` +$ unzip jekyll-cayman-theme-master.zip +``` + +Get inside the newly extracted folder +``` +$ cd jekyll-cayman-theme-master +``` + +Get the required gems +``` +$ bundle install +``` + +Use it! + +``` +$ jekyll serve +``` + +For more details read about [Jekyll][1] on its web page. + +# Setup + +Some important configuration can be done in the file `_config.yml`. Please, check the Setup section in that file. + + +## baseurl + +`baseurl` parameter is required in the case the site doesn't sit on the root of the domain. For example: http://pietromenna.github.io/jekyll-cayman-theme + +In the case above the baseurl should be set to "/jekyll-cayman-theme". + +In the case the site sits in the root, you can leave `baseurl` as empty "". + +# Contributing + +Bug reports and pull requests are welcome on GitHub at https://github.com/pietromenn/jekyll-cayman-theme. + +# Development + +To set up your environment to develop this theme, run `bundle install`. + +You theme is setup just like a normal Jelyll site! To test your theme, run `bundle exec jekyll serve` and open your browser at `http://localhost:4000`. This starts a Jekyll server using your theme. Add pages, documents, data, etc. like normal to test your theme's contents. As you make modifications to your theme and to your content, your site will regenerate and you should see the changes in the browser after a refresh, just like normal. + +# License + +This work is licensed under a [Creative Commons Attribution 4.0 International](http://creativecommons.org/licenses/by/4.0/) license. + +[1]: http://jekyllrb.com/ +[2]: https://github.com/jasonlong +[3]: http://pages.github.com/ +[4]: https://github.com/jasonlong/cayman-theme \ No newline at end of file diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000..8c9f594 --- /dev/null +++ b/_config.yml @@ -0,0 +1,17 @@ +# Setup +title: Luci Arduino +tagline: Luci per aerei RC con Arduino +baseurl: "" +paginate: 1 + +# About/contact +author: + name: Andrea Manni + url: https://piffa.net + +# Gems +gems: + - jekyll-paginate + +#Others +markdown: kramdown diff --git a/_includes/HEADER.html b/_includes/HEADER.html new file mode 100644 index 0000000..9cf491e --- /dev/null +++ b/_includes/HEADER.html @@ -0,0 +1 @@ +<h1>Aerei.piffa.net</h1> diff --git a/_includes/head.html b/_includes/head.html new file mode 100644 index 0000000..c05d71f --- /dev/null +++ b/_includes/head.html @@ -0,0 +1,9 @@ +<head> + <meta charset="UTF-8"> + <title>{{ site.title }}</title> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <meta name="theme-color" content="#157878"> + <link rel="stylesheet" href="{{ site.baseurl }}/css/normalize.css"> + <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700' rel='stylesheet' type='text/css'> + <link rel="stylesheet" href="{{ site.baseurl }}/css/cayman.css"> +</head> \ No newline at end of file diff --git a/_includes/page-footer.html b/_includes/page-footer.html new file mode 100644 index 0000000..e6d8344 --- /dev/null +++ b/_includes/page-footer.html @@ -0,0 +1,4 @@ +<footer class="site-footer"> + <span class="site-footer-owner"><a href="{{ site.url }}">{{ site.title }}</a> E' attualmente <i>under construction</i>, e' gestito da <a href="{{ site.author.url }}">{{ site.author.name }}</a>.</span> + <span class="site-footer-credits">Questo progetto e' accessibile tramite<a href="http://git.andreamanni.com/"> Git</a>.</span> +</footer> diff --git a/_includes/page-header.html b/_includes/page-header.html new file mode 100644 index 0000000..81acf80 --- /dev/null +++ b/_includes/page-header.html @@ -0,0 +1,7 @@ +<section class="page-header"> + <h1 class="project-name">{{ site.title }}</h1> + <h2 class="project-tagline">{{ site.tagline }}</h2> + <a href="https://git.andreamanni.com/web?p=aerei;a=snapshot;h=HEAD;sf=tgz" class="btn">Download .tar.gz</a> + <a href="/repo" class="btn">Naviga</a> + <a href="http://git.andreamanni.com/" class="btn">Scarica con Git</a> +</section> diff --git a/_layouts/default.html b/_layouts/default.html new file mode 100644 index 0000000..8a21bd7 --- /dev/null +++ b/_layouts/default.html @@ -0,0 +1,18 @@ +<!DOCTYPE html> +<html lang="en-us"> + + {% include head.html %} + + <body> + {% include page-header.html %} + + <section class="main-content"> + + {{ content }} + + {% include page-footer.html %} + + </section> + + </body> +</html> diff --git a/_layouts/page.html b/_layouts/page.html new file mode 100644 index 0000000..84f03f7 --- /dev/null +++ b/_layouts/page.html @@ -0,0 +1,5 @@ +--- +layout: default +--- + +{{ content }} \ No newline at end of file diff --git a/_layouts/post.html b/_layouts/post.html new file mode 100644 index 0000000..5b12153 --- /dev/null +++ b/_layouts/post.html @@ -0,0 +1,7 @@ +--- +layout: default +--- +<h2>{{ page.title }}</h2> +<p class="meta">{{ page.date | date_to_string }}</p> + +{{ content }} \ No newline at end of file diff --git a/_plugins/jekyll-rst b/_plugins/jekyll-rst new file mode 160000 index 0000000..c6a78ef --- /dev/null +++ b/_plugins/jekyll-rst @@ -0,0 +1 @@ +Subproject commit c6a78ef0b5ebbd33589c8c625b3736b7de211d5b diff --git a/_posts/2017-01-13-benvenuti.markdown b/_posts/2017-01-13-benvenuti.markdown new file mode 100644 index 0000000..709b661 --- /dev/null +++ b/_posts/2017-01-13-benvenuti.markdown @@ -0,0 +1,15 @@ +--- +layout: default +title: "Benvenuti" +date: 2017-01-03 17:50:00 +categories: news +--- + +# Welcome + +Benvenuti all'archivio del codice per la gestione delle luci per aerei RC con Arduino, in questo sito verranno tenuti gli esempi e le librerie utilizzate da Andrea per i vari aerei. + +## Warning +Attenzione, il sito **e acnhe il codice** sono attualmente *under costruction*! + +Quando riscontrate qualche errore segnalatelo ad Andrea (il codice degli aerei potrebbe non essere testato!), se avete richieste o suggerimenti scrivete ad andrea via email oppure ancora meglio usate il [forum di discussione](https://forum.piffa.net/viewforum.php?f=4&sid=94f626deb3143fc39dd165d661309f1b) . diff --git a/_posts/aerei/2017-02-14-aereo-antonino.markdown b/_posts/aerei/2017-02-14-aereo-antonino.markdown new file mode 100644 index 0000000..51b5a2b --- /dev/null +++ b/_posts/aerei/2017-02-14-aereo-antonino.markdown @@ -0,0 +1,11 @@ +--- +layout: post +title: "Aereo di Antonino" +date: 2017-02-13 06:14:16 +0100 +categories: aerei +--- +L'aereo di Antonino, vedi [esempio dell'uso del throttle](/esempi/2017/02/15/throttle-stadi.html). +{% highlight ruby %} +{% include_relative /repo/aerei/antonino/bugatti/bugatti.ino %} +{% endhighlight %} + diff --git a/_posts/aerei/2017-02-14-aereo-cirso.markdown b/_posts/aerei/2017-02-14-aereo-cirso.markdown new file mode 100644 index 0000000..04639b4 --- /dev/null +++ b/_posts/aerei/2017-02-14-aereo-cirso.markdown @@ -0,0 +1,24 @@ +--- +layout: post +title: "Cirso: On/Off" +date: 2017-02-13 08:14:16 +0100 +categories: aerei +--- +L'aereo di Cirso: in questo aereo il comportamento delle luci e' e predeterminato (non dipende da nessun *inupt*) ma e' stato abilitato un interruttore della radio per accendere e spegnere le luci. + +L'interruttore a due stati e' gestito da un interrupt. + +In un primo esempio questo e' un semplice ON/OFF impostato con un *ciclo if*, nel secondo invece viene implementata una FSM (macchina a stati) per gestire anche le transizioni tra i vari stati. + +## ON / OFF +{% highlight ruby %} +{% include_relative /repo/aerei/cirso/trigger_on/trigger_on.ino %} +{% endhighlight %} + +## FSM + +C'e' una transizione tra gli stati On <-> Off: una dissolvenza in PWM a salire e a scendere quando si accende e si spegne le luci. +{% highlight ruby %} +{% include_relative /repo/aerei/cirso/trigger_transition/trigger_transition.ino %} +{% endhighlight %} + diff --git a/_posts/aerei/2017-02-15-zeta.markdown b/_posts/aerei/2017-02-15-zeta.markdown new file mode 100644 index 0000000..b1d49d5 --- /dev/null +++ b/_posts/aerei/2017-02-15-zeta.markdown @@ -0,0 +1,20 @@ +--- +layout: post +title: "Zeta" +date: 2017-01-13 06:14:16 +0100 +categories: aerei +--- +La *Wing Wing z84 (Zeta)* di Andrea, il primo aereo usato per il volo notturno. + +Della Zeta sono disponibili [vari prototipi](/repo/aerei/zeta/). + +La particolarita' di Zeta e' che invece che usare un integrato ULN2803a per pilotare i LED buona parte delle striscie sono attivate da un transistor incastonato nel telaio dell'aereo in prossimita' delle strisce. + +Per gli altri transistor e' stato fatto in piccolo circuito su una scheda preforata per metterne in array 4, questo sistema puo' essere seguito se non si hanno a disposizione gli integrati darlighton. + +TODO: aggiungere foto + +{% highlight ruby %} +{% include_relative /repo/aerei/zeta/zeta/zeta.ino%} +{% endhighlight %} + diff --git a/_posts/aerei/repo b/_posts/aerei/repo new file mode 160000 index 0000000..1bd7fb2 --- /dev/null +++ b/_posts/aerei/repo @@ -0,0 +1 @@ +Subproject commit 1bd7fb2b43bdccb600e5983f6fc8bcdedf4f01e7 diff --git a/_posts/esempi/2017-02-08-elettronica.markdown b/_posts/esempi/2017-02-08-elettronica.markdown new file mode 100644 index 0000000..6ad5c5c --- /dev/null +++ b/_posts/esempi/2017-02-08-elettronica.markdown @@ -0,0 +1,15 @@ +--- +layout: post +title: "Elettronica" +date: 2017-02-09 06:14:16 +0100 +categories: esempi +--- + +TODO +Link al kit per le luci: https://piffa.net/kit/7/luci-aeromodellismo + +Inserire schemi sull'uso dell'integrato: +* https://lab.piffa.net/schemi/uln2_darlinghton_arduino_bb.png +* https://lab.piffa.net/schemi/uln2_darlinghton_arduino_schem.png +* Aggiungere schemi per interrupts. +* foto array di transistor su PCB diff --git a/_posts/esempi/2017-02-09-arduino.markdown b/_posts/esempi/2017-02-09-arduino.markdown new file mode 100644 index 0000000..de353b9 --- /dev/null +++ b/_posts/esempi/2017-02-09-arduino.markdown @@ -0,0 +1,26 @@ +--- +layout: post +title: "Arduino" +date: 2017-02-08 06:14:16 +0100 +categories: esempi +--- + +TODO + + +# Risorse utili per utilizzare Arduino: + +* Per poter programmare le schede Arduino: [Arduino IDE](https://www.arduino.cc/en/Main/Software#) +* [Testi consigliati](https://lab.piffa.net/testi.html) +* [Risorse online](http://wiki.piffa.net/index.php/Guide) +* [Forum Aeromodellismo - elettronica](http://www.baronerosso.it/forum/circuiti-elettronici/) + +## Hardware / Schede + +* Arduino [Pro Mini](http://wiki.piffa.net/index.php/Arduino_Mini_Pro) +* Arduino [Nano](http://wiki.piffa.net/index.php?title=Arduino_Nano&action=edit&redlink=1) + +## Siti web di Andrea +* [Lab Arduino](https://lab.piffa.net/) +* [Wiki](http://wiki.piffa.net/) +* [Forum](https://forum.piffa.net/) diff --git a/_posts/esempi/2017-02-09-libreria.markdown b/_posts/esempi/2017-02-09-libreria.markdown new file mode 100644 index 0000000..42b863a --- /dev/null +++ b/_posts/esempi/2017-02-09-libreria.markdown @@ -0,0 +1,19 @@ +--- +layout: post +title: "Utilizzo della libreria common" +date: 2017-02-13 08:14:16 +0100 +categories: esempi +--- +TODO +# Introduzione + +* blocking +* OOP + +# Esempi sull'utilizzo della libreria + +* [Esempi](/repo/libraries/common/examples/) + +# Installazione e aggiornamento + +* [Readme](http://aerei.piffa.net/repo/libraries/README.html) diff --git a/_posts/esempi/2017-02-10-base.markdown b/_posts/esempi/2017-02-10-base.markdown new file mode 100644 index 0000000..ac8e614 --- /dev/null +++ b/_posts/esempi/2017-02-10-base.markdown @@ -0,0 +1,16 @@ +--- +layout: post +title: "Prototipo Base" +date: 2017-02-13 06:14:16 +0100 +categories: esempi +--- +Esempio base, lampeggi e un fade preimpostati non determinati da input o sensori. + +* 2 LED / Strisce laterali che lampeggiano alternativamente +* 1 LED / Striscia sotto in FADE + + +{% highlight cpp %} +{% include_relative /repo/esempi/base/base.ino %} +{% endhighlight %} + diff --git a/_posts/esempi/2017-02-11-throttle_pulse_in.markdown b/_posts/esempi/2017-02-11-throttle_pulse_in.markdown new file mode 100644 index 0000000..4d175ec --- /dev/null +++ b/_posts/esempi/2017-02-11-throttle_pulse_in.markdown @@ -0,0 +1,23 @@ +--- +layout: post +title: "Trottle con pulse-in" +date: 2017-02-15 06:14:16 +0100 +categories: esempi +--- +I lampeggi variano di frequenza in base al throttle, il PWM inferiore e' proporzionale al throttle con correzione di luminosita'. Per rilevare il valore del throttle viene usata la funzione pulseIn: questa' e' bloking durante la transizione HI -> LOW quindi per circa 1-2ms ogni ~20ms (considerando una frequenza di aggiornamento di 50Hz) il loop sara' bloccato. + +Il vantaggio e' che pulseIn puo' essere usata su qualunque PIN. + +Negli esempi successivi vedremo come impostare un numero definito di letture per secondo (ad esempio una lettura ogni 200ms potrebbe essere piu' che sufficiente per i nostri scopi) in modo da limitare il blocco. Poi useremo gli interrupts per leggere i canali della ricevente. + + + +* 2 LED / Strisce laterali che lampeggiano alternativamente +* 1 LED / Striscia sotto in FADE + + +{% highlight cpp %} +{% include_relative /repo/esempi/base_th/base_th.ino %} + +{% endhighlight %} + diff --git a/_posts/esempi/2017-02-12-throttle-stadi.markdown b/_posts/esempi/2017-02-12-throttle-stadi.markdown new file mode 100644 index 0000000..4ae3575 --- /dev/null +++ b/_posts/esempi/2017-02-12-throttle-stadi.markdown @@ -0,0 +1,37 @@ +--- +layout: post +title: "Trottle a 3 stadi" +date: 2017-02-15 06:14:16 +0100 +categories: esempi +--- +Tramite la lettura del valore del *throttle* vengono indicati 3 stati: +* IDLE: gas praticamente a zero +* Max: a tutto gas! +* Medio: tutti i valori intermedi + +Outputs: +* 2 LED / Strisce laterali che lampeggiano alternativamente +* 1 LED / Striscia sotto in FADE + + +### IDLE +Nello stato IDLE vengono impostati dei FADE a salire e scendere *rpwm.UD(2000)* della durata di 2 secondi. + +Il LED inferiore va' in dissolvenza dal max verso il minimo con correzione di luminosita'. + +### Max +Nello stato Max i lampeggi sono a caso con un intervallo da 20-240ms. + +Il valore del *PWM sotto* e' impostato a caso. + +### Normal +In tutti i valori intermedi i lampeggi sono proporzionali al throttle: da un minimo di 200ms a un massimo di ~1200ms in proporzione al throttle. + +Anche la luminosita' del *PWM sotto* e' proporzionale al throttle con correzione di luminosita' (*lSet*). + + +{% highlight cpp %} +{% include_relative /repo/esempi/base_th_3stati/base_th_3stati.ino %} + +{% endhighlight %} + diff --git a/_posts/esempi/2017-02-13-throttle-fsm.markdown b/_posts/esempi/2017-02-13-throttle-fsm.markdown new file mode 100644 index 0000000..dffda49 --- /dev/null +++ b/_posts/esempi/2017-02-13-throttle-fsm.markdown @@ -0,0 +1,29 @@ +--- +layout: post +title: "Trottle con FSM a dispatcher esterno" +date: 2017-02-15 08:14:16 +0100 +categories: esempi +--- +Output: +* 2 LED / Strisce laterali che lampeggiano alternativamente +* 1 LED / Striscia sotto in FADE + +Input: +* Throttle + +Tramite la lettura del valore del *throttle* vengono indicati 3 stati: +* IDLE: gas praticamente a zero +* Max: a tutto gas! +* Medio: tutti i valori intermedi + +Questo sketch si comporta esattamente come *base_th_3stati*, in questa versione pero' invece che dei cicli *if* viene usato un ciclo *switch* per implementare una macchina a stati. A ogni esecuzione del *loop* viene letto il valore del throttle e in base a questo viene deciso in quale stato si verra' a trovare il ciclo *switch*. + +Gli stati disponibili sono dichiarati in una variabile di tipo *enum*. + +Nell'esempio successivo *ailerons_state_rgb.ino* verra' implementata una FMS con transizioni tra gli stati per la gestione di una luce RGB associata al canale degli alettoni. + +{% highlight cpp %} +{% include_relative /repo/esempi/ailerons_state_rgb/ailerons_state_rgb.ino %} + +{% endhighlight %} + diff --git a/_posts/esempi/2017-02-16-accensione-fsm.markdown b/_posts/esempi/2017-02-16-accensione-fsm.markdown new file mode 100644 index 0000000..7478506 --- /dev/null +++ b/_posts/esempi/2017-02-16-accensione-fsm.markdown @@ -0,0 +1,24 @@ +--- +layout: post +title: "Accensione e spegnimento" +date: 2017-02-16 05:14:16 +0100 +categories: esempi +--- +In questo aereo il comportamento delle luci e' e predeterminato (non dipende da nessun *inupt*) ma e' stato abilitato un interruttore della radio per accendere e spegnere le luci. + +L'interruttore a due stati e' gestito da un interrupt. + +In un primo esempio questo e' un semplice ON/OFF impostato con un *ciclo if*, nel secondo invece viene implementata una FSM (macchina a stati) per gestire anche le transizioni tra i due stati. + +## ON / OFF +{% highlight ruby %} +{% include_relative /repo/aerei/cirso/trigger_on/trigger_on.ino %} +{% endhighlight %} + +## FSM + +C'e' una transizione tra gli stati On <-> Off: una dissolvenza in PWM a salire e a scendere quando si accende e si spegne le luci. +{% highlight ruby %} +{% include_relative /repo/aerei/cirso/trigger_transition/trigger_transition.ino %} +{% endhighlight %} + diff --git a/_posts/esempi/repo b/_posts/esempi/repo new file mode 160000 index 0000000..1bd7fb2 --- /dev/null +++ b/_posts/esempi/repo @@ -0,0 +1 @@ +Subproject commit 1bd7fb2b43bdccb600e5983f6fc8bcdedf4f01e7 diff --git a/_posts/repo b/_posts/repo new file mode 160000 index 0000000..1bd7fb2 --- /dev/null +++ b/_posts/repo @@ -0,0 +1 @@ +Subproject commit 1bd7fb2b43bdccb600e5983f6fc8bcdedf4f01e7 diff --git a/_sass/_base.scss b/_sass/_base.scss new file mode 100644 index 0000000..0883c3c --- /dev/null +++ b/_sass/_base.scss @@ -0,0 +1,206 @@ +/** + * Reset some basic elements + */ +body, h1, h2, h3, h4, h5, h6, +p, blockquote, pre, hr, +dl, dd, ol, ul, figure { + margin: 0; + padding: 0; +} + + + +/** + * Basic styling + */ +body { + font: $base-font-weight #{$base-font-size}/#{$base-line-height} $base-font-family; + color: $text-color; + background-color: $background-color; + -webkit-text-size-adjust: 100%; + -webkit-font-feature-settings: "kern" 1; + -moz-font-feature-settings: "kern" 1; + -o-font-feature-settings: "kern" 1; + font-feature-settings: "kern" 1; + font-kerning: normal; +} + + + +/** + * Set `margin-bottom` to maintain vertical rhythm + */ +h1, h2, h3, h4, h5, h6, +p, blockquote, pre, +ul, ol, dl, figure, +%vertical-rhythm { + margin-bottom: $spacing-unit / 2; +} + + + +/** + * Images + */ +img { + max-width: 100%; + vertical-align: middle; +} + + + +/** + * Figures + */ +figure > img { + display: block; +} + +figcaption { + font-size: $small-font-size; +} + + + +/** + * Lists + */ +ul, ol { + margin-left: $spacing-unit; +} + +li { + > ul, + > ol { + margin-bottom: 0; + } +} + + + +/** + * Headings + */ +h1, h2, h3, h4, h5, h6 { + font-weight: $base-font-weight; +} + + + +/** + * Links + */ +a { + color: $brand-color; + text-decoration: none; + + &:visited { + color: darken($brand-color, 15%); + } + + &:hover { + color: $text-color; + text-decoration: underline; + } +} + + + +/** + * Blockquotes + */ +blockquote { + color: $grey-color; + border-left: 4px solid $grey-color-light; + padding-left: $spacing-unit / 2; + font-size: 18px; + letter-spacing: -1px; + font-style: italic; + + > :last-child { + margin-bottom: 0; + } +} + + + +/** + * Code formatting + */ +pre, +code { + font-size: 15px; + border: 1px solid $grey-color-light; + border-radius: 3px; + background-color: #eef; +} + +code { + padding: 1px 5px; +} + +pre { + padding: 8px 12px; + overflow-x: auto; + + > code { + border: 0; + padding-right: 0; + padding-left: 0; + } +} + + + +/** + * Wrapper + */ +.wrapper { + max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit} * 2)); + max-width: calc(#{$content-width} - (#{$spacing-unit} * 2)); + margin-right: auto; + margin-left: auto; + padding-right: $spacing-unit; + padding-left: $spacing-unit; + @extend %clearfix; + + @include media-query($on-laptop) { + max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit})); + max-width: calc(#{$content-width} - (#{$spacing-unit})); + padding-right: $spacing-unit / 2; + padding-left: $spacing-unit / 2; + } +} + + + +/** + * Clearfix + */ +%clearfix { + + &:after { + content: ""; + display: table; + clear: both; + } +} + + + +/** + * Icons + */ +.icon { + + > svg { + display: inline-block; + width: 16px; + height: 16px; + vertical-align: middle; + + path { + fill: $grey-color; + } + } +} diff --git a/_sass/_layout.scss b/_sass/_layout.scss new file mode 100644 index 0000000..9cbfdde --- /dev/null +++ b/_sass/_layout.scss @@ -0,0 +1,242 @@ +/** + * Site header + */ +.site-header { + border-top: 5px solid $grey-color-dark; + border-bottom: 1px solid $grey-color-light; + min-height: 56px; + + // Positioning context for the mobile navigation icon + position: relative; +} + +.site-title { + font-size: 26px; + font-weight: 300; + line-height: 56px; + letter-spacing: -1px; + margin-bottom: 0; + float: left; + + &, + &:visited { + color: $grey-color-dark; + } +} + +.site-nav { + float: right; + line-height: 56px; + + .menu-icon { + display: none; + } + + .page-link { + color: $text-color; + line-height: $base-line-height; + + // Gaps between nav items, but not on the last one + &:not(:last-child) { + margin-right: 20px; + } + } + + @include media-query($on-palm) { + position: absolute; + top: 9px; + right: $spacing-unit / 2; + background-color: $background-color; + border: 1px solid $grey-color-light; + border-radius: 5px; + text-align: right; + + .menu-icon { + display: block; + float: right; + width: 36px; + height: 26px; + line-height: 0; + padding-top: 10px; + text-align: center; + + > svg { + width: 18px; + height: 15px; + + path { + fill: $grey-color-dark; + } + } + } + + .trigger { + clear: both; + display: none; + } + + &:hover .trigger { + display: block; + padding-bottom: 5px; + } + + .page-link { + display: block; + padding: 5px 10px; + + &:not(:last-child) { + margin-right: 0; + } + margin-left: 20px; + } + } +} + + + +/** + * Site footer + */ +.site-footer { + border-top: 1px solid $grey-color-light; + padding: $spacing-unit 0; +} + +.footer-heading { + font-size: 18px; + margin-bottom: $spacing-unit / 2; +} + +.contact-list, +.social-media-list { + list-style: none; + margin-left: 0; +} + +.footer-col-wrapper { + font-size: 15px; + color: $grey-color; + margin-left: -$spacing-unit / 2; + @extend %clearfix; +} + +.footer-col { + float: left; + margin-bottom: $spacing-unit / 2; + padding-left: $spacing-unit / 2; +} + +.footer-col-1 { + width: -webkit-calc(35% - (#{$spacing-unit} / 2)); + width: calc(35% - (#{$spacing-unit} / 2)); +} + +.footer-col-2 { + width: -webkit-calc(20% - (#{$spacing-unit} / 2)); + width: calc(20% - (#{$spacing-unit} / 2)); +} + +.footer-col-3 { + width: -webkit-calc(45% - (#{$spacing-unit} / 2)); + width: calc(45% - (#{$spacing-unit} / 2)); +} + +@include media-query($on-laptop) { + .footer-col-1, + .footer-col-2 { + width: -webkit-calc(50% - (#{$spacing-unit} / 2)); + width: calc(50% - (#{$spacing-unit} / 2)); + } + + .footer-col-3 { + width: -webkit-calc(100% - (#{$spacing-unit} / 2)); + width: calc(100% - (#{$spacing-unit} / 2)); + } +} + +@include media-query($on-palm) { + .footer-col { + float: none; + width: -webkit-calc(100% - (#{$spacing-unit} / 2)); + width: calc(100% - (#{$spacing-unit} / 2)); + } +} + + + +/** + * Page content + */ +.page-content { + padding: $spacing-unit 0; +} + +.page-heading { + font-size: 20px; +} + +.post-list { + margin-left: 0; + list-style: none; + + > li { + margin-bottom: $spacing-unit; + } +} + +.post-meta { + font-size: $small-font-size; + color: $grey-color; +} + +.post-link { + display: block; + font-size: 24px; +} + + + +/** + * Posts + */ +.post-header { + margin-bottom: $spacing-unit; +} + +.post-title { + font-size: 42px; + letter-spacing: -1px; + line-height: 1; + + @include media-query($on-laptop) { + font-size: 36px; + } +} + +.post-content { + margin-bottom: $spacing-unit; + + h2 { + font-size: 32px; + + @include media-query($on-laptop) { + font-size: 28px; + } + } + + h3 { + font-size: 26px; + + @include media-query($on-laptop) { + font-size: 22px; + } + } + + h4 { + font-size: 20px; + + @include media-query($on-laptop) { + font-size: 18px; + } + } +} diff --git a/_sass/_normalize.scss b/_sass/_normalize.scss new file mode 100644 index 0000000..08f8950 --- /dev/null +++ b/_sass/_normalize.scss @@ -0,0 +1,425 @@ +/*! normalize.css v3.0.1 | MIT License | git.io/normalize */ + +/** + * 1. Set default font family to sans-serif. + * 2. Prevent iOS text size adjust after orientation change, without disabling + * user zoom. + */ + +html { + font-family: sans-serif; /* 1 */ + -ms-text-size-adjust: 100%; /* 2 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} + +/** + * Remove default margin. + */ + +body { + margin: 0; +} + +/* HTML5 display definitions + ========================================================================== */ + +/** + * Correct `block` display not defined for any HTML5 element in IE 8/9. + * Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox. + * Correct `block` display not defined for `main` in IE 11. + */ + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +nav, +section, +summary { + display: block; +} + +/** + * 1. Correct `inline-block` display not defined in IE 8/9. + * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. + */ + +audio, +canvas, +progress, +video { + display: inline-block; /* 1 */ + vertical-align: baseline; /* 2 */ +} + +/** + * Prevent modern browsers from displaying `audio` without controls. + * Remove excess height in iOS 5 devices. + */ + +audio:not([controls]) { + display: none; + height: 0; +} + +/** + * Address `[hidden]` styling not present in IE 8/9/10. + * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. + */ + +[hidden], +template { + display: none; +} + +/* Links + ========================================================================== */ + +/** + * Remove the gray background color from active links in IE 10. + */ + +a { + background: transparent; +} + +/** + * Improve readability when focused and also mouse hovered in all browsers. + */ + +a:active, +a:hover { + outline: 0; +} + +/* Text-level semantics + ========================================================================== */ + +/** + * Address styling not present in IE 8/9/10/11, Safari, and Chrome. + */ + +abbr[title] { + border-bottom: 1px dotted; +} + +/** + * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. + */ + +b, +strong { + font-weight: bold; +} + +/** + * Address styling not present in Safari and Chrome. + */ + +dfn { + font-style: italic; +} + +/** + * Address variable `h1` font-size and margin within `section` and `article` + * contexts in Firefox 4+, Safari, and Chrome. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/** + * Address styling not present in IE 8/9. + */ + +mark { + background: #ff0; + color: #000; +} + +/** + * Address inconsistent and variable font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` affecting `line-height` in all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +/* Embedded content + ========================================================================== */ + +/** + * Remove border when inside `a` element in IE 8/9/10. + */ + +img { + border: 0; +} + +/** + * Correct overflow not hidden in IE 9/10/11. + */ + +svg:not(:root) { + overflow: hidden; +} + +/* Grouping content + ========================================================================== */ + +/** + * Address margin not present in IE 8/9 and Safari. + */ + +figure { + margin: 1em 40px; +} + +/** + * Address differences between Firefox and other browsers. + */ + +hr { + -moz-box-sizing: content-box; + box-sizing: content-box; + height: 0; +} + +/** + * Contain overflow in all browsers. + */ + +pre { + overflow: auto; +} + +/** + * Address odd `em`-unit font size rendering in all browsers. + */ + +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} + +/* Forms + ========================================================================== */ + +/** + * Known limitation: by default, Chrome and Safari on OS X allow very limited + * styling of `select`, unless a `border` property is set. + */ + +/** + * 1. Correct color not being inherited. + * Known issue: affects color of disabled elements. + * 2. Correct font properties not being inherited. + * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. + */ + +button, +input, +optgroup, +select, +textarea { + color: inherit; /* 1 */ + font: inherit; /* 2 */ + margin: 0; /* 3 */ +} + +/** + * Address `overflow` set to `hidden` in IE 8/9/10/11. + */ + +button { + overflow: visible; +} + +/** + * Address inconsistent `text-transform` inheritance for `button` and `select`. + * All other form control elements do not inherit `text-transform` values. + * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. + * Correct `select` style inheritance in Firefox. + */ + +button, +select { + text-transform: none; +} + +/** + * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` + * and `video` controls. + * 2. Correct inability to style clickable `input` types in iOS. + * 3. Improve usability and consistency of cursor style between image-type + * `input` and others. + */ + +button, +html input[type="button"], /* 1 */ +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; /* 2 */ + cursor: pointer; /* 3 */ +} + +/** + * Re-set default cursor for disabled elements. + */ + +button[disabled], +html input[disabled] { + cursor: default; +} + +/** + * Remove inner padding and border in Firefox 4+. + */ + +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} + +/** + * Address Firefox 4+ setting `line-height` on `input` using `!important` in + * the UA stylesheet. + */ + +input { + line-height: normal; +} + +/** + * It's recommended that you don't attempt to style these elements. + * Firefox's implementation doesn't respect box-sizing, padding, or width. + * + * 1. Address box sizing set to `content-box` in IE 8/9/10. + * 2. Remove excess padding in IE 8/9/10. + */ + +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Fix the cursor style for Chrome's increment/decrement buttons. For certain + * `font-size` values of the `input`, it causes the cursor style of the + * decrement button to change from `default` to `text`. + */ + +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Address `appearance` set to `searchfield` in Safari and Chrome. + * 2. Address `box-sizing` set to `border-box` in Safari and Chrome + * (include `-moz` to future-proof). + */ + +input[type="search"] { + -webkit-appearance: textfield; /* 1 */ + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; /* 2 */ + box-sizing: content-box; +} + +/** + * Remove inner padding and search cancel button in Safari and Chrome on OS X. + * Safari (but not Chrome) clips the cancel button when the search input has + * padding (and `textfield` appearance). + */ + +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * Define consistent border, margin, and padding. + */ + +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +/** + * 1. Correct `color` not being inherited in IE 8/9/10/11. + * 2. Remove padding so people aren't caught out if they zero out fieldsets. + */ + +legend { + border: 0; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Remove default vertical scrollbar in IE 8/9/10/11. + */ + +textarea { + overflow: auto; +} + +/** + * Don't inherit the `font-weight` (applied by a rule above). + * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. + */ + +optgroup { + font-weight: bold; +} + +/* Tables + ========================================================================== */ + +/** + * Remove most spacing between table cells. + */ + +table { + border-collapse: collapse; + border-spacing: 0; +} + +td, +th { + padding: 0; +} diff --git a/_sass/_syntax-highlighting.scss b/_sass/_syntax-highlighting.scss new file mode 100644 index 0000000..8fac597 --- /dev/null +++ b/_sass/_syntax-highlighting.scss @@ -0,0 +1,71 @@ +/** + * Syntax highlighting styles + */ +.highlight { + background: #fff; + @extend %vertical-rhythm; + + .highlighter-rouge & { + background: #eef; + } + + .c { color: #998; font-style: italic } // Comment + .err { color: #a61717; background-color: #e3d2d2 } // Error + .k { font-weight: bold } // Keyword + .o { font-weight: bold } // Operator + .cm { color: #998; font-style: italic } // Comment.Multiline + .cp { color: #999; font-weight: bold } // Comment.Preproc + .c1 { color: #998; font-style: italic } // Comment.Single + .cs { color: #999; font-weight: bold; font-style: italic } // Comment.Special + .gd { color: #000; background-color: #fdd } // Generic.Deleted + .gd .x { color: #000; background-color: #faa } // Generic.Deleted.Specific + .ge { font-style: italic } // Generic.Emph + .gr { color: #a00 } // Generic.Error + .gh { color: #999 } // Generic.Heading + .gi { color: #000; background-color: #dfd } // Generic.Inserted + .gi .x { color: #000; background-color: #afa } // Generic.Inserted.Specific + .go { color: #888 } // Generic.Output + .gp { color: #555 } // Generic.Prompt + .gs { font-weight: bold } // Generic.Strong + .gu { color: #aaa } // Generic.Subheading + .gt { color: #a00 } // Generic.Traceback + .kc { font-weight: bold } // Keyword.Constant + .kd { font-weight: bold } // Keyword.Declaration + .kp { font-weight: bold } // Keyword.Pseudo + .kr { font-weight: bold } // Keyword.Reserved + .kt { color: #458; font-weight: bold } // Keyword.Type + .m { color: #099 } // Literal.Number + .s { color: #d14 } // Literal.String + .na { color: #008080 } // Name.Attribute + .nb { color: #0086B3 } // Name.Builtin + .nc { color: #458; font-weight: bold } // Name.Class + .no { color: #008080 } // Name.Constant + .ni { color: #800080 } // Name.Entity + .ne { color: #900; font-weight: bold } // Name.Exception + .nf { color: #900; font-weight: bold } // Name.Function + .nn { color: #555 } // Name.Namespace + .nt { color: #000080 } // Name.Tag + .nv { color: #008080 } // Name.Variable + .ow { font-weight: bold } // Operator.Word + .w { color: #bbb } // Text.Whitespace + .mf { color: #099 } // Literal.Number.Float + .mh { color: #099 } // Literal.Number.Hex + .mi { color: #099 } // Literal.Number.Integer + .mo { color: #099 } // Literal.Number.Oct + .sb { color: #d14 } // Literal.String.Backtick + .sc { color: #d14 } // Literal.String.Char + .sd { color: #d14 } // Literal.String.Doc + .s2 { color: #d14 } // Literal.String.Double + .se { color: #d14 } // Literal.String.Escape + .sh { color: #d14 } // Literal.String.Heredoc + .si { color: #d14 } // Literal.String.Interpol + .sx { color: #d14 } // Literal.String.Other + .sr { color: #009926 } // Literal.String.Regex + .s1 { color: #d14 } // Literal.String.Single + .ss { color: #990073 } // Literal.String.Symbol + .bp { color: #999 } // Name.Builtin.Pseudo + .vc { color: #008080 } // Name.Variable.Class + .vg { color: #008080 } // Name.Variable.Global + .vi { color: #008080 } // Name.Variable.Instance + .il { color: #099 } // Literal.Number.Integer.Long +} diff --git a/css/cayman.css b/css/cayman.css new file mode 100755 index 0000000..ec9b541 --- /dev/null +++ b/css/cayman.css @@ -0,0 +1,192 @@ +.highlight table td { padding: 5px; } + +.highlight table pre { margin: 0; } + +.highlight .cm { color: #999988; font-style: italic; } + +.highlight .cp { color: #999999; font-weight: bold; } + +.highlight .c1 { color: #999988; font-style: italic; } + +.highlight .cs { color: #999999; font-weight: bold; font-style: italic; } + +.highlight .c, .highlight .cd { color: #999988; font-style: italic; } + +.highlight .err { color: #a61717; background-color: #e3d2d2; } + +.highlight .gd { color: #000000; background-color: #ffdddd; } + +.highlight .ge { color: #000000; font-style: italic; } + +.highlight .gr { color: #aa0000; } + +.highlight .gh { color: #999999; } + +.highlight .gi { color: #000000; background-color: #ddffdd; } + +.highlight .go { color: #888888; } + +.highlight .gp { color: #555555; } + +.highlight .gs { font-weight: bold; } + +.highlight .gu { color: #aaaaaa; } + +.highlight .gt { color: #aa0000; } + +.highlight .kc { color: #000000; font-weight: bold; } + +.highlight .kd { color: #000000; font-weight: bold; } + +.highlight .kn { color: #000000; font-weight: bold; } + +.highlight .kp { color: #000000; font-weight: bold; } + +.highlight .kr { color: #000000; font-weight: bold; } + +.highlight .kt { color: #445588; font-weight: bold; } + +.highlight .k, .highlight .kv { color: #000000; font-weight: bold; } + +.highlight .mf { color: #009999; } + +.highlight .mh { color: #009999; } + +.highlight .il { color: #009999; } + +.highlight .mi { color: #009999; } + +.highlight .mo { color: #009999; } + +.highlight .m, .highlight .mb, .highlight .mx { color: #009999; } + +.highlight .sb { color: #d14; } + +.highlight .sc { color: #d14; } + +.highlight .sd { color: #d14; } + +.highlight .s2 { color: #d14; } + +.highlight .se { color: #d14; } + +.highlight .sh { color: #d14; } + +.highlight .si { color: #d14; } + +.highlight .sx { color: #d14; } + +.highlight .sr { color: #009926; } + +.highlight .s1 { color: #d14; } + +.highlight .ss { color: #990073; } + +.highlight .s { color: #d14; } + +.highlight .na { color: #008080; } + +.highlight .bp { color: #999999; } + +.highlight .nb { color: #0086B3; } + +.highlight .nc { color: #445588; font-weight: bold; } + +.highlight .no { color: #008080; } + +.highlight .nd { color: #3c5d5d; font-weight: bold; } + +.highlight .ni { color: #800080; } + +.highlight .ne { color: #990000; font-weight: bold; } + +.highlight .nf { color: #990000; font-weight: bold; } + +.highlight .nl { color: #990000; font-weight: bold; } + +.highlight .nn { color: #555555; } + +.highlight .nt { color: #000080; } + +.highlight .vc { color: #008080; } + +.highlight .vg { color: #008080; } + +.highlight .vi { color: #008080; } + +.highlight .nv { color: #008080; } + +.highlight .ow { color: #000000; font-weight: bold; } + +.highlight .o { color: #000000; font-weight: bold; } + +.highlight .w { color: #bbbbbb; } + +.highlight { background-color: #f8f8f8; } + +* { box-sizing: border-box; } + +body { padding: 0; margin: 0; font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.5; color: #606c71; } + +a { color: #1e6bb8; text-decoration: none; } +a:hover { text-decoration: underline; } + +.btn { display: inline-block; margin-bottom: 1rem; color: rgba(255, 255, 255, 0.7); background-color: rgba(255, 255, 255, 0.08); border-color: rgba(255, 255, 255, 0.2); border-style: solid; border-width: 1px; border-radius: 0.3rem; transition: color 0.2s, background-color 0.2s, border-color 0.2s; } +.btn:hover { color: rgba(255, 255, 255, 0.8); text-decoration: none; background-color: rgba(255, 255, 255, 0.2); border-color: rgba(255, 255, 255, 0.3); } +.btn + .btn { margin-left: 1rem; } +@media screen and (min-width: 64em) { .btn { padding: 0.75rem 1rem; } } +@media screen and (min-width: 42em) and (max-width: 64em) { .btn { padding: 0.6rem 0.9rem; font-size: 0.9rem; } } +@media screen and (max-width: 42em) { .btn { display: block; width: 100%; padding: 0.75rem; font-size: 0.9rem; } + .btn + .btn { margin-top: 1rem; margin-left: 0; } } + +.page-header { color: #fff; text-align: center; background-color: #000000; background-image: url('/night2.jpg')} +@media screen and (min-width: 64em) { .page-header { padding: 5rem 6rem; } } +@media screen and (min-width: 42em) and (max-width: 64em) { .page-header { padding: 3rem 4rem; } } +@media screen and (max-width: 42em) { .page-header { padding: 2rem 1rem; } } + +.project-name { margin-top: 0; margin-bottom: 0.1rem; } +@media screen and (min-width: 64em) { .project-name { font-size: 3.25rem; } } +@media screen and (min-width: 42em) and (max-width: 64em) { .project-name { font-size: 2.25rem; } } +@media screen and (max-width: 42em) { .project-name { font-size: 1.75rem; } } + +.project-tagline { margin-bottom: 2rem; font-weight: normal; opacity: 0.7; } +@media screen and (min-width: 64em) { .project-tagline { font-size: 1.25rem; } } +@media screen and (min-width: 42em) and (max-width: 64em) { .project-tagline { font-size: 1.15rem; } } +@media screen and (max-width: 42em) { .project-tagline { font-size: 1rem; } } + +.main-content { word-wrap: break-word; } +.main-content :first-child { margin-top: 0; } +@media screen and (min-width: 64em) { .main-content { max-width: 64rem; padding: 2rem 6rem; margin: 0 auto; font-size: 1.1rem; } } +@media screen and (min-width: 42em) and (max-width: 64em) { .main-content { padding: 2rem 4rem; font-size: 1.1rem; } } +@media screen and (max-width: 42em) { .main-content { padding: 2rem 1rem; font-size: 1rem; } } +.main-content img { max-width: 100%; } +.main-content h1, .main-content h2, .main-content h3, .main-content h4, .main-content h5, .main-content h6 { margin-top: 2rem; margin-bottom: 1rem; font-weight: normal; color: #159957; } +.main-content p { margin-bottom: 1em; } +.main-content code { padding: 2px 4px; font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 0.9rem; color: #567482; background-color: #f3f6fa; border-radius: 0.3rem; } +.main-content pre { padding: 0.8rem; margin-top: 0; margin-bottom: 1rem; font: 1rem Consolas, "Liberation Mono", Menlo, Courier, monospace; color: #567482; word-wrap: normal; background-color: #f3f6fa; border: solid 1px #dce6f0; border-radius: 0.3rem; } +.main-content pre > code { padding: 0; margin: 0; font-size: 0.9rem; color: #567482; word-break: normal; white-space: pre; background: transparent; border: 0; } +.main-content .highlight { margin-bottom: 1rem; } +.main-content .highlight pre { margin-bottom: 0; word-break: normal; } +.main-content .highlight pre, .main-content pre { padding: 0.8rem; overflow: auto; font-size: 0.9rem; line-height: 1.45; border-radius: 0.3rem; -webkit-overflow-scrolling: touch; } +.main-content pre code, .main-content pre tt { display: inline; max-width: initial; padding: 0; margin: 0; overflow: initial; line-height: inherit; word-wrap: normal; background-color: transparent; border: 0; } +.main-content pre code:before, .main-content pre code:after, .main-content pre tt:before, .main-content pre tt:after { content: normal; } +.main-content ul, .main-content ol { margin-top: 0; } +.main-content blockquote { padding: 0 1rem; margin-left: 0; color: #819198; border-left: 0.3rem solid #dce6f0; } +.main-content blockquote > :first-child { margin-top: 0; } +.main-content blockquote > :last-child { margin-bottom: 0; } +.main-content table { display: block; width: 100%; overflow: auto; word-break: normal; word-break: keep-all; -webkit-overflow-scrolling: touch; } +.main-content table th { font-weight: bold; } +.main-content table th, .main-content table td { padding: 0.5rem 1rem; border: 1px solid #e9ebec; } +.main-content dl { padding: 0; } +.main-content dl dt { padding: 0; margin-top: 1rem; font-size: 1rem; font-weight: bold; } +.main-content dl dd { padding: 0; margin-bottom: 1rem; } +.main-content hr { height: 2px; padding: 0; margin: 1rem 0; background-color: #eff0f1; border: 0; } + +.site-footer { padding-top: 2rem; margin-top: 2rem; border-top: solid 1px #eff0f1; } +@media screen and (min-width: 64em) { .site-footer { font-size: 1rem; } } +@media screen and (min-width: 42em) and (max-width: 64em) { .site-footer { font-size: 1rem; } } +@media screen and (max-width: 42em) { .site-footer { font-size: 0.9rem; } } + +.site-footer-owner { display: block; font-weight: bold; } + +.site-footer-credits { color: #819198; } diff --git a/css/cayman.css_grad b/css/cayman.css_grad new file mode 100755 index 0000000..36351b1 --- /dev/null +++ b/css/cayman.css_grad @@ -0,0 +1,192 @@ +.highlight table td { padding: 5px; } + +.highlight table pre { margin: 0; } + +.highlight .cm { color: #999988; font-style: italic; } + +.highlight .cp { color: #999999; font-weight: bold; } + +.highlight .c1 { color: #999988; font-style: italic; } + +.highlight .cs { color: #999999; font-weight: bold; font-style: italic; } + +.highlight .c, .highlight .cd { color: #999988; font-style: italic; } + +.highlight .err { color: #a61717; background-color: #e3d2d2; } + +.highlight .gd { color: #000000; background-color: #ffdddd; } + +.highlight .ge { color: #000000; font-style: italic; } + +.highlight .gr { color: #aa0000; } + +.highlight .gh { color: #999999; } + +.highlight .gi { color: #000000; background-color: #ddffdd; } + +.highlight .go { color: #888888; } + +.highlight .gp { color: #555555; } + +.highlight .gs { font-weight: bold; } + +.highlight .gu { color: #aaaaaa; } + +.highlight .gt { color: #aa0000; } + +.highlight .kc { color: #000000; font-weight: bold; } + +.highlight .kd { color: #000000; font-weight: bold; } + +.highlight .kn { color: #000000; font-weight: bold; } + +.highlight .kp { color: #000000; font-weight: bold; } + +.highlight .kr { color: #000000; font-weight: bold; } + +.highlight .kt { color: #445588; font-weight: bold; } + +.highlight .k, .highlight .kv { color: #000000; font-weight: bold; } + +.highlight .mf { color: #009999; } + +.highlight .mh { color: #009999; } + +.highlight .il { color: #009999; } + +.highlight .mi { color: #009999; } + +.highlight .mo { color: #009999; } + +.highlight .m, .highlight .mb, .highlight .mx { color: #009999; } + +.highlight .sb { color: #d14; } + +.highlight .sc { color: #d14; } + +.highlight .sd { color: #d14; } + +.highlight .s2 { color: #d14; } + +.highlight .se { color: #d14; } + +.highlight .sh { color: #d14; } + +.highlight .si { color: #d14; } + +.highlight .sx { color: #d14; } + +.highlight .sr { color: #009926; } + +.highlight .s1 { color: #d14; } + +.highlight .ss { color: #990073; } + +.highlight .s { color: #d14; } + +.highlight .na { color: #008080; } + +.highlight .bp { color: #999999; } + +.highlight .nb { color: #0086B3; } + +.highlight .nc { color: #445588; font-weight: bold; } + +.highlight .no { color: #008080; } + +.highlight .nd { color: #3c5d5d; font-weight: bold; } + +.highlight .ni { color: #800080; } + +.highlight .ne { color: #990000; font-weight: bold; } + +.highlight .nf { color: #990000; font-weight: bold; } + +.highlight .nl { color: #990000; font-weight: bold; } + +.highlight .nn { color: #555555; } + +.highlight .nt { color: #000080; } + +.highlight .vc { color: #008080; } + +.highlight .vg { color: #008080; } + +.highlight .vi { color: #008080; } + +.highlight .nv { color: #008080; } + +.highlight .ow { color: #000000; font-weight: bold; } + +.highlight .o { color: #000000; font-weight: bold; } + +.highlight .w { color: #bbbbbb; } + +.highlight { background-color: #f8f8f8; } + +* { box-sizing: border-box; } + +body { padding: 0; margin: 0; font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.5; color: #606c71; } + +a { color: #1e6bb8; text-decoration: none; } +a:hover { text-decoration: underline; } + +.btn { display: inline-block; margin-bottom: 1rem; color: rgba(255, 255, 255, 0.7); background-color: rgba(255, 255, 255, 0.08); border-color: rgba(255, 255, 255, 0.2); border-style: solid; border-width: 1px; border-radius: 0.3rem; transition: color 0.2s, background-color 0.2s, border-color 0.2s; } +.btn:hover { color: rgba(255, 255, 255, 0.8); text-decoration: none; background-color: rgba(255, 255, 255, 0.2); border-color: rgba(255, 255, 255, 0.3); } +.btn + .btn { margin-left: 1rem; } +@media screen and (min-width: 64em) { .btn { padding: 0.75rem 1rem; } } +@media screen and (min-width: 42em) and (max-width: 64em) { .btn { padding: 0.6rem 0.9rem; font-size: 0.9rem; } } +@media screen and (max-width: 42em) { .btn { display: block; width: 100%; padding: 0.75rem; font-size: 0.9rem; } + .btn + .btn { margin-top: 1rem; margin-left: 0; } } + +.page-header { color: #fff; text-align: center; background-color: #159957; background-image: radial-gradient(farthest-side, #0e2e64, #000036 ); } +@media screen and (min-width: 64em) { .page-header { padding: 5rem 6rem; } } +@media screen and (min-width: 42em) and (max-width: 64em) { .page-header { padding: 3rem 4rem; } } +@media screen and (max-width: 42em) { .page-header { padding: 2rem 1rem; } } + +.project-name { margin-top: 0; margin-bottom: 0.1rem; } +@media screen and (min-width: 64em) { .project-name { font-size: 3.25rem; } } +@media screen and (min-width: 42em) and (max-width: 64em) { .project-name { font-size: 2.25rem; } } +@media screen and (max-width: 42em) { .project-name { font-size: 1.75rem; } } + +.project-tagline { margin-bottom: 2rem; font-weight: normal; opacity: 0.7; } +@media screen and (min-width: 64em) { .project-tagline { font-size: 1.25rem; } } +@media screen and (min-width: 42em) and (max-width: 64em) { .project-tagline { font-size: 1.15rem; } } +@media screen and (max-width: 42em) { .project-tagline { font-size: 1rem; } } + +.main-content { word-wrap: break-word; } +.main-content :first-child { margin-top: 0; } +@media screen and (min-width: 64em) { .main-content { max-width: 64rem; padding: 2rem 6rem; margin: 0 auto; font-size: 1.1rem; } } +@media screen and (min-width: 42em) and (max-width: 64em) { .main-content { padding: 2rem 4rem; font-size: 1.1rem; } } +@media screen and (max-width: 42em) { .main-content { padding: 2rem 1rem; font-size: 1rem; } } +.main-content img { max-width: 100%; } +.main-content h1, .main-content h2, .main-content h3, .main-content h4, .main-content h5, .main-content h6 { margin-top: 2rem; margin-bottom: 1rem; font-weight: normal; color: #159957; } +.main-content p { margin-bottom: 1em; } +.main-content code { padding: 2px 4px; font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 0.9rem; color: #567482; background-color: #f3f6fa; border-radius: 0.3rem; } +.main-content pre { padding: 0.8rem; margin-top: 0; margin-bottom: 1rem; font: 1rem Consolas, "Liberation Mono", Menlo, Courier, monospace; color: #567482; word-wrap: normal; background-color: #f3f6fa; border: solid 1px #dce6f0; border-radius: 0.3rem; } +.main-content pre > code { padding: 0; margin: 0; font-size: 0.9rem; color: #567482; word-break: normal; white-space: pre; background: transparent; border: 0; } +.main-content .highlight { margin-bottom: 1rem; } +.main-content .highlight pre { margin-bottom: 0; word-break: normal; } +.main-content .highlight pre, .main-content pre { padding: 0.8rem; overflow: auto; font-size: 0.9rem; line-height: 1.45; border-radius: 0.3rem; -webkit-overflow-scrolling: touch; } +.main-content pre code, .main-content pre tt { display: inline; max-width: initial; padding: 0; margin: 0; overflow: initial; line-height: inherit; word-wrap: normal; background-color: transparent; border: 0; } +.main-content pre code:before, .main-content pre code:after, .main-content pre tt:before, .main-content pre tt:after { content: normal; } +.main-content ul, .main-content ol { margin-top: 0; } +.main-content blockquote { padding: 0 1rem; margin-left: 0; color: #819198; border-left: 0.3rem solid #dce6f0; } +.main-content blockquote > :first-child { margin-top: 0; } +.main-content blockquote > :last-child { margin-bottom: 0; } +.main-content table { display: block; width: 100%; overflow: auto; word-break: normal; word-break: keep-all; -webkit-overflow-scrolling: touch; } +.main-content table th { font-weight: bold; } +.main-content table th, .main-content table td { padding: 0.5rem 1rem; border: 1px solid #e9ebec; } +.main-content dl { padding: 0; } +.main-content dl dt { padding: 0; margin-top: 1rem; font-size: 1rem; font-weight: bold; } +.main-content dl dd { padding: 0; margin-bottom: 1rem; } +.main-content hr { height: 2px; padding: 0; margin: 1rem 0; background-color: #eff0f1; border: 0; } + +.site-footer { padding-top: 2rem; margin-top: 2rem; border-top: solid 1px #eff0f1; } +@media screen and (min-width: 64em) { .site-footer { font-size: 1rem; } } +@media screen and (min-width: 42em) and (max-width: 64em) { .site-footer { font-size: 1rem; } } +@media screen and (max-width: 42em) { .site-footer { font-size: 0.9rem; } } + +.site-footer-owner { display: block; font-weight: bold; } + +.site-footer-credits { color: #819198; } diff --git a/css/main.scss b/css/main.scss new file mode 100644 index 0000000..f2e566e --- /dev/null +++ b/css/main.scss @@ -0,0 +1,53 @@ +--- +# Only the main Sass file needs front matter (the dashes are enough) +--- +@charset "utf-8"; + + + +// Our variables +$base-font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; +$base-font-size: 16px; +$base-font-weight: 400; +$small-font-size: $base-font-size * 0.875; +$base-line-height: 1.5; + +$spacing-unit: 30px; + +$text-color: #111; +$background-color: #fdfdfd; +$brand-color: #2a7ae2; + +$grey-color: #828282; +$grey-color-light: lighten($grey-color, 40%); +$grey-color-dark: darken($grey-color, 25%); + +// Width of the content area +$content-width: 800px; + +$on-palm: 600px; +$on-laptop: 800px; + + + +// Use media queries like this: +// @include media-query($on-palm) { +// .wrapper { +// padding-right: $spacing-unit / 2; +// padding-left: $spacing-unit / 2; +// } +// } +@mixin media-query($device) { + @media screen and (max-width: $device) { + @content; + } +} + + + +// Import partials from `sass_dir` (defaults to `_sass`) +@import + "base", + "layout", + "syntax-highlighting" +; diff --git a/css/normalize.css b/css/normalize.css new file mode 100755 index 0000000..30366a6 --- /dev/null +++ b/css/normalize.css @@ -0,0 +1,424 @@ +/*! normalize.css v3.0.2 | MIT License | git.io/normalize */ + +/** + * 1. Set default font family to sans-serif. + * 2. Prevent iOS text size adjust after orientation change, without disabling + * user zoom. + */ + +html { + font-family: sans-serif; /* 1 */ + -ms-text-size-adjust: 100%; /* 2 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} + +/** + * Remove default margin. + */ + +body { + margin: 0; +} + +/* HTML5 display definitions + ========================================================================== */ + +/** + * Correct `block` display not defined for any HTML5 element in IE 8/9. + * Correct `block` display not defined for `details` or `summary` in IE 10/11 + * and Firefox. + * Correct `block` display not defined for `main` in IE 11. + */ + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} + +/** + * 1. Correct `inline-block` display not defined in IE 8/9. + * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. + */ + +audio, +canvas, +progress, +video { + display: inline-block; /* 1 */ + vertical-align: baseline; /* 2 */ +} + +/** + * Prevent modern browsers from displaying `audio` without controls. + * Remove excess height in iOS 5 devices. + */ + +audio:not([controls]) { + display: none; + height: 0; +} + +/** + * Address `[hidden]` styling not present in IE 8/9/10. + * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. + */ + +[hidden], +template { + display: none; +} + +/* Links + ========================================================================== */ + +/** + * Remove the gray background color from active links in IE 10. + */ + +a { + background-color: transparent; +} + +/** + * Improve readability when focused and also mouse hovered in all browsers. + */ + +a:active, +a:hover { + outline: 0; +} + +/* Text-level semantics + ========================================================================== */ + +/** + * Address styling not present in IE 8/9/10/11, Safari, and Chrome. + */ + +abbr[title] { + border-bottom: 1px dotted; +} + +/** + * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. + */ + +b, +strong { + font-weight: bold; +} + +/** + * Address styling not present in Safari and Chrome. + */ + +dfn { + font-style: italic; +} + +/** + * Address variable `h1` font-size and margin within `section` and `article` + * contexts in Firefox 4+, Safari, and Chrome. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/** + * Address styling not present in IE 8/9. + */ + +mark { + background: #ff0; + color: #000; +} + +/** + * Address inconsistent and variable font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` affecting `line-height` in all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +/* Embedded content + ========================================================================== */ + +/** + * Remove border when inside `a` element in IE 8/9/10. + */ + +img { + border: 0; +} + +/** + * Correct overflow not hidden in IE 9/10/11. + */ + +svg:not(:root) { + overflow: hidden; +} + +/* Grouping content + ========================================================================== */ + +/** + * Address margin not present in IE 8/9 and Safari. + */ + +figure { + margin: 1em 40px; +} + +/** + * Address differences between Firefox and other browsers. + */ + +hr { + box-sizing: content-box; + height: 0; +} + +/** + * Contain overflow in all browsers. + */ + +pre { + overflow: auto; +} + +/** + * Address odd `em`-unit font size rendering in all browsers. + */ + +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} + +/* Forms + ========================================================================== */ + +/** + * Known limitation: by default, Chrome and Safari on OS X allow very limited + * styling of `select`, unless a `border` property is set. + */ + +/** + * 1. Correct color not being inherited. + * Known issue: affects color of disabled elements. + * 2. Correct font properties not being inherited. + * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. + */ + +button, +input, +optgroup, +select, +textarea { + color: inherit; /* 1 */ + font: inherit; /* 2 */ + margin: 0; /* 3 */ +} + +/** + * Address `overflow` set to `hidden` in IE 8/9/10/11. + */ + +button { + overflow: visible; +} + +/** + * Address inconsistent `text-transform` inheritance for `button` and `select`. + * All other form control elements do not inherit `text-transform` values. + * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. + * Correct `select` style inheritance in Firefox. + */ + +button, +select { + text-transform: none; +} + +/** + * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` + * and `video` controls. + * 2. Correct inability to style clickable `input` types in iOS. + * 3. Improve usability and consistency of cursor style between image-type + * `input` and others. + */ + +button, +html input[type="button"], /* 1 */ +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; /* 2 */ + cursor: pointer; /* 3 */ +} + +/** + * Re-set default cursor for disabled elements. + */ + +button[disabled], +html input[disabled] { + cursor: default; +} + +/** + * Remove inner padding and border in Firefox 4+. + */ + +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} + +/** + * Address Firefox 4+ setting `line-height` on `input` using `!important` in + * the UA stylesheet. + */ + +input { + line-height: normal; +} + +/** + * It's recommended that you don't attempt to style these elements. + * Firefox's implementation doesn't respect box-sizing, padding, or width. + * + * 1. Address box sizing set to `content-box` in IE 8/9/10. + * 2. Remove excess padding in IE 8/9/10. + */ + +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Fix the cursor style for Chrome's increment/decrement buttons. For certain + * `font-size` values of the `input`, it causes the cursor style of the + * decrement button to change from `default` to `text`. + */ + +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Address `appearance` set to `searchfield` in Safari and Chrome. + * 2. Address `box-sizing` set to `border-box` in Safari and Chrome + * (include `-moz` to future-proof). + */ + +input[type="search"] { + -webkit-appearance: textfield; /* 1 */ /* 2 */ + box-sizing: content-box; +} + +/** + * Remove inner padding and search cancel button in Safari and Chrome on OS X. + * Safari (but not Chrome) clips the cancel button when the search input has + * padding (and `textfield` appearance). + */ + +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * Define consistent border, margin, and padding. + */ + +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +/** + * 1. Correct `color` not being inherited in IE 8/9/10/11. + * 2. Remove padding so people aren't caught out if they zero out fieldsets. + */ + +legend { + border: 0; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Remove default vertical scrollbar in IE 8/9/10/11. + */ + +textarea { + overflow: auto; +} + +/** + * Don't inherit the `font-weight` (applied by a rule above). + * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. + */ + +optgroup { + font-weight: bold; +} + +/* Tables + ========================================================================== */ + +/** + * Remove most spacing between table cells. + */ + +table { + border-collapse: collapse; + border-spacing: 0; +} + +td, +th { + padding: 0; +} diff --git a/index.html b/index.html new file mode 100644 index 0000000..8e817a7 --- /dev/null +++ b/index.html @@ -0,0 +1,43 @@ +--- +layout: default +--- +<h1>Luci per Aerei con Arduino</h1> +<p>Sketches e librerie per la gestione delle luci di aeromodelli RC con microcontroller compatibili con <i>*arduino</i></p> +<p>Per installare e utilizzare vedi la <a href="/setup">pagina setup</a>.</p> +<div class="home"> + + +<h2>aerei</h2> + <p>Codice degli aerei gia' pronti.</p> +<ol> +{% for post in site.categories.aerei %} +<li><a class="post-link" href="{{ post.url | prepend: site.baseurl }}">{{ post.title }}</a> </li> +{% endfor %} +</ol> +<h2>Esempi</h2> + <p>Esempi di programmzione: leggere i canali della radio, macchine a stati, paradigmi di prograzione.</p> +<ol> +{% for post in site.categories.esempi reversed %} +<li><a class="post-link" href="{{ post.url | prepend: site.baseurl }}">{{ post.title }}</a></li> +{% endfor %} +</ol> +<h2>Snippets</h2> + <p>Frammenti di codice di uso comune: interrupts, pulse in.</p> +<ol> +{% for post in site.categories.snippets reversed %} +<li><a class="post-link" href="{{ post.url | prepend: site.baseurl }}">{{ post.title }}</a></li> +{% endfor %} +</ol> + + <h1 class="page-heading">Posts</h1> + <p>Elenco degli ultimi articoli pubblicati.</p> + <ul class="post-list"> + {% for post in site.posts %} + <li> + <a class="post-link" href="{{ post.url | prepend: site.baseurl }}">{{ post.title }}</a> + + </li> + {% endfor %} + </ul> + +</div> diff --git a/jekyll-cayman-theme.gemspec b/jekyll-cayman-theme.gemspec new file mode 100644 index 0000000..6bb58c6 --- /dev/null +++ b/jekyll-cayman-theme.gemspec @@ -0,0 +1,17 @@ +# coding: utf-8 + +Gem::Specification.new do |spec| + spec.name = "jekyll-cayman-theme" + spec.version = "0.1.0" + spec.authors = ["Pietro F. Menna"] + spec.email = ["pietromenna@yahoo.com"] + + spec.summary = %q{A Jekyll theme for the responsive theme for GitHub Pages http://jasonlong.github.io/cayman-theme/ } + spec.homepage = "https://github.com/pietromenna/jekyll-cayman-theme" + spec.license = "MIT" + + spec.files = `git ls-files -z`.split("\x0").select { |f| f.match(%r{^(_layouts|_includes|_sass|LICENSE|README)/i}) } + + spec.add_development_dependency "jekyll", "~> 3.2" + spec.add_development_dependency "rake", "~> 10.0" +end diff --git a/js/html5shiv.js b/js/html5shiv.js new file mode 100644 index 0000000..77dace4 --- /dev/null +++ b/js/html5shiv.js @@ -0,0 +1,322 @@ +/** +* @preserve HTML5 Shiv 3.7.2 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed +*/ +;(function(window, document) { +/*jshint evil:true */ + /** version */ + var version = '3.7.2'; + + /** Preset options */ + var options = window.html5 || {}; + + /** Used to skip problem elements */ + var reSkip = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i; + + /** Not all elements can be cloned in IE **/ + var saveClones = /^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i; + + /** Detect whether the browser supports default html5 styles */ + var supportsHtml5Styles; + + /** Name of the expando, to work with multiple documents or to re-shiv one document */ + var expando = '_html5shiv'; + + /** The id for the the documents expando */ + var expanID = 0; + + /** Cached data for each document */ + var expandoData = {}; + + /** Detect whether the browser supports unknown elements */ + var supportsUnknownElements; + + (function() { + try { + var a = document.createElement('a'); + a.innerHTML = '<xyz></xyz>'; + //if the hidden property is implemented we can assume, that the browser supports basic HTML5 Styles + supportsHtml5Styles = ('hidden' in a); + + supportsUnknownElements = a.childNodes.length == 1 || (function() { + // assign a false positive if unable to shiv + (document.createElement)('a'); + var frag = document.createDocumentFragment(); + return ( + typeof frag.cloneNode == 'undefined' || + typeof frag.createDocumentFragment == 'undefined' || + typeof frag.createElement == 'undefined' + ); + }()); + } catch(e) { + // assign a false positive if detection fails => unable to shiv + supportsHtml5Styles = true; + supportsUnknownElements = true; + } + + }()); + + /*--------------------------------------------------------------------------*/ + + /** + * Creates a style sheet with the given CSS text and adds it to the document. + * @private + * @param {Document} ownerDocument The document. + * @param {String} cssText The CSS text. + * @returns {StyleSheet} The style element. + */ + function addStyleSheet(ownerDocument, cssText) { + var p = ownerDocument.createElement('p'), + parent = ownerDocument.getElementsByTagName('head')[0] || ownerDocument.documentElement; + + p.innerHTML = 'x<style>' + cssText + '</style>'; + return parent.insertBefore(p.lastChild, parent.firstChild); + } + + /** + * Returns the value of `html5.elements` as an array. + * @private + * @returns {Array} An array of shived element node names. + */ + function getElements() { + var elements = html5.elements; + return typeof elements == 'string' ? elements.split(' ') : elements; + } + + /** + * Extends the built-in list of html5 elements + * @memberOf html5 + * @param {String|Array} newElements whitespace separated list or array of new element names to shiv + * @param {Document} ownerDocument The context document. + */ + function addElements(newElements, ownerDocument) { + var elements = html5.elements; + if(typeof elements != 'string'){ + elements = elements.join(' '); + } + if(typeof newElements != 'string'){ + newElements = newElements.join(' '); + } + html5.elements = elements +' '+ newElements; + shivDocument(ownerDocument); + } + + /** + * Returns the data associated to the given document + * @private + * @param {Document} ownerDocument The document. + * @returns {Object} An object of data. + */ + function getExpandoData(ownerDocument) { + var data = expandoData[ownerDocument[expando]]; + if (!data) { + data = {}; + expanID++; + ownerDocument[expando] = expanID; + expandoData[expanID] = data; + } + return data; + } + + /** + * returns a shived element for the given nodeName and document + * @memberOf html5 + * @param {String} nodeName name of the element + * @param {Document} ownerDocument The context document. + * @returns {Object} The shived element. + */ + function createElement(nodeName, ownerDocument, data){ + if (!ownerDocument) { + ownerDocument = document; + } + if(supportsUnknownElements){ + return ownerDocument.createElement(nodeName); + } + if (!data) { + data = getExpandoData(ownerDocument); + } + var node; + + if (data.cache[nodeName]) { + node = data.cache[nodeName].cloneNode(); + } else if (saveClones.test(nodeName)) { + node = (data.cache[nodeName] = data.createElem(nodeName)).cloneNode(); + } else { + node = data.createElem(nodeName); + } + + // Avoid adding some elements to fragments in IE < 9 because + // * Attributes like `name` or `type` cannot be set/changed once an element + // is inserted into a document/fragment + // * Link elements with `src` attributes that are inaccessible, as with + // a 403 response, will cause the tab/window to crash + // * Script elements appended to fragments will execute when their `src` + // or `text` property is set + return node.canHaveChildren && !reSkip.test(nodeName) && !node.tagUrn ? data.frag.appendChild(node) : node; + } + + /** + * returns a shived DocumentFragment for the given document + * @memberOf html5 + * @param {Document} ownerDocument The context document. + * @returns {Object} The shived DocumentFragment. + */ + function createDocumentFragment(ownerDocument, data){ + if (!ownerDocument) { + ownerDocument = document; + } + if(supportsUnknownElements){ + return ownerDocument.createDocumentFragment(); + } + data = data || getExpandoData(ownerDocument); + var clone = data.frag.cloneNode(), + i = 0, + elems = getElements(), + l = elems.length; + for(;i<l;i++){ + clone.createElement(elems[i]); + } + return clone; + } + + /** + * Shivs the `createElement` and `createDocumentFragment` methods of the document. + * @private + * @param {Document|DocumentFragment} ownerDocument The document. + * @param {Object} data of the document. + */ + function shivMethods(ownerDocument, data) { + if (!data.cache) { + data.cache = {}; + data.createElem = ownerDocument.createElement; + data.createFrag = ownerDocument.createDocumentFragment; + data.frag = data.createFrag(); + } + + + ownerDocument.createElement = function(nodeName) { + //abort shiv + if (!html5.shivMethods) { + return data.createElem(nodeName); + } + return createElement(nodeName, ownerDocument, data); + }; + + ownerDocument.createDocumentFragment = Function('h,f', 'return function(){' + + 'var n=f.cloneNode(),c=n.createElement;' + + 'h.shivMethods&&(' + + // unroll the `createElement` calls + getElements().join().replace(/[\w\-:]+/g, function(nodeName) { + data.createElem(nodeName); + data.frag.createElement(nodeName); + return 'c("' + nodeName + '")'; + }) + + ');return n}' + )(html5, data.frag); + } + + /*--------------------------------------------------------------------------*/ + + /** + * Shivs the given document. + * @memberOf html5 + * @param {Document} ownerDocument The document to shiv. + * @returns {Document} The shived document. + */ + function shivDocument(ownerDocument) { + if (!ownerDocument) { + ownerDocument = document; + } + var data = getExpandoData(ownerDocument); + + if (html5.shivCSS && !supportsHtml5Styles && !data.hasCSS) { + data.hasCSS = !!addStyleSheet(ownerDocument, + // corrects block display not defined in IE6/7/8/9 + 'article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}' + + // adds styling not present in IE6/7/8/9 + 'mark{background:#FF0;color:#000}' + + // hides non-rendered elements + 'template{display:none}' + ); + } + if (!supportsUnknownElements) { + shivMethods(ownerDocument, data); + } + return ownerDocument; + } + + /*--------------------------------------------------------------------------*/ + + /** + * The `html5` object is exposed so that more elements can be shived and + * existing shiving can be detected on iframes. + * @type Object + * @example + * + * // options can be changed before the script is included + * html5 = { 'elements': 'mark section', 'shivCSS': false, 'shivMethods': false }; + */ + var html5 = { + + /** + * An array or space separated string of node names of the elements to shiv. + * @memberOf html5 + * @type Array|String + */ + 'elements': options.elements || 'abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video', + + /** + * current version of html5shiv + */ + 'version': version, + + /** + * A flag to indicate that the HTML5 style sheet should be inserted. + * @memberOf html5 + * @type Boolean + */ + 'shivCSS': (options.shivCSS !== false), + + /** + * Is equal to true if a browser supports creating unknown/HTML5 elements + * @memberOf html5 + * @type boolean + */ + 'supportsUnknownElements': supportsUnknownElements, + + /** + * A flag to indicate that the document's `createElement` and `createDocumentFragment` + * methods should be overwritten. + * @memberOf html5 + * @type Boolean + */ + 'shivMethods': (options.shivMethods !== false), + + /** + * A string to describe the type of `html5` object ("default" or "default print"). + * @memberOf html5 + * @type String + */ + 'type': 'default', + + // shivs the document according to the specified `html5` object options + 'shivDocument': shivDocument, + + //creates a shived element + createElement: createElement, + + //creates a shived documentFragment + createDocumentFragment: createDocumentFragment, + + //extends list of elements + addElements: addElements + }; + + /*--------------------------------------------------------------------------*/ + + // expose html5 + window.html5 = html5; + + // shiv the document + shivDocument(document); + +}(this, document)); diff --git a/js/respond.js b/js/respond.js new file mode 100644 index 0000000..58883e4 --- /dev/null +++ b/js/respond.js @@ -0,0 +1,353 @@ +/* Respond.js: min/max-width media query polyfill. (c) Scott Jehl. MIT Lic. j.mp/respondjs */ +(function( w ){ + + "use strict"; + + //exposed namespace + var respond = {}; + w.respond = respond; + + //define update even in native-mq-supporting browsers, to avoid errors + respond.update = function(){}; + + //define ajax obj + var requestQueue = [], + xmlHttp = (function() { + var xmlhttpmethod = false; + try { + xmlhttpmethod = new w.XMLHttpRequest(); + } + catch( e ){ + xmlhttpmethod = new w.ActiveXObject( "Microsoft.XMLHTTP" ); + } + return function(){ + return xmlhttpmethod; + }; + })(), + + //tweaked Ajax functions from Quirksmode + ajax = function( url, callback ) { + var req = xmlHttp(); + if (!req){ + return; + } + req.open( "GET", url, true ); + req.onreadystatechange = function () { + if ( req.readyState !== 4 || req.status !== 200 && req.status !== 304 ){ + return; + } + callback( req.responseText ); + }; + if ( req.readyState === 4 ){ + return; + } + req.send( null ); + }, + isUnsupportedMediaQuery = function( query ) { + return query.replace( respond.regex.minmaxwh, '' ).match( respond.regex.other ); + }; + + //expose for testing + respond.ajax = ajax; + respond.queue = requestQueue; + respond.unsupportedmq = isUnsupportedMediaQuery; + respond.regex = { + media: /@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi, + keyframes: /@(?:\-(?:o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi, + comments: /\/\*[^*]*\*+([^/][^*]*\*+)*\//gi, + urls: /(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g, + findStyles: /@media *([^\{]+)\{([\S\s]+?)$/, + only: /(only\s+)?([a-zA-Z]+)\s?/, + minw: /\(\s*min\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/, + maxw: /\(\s*max\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/, + minmaxwh: /\(\s*m(in|ax)\-(height|width)\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/gi, + other: /\([^\)]*\)/g + }; + + //expose media query support flag for external use + respond.mediaQueriesSupported = w.matchMedia && w.matchMedia( "only all" ) !== null && w.matchMedia( "only all" ).matches; + + //if media queries are supported, exit here + if( respond.mediaQueriesSupported ){ + return; + } + + //define vars + var doc = w.document, + docElem = doc.documentElement, + mediastyles = [], + rules = [], + appendedEls = [], + parsedSheets = {}, + resizeThrottle = 30, + head = doc.getElementsByTagName( "head" )[0] || docElem, + base = doc.getElementsByTagName( "base" )[0], + links = head.getElementsByTagName( "link" ), + + lastCall, + resizeDefer, + + //cached container for 1em value, populated the first time it's needed + eminpx, + + // returns the value of 1em in pixels + getEmValue = function() { + var ret, + div = doc.createElement('div'), + body = doc.body, + originalHTMLFontSize = docElem.style.fontSize, + originalBodyFontSize = body && body.style.fontSize, + fakeUsed = false; + + div.style.cssText = "position:absolute;font-size:1em;width:1em"; + + if( !body ){ + body = fakeUsed = doc.createElement( "body" ); + body.style.background = "none"; + } + + // 1em in a media query is the value of the default font size of the browser + // reset docElem and body to ensure the correct value is returned + docElem.style.fontSize = "100%"; + body.style.fontSize = "100%"; + + body.appendChild( div ); + + if( fakeUsed ){ + docElem.insertBefore( body, docElem.firstChild ); + } + + ret = div.offsetWidth; + + if( fakeUsed ){ + docElem.removeChild( body ); + } + else { + body.removeChild( div ); + } + + // restore the original values + docElem.style.fontSize = originalHTMLFontSize; + if( originalBodyFontSize ) { + body.style.fontSize = originalBodyFontSize; + } + + + //also update eminpx before returning + ret = eminpx = parseFloat(ret); + + return ret; + }, + + //enable/disable styles + applyMedia = function( fromResize ){ + var name = "clientWidth", + docElemProp = docElem[ name ], + currWidth = doc.compatMode === "CSS1Compat" && docElemProp || doc.body[ name ] || docElemProp, + styleBlocks = {}, + lastLink = links[ links.length-1 ], + now = (new Date()).getTime(); + + //throttle resize calls + if( fromResize && lastCall && now - lastCall < resizeThrottle ){ + w.clearTimeout( resizeDefer ); + resizeDefer = w.setTimeout( applyMedia, resizeThrottle ); + return; + } + else { + lastCall = now; + } + + for( var i in mediastyles ){ + if( mediastyles.hasOwnProperty( i ) ){ + var thisstyle = mediastyles[ i ], + min = thisstyle.minw, + max = thisstyle.maxw, + minnull = min === null, + maxnull = max === null, + em = "em"; + + if( !!min ){ + min = parseFloat( min ) * ( min.indexOf( em ) > -1 ? ( eminpx || getEmValue() ) : 1 ); + } + if( !!max ){ + max = parseFloat( max ) * ( max.indexOf( em ) > -1 ? ( eminpx || getEmValue() ) : 1 ); + } + + // if there's no media query at all (the () part), or min or max is not null, and if either is present, they're true + if( !thisstyle.hasquery || ( !minnull || !maxnull ) && ( minnull || currWidth >= min ) && ( maxnull || currWidth <= max ) ){ + if( !styleBlocks[ thisstyle.media ] ){ + styleBlocks[ thisstyle.media ] = []; + } + styleBlocks[ thisstyle.media ].push( rules[ thisstyle.rules ] ); + } + } + } + + //remove any existing respond style element(s) + for( var j in appendedEls ){ + if( appendedEls.hasOwnProperty( j ) ){ + if( appendedEls[ j ] && appendedEls[ j ].parentNode === head ){ + head.removeChild( appendedEls[ j ] ); + } + } + } + appendedEls.length = 0; + + //inject active styles, grouped by media type + for( var k in styleBlocks ){ + if( styleBlocks.hasOwnProperty( k ) ){ + var ss = doc.createElement( "style" ), + css = styleBlocks[ k ].join( "\n" ); + + ss.type = "text/css"; + ss.media = k; + + //originally, ss was appended to a documentFragment and sheets were appended in bulk. + //this caused crashes in IE in a number of circumstances, such as when the HTML element had a bg image set, so appending beforehand seems best. Thanks to @dvelyk for the initial research on this one! + head.insertBefore( ss, lastLink.nextSibling ); + + if ( ss.styleSheet ){ + ss.styleSheet.cssText = css; + } + else { + ss.appendChild( doc.createTextNode( css ) ); + } + + //push to appendedEls to track for later removal + appendedEls.push( ss ); + } + } + }, + //find media blocks in css text, convert to style blocks + translate = function( styles, href, media ){ + var qs = styles.replace( respond.regex.comments, '' ) + .replace( respond.regex.keyframes, '' ) + .match( respond.regex.media ), + ql = qs && qs.length || 0; + + //try to get CSS path + href = href.substring( 0, href.lastIndexOf( "/" ) ); + + var repUrls = function( css ){ + return css.replace( respond.regex.urls, "$1" + href + "$2$3" ); + }, + useMedia = !ql && media; + + //if path exists, tack on trailing slash + if( href.length ){ href += "/"; } + + //if no internal queries exist, but media attr does, use that + //note: this currently lacks support for situations where a media attr is specified on a link AND + //its associated stylesheet has internal CSS media queries. + //In those cases, the media attribute will currently be ignored. + if( useMedia ){ + ql = 1; + } + + for( var i = 0; i < ql; i++ ){ + var fullq, thisq, eachq, eql; + + //media attr + if( useMedia ){ + fullq = media; + rules.push( repUrls( styles ) ); + } + //parse for styles + else{ + fullq = qs[ i ].match( respond.regex.findStyles ) && RegExp.$1; + rules.push( RegExp.$2 && repUrls( RegExp.$2 ) ); + } + + eachq = fullq.split( "," ); + eql = eachq.length; + + for( var j = 0; j < eql; j++ ){ + thisq = eachq[ j ]; + + if( isUnsupportedMediaQuery( thisq ) ) { + continue; + } + + mediastyles.push( { + media : thisq.split( "(" )[ 0 ].match( respond.regex.only ) && RegExp.$2 || "all", + rules : rules.length - 1, + hasquery : thisq.indexOf("(") > -1, + minw : thisq.match( respond.regex.minw ) && parseFloat( RegExp.$1 ) + ( RegExp.$2 || "" ), + maxw : thisq.match( respond.regex.maxw ) && parseFloat( RegExp.$1 ) + ( RegExp.$2 || "" ) + } ); + } + } + + applyMedia(); + }, + + //recurse through request queue, get css text + makeRequests = function(){ + if( requestQueue.length ){ + var thisRequest = requestQueue.shift(); + + ajax( thisRequest.href, function( styles ){ + translate( styles, thisRequest.href, thisRequest.media ); + parsedSheets[ thisRequest.href ] = true; + + // by wrapping recursive function call in setTimeout + // we prevent "Stack overflow" error in IE7 + w.setTimeout(function(){ makeRequests(); },0); + } ); + } + }, + + //loop stylesheets, send text content to translate + ripCSS = function(){ + + for( var i = 0; i < links.length; i++ ){ + var sheet = links[ i ], + href = sheet.href, + media = sheet.media, + isCSS = sheet.rel && sheet.rel.toLowerCase() === "stylesheet"; + + //only links plz and prevent re-parsing + if( !!href && isCSS && !parsedSheets[ href ] ){ + // selectivizr exposes css through the rawCssText expando + if (sheet.styleSheet && sheet.styleSheet.rawCssText) { + translate( sheet.styleSheet.rawCssText, href, media ); + parsedSheets[ href ] = true; + } else { + if( (!/^([a-zA-Z:]*\/\/)/.test( href ) && !base) || + href.replace( RegExp.$1, "" ).split( "/" )[0] === w.location.host ){ + // IE7 doesn't handle urls that start with '//' for ajax request + // manually add in the protocol + if ( href.substring(0,2) === "//" ) { href = w.location.protocol + href; } + requestQueue.push( { + href: href, + media: media + } ); + } + } + } + } + makeRequests(); + }; + + //translate CSS + ripCSS(); + + //expose update for re-running respond later on + respond.update = ripCSS; + + //expose getEmValue + respond.getEmValue = getEmValue; + + //adjust on resize + function callMedia(){ + applyMedia( true ); + } + + if( w.addEventListener ){ + w.addEventListener( "resize", callMedia, false ); + } + else if( w.attachEvent ){ + w.attachEvent( "onresize", callMedia ); + } +})(this); diff --git a/night.jpg b/night.jpg new file mode 100644 index 0000000000000000000000000000000000000000..89c4a85d52ed5a9aa0159f39fcde7462fa0ddf46 GIT binary patch literal 56518 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 D703nv literal 0 HcmV?d00001 diff --git a/night2.jpg b/night2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cc91a63061d14d0788d8a8617939a793572554a2 GIT binary patch literal 55693 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 L_Q}n($ie>ypT1ie literal 0 HcmV?d00001 diff --git a/pages/about.rst b/pages/about.rst new file mode 100644 index 0000000..3269acc --- /dev/null +++ b/pages/about.rst @@ -0,0 +1,53 @@ +--- +layout: page +title: About +permalink: /about/ +--- + +Setup +======= + +Gli sketch utilizzano la libreria common presente nella cartella +``libraries/common/``: questa deve essere quindi inclusa tra le librerie +utilizzate. Un modo rapido per farlo e' settare nelle preferences dell'Arduino +IDE l'intero repo ``aerei_arduino`` come cartella degli sketchbook, oppure +copiare la cartella ``libraries/common`` dentro ``libraries`` dello sketchbook +attuale. + +Download +=============== + +Download tramite git: + git clone git://git.andreamanni.com/aerei + +Per aggiornare all'ultima versione:: + + cd ~/aerei + git pull + +* `Download manuale archivio <https://git.andreamanni.com/web?p=aerei;a=snapshot;h=HEAD;sf=tgz>`_ +* `Browse on line <https://aerei.piffa.net/repo/>`_ +* `Interfaccia git Web <https://git.andreamanni.com/web?p=aerei>`_ +* `Foum di Discussione <https://forum.piffa.net/viewforum.php?f=4&sid=aef380599d890d6e7b9f92743fab9d7e>`_ + +Libreria +------------ + +La sola libreria Common contenete gli oggetti base puo' essere scaricata direttamente nella vostra cartella libraries da: + git clone git://git.andreamanni.com/common + +* `Download manuale archivio <https://git.andreamanni.com/web?p=common;a=snapshot;h=HEAD;sf=tgz>`_ +* `Browse on line <https://aerei.piffa.net/repo/libraries/common/>`_ +* `Interfaccia git Web <https://git.andreamanni.com/web?p=common>`_ + + +Links +========= +Risorse utili per utilizzare Arduino: + +* Per poter programmare le schede Arduino: `Arduino IDE <https://www.arduino.cc/en/Main/Software#>`_ +* Risorse di Andrea: https://lab.piffa.net/ + * Wiki: http://wiki.piffa.net/ + * Forum: https://forum.piffa.net/ +* Testi consigliati: https://lab.piffa.net/testi.html +* Risorse online: http://wiki.piffa.net/index.php/Guide diff --git a/pages/setup.markdown b/pages/setup.markdown new file mode 100644 index 0000000..4e1ef85 --- /dev/null +++ b/pages/setup.markdown @@ -0,0 +1,76 @@ +--- +layout: default +permalink: setup +title: Installazione +tagline: Installazione +description: Come scaricare e installare la libreria e gli esempi. +categories: [main] +--- +Luci per Aerei con Arduino +========================== + +Sketches e librerie per la gestione delle luci di aeromodelli RC con +microcontroller compatibili con \*arduino + +Setup +----- + +Gli sketch utilizzano la libreria common presente nella cartella +`libraries/common/`: questa deve essere quindi inclusa tra le librerie +utilizzate. Un modo rapido per farlo eâ settare nelle preferences +dellâArduino IDE lâintero repo `aerei_arduino` come cartella degli +sketchbook, oppure copiare la cartella `libraries/common` dentro +`libraries` dello sketchbook attuale. + +Download +-------- + +Download tramite git: + +: git clone <git://git.andreamanni.com/aerei> + +Per aggiornare allâultima versione: + + cd ~/aerei + git pull + +- [Download manuale archivio] +- [Browse on line] +- [Interfaccia git Web] +- [Foum di Discussione] + +### Libreria + +La sola libreria Common contenete gli oggetti base puoâ essere scaricata direttamente nella vostra cartella libraries da: + +: git clone <git://git.andreamanni.com/common> + +- [Download manuale archivio][1] +- [Browse on line][2] +- [Interfaccia git Web][3] + +Links +----- + +Risorse utili per utilizzare Arduino: + +- Per poter programmare le schede Arduino: [Arduino IDE] +- + + Risorse di Andrea: <https://lab.piffa.net/> + + : - Wiki: <http://wiki.piffa.net/> + - Forum: <https://forum.piffa.net/> + +- Testi consigliati: <https://lab.piffa.net/testi.html> +- Risorse online: <http://wiki.piffa.net/index.php/Guide> + + [Download manuale archivio]: https://git.andreamanni.com/web?p=aerei;a=snapshot;h=HEAD;sf=tgz + [Browse on line]: https://aerei.piffa.net/repo/ + [Interfaccia git Web]: https://git.andreamanni.com/web?p=aerei + [Foum di Discussione]: https://forum.piffa.net/viewforum.php?f=4&sid=aef380599d890d6e7b9f92743fab9d7e + [1]: https://git.andreamanni.com/web?p=common;a=snapshot;h=HEAD;sf=tgz + [2]: https://aerei.piffa.net/repo/libraries/common/ + [3]: https://git.andreamanni.com/web?p=common + [Arduino IDE]: https://www.arduino.cc/en/Main/Software# + diff --git a/repo b/repo new file mode 160000 index 0000000..1bd7fb2 --- /dev/null +++ b/repo @@ -0,0 +1 @@ +Subproject commit 1bd7fb2b43bdccb600e5983f6fc8bcdedf4f01e7 -- 2.39.2