... | ... | @@ -32,6 +32,26 @@ compiling for space(-Os), the firmware requires about 4700 bytes. |
|
|
|
|
|
{empty} +
|
|
|
|
|
|
== Program Flow
|
|
|
|
|
|
The task of the firmware is simple. It listens for offset-packets on the connection and controls the
|
|
|
DAC according to the values therein. Since the communication is stateless and connectionless,
|
|
|
there is not much further logic involved. Figure 2 below, shows the program flow of the firmware
|
|
|
as it is implemented in the _Main_ module.
|
|
|
|
|
|
{empty} +
|
|
|
|
|
|
image::https://es.technikum-wien.at/openlab/openlab_wiki/wikis/img/OpenLab_siggen_atmel_imp/Siggen_atmel_flowchart.PNG[caption="Figure 2: ",title="Firmware structure",height=350,align="center"]
|
|
|
|
|
|
{empty} +
|
|
|
|
|
|
It can be seen that the firmware is passive and only communicates if requested, making the
|
|
|
amplifier device the slave. Unknown data is ignored, while invalid packets are negative acknowledged.
|
|
|
In the following section more information about the communication protocol can
|
|
|
be found.
|
|
|
|
|
|
{empty} +
|
|
|
|
|
|
== Bibliography +
|
|
|
|
|
|
The content of his chapter is taken from the master thesis "_Development of a Sound Card Based Arbitrary Waveform Generator_" by Jakob Kriegbaum, MSc, May 2017.
|
... | ... | |