Skip to content

Commit

Permalink
Merge branch 'documentation'
Browse files Browse the repository at this point in the history
  • Loading branch information
vikman90 committed Apr 7, 2016
2 parents c47a7e1 + 5114b2a commit 12e689b
Show file tree
Hide file tree
Showing 51 changed files with 1,206 additions and 12 deletions.
9 changes: 8 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,11 @@ report/*.ist
test/**/__pycache__
test/player/data/*
report/*.txss
report/**/*.mp4

summary/*.aux
summary/*.lof
summary/*.log
summary/*.out
summary/*.pdf
summary/*.toc
summary/*.synctex.gz
Binary file added report/capitulo6/video_pcb.mp4
Binary file not shown.
2 changes: 1 addition & 1 deletion report/glosario_acronimos.sty
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
\newacronym{GPIO}{GPIO}{General Purpose Input/Output}
\newacronym{MIDI}{MIDI}{Musical Instrument Digital Interface}
\newacronym{SSH}{SSH}{Secure SHell}
\newacronym{SBC}{SBC}{Musical Instrument Digital Interface}
\newacronym{SBC}{SBC}{Single-Board Computer}
\newacronym{UART}{UART}{Universal Asynchronous Receiver-Transmitter}
\newacronym{USB}{USB}{Universal Serial Bus}
\newacronym{HDMI}{HDMI}{High Definition Multimedia Interface}
Expand Down
2 changes: 1 addition & 1 deletion report/subdocs/capitulo1.tex
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ \section{Objetivos}
\item Reproducción de archivos \acrshort{MIDI}.
\item Comunicación inter-proceso.
\item Receptor de un mando a distancia.
\item Menú de control sobre el hardware, con un ''modo Ingeniería''.
\item Menú de control sobre el \textit{hardware}, con un ''modo Ingeniería''.
\end{enumerate}

\item Una \textbf{aplicación \textit{web}} para controlar el sistema, con soporte para:
Expand Down
2 changes: 1 addition & 1 deletion report/subdocs/capitulo3.tex
Original file line number Diff line number Diff line change
Expand Up @@ -627,7 +627,7 @@ \section{Plataforma Arduino}

\section{SBC Rasberry Pi}

El \textit{Raspberry Pi} es un \textbf{ordenador} de placa única ---\acrshort{PCB} (\textit{\acrlong{SBC}})---, más potente que un microcontrolador y con \textbf{sistema operativo} basado en Linux. Se alimenta por \textit{USB} y se puede controlar con teclado y ratón, o bien desde red mediante \acrshort{SSH}.
El \textit{Raspberry Pi} es un \textbf{ordenador} de placa única ---\acrshort{SBC} (\textit{\acrlong{SBC}})---, más potente que un microcontrolador y con \textbf{sistema operativo} basado en Linux. Se alimenta por \textit{USB} y se puede controlar con teclado y ratón, o bien desde red mediante \acrshort{SSH}.

El corazón de este computador es un \textbf{\acrshort{SOCA}} (\textit{\acrlong{SOCA}}), que integra microprocesador, memoria y periféricos principales. El modelo escogido, \textit{B+}, posee numerosos pines de entrada y salida de propósito general (\textbf{\acrshort{GPIO}}), que utilizaremos para interactuar con la \acrshort{PCB} y para ser \textbf{alimentado} por ésta.

Expand Down
6 changes: 3 additions & 3 deletions report/subdocs/capitulo4.tex
Original file line number Diff line number Diff line change
Expand Up @@ -307,7 +307,7 @@ \subsubsection{Diagrama de uso}
\subsection{Control por socket}
\label{subsec:daemon}

Un \textit{socket} un mecanismo de \textbf{comunicación inter-proceso} ---\acrshort{IPC} (\textit{\acrlong{IPC}})--- que proporciona Linux y enviar y recibir datagramas en modo \textit{duplex}, bien dentro de la misma máquina (\textit{socket} local) o en una red (\textit{socket} de Internet).
Un \textit{socket} es un mecanismo de \textbf{comunicación inter-proceso} ---\acrshort{IPC} (\textit{\acrlong{IPC}})--- que proporciona Linux y enviar y recibir datagramas en modo \textit{duplex}, bien dentro de la misma máquina (\textit{socket} local) o en una red (\textit{socket} de Internet).

Vamos a crear un \textbf{\textit{socket} local}, accesible desde el sistema de archivos de Linux, que escuche peticiones de los clientes que se conecten, utilizando una interfaz basada en \textbf{lenguaje natural}, que explicaremos en la sección \ref{sec:protocolo}.

Expand Down Expand Up @@ -1826,14 +1826,14 @@ \section{Protocolo entre el control y el demonio}
Las peticiones que describen el protocolo resultante, así como las posibles respuestas, se enumeran de la siguiente forma:

\begin{description}
\item[PLAY <archivo> [ <archivo>*]] Reproducir una lista de archivos \acrshort{MIDI}, indicando las rutas completa, separadas por espacios. Respuesta:
\item[PLAY <archivo> {[} <archivo>*{]}] Reproducir una lista de archivos \acrshort{MIDI}, indicando las rutas completa, separadas por espacios. Respuesta:

\begin{description}
\item[OK] en caso de éxito.
\item[ERROR] en caso de error o estar en modo Ingeniería.
\end{description}

\item[PLAYLOOP <archivo> [ <archivo>* ]] Reproducir en bucle una lista de archivos \acrshort{MIDI}, indicando las rutas completa, separadas por espacios. Respuesta:
\item[PLAYLOOP <archivo> {[} <archivo>* {]}] Reproducir en bucle una lista de archivos \acrshort{MIDI}, indicando las rutas completa, separadas por espacios. Respuesta:

\begin{description}
\item[OK] en caso de éxito.
Expand Down
6 changes: 3 additions & 3 deletions report/subdocs/capitulo5.tex
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ \subsection{Descodificador de MIDI}

Además, podemos ver que todos los tipos de evento se numeran a partir de $80_{16}$, o sea, su \textit{bit} más significativo es 1. Si el analizador buscara un tipo de evento y encontrara un valor por debajo de este número, significa que el archivo está \textbf{obviando el tipo} de evento, y está indicando los parámetros ---cuyo tope es 127---.

El \textbf{algoritmo de análisis} consiste, pues en recorrer el archivo por \textbf{pistas}, y clasificar cada evento según su tipo. El \textbf{flujo de trabajo} es el siguiente:
El \textbf{algoritmo de análisis} consiste, pues, en recorrer el archivo por \textbf{pistas}, y clasificar cada evento según su tipo. El \textbf{flujo de trabajo} es el siguiente:

\smallskip

Expand Down Expand Up @@ -656,7 +656,7 @@ \subsubsection{Implementación final}

Hemos organizado la matriz para que la lectura se hagan en el \textbf{orden estricto} en que están los datos en memoria, con lo cual, en lugar de acceder a la matriz directamente y obligar al compilador a hacer una multiplicación y una suma, utilizaremos \textbf{aritmética de punteros} para movernos por ella.

\subsection{Metrónomo}
\subsubsection{Metrónomo}

A diferencia de las notas musicales, el metrónomo \textbf{no se almacena} en el estado ni se retrasa su ejecución hasta llamar a \code{output\_update()}, sino que debe marcarse tan rápido como se ejecute la función \code{output\_metronome()}.

Expand Down Expand Up @@ -1787,7 +1787,7 @@ \subsection{Simulador de reproducción}

La salida de datos, diseñada en la sección \ref{subsec:output} es una \textbf{interfaz} utilizada por el planificador, que evita la necesidad de modificarlo de manera alguna cuando nos movamos de un órgano a otro. Sus funciones públicas coinciden en su mayor parte con las instrucciones del \textbf{protocolo \acrshort{MIDI}}.

En este caso vamos a simular más exactamente el órgano de la Parroquia de la Encarnación de Santa Fe que el prototipo de la \acrshort{PCB}, en tanto que éste solo abordará 7 notas en cada canal. En resumen tendremos esta estructura:
En este caso vamos a simular más exactamente el órgano de la Parroquia de la Encarnación de Santa Fe que el prototipo de la \acrshort{PCB}, en tanto que ésta solo abordará 7 notas en cada canal. En resumen tendremos esta estructura:

\smallskip

Expand Down
2 changes: 1 addition & 1 deletion report/subdocs/capitulo6.tex
Original file line number Diff line number Diff line change
Expand Up @@ -523,7 +523,7 @@ \section{Prueba sobre la PCB}

\subsection{Entrada de datos}

Sobre la placa hemos probado dos \textbf{versiones} del software:
Sobre la placa hemos probado dos \textbf{versiones} del \textit{software}:

\begin{enumerate}
\item \textbf{Prototipo} en Python con una combinación fija de notas, como prueba de concepto.
Expand Down
2 changes: 1 addition & 1 deletion report/subdocs/capitulo7.tex
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ \section{Conclusión}

Hemos conseguido, no solo diseñar el sistema, sino también llegar a hacer funcionar un \textbf{prototipo}, que demuestra que el diseño es válido. Por parte de Mikel, la \textbf{mecánica} ha sido diseñada, pero no ha sido posible llevarla a cabo debido a los altos \textbf{costes} que conlleva.

Ha sido, además, un proyecto que ha abarcado \textbf{un poco de cada rama} de la informática: electrónica, bases de datos, sistemas operativos, ingeniería del software, programación concurrente, lenguajes informáticos, algorítmica, seguridad informática, redes y sistemas empotrados. Esto me ha permitido \textbf{desplegar al máximo} mis habilidades y desarrollar \textbf{nuevas capacidades}, como diseño en 3D o programación para la \textit{web}.
Ha sido, además, un proyecto que ha abarcado \textbf{un poco de cada rama} de la informática: electrónica, bases de datos, sistemas operativos, ingeniería del \textit{software}, programación concurrente, lenguajes informáticos, algorítmica, seguridad informática, redes y sistemas empotrados. Esto me ha permitido \textbf{desplegar al máximo} mis habilidades y desarrollar \textbf{nuevas capacidades}, como diseño en 3D o programación para la \textit{web}.

La \textbf{interfaz de usuario} obtenida es simple pero cubre completamente las necesidades básicas. Queda pendiente un estudio de mercado y una entrevista con el usuario final para poder ofrecer una \textbf{aplicación completa}. Con la esperanza de que esto suceda, el diseño ha sido \textbf{modular} y la implementación es limpia y está lo suficientemente bien \textbf{documentada} como para poder ampliarla sin problemas.

Expand Down
20 changes: 20 additions & 0 deletions summary/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Makefile for Summary
# Victor Manuel Fernandez Castro
# 3 April 2016

LATEX = pdflatex -interaction nonstopmode
RMFILE = rm -f

TARGET = summary

.PHONY: all clean

all: $(TARGET).pdf

clean:
$(RM) *.aux *.dvi *.log *.pdf *.synctex.gz *.loc *.toc *.lof *.bbl *.blg \
*.nav *.out *.snm *.bak

%.pdf: %.tex images/*
$(LATEX) -draftmode $<
$(LATEX) $<
Binary file added summary/images/SN74HC595.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added summary/images/bd_er.pdf
Binary file not shown.
Binary file added summary/images/bd_rel.pdf
Binary file not shown.
Binary file added summary/images/cap_listas.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added summary/images/cap_mando.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added summary/images/cap_midinfo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added summary/images/cap_piezas.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added summary/images/cap_portada.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added summary/images/cap_repr_apagar.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added summary/images/cap_repr_idiomas.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added summary/images/cap_reproductor.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added summary/images/daemon.pdf
Binary file not shown.
Binary file added summary/images/engineer.pdf
Binary file not shown.
Binary file added summary/images/estados.pdf
Binary file not shown.
Binary file added summary/images/flujo_parser.pdf
Binary file not shown.
Binary file added summary/images/flujo_planificacion.pdf
Binary file not shown.
Binary file added summary/images/general.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added summary/images/idea.pdf
Binary file not shown.
Binary file added summary/images/interconexion.pdf
Binary file not shown.
Binary file added summary/images/lat_gpio.pdf
Binary file not shown.
Binary file added summary/images/lat_midi.pdf
Binary file not shown.
Binary file added summary/images/lat_sched.pdf
Binary file not shown.
Binary file added summary/images/lineas_lenguajes.pdf
Binary file not shown.
Binary file added summary/images/logo_ugr.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added summary/images/map.pdf
Binary file not shown.
Binary file added summary/images/mvc_completo.pdf
Binary file not shown.
Binary file added summary/images/organo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added summary/images/osc_pulso.PNG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added summary/images/pcb.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added summary/images/pcb_gpio.pdf
Binary file not shown.
Binary file added summary/images/pcb_ingeniero.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added summary/images/pedalier_modelo.PDF
Binary file not shown.
Binary file added summary/images/proto_uart.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added summary/images/prototipado.pdf
Binary file not shown.
Binary file added summary/images/raspberry.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added summary/images/registros.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added summary/images/reproductor.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added summary/images/sistema.pdf
Binary file not shown.
Binary file added summary/images/teclado_modelo.PDF
Binary file not shown.
Binary file added summary/images/uml_midi.pdf
Binary file not shown.
Loading

0 comments on commit 12e689b

Please sign in to comment.