Mercurial > louis > mq > lightsd
view while42_sf.patch @ 544:a26f4890f73e
wip slides
author | Louis Opter <louis@opter.org> |
---|---|
date | Fri, 31 Mar 2017 08:31:11 -0700 |
parents | 7b1d94b70eee |
children | 53525e49d67b |
line wrap: on
line source
# HG changeset patch # Parent 72024b8586ab857434155a2f8a3f14bd9571646a slides: add slides for a small talk at while42 sf diff --git a/slides/fosdem_2017/CMakeLists.txt b/slides/2017-02-04_fosdem/CMakeLists.txt rename from slides/fosdem_2017/CMakeLists.txt rename to slides/2017-02-04_fosdem/CMakeLists.txt --- a/slides/fosdem_2017/CMakeLists.txt +++ b/slides/2017-02-04_fosdem/CMakeLists.txt @@ -1,1 +1,3 @@ +LIGHTSD_COPY_COMMON_LATEX() + ADD_LATEX_DOCUMENT(fosdem_2017.tex) diff --git a/slides/fosdem_2017/fosdem_2017.pdf b/slides/2017-02-04_fosdem/fosdem_2017.pdf rename from slides/fosdem_2017/fosdem_2017.pdf rename to slides/2017-02-04_fosdem/fosdem_2017.pdf diff --git a/slides/fosdem_2017/fosdem_2017.tex b/slides/2017-02-04_fosdem/fosdem_2017.tex rename from slides/fosdem_2017/fosdem_2017.tex rename to slides/2017-02-04_fosdem/fosdem_2017.tex --- a/slides/fosdem_2017/fosdem_2017.tex +++ b/slides/2017-02-04_fosdem/fosdem_2017.tex @@ -1,41 +1,16 @@ -\documentclass[utf8x,xcolor={usenames,svgnames}]{beamer} +\documentclass{lgtdslides} \usepackage{tikz} \usepackage{tikzsymbols} -\usepackage{lmodern} -\usepackage{arev} -\usepackage{tgbonum} -\usepackage{inconsolata} -\usepackage[T1]{fontenc} \usepackage[american]{babel} -\usepackage[fixlanguage]{babelbib} -\useoutertheme{infolines} -\setbeamertemplate{navigation symbols}{} -\setbeamertemplate{bibliography item}[text] -\setbeamerfont{footnote}{size=\tiny} - -\usetikzlibrary{% - calc, - decorations.pathreplacing, - decorations.pathmorphing, - shapes, - positioning -} +\usepackage{lgtdfigs} \title{Playing with the lights} \subtitle{\textit{Control WiFi-enabled LIFX light bulbs}} \date{Fosdem 2017, IoT track} \author{Louis Opter <louis@opter.org>} -% butts: -\tikzset{mbuttoff/.style={color=gray,rounded corners=1pt}} -\tikzset{mbuttvlow/.style={color=orange!20!gray,rounded corners=1pt}} -\tikzset{mbuttlow/.style={color=orange!35!gray,rounded corners=1pt}} -\tikzset{mbuttmed/.style={color=orange!50!gray,rounded corners=1pt}} -\tikzset{mbutthigh/.style={color=orange!80!gray,rounded corners=1pt}} -\tikzset{mbutton/.style={fill,color=orange!95!white,rounded corners=1pt}} - \tikzset{bubble/.style={fill,opacity=0.7,rounded corners=2pt}} \tikzset{arrow/.style={->, >=stealth,ultra thick,rounded corners}} \tikzset{controlpt/.style={opacity=0}} @@ -43,17 +18,6 @@ \tikzset{wifipath/.style={thick,opacity=0.8,decorate,decoration={name=expanding waves,angle=25,segment length=3.5}}} \tikzset{box/.style={draw,ultra thick, color=BeamerBlue, text=black, rectangle, rounded corners=1pt}} -\tikzset{screw/.style={decoration={name=snake,amplitude=0.1mm,segment length=0.6mm}}} - -\colorlet{plate}{Gainsboro} -\colorlet{case}{Sienna} -\colorlet{fgcolor}{White} -\definecolor{BeamerBlue}{RGB}{49,56,172} - -\colorlet{BodyColor}{Grey!90!black} -\colorlet{SocketColor}{Silver!90!black} -\colorlet{LightColor}{LightSlateBlue} - \begin{document} \begin{frame}\titlepage\end{frame} @@ -102,176 +66,14 @@ \node[box] (monolight) at (3.5,0.75) {monolight}; \node[box] (lightsd) at (0.5,-2) {lightsd}; \draw[ultra thick] (-1.46, 1.5) -| (monolight); -\node (monome) at (-3.5,1.5) {\begin{tikzpicture}[scale=0.5] -\coordinate (NW) at (-4, 1.75); -\coordinate (SE) at (3.86, -2.11); - -\fill[color=case,rounded corners=2pt] ($(NW) + (-0.18,0.18)$) rectangle ($(SE) + (0.18,-0.18)$); -\fill[color=plate,rounded corners=2pt] ($(NW) + (-0.10,0.10)$) rectangle ($(SE) + (0.10,-0.10)$); - -\foreach \x in {-4,-3.5,...,3.5} -\foreach \y in {1.75,1.25,...,-1.75} -\fill[mbuttoff] (\x, \y) rectangle +(0.36, -0.36); +\node (monome) at (-3.5,1.5) {\begin{tikzpicture} +\pic (0, 0) {monome={scale 0.5}}; \end{tikzpicture}}; -\node (bulbh) at (-4.2,-1.1) {% -\colorlet{LightColor}{LightSlateBlue} -\begin{tikzpicture}[scale=0.19,rotate=90] -% main body -\fill[color=BodyColor] - (-28mm,0) -- ++(0,32mm) -- ++(56mm,0) -- ++(0,-32mm) -- - ++(-10mm,-18mm) -- ++(-36mm,0) -- cycle; -% main body light -\draw[line width=1.5mm,line cap=round,rounded corners=1pt,color=BodyColor!80!white] - (-16mm,0.5mm) .. controls (0,-0.4mm) .. (16mm,0.5mm); -\draw[line width=2mm,rounded corners=1pt,color=BodyColor!80!white] - (16.5mm,32mm) -- ++(0,-32mm) -- ++(-15mm,-22mm); - -% led - body separator -\fill[color=BodyColor!90!black] (-20mm,32mm) -- ++(0,2.5mm) -- ++(40mm,0) -- ++(0,-2.5mm) -- cycle; - -% led part -\fill[color=LightColor] - (-28mm,34.5mm) -- ++(0,14mm) - .. controls ++(28mm,1mm) .. ++(56mm,0) - -- ++(0,-14mm) -- cycle; - -% lower body -\fill[color=BodyColor!90!black] - (-14mm,-18mm) -- ++(0,-18mm) -- - ++(2mm,-2mm) -- ++(24mm,0) -- ++(2mm,2mm) - -- ++(0,18mm); - -% socket -\fill[color=SocketColor] - (-10mm,-38mm) -- ++(0,-4mm) - decorate[screw] {(-10mm,-42mm) -- ++(0,-10mm)} - -- ++(0,-0.5mm) -- ++(7.5mm,-6mm) -- ++(5mm,0) -- ++(7.5mm,6mm) -- ++(0,0.5mm) - decorate[screw] {(10mm,-52mm) -- ++(0,10mm)} - -- (10mm,-38mm) -- ++(-20mm,0) -- ++(0,-4mm) -- cycle; -\draw[thin,color=SocketColor] (-10mm,-42mm) -- (10mm,-52mm); - -% socket light -\draw[line width=1mm,line cap=round,rounded corners=1pt,color=SocketColor!90!white] - (4.5mm,-38mm) -- ++(0,-14mm) -- ++(-4mm,-2.5mm); - -% lower body light -\draw[line width=1.8mm,color=BodyColor] - (5mm,-18mm) -- ++(0,-20mm); - -% led - body separator light -\draw[line width=1.6mm, color=BodyColor] (16mm,32mm) -- ++(0,2.5mm); -% led - body separator shade -\draw[thin, color=BodyColor!80!black] (-20mm,32mm) -- ++(0,2.5mm); -\draw[thin, color=BodyColor!80!black] (20mm,32mm) -- ++(0,2.5mm); - -% socket shade -\draw[color=SocketColor!80!black] - (-10mm,-38mm) -- ++(0,-4mm) - decorate[screw] {(-10mm,-42mm) -- ++(0,-10mm)} - -- ++(0,-0.5mm) -- ++(7.5mm,-6mm) -- ++(5mm,0) -- ++(7.5mm,6mm) -- ++(0,0.5mm) - decorate[screw] {(10mm,-52mm) -- ++(0,10mm)} - -- (10mm,-38mm); -\draw[color=fgcolor] - (-10mm,-52.5mm) -- ++(7.5mm,-6mm) -- ++(5mm,0) -- ++(7.5mm,6mm); -\draw[rounded corners=1pt,color=SocketColor!80!black] - (-10mm,-52.5mm) -- ++(7.5mm,-6mm) -- ++(5mm,0) -- ++(7.5mm,6mm); - -% lower body shade -\draw[rounded corners=1pt,color=BodyColor!50!black] - (-14mm,-18mm) -- ++(0,-18mm) -- - ++(2mm,-2mm) -- ++(24mm,0) -- ++(2mm,2mm) - -- ++(0,18mm); - -% body shade -\draw[thick,rounded corners=1pt,color=BodyColor!60!black] - (-28mm,0) -- ++(0,32mm) -- ++(56mm,0) -- ++(0,-32mm) -- - ++(-10mm,-18mm) -- ++(-36mm,0) -- cycle; - -% led shade -\draw[thick,rounded corners=1pt,color=LightColor!70!white] - (-28mm,34.5mm) -- ++(0,14mm) - .. controls ++(28mm,1mm) .. ++(56mm,0) - -- ++(0,-14mm) -- cycle; +\node (bulbh) at (-4.2,-1.1) {\begin{tikzpicture} +\pic (0, 0) {lightbulb={LightSlateBlue scale 0.19 rotate 90}}; \end{tikzpicture}}; -\node (bulbl) at (-4.2,-2.9) {% -\colorlet{LightColor}{IndianRed} -\begin{tikzpicture}[scale=0.19,rotate=90] -% main body -\fill[color=BodyColor] - (-28mm,0) -- ++(0,32mm) -- ++(56mm,0) -- ++(0,-32mm) -- - ++(-10mm,-18mm) -- ++(-36mm,0) -- cycle; -% main body light -\draw[line width=1.5mm,line cap=round,rounded corners=1pt,color=BodyColor!80!white] - (-16mm,0.5mm) .. controls (0,-0.4mm) .. (16mm,0.5mm); -\draw[line width=2mm,rounded corners=1pt,color=BodyColor!80!white] - (16.5mm,32mm) -- ++(0,-32mm) -- ++(-15mm,-22mm); - -% led - body separator -\fill[color=BodyColor!90!black] (-20mm,32mm) -- ++(0,2.5mm) -- ++(40mm,0) -- ++(0,-2.5mm) -- cycle; - -% led part -\fill[color=LightColor] - (-28mm,34.5mm) -- ++(0,14mm) - .. controls ++(28mm,1mm) .. ++(56mm,0) - -- ++(0,-14mm) -- cycle; - -% lower body -\fill[color=BodyColor!90!black] - (-14mm,-18mm) -- ++(0,-18mm) -- - ++(2mm,-2mm) -- ++(24mm,0) -- ++(2mm,2mm) - -- ++(0,18mm); - -% socket -\fill[color=SocketColor] - (-10mm,-38mm) -- ++(0,-4mm) - decorate[screw] {(-10mm,-42mm) -- ++(0,-10mm)} - -- ++(0,-0.5mm) -- ++(7.5mm,-6mm) -- ++(5mm,0) -- ++(7.5mm,6mm) -- ++(0,0.5mm) - decorate[screw] {(10mm,-52mm) -- ++(0,10mm)} - -- (10mm,-38mm) -- ++(-20mm,0) -- ++(0,-4mm) -- cycle; -\draw[thin,color=SocketColor] (-10mm,-42mm) -- (10mm,-52mm); - -% socket light -\draw[line width=1mm,line cap=round,rounded corners=1pt,color=SocketColor!90!white] - (4.5mm,-38mm) -- ++(0,-14mm) -- ++(-4mm,-2.5mm); - -% lower body light -\draw[line width=1.8mm,color=BodyColor] - (5mm,-18mm) -- ++(0,-20mm); - -% led - body separator light -\draw[line width=1.6mm, color=BodyColor] (16mm,32mm) -- ++(0,2.5mm); -% led - body separator shade -\draw[thin, color=BodyColor!80!black] (-20mm,32mm) -- ++(0,2.5mm); -\draw[thin, color=BodyColor!80!black] (20mm,32mm) -- ++(0,2.5mm); - -% socket shade -\draw[color=SocketColor!80!black] - (-10mm,-38mm) -- ++(0,-4mm) - decorate[screw] {(-10mm,-42mm) -- ++(0,-10mm)} - -- ++(0,-0.5mm) -- ++(7.5mm,-6mm) -- ++(5mm,0) -- ++(7.5mm,6mm) -- ++(0,0.5mm) - decorate[screw] {(10mm,-52mm) -- ++(0,10mm)} - -- (10mm,-38mm); -\draw[color=fgcolor] - (-10mm,-52.5mm) -- ++(7.5mm,-6mm) -- ++(5mm,0) -- ++(7.5mm,6mm); -\draw[rounded corners=1pt,color=SocketColor!80!black] - (-10mm,-52.5mm) -- ++(7.5mm,-6mm) -- ++(5mm,0) -- ++(7.5mm,6mm); - -% lower body shade -\draw[rounded corners=1pt,color=BodyColor!50!black] - (-14mm,-18mm) -- ++(0,-18mm) -- - ++(2mm,-2mm) -- ++(24mm,0) -- ++(2mm,2mm) - -- ++(0,18mm); - -% body shade -\draw[thick,rounded corners=1pt,color=BodyColor!60!black] - (-28mm,0) -- ++(0,32mm) -- ++(56mm,0) -- ++(0,-32mm) -- - ++(-10mm,-18mm) -- ++(-36mm,0) -- cycle; - -% led shade -\draw[thick,rounded corners=1pt,color=LightColor!70!white] - (-28mm,34.5mm) -- ++(0,14mm) - .. controls ++(28mm,1mm) .. ++(56mm,0) - -- ++(0,-14mm) -- cycle; +\node (bulbl) at (-4.2,-2.9) {\begin{tikzpicture} +\pic (0, 0) {lightbulb={IndianRed scale 0.19 rotate 90}}; \end{tikzpicture}}; \draw[ultra thick] (lightsd) -| (monolight); @@ -314,24 +116,8 @@ \begin{frame}{The grid} \begin{center} -\begin{tikzpicture}[overlay,scale=1.2] -\coordinate (NW) at (-4, 1.75); -\coordinate (NE) at (3.86, 1.75); -\coordinate (SW) at (-4, -2.11); -\coordinate (SE) at (3.86, -2.11); -\coordinate (b0) at (-4, 1.75); - -\fill[color=case,rounded corners=2pt] ($(NW) + (-0.18,0.18)$) rectangle ($(SE) + (0.18,-0.18)$); -\fill[color=plate,rounded corners=2pt] ($(NW) + (-0.10,0.10)$) rectangle ($(SE) + (0.10,-0.10)$); - -\fill[controlpt] (NW) circle (0.1); -\fill[controlpt] (SW) circle (0.1); -\fill[controlpt] (NE) circle (0.1); -\fill[controlpt] (SE) circle (0.1); - -\foreach \x in {-4,-3.5,...,3.5} -\foreach \y in {1.75,1.25,...,-1.75} -\fill[mbuttoff] (\x, \y) rectangle +(0.36, -0.36); +\begin{tikzpicture}[overlay] +\pic (0, 0) {monome={scale 1.2}}; \end{tikzpicture} \end{center} \end{frame} @@ -340,25 +126,7 @@ \begin{center} \begin{tikzpicture}[overlay,scale=1.2] \onslide<1->{% -\coordinate (NW) at (-4, 1.75); -\coordinate (NE) at (3.86, 1.75); -\coordinate (SW) at (-4, -2.11); -\coordinate (SE) at (3.86, -2.11); -\coordinate (b0) at (-4, 1.75); -\coordinate (b16) at (-3.82,1.07); -\coordinate (b32) at (-3.82,0.57); - -\fill[color=case,rounded corners=2pt] ($(NW) + (-0.18,0.18)$) rectangle ($(SE) + (0.18,-0.18)$); -\fill[color=plate,rounded corners=2pt] ($(NW) + (-0.10,0.10)$) rectangle ($(SE) + (0.10,-0.10)$); - -\fill[controlpt] (NW) circle (0.1); -\fill[controlpt] (SW) circle (0.1); -\fill[controlpt] (NE) circle (0.1); -\fill[controlpt] (SE) circle (0.1); - -\foreach \x in {-4,-3.5,...,3.5} -\foreach \y in {1.75,1.25,...,-1.75} -\fill[mbuttoff] (\x, \y) rectangle +(0.36, -0.36); +\pic (0, 0) {monome={scale 1.2}}; \foreach \x in {-4,-3.5,...,3.5} \fill[mbutton] (\x, -1.75) rectangle +(0.36, -0.36); @@ -401,6 +169,7 @@ ($(b115.north west) + (-0.1,0.35)$) -- ($(b116.north east) + (0.1,0.35)$); } \onslide<3->{% +\coordinate (b0) at (-4, 1.75); \draw ($(b0) + (-0.25, 0)$) node[below right] {% \begin{minipage}{10cm} Other ideas: @@ -416,26 +185,11 @@ \end{center} \end{frame} -%\node[rectangle] (b112) at (-3.82,-1.93) {}; -%\fill ($(b112.west) + (-1,1)$) circle (0.1); -%\fill ($(b112.west) + (-0.5,0.25)$) circle (0.1); - -%\node[rectangle] (b0) at (-3.82,1.57) {0}; -%\node[rectangle] (b99) at (-2.32,-1.43) {99}; -%\node[bubble,color=LightGreen,fit=(b0) (b99)] (BLOCK) {}; - \begin{frame}{Target control pads x4} \begin{center} \begin{tikzpicture}[overlay,scale=1.2] \onslide<1->{% -\coordinate (NW) at (-4, 1.75); -\coordinate (NE) at (3.86, 1.75); -\coordinate (SW) at (-4, -2.11); -\coordinate (SE) at (3.86, -2.11); -\coordinate (b0) at (-4, 1.75); - -\fill[color=case,rounded corners=2pt] ($(NW) + (-0.18,0.18)$) rectangle ($(SE) + (0.18,-0.18)$); -\fill[color=plate,rounded corners=2pt] ($(NW) + (-0.10,0.10)$) rectangle ($(SE) + (0.10,-0.10)$); +\pic (0, 0) {monome={scale 1.2}}; \foreach \x in {-4,-3.5,...,-2.5} \foreach \y in {1.75,1.25,...,-1.25} @@ -455,11 +209,6 @@ \foreach \x in {-4,-3.5,...,3.5} \fill[mbuttoff] (\x, -1.75) rectangle +(0.36, -0.36); - -\fill[controlpt] (NW) circle (0.1); -\fill[controlpt] (SW) circle (0.1); -\fill[controlpt] (NE) circle (0.1); -\fill[controlpt] (SE) circle (0.1); } \onslide<2->{% \foreach \y in {1.75,1.25,...,-1.25} @@ -545,27 +294,14 @@ \begin{center} \begin{tikzpicture}[overlay,scale=1.2] \onslide<1->{% -\coordinate (NW) at (-4, 1.75); -\coordinate (NE) at (3.86, 1.75); -\coordinate (SW) at (-4, -2.11); -\coordinate (SE) at (3.86, -2.11); -\coordinate (caption) at ($(NW) + (-1.155,0.65)$); +\pic (0, 0) {monome={scale 1.2}}; -\fill[color=case,rounded corners=2pt] ($(NW) + (-0.18,0.18)$) rectangle ($(SE) + (0.18,-0.18)$); -\fill[color=plate,rounded corners=2pt] ($(NW) + (-0.10,0.10)$) rectangle ($(SE) + (0.10,-0.10)$); - -\foreach \x in {-4,-3.5,...,3.5} -\foreach \y in {1.75,1.25,...,-1.75} -\fill[mbuttoff] (\x, \y) rectangle +(0.36, -0.36); % blank grid +\coordinate (NW) at (-4, 1.75); +\coordinate (caption) at ($(NW) + (-1.155,0.65)$); \foreach \x in {-4,-3.5,...,-1} \fill[mbutton] (\x, -1.75) rectangle +(0.36, -0.36); % function row -\fill[controlpt] (NW) circle (0.1); -\fill[controlpt] (SW) circle (0.1); -\fill[controlpt] (NE) circle (0.1); -\fill[controlpt] (SE) circle (0.1); - \node[rectangle] (b117) at (-1.32,-1.93) {}; \node[rectangle] (b118) at (-0.82,-1.93) {}; } @@ -693,176 +429,14 @@ \node[box] (monolight) at (3.5,0.75) {monolight}; \node[box] (lightsd) at (0.5,-2) {lightsd}; \draw[ultra thick] (-1.46, 1.5) -| (monolight); -\node (monome) at (-3.5,1.5) {\begin{tikzpicture}[scale=0.5] -\coordinate (NW) at (-4, 1.75); -\coordinate (SE) at (3.86, -2.11); - -\fill[color=case,rounded corners=2pt] ($(NW) + (-0.18,0.18)$) rectangle ($(SE) + (0.18,-0.18)$); -\fill[color=plate,rounded corners=2pt] ($(NW) + (-0.10,0.10)$) rectangle ($(SE) + (0.10,-0.10)$); - -\foreach \x in {-4,-3.5,...,3.5} -\foreach \y in {1.75,1.25,...,-1.75} -\fill[mbuttoff] (\x, \y) rectangle +(0.36, -0.36); +\node (monome) at (-3.5,1.5) {\begin{tikzpicture} +\pic (0, 0) {monome={scale 0.5}}; \end{tikzpicture}}; -\node (bulbh) at (-4.2,-1.1) {% -\colorlet{LightColor}{LightSlateBlue} -\begin{tikzpicture}[scale=0.19,rotate=90] -% main body -\fill[color=BodyColor] - (-28mm,0) -- ++(0,32mm) -- ++(56mm,0) -- ++(0,-32mm) -- - ++(-10mm,-18mm) -- ++(-36mm,0) -- cycle; -% main body light -\draw[line width=1.5mm,line cap=round,rounded corners=1pt,color=BodyColor!80!white] - (-16mm,0.5mm) .. controls (0,-0.4mm) .. (16mm,0.5mm); -\draw[line width=2mm,rounded corners=1pt,color=BodyColor!80!white] - (16.5mm,32mm) -- ++(0,-32mm) -- ++(-15mm,-22mm); - -% led - body separator -\fill[color=BodyColor!90!black] (-20mm,32mm) -- ++(0,2.5mm) -- ++(40mm,0) -- ++(0,-2.5mm) -- cycle; - -% led part -\fill[color=LightColor] - (-28mm,34.5mm) -- ++(0,14mm) - .. controls ++(28mm,1mm) .. ++(56mm,0) - -- ++(0,-14mm) -- cycle; - -% lower body -\fill[color=BodyColor!90!black] - (-14mm,-18mm) -- ++(0,-18mm) -- - ++(2mm,-2mm) -- ++(24mm,0) -- ++(2mm,2mm) - -- ++(0,18mm); - -% socket -\fill[color=SocketColor] - (-10mm,-38mm) -- ++(0,-4mm) - decorate[screw] {(-10mm,-42mm) -- ++(0,-10mm)} - -- ++(0,-0.5mm) -- ++(7.5mm,-6mm) -- ++(5mm,0) -- ++(7.5mm,6mm) -- ++(0,0.5mm) - decorate[screw] {(10mm,-52mm) -- ++(0,10mm)} - -- (10mm,-38mm) -- ++(-20mm,0) -- ++(0,-4mm) -- cycle; -\draw[thin,color=SocketColor] (-10mm,-42mm) -- (10mm,-52mm); - -% socket light -\draw[line width=1mm,line cap=round,rounded corners=1pt,color=SocketColor!90!white] - (4.5mm,-38mm) -- ++(0,-14mm) -- ++(-4mm,-2.5mm); - -% lower body light -\draw[line width=1.8mm,color=BodyColor] - (5mm,-18mm) -- ++(0,-20mm); - -% led - body separator light -\draw[line width=1.6mm, color=BodyColor] (16mm,32mm) -- ++(0,2.5mm); -% led - body separator shade -\draw[thin, color=BodyColor!80!black] (-20mm,32mm) -- ++(0,2.5mm); -\draw[thin, color=BodyColor!80!black] (20mm,32mm) -- ++(0,2.5mm); - -% socket shade -\draw[color=SocketColor!80!black] - (-10mm,-38mm) -- ++(0,-4mm) - decorate[screw] {(-10mm,-42mm) -- ++(0,-10mm)} - -- ++(0,-0.5mm) -- ++(7.5mm,-6mm) -- ++(5mm,0) -- ++(7.5mm,6mm) -- ++(0,0.5mm) - decorate[screw] {(10mm,-52mm) -- ++(0,10mm)} - -- (10mm,-38mm); -\draw[color=fgcolor] - (-10mm,-52.5mm) -- ++(7.5mm,-6mm) -- ++(5mm,0) -- ++(7.5mm,6mm); -\draw[rounded corners=1pt,color=SocketColor!80!black] - (-10mm,-52.5mm) -- ++(7.5mm,-6mm) -- ++(5mm,0) -- ++(7.5mm,6mm); - -% lower body shade -\draw[rounded corners=1pt,color=BodyColor!50!black] - (-14mm,-18mm) -- ++(0,-18mm) -- - ++(2mm,-2mm) -- ++(24mm,0) -- ++(2mm,2mm) - -- ++(0,18mm); - -% body shade -\draw[thick,rounded corners=1pt,color=BodyColor!60!black] - (-28mm,0) -- ++(0,32mm) -- ++(56mm,0) -- ++(0,-32mm) -- - ++(-10mm,-18mm) -- ++(-36mm,0) -- cycle; - -% led shade -\draw[thick,rounded corners=1pt,color=LightColor!70!white] - (-28mm,34.5mm) -- ++(0,14mm) - .. controls ++(28mm,1mm) .. ++(56mm,0) - -- ++(0,-14mm) -- cycle; +\node (bulbh) at (-4.2,-1.1) {\begin{tikzpicture} +\pic (0, 0) {lightbulb={LightSlateBlue scale 0.19 rotate 90}}; \end{tikzpicture}}; -\node (bulbl) at (-4.2,-2.9) {% -\colorlet{LightColor}{IndianRed} -\begin{tikzpicture}[scale=0.19,rotate=90] -% main body -\fill[color=BodyColor] - (-28mm,0) -- ++(0,32mm) -- ++(56mm,0) -- ++(0,-32mm) -- - ++(-10mm,-18mm) -- ++(-36mm,0) -- cycle; -% main body light -\draw[line width=1.5mm,line cap=round,rounded corners=1pt,color=BodyColor!80!white] - (-16mm,0.5mm) .. controls (0,-0.4mm) .. (16mm,0.5mm); -\draw[line width=2mm,rounded corners=1pt,color=BodyColor!80!white] - (16.5mm,32mm) -- ++(0,-32mm) -- ++(-15mm,-22mm); - -% led - body separator -\fill[color=BodyColor!90!black] (-20mm,32mm) -- ++(0,2.5mm) -- ++(40mm,0) -- ++(0,-2.5mm) -- cycle; - -% led part -\fill[color=LightColor] - (-28mm,34.5mm) -- ++(0,14mm) - .. controls ++(28mm,1mm) .. ++(56mm,0) - -- ++(0,-14mm) -- cycle; - -% lower body -\fill[color=BodyColor!90!black] - (-14mm,-18mm) -- ++(0,-18mm) -- - ++(2mm,-2mm) -- ++(24mm,0) -- ++(2mm,2mm) - -- ++(0,18mm); - -% socket -\fill[color=SocketColor] - (-10mm,-38mm) -- ++(0,-4mm) - decorate[screw] {(-10mm,-42mm) -- ++(0,-10mm)} - -- ++(0,-0.5mm) -- ++(7.5mm,-6mm) -- ++(5mm,0) -- ++(7.5mm,6mm) -- ++(0,0.5mm) - decorate[screw] {(10mm,-52mm) -- ++(0,10mm)} - -- (10mm,-38mm) -- ++(-20mm,0) -- ++(0,-4mm) -- cycle; -\draw[thin,color=SocketColor] (-10mm,-42mm) -- (10mm,-52mm); - -% socket light -\draw[line width=1mm,line cap=round,rounded corners=1pt,color=SocketColor!90!white] - (4.5mm,-38mm) -- ++(0,-14mm) -- ++(-4mm,-2.5mm); - -% lower body light -\draw[line width=1.8mm,color=BodyColor] - (5mm,-18mm) -- ++(0,-20mm); - -% led - body separator light -\draw[line width=1.6mm, color=BodyColor] (16mm,32mm) -- ++(0,2.5mm); -% led - body separator shade -\draw[thin, color=BodyColor!80!black] (-20mm,32mm) -- ++(0,2.5mm); -\draw[thin, color=BodyColor!80!black] (20mm,32mm) -- ++(0,2.5mm); - -% socket shade -\draw[color=SocketColor!80!black] - (-10mm,-38mm) -- ++(0,-4mm) - decorate[screw] {(-10mm,-42mm) -- ++(0,-10mm)} - -- ++(0,-0.5mm) -- ++(7.5mm,-6mm) -- ++(5mm,0) -- ++(7.5mm,6mm) -- ++(0,0.5mm) - decorate[screw] {(10mm,-52mm) -- ++(0,10mm)} - -- (10mm,-38mm); -\draw[color=fgcolor] - (-10mm,-52.5mm) -- ++(7.5mm,-6mm) -- ++(5mm,0) -- ++(7.5mm,6mm); -\draw[rounded corners=1pt,color=SocketColor!80!black] - (-10mm,-52.5mm) -- ++(7.5mm,-6mm) -- ++(5mm,0) -- ++(7.5mm,6mm); - -% lower body shade -\draw[rounded corners=1pt,color=BodyColor!50!black] - (-14mm,-18mm) -- ++(0,-18mm) -- - ++(2mm,-2mm) -- ++(24mm,0) -- ++(2mm,2mm) - -- ++(0,18mm); - -% body shade -\draw[thick,rounded corners=1pt,color=BodyColor!60!black] - (-28mm,0) -- ++(0,32mm) -- ++(56mm,0) -- ++(0,-32mm) -- - ++(-10mm,-18mm) -- ++(-36mm,0) -- cycle; - -% led shade -\draw[thick,rounded corners=1pt,color=LightColor!70!white] - (-28mm,34.5mm) -- ++(0,14mm) - .. controls ++(28mm,1mm) .. ++(56mm,0) - -- ++(0,-14mm) -- cycle; +\node (bulbl) at (-4.2,-2.9) {\begin{tikzpicture} +\pic (0, 0) {lightbulb={IndianRed scale 0.19 rotate 90}}; \end{tikzpicture}}; \draw[ultra thick] (lightsd) -| (monolight); @@ -1051,178 +625,16 @@ \node[box,color=black] (serialoscd) at (0.5,1.5) {serialoscd}; \draw[ultra thick] (-1.46, 2.2) -| node[above, pos=0.4] {Serial \small{(FTDI)}} (serialoscd); -\node (monome) at (-3.5,1.5) {\begin{tikzpicture}[scale=0.5] -\coordinate (NW) at (-4, 1.75); -\coordinate (SE) at (3.86, -2.11); - -\fill[color=case,rounded corners=2pt] ($(NW) + (-0.18,0.18)$) rectangle ($(SE) + (0.18,-0.18)$); -\fill[color=plate,rounded corners=2pt] ($(NW) + (-0.10,0.10)$) rectangle ($(SE) + (0.10,-0.10)$); - -\foreach \x in {-4,-3.5,...,3.5} -\foreach \y in {1.75,1.25,...,-1.75} -\fill[mbuttoff] (\x, \y) rectangle +(0.36, -0.36); +\node (monome) at (-3.5,1.5) {\begin{tikzpicture} +\pic (0, 0) {monome={scale 0.5}}; \end{tikzpicture}}; \node[box] (monolight) at (3.5,-0.25) {monolight}; \node[box] (lightsd) at (0.5,-2) {lightsd}; -\node (bulbh) at (-4.2,-1.1) {% -\colorlet{LightColor}{LightSlateBlue} -\begin{tikzpicture}[scale=0.19,rotate=90] -% main body -\fill[color=BodyColor] - (-28mm,0) -- ++(0,32mm) -- ++(56mm,0) -- ++(0,-32mm) -- - ++(-10mm,-18mm) -- ++(-36mm,0) -- cycle; -% main body light -\draw[line width=1.5mm,line cap=round,rounded corners=1pt,color=BodyColor!80!white] - (-16mm,0.5mm) .. controls (0,-0.4mm) .. (16mm,0.5mm); -\draw[line width=2mm,rounded corners=1pt,color=BodyColor!80!white] - (16.5mm,32mm) -- ++(0,-32mm) -- ++(-15mm,-22mm); - -% led - body separator -\fill[color=BodyColor!90!black] (-20mm,32mm) -- ++(0,2.5mm) -- ++(40mm,0) -- ++(0,-2.5mm) -- cycle; - -% led part -\fill[color=LightColor] - (-28mm,34.5mm) -- ++(0,14mm) - .. controls ++(28mm,1mm) .. ++(56mm,0) - -- ++(0,-14mm) -- cycle; - -% lower body -\fill[color=BodyColor!90!black] - (-14mm,-18mm) -- ++(0,-18mm) -- - ++(2mm,-2mm) -- ++(24mm,0) -- ++(2mm,2mm) - -- ++(0,18mm); - -% socket -\fill[color=SocketColor] - (-10mm,-38mm) -- ++(0,-4mm) - decorate[screw] {(-10mm,-42mm) -- ++(0,-10mm)} - -- ++(0,-0.5mm) -- ++(7.5mm,-6mm) -- ++(5mm,0) -- ++(7.5mm,6mm) -- ++(0,0.5mm) - decorate[screw] {(10mm,-52mm) -- ++(0,10mm)} - -- (10mm,-38mm) -- ++(-20mm,0) -- ++(0,-4mm) -- cycle; -\draw[thin,color=SocketColor] (-10mm,-42mm) -- (10mm,-52mm); - -% socket light -\draw[line width=1mm,line cap=round,rounded corners=1pt,color=SocketColor!90!white] - (4.5mm,-38mm) -- ++(0,-14mm) -- ++(-4mm,-2.5mm); - -% lower body light -\draw[line width=1.8mm,color=BodyColor] - (5mm,-18mm) -- ++(0,-20mm); - -% led - body separator light -\draw[line width=1.6mm, color=BodyColor] (16mm,32mm) -- ++(0,2.5mm); -% led - body separator shade -\draw[thin, color=BodyColor!80!black] (-20mm,32mm) -- ++(0,2.5mm); -\draw[thin, color=BodyColor!80!black] (20mm,32mm) -- ++(0,2.5mm); - -% socket shade -\draw[color=SocketColor!80!black] - (-10mm,-38mm) -- ++(0,-4mm) - decorate[screw] {(-10mm,-42mm) -- ++(0,-10mm)} - -- ++(0,-0.5mm) -- ++(7.5mm,-6mm) -- ++(5mm,0) -- ++(7.5mm,6mm) -- ++(0,0.5mm) - decorate[screw] {(10mm,-52mm) -- ++(0,10mm)} - -- (10mm,-38mm); -\draw[color=fgcolor] - (-10mm,-52.5mm) -- ++(7.5mm,-6mm) -- ++(5mm,0) -- ++(7.5mm,6mm); -\draw[rounded corners=1pt,color=SocketColor!80!black] - (-10mm,-52.5mm) -- ++(7.5mm,-6mm) -- ++(5mm,0) -- ++(7.5mm,6mm); - -% lower body shade -\draw[rounded corners=1pt,color=BodyColor!50!black] - (-14mm,-18mm) -- ++(0,-18mm) -- - ++(2mm,-2mm) -- ++(24mm,0) -- ++(2mm,2mm) - -- ++(0,18mm); - -% body shade -\draw[thick,rounded corners=1pt,color=BodyColor!60!black] - (-28mm,0) -- ++(0,32mm) -- ++(56mm,0) -- ++(0,-32mm) -- - ++(-10mm,-18mm) -- ++(-36mm,0) -- cycle; - -% led shade -\draw[thick,rounded corners=1pt,color=LightColor!70!white] - (-28mm,34.5mm) -- ++(0,14mm) - .. controls ++(28mm,1mm) .. ++(56mm,0) - -- ++(0,-14mm) -- cycle; +\node (bulbh) at (-4.2,-1.1) {\begin{tikzpicture} +\pic (0, 0) {lightbulb={LightSlateBlue scale 0.19 rotate 90}}; \end{tikzpicture}}; -\node (bulbl) at (-4.2,-2.9) {% -\colorlet{LightColor}{IndianRed} -\begin{tikzpicture}[scale=0.19,rotate=90] -% main body -\fill[color=BodyColor] - (-28mm,0) -- ++(0,32mm) -- ++(56mm,0) -- ++(0,-32mm) -- - ++(-10mm,-18mm) -- ++(-36mm,0) -- cycle; -% main body light -\draw[line width=1.5mm,line cap=round,rounded corners=1pt,color=BodyColor!80!white] - (-16mm,0.5mm) .. controls (0,-0.4mm) .. (16mm,0.5mm); -\draw[line width=2mm,rounded corners=1pt,color=BodyColor!80!white] - (16.5mm,32mm) -- ++(0,-32mm) -- ++(-15mm,-22mm); - -% led - body separator -\fill[color=BodyColor!90!black] (-20mm,32mm) -- ++(0,2.5mm) -- ++(40mm,0) -- ++(0,-2.5mm) -- cycle; - -% led part -\fill[color=LightColor] - (-28mm,34.5mm) -- ++(0,14mm) - .. controls ++(28mm,1mm) .. ++(56mm,0) - -- ++(0,-14mm) -- cycle; - -% lower body -\fill[color=BodyColor!90!black] - (-14mm,-18mm) -- ++(0,-18mm) -- - ++(2mm,-2mm) -- ++(24mm,0) -- ++(2mm,2mm) - -- ++(0,18mm); - -% socket -\fill[color=SocketColor] - (-10mm,-38mm) -- ++(0,-4mm) - decorate[screw] {(-10mm,-42mm) -- ++(0,-10mm)} - -- ++(0,-0.5mm) -- ++(7.5mm,-6mm) -- ++(5mm,0) -- ++(7.5mm,6mm) -- ++(0,0.5mm) - decorate[screw] {(10mm,-52mm) -- ++(0,10mm)} - -- (10mm,-38mm) -- ++(-20mm,0) -- ++(0,-4mm) -- cycle; -\draw[thin,color=SocketColor] (-10mm,-42mm) -- (10mm,-52mm); - -% socket light -\draw[line width=1mm,line cap=round,rounded corners=1pt,color=SocketColor!90!white] - (4.5mm,-38mm) -- ++(0,-14mm) -- ++(-4mm,-2.5mm); - -% lower body light -\draw[line width=1.8mm,color=BodyColor] - (5mm,-18mm) -- ++(0,-20mm); - -% led - body separator light -\draw[line width=1.6mm, color=BodyColor] (16mm,32mm) -- ++(0,2.5mm); -% led - body separator shade -\draw[thin, color=BodyColor!80!black] (-20mm,32mm) -- ++(0,2.5mm); -\draw[thin, color=BodyColor!80!black] (20mm,32mm) -- ++(0,2.5mm); - -% socket shade -\draw[color=SocketColor!80!black] - (-10mm,-38mm) -- ++(0,-4mm) - decorate[screw] {(-10mm,-42mm) -- ++(0,-10mm)} - -- ++(0,-0.5mm) -- ++(7.5mm,-6mm) -- ++(5mm,0) -- ++(7.5mm,6mm) -- ++(0,0.5mm) - decorate[screw] {(10mm,-52mm) -- ++(0,10mm)} - -- (10mm,-38mm); -\draw[color=fgcolor] - (-10mm,-52.5mm) -- ++(7.5mm,-6mm) -- ++(5mm,0) -- ++(7.5mm,6mm); -\draw[rounded corners=1pt,color=SocketColor!80!black] - (-10mm,-52.5mm) -- ++(7.5mm,-6mm) -- ++(5mm,0) -- ++(7.5mm,6mm); - -% lower body shade -\draw[rounded corners=1pt,color=BodyColor!50!black] - (-14mm,-18mm) -- ++(0,-18mm) -- - ++(2mm,-2mm) -- ++(24mm,0) -- ++(2mm,2mm) - -- ++(0,18mm); - -% body shade -\draw[thick,rounded corners=1pt,color=BodyColor!60!black] - (-28mm,0) -- ++(0,32mm) -- ++(56mm,0) -- ++(0,-32mm) -- - ++(-10mm,-18mm) -- ++(-36mm,0) -- cycle; - -% led shade -\draw[thick,rounded corners=1pt,color=LightColor!70!white] - (-28mm,34.5mm) -- ++(0,14mm) - .. controls ++(28mm,1mm) .. ++(56mm,0) - -- ++(0,-14mm) -- cycle; +\node (bulbl) at (-4.2,-2.9) {\begin{tikzpicture} +\pic (0, 0) {lightbulb={IndianRed scale 0.19 rotate 90}}; \end{tikzpicture}}; \draw[ultra thick] (serialoscd) -| node[above,pos=0.25] {OSC} node[below,pos=0.25] {\small{(UDP)}} (monolight); diff --git a/slides/fosdem_2017/lightsd-demo.sh b/slides/2017-02-04_fosdem/lightsd-demo.sh rename from slides/fosdem_2017/lightsd-demo.sh rename to slides/2017-02-04_fosdem/lightsd-demo.sh diff --git a/slides/fosdem_2017/monolight-demo.sh b/slides/2017-02-04_fosdem/monolight-demo.sh rename from slides/fosdem_2017/monolight-demo.sh rename to slides/2017-02-04_fosdem/monolight-demo.sh diff --git a/slides/2017-04-XX_while_42/CMakeLists.txt b/slides/2017-04-XX_while_42/CMakeLists.txt new file mode 100644 --- /dev/null +++ b/slides/2017-04-XX_while_42/CMakeLists.txt @@ -0,0 +1,3 @@ +LIGHTSD_COPY_COMMON_LATEX() + +ADD_LATEX_DOCUMENT(while42.tex) diff --git a/slides/2017-04-XX_while_42/while42.tex b/slides/2017-04-XX_while_42/while42.tex new file mode 100644 --- /dev/null +++ b/slides/2017-04-XX_while_42/while42.tex @@ -0,0 +1,341 @@ +\documentclass{lgtdslides} + +\usepackage{tikz} +\usepackage{tikzsymbols} +\usepackage[francais]{babel} + +\usepackage{lgtdfigs} + +\title{Un titre} +\subtitle{\textit{Un sous-titre}} +\date{While 42 SF, side projects} +\author{Louis Opter <louis@opter.org>} + +\tikzset{arrow/.style={->, >=stealth,ultra thick,rounded corners}} + +\begin{document} + +\begin{frame}\titlepage\end{frame} + +\section{Démo} + +\begin{frame}{monolight} +\begin{itemize} +\item Manipulations; +\item Retour visuel; +\item Définition de l'interface. +\end{itemize} +\vspace{1em} +\pause% +Une autre idée que j'aimerais implémenter\ldots +\end{frame} + +\begin{frame}{Effet sablier/alerte} +\begin{center} +\begin{tikzpicture}[overlay,scale=1.2] +\onslide<1->{% +\pic (0, 0) {monome={scale 1.2}}; + +\coordinate (NW) at (-4, 1.75); +\coordinate (caption) at ($(NW) + (-1.155,0.65)$); + +\foreach \x in {-4,-3.5,...,-1} +\fill[mbutton] (\x, -1.75) rectangle +(0.36, -0.36); % function row + +\node[rectangle] (b117) at (-1.32,-1.93) {}; +\node[rectangle] (b118) at (-0.82,-1.93) {}; +} +\onslide<1,3->{% +% targets toggles: +\fill[mbutton] (-4, 1.75) rectangle +(0.36, -0.36); +\foreach \x in {-2,0,...,3.5} +\fill[mbuttvlow] (\x, 1.75) rectangle +(0.36, -0.36); + +% h: +\fill[mbutthigh] (-4, -0.25) rectangle +(0.36, -0.36); +\fill[mbutton] (-4, -0.75) rectangle +(0.36, -0.36); +\fill[mbutton] (-4, -1.25) rectangle +(0.36, -0.36); + +% s: +\fill[mbuttmed] (-3.5, -0.75) rectangle +(0.36, -0.36); +\fill[mbutton] (-3.5, -1.25) rectangle +(0.36, -0.36); + +% b: +\foreach \y in {1.25,0.75,...,-1.25} +\fill[mbutton] (-3, \y) rectangle +(0.36, -0.36); + +% k: +\fill[mbutthigh] (-2.5, -1.25) rectangle +(0.36, -0.36); +} +\onslide<1>{% +\draw (caption) node[right] {Ajoutons deux nouvelles fonctions :}; + +\node (timer) [below=0.5cm of b117] {timer}; +\node (alert) [below=0.9cm of b118] {alert}; +\draw[arrow] (timer) -- (b117); +\draw[arrow] (alert) -- (b118); +} +\onslide<2>{% +\draw (caption) node[right] {Sélection du compte à rebours:}; +\node[below right] at ($(caption.south) + (0, -0.09)$) {\footnotesize{(1 bouton allumé = 1 unité de temps)}}; + +% partially lit grid: +\foreach \x in {-4,-3.5,...,-0.5} +\foreach \y in {1.75,1.25,...,-1.25} +\fill[mbutton] (\x, \y) rectangle +(0.36, -0.36); +\foreach \y in {1.75,1.25,...,-0.5} +\fill[mbutton] (0, \y) rectangle +(0.36, -0.36); + +\foreach \x in {-4,-3.5,...,3.5} +\fill[mbuttoff] (\x, -1.75) rectangle +(0.36, -0.36); % blank function row + +\fill[mbutton] (-1.5, -1.75) rectangle +(0.36, -0.36); % time button +\fill[mbutton] (0, -1.75) rectangle +(0.36, -0.36); % dec time scale +\fill[mbutton] (0.5, -1.75) rectangle +(0.36, -0.36); % inc time scale + +%\node[rectangle] (b117) at (-1.32,-1.93) {}; +%\node[rectangle] (b118) at (-0.82,-1.93) {}; +%\node[rectangle] (b119) at (-0.32,-1.93) {}; +\node[rectangle] (b120) at (0.18,-1.93) {}; +\node[rectangle] (b121) at (0.68,-1.93) {}; +\node[rectangle] (b122) at (1.18,-1.93) {}; +\draw[ultra thick,decorate,decoration={name=brace,mirror}] + ($(b120.south west) + (-0.1,-0.35)$) -- ($(b121.south east) + (0.1,-0.35)$); +\node (timectl) [below=0.5cm of b121] {dec/inc de l'unité de temps}; +} +\onslide<3>{% +\draw (caption) node[right] {Sélection de la cible et de la fonction (alert):}; + +\node (alert) [below=0.5cm of b118] {alert}; +\draw[arrow] (alert) -- (b118); + +\node[rectangle,opacity=0] (b0) at (-3.82,1.57) {B}; +\node[rectangle,opacity=0] (b4) at (-1.82,1.57) {B}; +\node[rectangle,opacity=0] (b8) at (0.18,1.57) {B}; +\node[rectangle,opacity=0] (b12) at (2.18,1.57) {B}; + +\coordinate (legend) at ($(caption) + (0.7, -0.15)$); +\coordinate (upturn) at ($(legend) + (0,-1.26)$); +\draw[arrow,<-] (b0.south) -- ++(0,-0.35) -- (upturn) -- (legend.south); +\draw[arrow,<-] (b4.south) -- ++(0,-0.35) -- (upturn) -- (legend.south); +\draw[arrow,<-] (b8.south) -- ++(0,-0.35) -- (upturn) -- (legend.south); +\draw[arrow,<-] (b12.south) -- ++(0,-0.35) -- (upturn) -- (legend.south); +} +\onslide<4>{% +\fill[mbutton] (-3.5, 1.75) rectangle +(0.36, -0.36); + +\node[rectangle] (b1) at (-3.32,1.57) {}; +\node (feedback) [above right=0.5cm of b1] {Voyant d'activité du sablier}; +\draw[arrow] (feedback) -| (b1); +} +\end{tikzpicture} +\end{center} +\end{frame} + +\section{Motivations} + +\begin{frame}{Motivations} +\end{frame} + +\section{Merci} + +{\setbeamertemplate{headline}{} +\begin{frame} +\begin{center}\Huge{Merci}\end{center} +\vspace{1em} +\begin{center}\Large{\emph{Place aux questions et à la discussion}}\end{center} +\vspace{1em} +\begin{itemize} +\item \Large{\href{https://twitter.com/1opter}{@1opter}} +\item \Large{\emph{\#lightsd} sur IRC (\emph{chat.freenode.net})} +\item \Large{\url{https://www.lightsd.io/}} +\end{itemize} +\end{frame}} + +\section{Extras} + +\begin{frame}{Table des modèles LIFX} +\begin{tabular}{lll} +\textbf{Génération} & \textbf{Modèle} & \textbf{En vente} \\ +\hline +Gen 1 & Original 1000, Color 650 & Non \\ +\hline +Gen 2 & Color 1000, White 800 & Oui \\ +\hline +Gen 3 & A19, BR30, Z (ruban) & Oui \\ +\end{tabular} +\par\vspace{2em} +\begin{tabular}{ll} +\textbf{Génération} & \textbf{Notes} \\ +\hline +Gen 1 & Supporte 802.11 et 802.15.4 (inutilisé) \\ +\hline +Gen 2 & QCA 4002, AllJoyn, \emph{plante} \\ +\hline +Gen 3 & + versions have IR, \emph{plante toujours} \\ +\end{tabular} +\end{frame} + +\section{Démo (papier)} + +\begin{frame}{La grille} +\begin{center} +\begin{tikzpicture}[overlay] +\pic (0, 0) {monome={scale 1.2}}; +\end{tikzpicture} +\end{center} +\end{frame} + +\begin{frame}{Ligne de fonctions/scènes} +\begin{center} +\begin{tikzpicture}[overlay,scale=1.2] +\onslide<1->{% +\pic (0, 0) {monome={scale 1.2}}; + +\foreach \x in {-4,-3.5,...,3.5} +\fill[mbutton] (\x, -1.75) rectangle +(0.36, -0.36); +} +\onslide<2->{% +\foreach \x in {-1.5,-1,...,3} +\fill[mbuttoff] (\x, -1.75) rectangle +(0.36, -0.36); + +\fill[color=fgcolor,decoration={name=snake,amplitude=2,segment length=45}] + decorate {(-4.25,-1.35) -- (4.15,-1.35)} -- (4.15,2) -- (-4.25,2) -- cycle; + +\node[rectangle] (b112) at (-3.82,-1.93) {}; +\node[rectangle] (b113) at (-3.32,-1.93) {}; +\node[rectangle] (b114) at (-2.82,-1.93) {}; +\node[rectangle] (b115) at (-2.32,-1.93) {}; +\node[rectangle] (b116) at (-1.82,-1.93) {}; +\node[rectangle] (b117) at (-1.32,-1.93) {}; +\node[rectangle] (b127) at (3.68,-1.93) {}; +} +\onslide<2>{ +\node (toggle) [above=1.1cm of b112] {% +\begin{minipage}{2cm} +\begin{center} +on/off + +toggle +\end{center} +\end{minipage}}; +\node (off) [above=0.7cm of b113] {off}; +\node (on) [above=1.1cm of b114] {on}; +\node (scenes) [above=0.7cm of b116] {scenes\ldots}; +\node (uitoggle) [above=1.1cm of b127] {toggle UI}; + +\draw[arrow] (toggle) -- (b112); +\draw[arrow] (off) -- (b113); +\draw[arrow] (on) -- (b114); +\draw[arrow] (uitoggle) -- (b127); + +\draw[ultra thick,decorate,decoration={name=brace}] + ($(b115.north west) + (-0.1,0.35)$) -- ($(b116.north east) + (0.1,0.35)$); +} +\onslide<3->{% +\coordinate (b0) at (-4, 1.75); +\draw ($(b0) + (-0.25, 0)$) node[below right] {% +\begin{minipage}{10cm} +Other ideas: +\vspace{1em} +\begin{itemize} +\item Boutons pour la navigation (pagination\ldots); % will make sense on the next slide +\item Boutons pour contrôler MPD. +\end{itemize} +\end{minipage} +}; +} +\end{tikzpicture} +\end{center} +\end{frame} + +\begin{frame}{Panneau de contrôle pour une cible (x4)} +\begin{center} +\begin{tikzpicture}[overlay,scale=1.2] +\onslide<1->{% +\pic (0, 0) {monome={scale 1.2}}; + +\foreach \x in {-4,-3.5,...,-2.5} +\foreach \y in {1.75,1.25,...,-1.25} +\fill[mbutton] (\x, \y) rectangle +(0.36, -0.36); + +\foreach \x in {-2,-1.5,...,-0.5} +\foreach \y in {1.75,1.25,...,-1.25} +\fill[mbuttmed] (\x, \y) rectangle +(0.36, -0.36); + +\foreach \x in {0,0.5,...,1.5} +\foreach \y in {1.75,1.25,...,-1.25} +\fill[mbutton] (\x, \y) rectangle +(0.36, -0.36); + +\foreach \x in {2,2.5,...,3.5} +\foreach \y in {1.75,1.25,...,-1.25} +\fill[mbuttmed] (\x, \y) rectangle +(0.36, -0.36); + +\foreach \x in {-4,-3.5,...,3.5} +\fill[mbuttoff] (\x, -1.75) rectangle +(0.36, -0.36); +} +\onslide<2->{% +\foreach \y in {1.75,1.25,...,-1.25} +\fill[mbuttoff] (-2, \y) rectangle +(0.36, -0.36); + +\fill[color=fgcolor,decoration={name=snake,amplitude=2,segment length=45}] + decorate {(-1.75,2) -- (-1.75,-2.36)} -- (4.2,-2.36) -- (4.2,2) -- cycle; + +\foreach \x in {-3.5,-3,...,-2.5} +\fill[mbuttoff] (\x, 1.75) rectangle +(0.36, -0.36); + +\foreach \y in {1.25,0.75,...,-0.25} % h +\fill[mbuttoff] (-4, \y) rectangle +(0.36, -0.36); +\fill[mbutthigh] (-4, -0.25) rectangle +(0.36, -0.36); + +\foreach \y in {1.25,0.75,...,-0.75} % s +\fill[mbuttoff] (-3.5, \y) rectangle +(0.36, -0.36); +\fill[mbuttmed] (-3.5, -0.75) rectangle +(0.36, -0.36); + +\foreach \y in {1.25,0.75,...,-1.25} % b +\fill[mbutton] (-3, \y) rectangle +(0.36, -0.36); + +\foreach \y in {1.25,0.75,...,-1.25} % k +\fill[mbuttoff] (-2.5, \y) rectangle +(0.36, -0.36); +\fill[mbutthigh] (-2.5, -1.25) rectangle +(0.36, -0.36); + +\node[rectangle] (b16) at (-3.82,1.07) {}; +\node (INC) at (-4.82,1.07) {INC}; +\draw[arrow] (INC) -- (b16); + +\node[rectangle] (b32) at (-3.82,0.57) {}; +\node (inc) at (-4.82,0.57) {inc}; +\draw[arrow] (inc) -- (b32); + +\node[rectangle] (b80) at (-3.82,-0.93) {}; +\node (dec) at (-4.82,-0.93) {dec}; +\draw[arrow] (dec) -- (b80); + +\node[rectangle] (b96) at (-3.82,-1.43) {}; +\node (DEC) at (-4.82,-1.43) {DEC}; +\draw[arrow] (DEC) -- (b96); + +\node[rectangle] (b4) at (-1.82,1.57) {}; +\node[rectangle] (b5) at (-1.32,1.57) {}; +\draw[arrow] (b5) -- (b4.west); +\draw (b5) node[right] {Ligne de fonctions/voyants (bascule, à déterminer\ldots)}; + +\node[rectangle] (b20) at (-1.82,1.07) {}; +\node[rectangle] (b21) at (-1.32,1.07) {}; +\draw[arrow] (b21) -- (b20.west); +\draw (-1.32,1.32) node[below right] {% +\begin{minipage}{10cm} +4 barres de contrôle (Hsbk, ``roue de couleurs''): +\vspace{1ex} +\begin{itemize} +\item Hue: 0.0--360.0°; +\item Saturation: 0.0--1.0; +\item Luminosité: 0.0--1.0; +\item Température: 2500--9000K. +\end{itemize} +\end{minipage}}; +} +\end{tikzpicture} +\end{center} +\end{frame} +\end{document} diff --git a/slides/CMakeLists.txt b/slides/CMakeLists.txt --- a/slides/CMakeLists.txt +++ b/slides/CMakeLists.txt @@ -1,1 +1,15 @@ +FUNCTION(LIGHTSD_COPY_COMMON_LATEX) + SET( + SOURCES + common/lgtdfigs.sty + common/lgtdslides.cls + ) + FOREACH(F ${SOURCES}) + FILE( + COPY ${PROJECT_SOURCE_DIR}/slides/${F} + DESTINATION ${CMAKE_CURRENT_BINARY_DIR} + ) + ENDFOREACH() +ENDFUNCTION() + ADD_ALL_SUBDIRECTORIES() diff --git a/slides/common/lgtdfigs.sty b/slides/common/lgtdfigs.sty new file mode 100644 --- /dev/null +++ b/slides/common/lgtdfigs.sty @@ -0,0 +1,138 @@ +\ProvidesPackage{lgtdfigs} + +\usetikzlibrary{% + calc, + decorations.pathreplacing, + decorations.pathmorphing, + shapes, + positioning +} + +%%% LIFX inspired light bulb + +\colorlet{LightBulbBodyColor}{Grey!90!black} +\colorlet{LightBulbSocketColor}{Silver!90!black} + +\tikzset{screw/.style={decoration={ + name=snake,amplitude=0.1mm,segment length=0.6mm +}}} + +\tikzset{pics/lightbulb/.style args={#1 scale #2 rotate #3}{code={% arg1 is light color + +\tikzset{screw/.style={decoration={ + name=snake,amplitude=0.1mm,segment length=0.6mm +}}} + +\begin{scope}[scale=#2,rotate=#3] + +% main body +\fill[color=LightBulbBodyColor] + (-28mm,0) -- ++(0,32mm) -- ++(56mm,0) -- ++(0,-32mm) -- + ++(-10mm,-18mm) -- ++(-36mm,0) -- cycle; + +% main body light +\draw[line width=1.5mm,line cap=round,rounded corners=1pt,color=LightBulbBodyColor!80!white] + (-16mm,0.5mm) .. controls (0,-0.4mm) .. (16mm,0.5mm); +\draw[line width=2mm,rounded corners=1pt,color=LightBulbBodyColor!80!white] + (16.5mm,32mm) -- ++(0,-32mm) -- ++(-15mm,-22mm); + +% led - body separator +\fill[color=LightBulbBodyColor!90!black] + (-20mm,32mm) -- ++(0,2.5mm) -- ++(40mm,0) -- ++(0,-2.5mm) -- cycle; + +% led part +\fill[color=#1] + (-28mm,34.5mm) -- ++(0,14mm) + .. controls ++(28mm,1mm) .. ++(56mm,0) + -- ++(0,-14mm) -- cycle; + +% lower body +\fill[color=LightBulbBodyColor!90!black] + (-14mm,-18mm) -- ++(0,-18mm) -- + ++(2mm,-2mm) -- ++(24mm,0) -- ++(2mm,2mm) + -- ++(0,18mm); + +% socket +\fill[color=LightBulbSocketColor] + (-10mm,-38mm) -- ++(0,-4mm) + decorate[screw] {(-10mm,-42mm) -- ++(0,-10mm)} + -- ++(0,-0.5mm) -- ++(7.5mm,-6mm) -- ++(5mm,0) -- ++(7.5mm,6mm) -- ++(0,0.5mm) + decorate[screw] {(10mm,-52mm) -- ++(0,10mm)} + -- (10mm,-38mm) -- ++(-20mm,0) -- ++(0,-4mm) -- cycle; +\draw[thin,color=LightBulbSocketColor] (-10mm,-42mm) -- (10mm,-52mm); + +% socket light +\draw[line width=1mm,line cap=round,rounded corners=1pt,color=LightBulbSocketColor!90!white] + (4.5mm,-38mm) -- ++(0,-14mm) -- ++(-4mm,-2.5mm); + +% lower body light +\draw[line width=1.8mm,color=LightBulbBodyColor] + (5mm,-18mm) -- ++(0,-20mm); + +% led - body separator light +\draw[line width=1.6mm, color=LightBulbBodyColor] (16mm,32mm) -- ++(0,2.5mm); +% led - body separator shade +\draw[thin, color=LightBulbBodyColor!80!black] (-20mm,32mm) -- ++(0,2.5mm); +\draw[thin, color=LightBulbBodyColor!80!black] (20mm,32mm) -- ++(0,2.5mm); + +% socket shade +\draw[color=LightBulbSocketColor!80!black] + (-10mm,-38mm) -- ++(0,-4mm) + decorate[screw] {(-10mm,-42mm) -- ++(0,-10mm)} + -- ++(0,-0.5mm) -- ++(7.5mm,-6mm) -- ++(5mm,0) -- ++(7.5mm,6mm) -- ++(0,0.5mm) + decorate[screw] {(10mm,-52mm) -- ++(0,10mm)} + -- (10mm,-38mm); +\draw[color=fgcolor] + (-10mm,-52.5mm) -- ++(7.5mm,-6mm) -- ++(5mm,0) -- ++(7.5mm,6mm); +\draw[rounded corners=1pt,color=LightBulbSocketColor!80!black] + (-10mm,-52.5mm) -- ++(7.5mm,-6mm) -- ++(5mm,0) -- ++(7.5mm,6mm); + +% lower body shade +\draw[rounded corners=1pt,color=LightBulbBodyColor!50!black] + (-14mm,-18mm) -- ++(0,-18mm) -- + ++(2mm,-2mm) -- ++(24mm,0) -- ++(2mm,2mm) + -- ++(0,18mm); + +% body shade +\draw[thick,rounded corners=1pt,color=LightBulbBodyColor!60!black] + (-28mm,0) -- ++(0,32mm) -- ++(56mm,0) -- ++(0,-32mm) -- + ++(-10mm,-18mm) -- ++(-36mm,0) -- cycle; + +% led shade +\draw[thick,rounded corners=1pt,color=#1!70!white] + (-28mm,34.5mm) -- ++(0,14mm) + .. controls ++(28mm,1mm) .. ++(56mm,0) + -- ++(0,-14mm) -- cycle; + +\end{scope} +}}} + +%%% Monome inspired grid + +\colorlet{MonomePlate}{Gainsboro} +\colorlet{MonomeCase}{Sienna} + +\tikzset{mbuttoff/.style={color=gray,rounded corners=1pt}} +\tikzset{mbuttvlow/.style={color=orange!20!gray,rounded corners=1pt}} +\tikzset{mbuttlow/.style={color=orange!35!gray,rounded corners=1pt}} +\tikzset{mbuttmed/.style={color=orange!50!gray,rounded corners=1pt}} +\tikzset{mbutthigh/.style={color=orange!80!gray,rounded corners=1pt}} +\tikzset{mbutton/.style={fill,color=orange!95!white,rounded corners=1pt}} + +\tikzset{pics/monome/.style args={scale #1}{code={% + +\begin{scope}[scale=#1] +\coordinate (NW) at (-4, 1.75); +\coordinate (SE) at (3.86, -2.11); + +\fill[color=MonomeCase,rounded corners=2pt] ($(NW) + (-0.18,0.18)$) rectangle ($(SE) + (0.18,-0.18)$); +\fill[color=MonomePlate,rounded corners=2pt] ($(NW) + (-0.10,0.10)$) rectangle ($(SE) + (0.10,-0.10)$); + +\foreach \x in {-4,-3.5,...,3.5}{ + \foreach \y in {1.75,1.25,...,-1.75}{ + \fill[mbuttoff] (\x, \y) rectangle +(0.36, -0.36); + } +} + +\end{scope} +}}} diff --git a/slides/common/lgtdslides.cls b/slides/common/lgtdslides.cls new file mode 100644 --- /dev/null +++ b/slides/common/lgtdslides.cls @@ -0,0 +1,18 @@ +\ProvidesClass{lgtdslides} + +\LoadClass[utf8x,xcolor={usenames,svgnames}]{beamer} + +\RequirePackage{lmodern} +\RequirePackage{arev} +\RequirePackage{tgbonum} +\RequirePackage{inconsolata} +\RequirePackage[T1]{fontenc} +\RequirePackage[fixlanguage]{babelbib} + +\useoutertheme{infolines} +\setbeamertemplate{navigation symbols}{} +\setbeamertemplate{bibliography item}[text] +\setbeamerfont{footnote}{size=\tiny} + +\colorlet{fgcolor}{White} +\definecolor{BeamerBlue}{RGB}{49,56,172}