Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Yocto agenda refactoring #256

Open
wants to merge 18 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
a7fc3ac
agenda: create commmand to refactor agendas
Taumille Oct 29, 2024
b681be2
agenda: define different section for the yocto course
Taumille Oct 29, 2024
0f9234e
agenda: use commands to refactor the Yocto agenda
Taumille Oct 29, 2024
b75e343
agenda: move qna section to common.inc
Taumille Nov 15, 2024
028dae9
agenda: define different section for the embedded linux course
Taumille Nov 15, 2024
29c4168
agenda: use commands to refactor the embedded linux agenda
Taumille Nov 15, 2024
abcb772
agenda: define different section for the linux kernel course
Taumille Nov 15, 2024
a369b54
agenda: use commands to refactor the linux kernel agenda
Taumille Nov 15, 2024
444cd95
agenda: define different section for the buildroot course
Taumille Nov 15, 2024
d058fcd
agenda: use commands to refactor the buildroot agenda
Taumille Nov 16, 2024
8462ff0
agenda: define different section for the debugging course
Taumille Nov 18, 2024
4f2097a
agenda: use commands to refactor the debugging agenda
Taumille Nov 19, 2024
8e6acc7
agenda: define different section for the graphics course
Taumille Nov 25, 2024
6bd41bc
agenda: use commands to refactor the graphics agenda
Taumille Nov 25, 2024
e6db7c4
agenda: define different section for the premptrt course
Taumille Nov 25, 2024
e5abd8c
agenda: use commands to refactor the preempt-rt agenda
Taumille Nov 25, 2024
18a66f4
agenda: define different section for the audio course
Taumille Nov 27, 2024
5cd3aac
agenda: use commands to refactor the audio agenda
Taumille Nov 27, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
205 changes: 1 addition & 204 deletions agenda/audio-agenda.tex
Original file line number Diff line number Diff line change
Expand Up @@ -13,209 +13,6 @@

\feshowinfo

\section{Day 1 - Morning}

\feagendatwocolumn
{Lecture - Digital Audio Representation}
{
\begin{itemize}
\item What is sound?
\item Sampling theory
\item Sample size, sample rate
\item Audio formats: I2S, LJ, RJ, DSPA, DSPB
\item AC97
\item IEC 61937 (S/PDIF and HDMI)
\item PDM
\end{itemize}
\vspace{0.5em}
{\em Introducing the basic notions used for representing audio waveforms.}
}
{Lecture - Hardware}
{
\begin{itemize}
\item Signals
\item CPU Digital Audio Interfaces
\item CODEC Digital Audio Interfaces
\item Amplifiers
\item Clocks and clock providers
\end{itemize}
\vspace{0.5em}
{\em Presenting the hardware involved in the audio playback or capture.}
}

\feagendaonecolumn
{Lecture - Linux kernel ASoC subsystem}
{
\begin{itemize}
\item ASoC: the ALSA System-on-Chip subsystem in the Linux kernel
\item Describing audio cards with Device Tree: {\em
audio-graph-card}, {\em simple-audio-card}
\item Linux kernel drivers for audio cards
\item Linux kernel drivers for audio codecs
\item Controls
\item Linux kernel drivers for CPU audio interfaces
\end{itemize}
\vspace{0.5em}
{\em Introducing the Linux kernel subsystem for audio on embedded systems.}
}

\section{Day 1 - Afternoon}

\feagendatwocolumn
{Lecture - Linux kernel helpers}
{
\begin{itemize}
\item {\em regmap}, {\em regcache}
\item DMA handling
\end{itemize}
\vspace{0.5em}
{\em Presenting the common helper APIs.}
}
{Lecture - More audio components}
{
\begin{itemize}
\item Auxiliary devices, amplifiers, muxing
\item Jack detection
\item Asynchronous Sample Rate Converter
\end{itemize}
\vspace{0.5em}
{\em Presenting more components of the sound cards.}
}

\feagendaonecolumn
{Lecture - Routing}
{
\begin{itemize}
\item Routing audio
\item DAPM: Dynamic Audio Power Management
\end{itemize}
\vspace{0.5em}
{\em Presenting the audio routes and power management.}
}

\section{Day 2 - Morning}

\feagendatwocolumn
{Lecture - Userspace, hardware configuration}
{
\begin{itemize}
\item ALSA plugins
\item \code{asound.conf}
\item Sound card configuration
\end{itemize}
\vspace{0.5em}
{\em Configuring the userspace audio paths and effects.}
}
{Demo - Card configuration examples}
{
\begin{itemize}
\item Reordering channels
\item Splitting channels
\item Resampling
\item Mixing
\item LADSPA
\end{itemize}
\vspace{0.5em}
{\em Exercising the ALSA plugins.}
}

\feagendatwocolumn
{Lecture - Userspace, controls configuration}
{
\begin{itemize}
\item {\em amixer}
\item {\em alsamixer}
\item Userspace API
\item Saving state: {\em alsactl}, \code{asound.state}
\end{itemize}
\vspace{0.5em}
{\em Configuring the userspace audio paths and effects.}
}
{Demo - Configuring controls}
{
\begin{itemize}
\item {\em alsamixer} demonstration
\item \code{asound.state} examples
\item Custom application
\end{itemize}
\vspace{0.5em}
{\em Configuring the sound card controls.}
}

\feagendaonecolumn
{Lecture - Userspace, playing and capturing audio}
{
\begin{itemize}
\item Userspace ALSA API
\end{itemize}
\vspace{0.5em}
{\em Playing and capturing audio samples.}
}

\section{Day 2 - Afternoon}

\feagendatwocolumn
{Lecture - Troubleshooting}
{
\begin{itemize}
\item Debugging
\item {\em vizdapm}
\end{itemize}
\vspace{0.5em}
{\em Presenting how to debug common issues.}
}
{Demo - Debugging}
{
\begin{itemize}
\item Examples of common issues and their resolutions
\end{itemize}
}

\feagendatwocolumn
{Lecture - Pipewire}
{
\begin{itemize}
\item Pipewire introduction
\item Pipewire configuration
\item Pipewire tools (pwdump, pw-cli, ...)
\item Pipewire session and policy management
\item Pipewire modules and filtering
\item {\em WirePlumber}
\end{itemize}
\vspace{0.5em}
{\em Using Pipewire as the sound server.}
}
{Demo - Pipewire}
{
\begin{itemize}
\item Running pipewire on the target
\item Inspecting the configuration and setting properties
\item Dynamic routing and patchbay
\item Using modules and Filter-Chain
\end{itemize}
\vspace{0.5em}
{\em Running Pipewire and exercising advanced configuration.}
}

\feagendatwocolumn
{Lecture - The GStreamer multimedia framework}
{
\begin{itemize}
\item {\em GStreamer}
\item GStreamer pipelines
\item GStreamer plugins
\end{itemize}
\vspace{0.5em}
{\em Using Gstreamer for audio capture and playback.}
}
{Demo - GStreamer}
{
\begin{itemize}
\item Running gstreamer on the target
\item Creating multiple pipelines
\end{itemize}
\vspace{0.5em}
{\em Running Gstreamer using different audio pipelines.}
}
\onsiteagenda

\end{document}
Loading