<commit_before>Avrora Simulation of Blink
--------------------------

http://compilers.cs.ucla.edu/avrora/[Avrora] is a suite ofsimulation and
analysis tools used to examine AVR programs.  Using Avrora with SOS provides
a high quality simulation of the actual code that runs on a Mica2 node.
This allows for more in-depth testing and debugging of applications that do
not quite do what they should. The http://compilers.cs.ucla.edu/avrora/[Avrora site] includes good instructions on installation and instructions on getting started with Avrora. While this provides a very brief overview of using Avrora with SOS, users are highly encouraged to look there for more help.

Since Avrora simulates the actual AVR chip, custom kernel configurations
are not needed in this form of simulation.  As such the simulation will take
on a form more similar to what is seen in an actual deployment.  This
involves:

- A micro server that loads modules into the deployed sensor network using
  the suite of tools provided with the SOS distribution.

- At least one node with a connection to a micro server.  This node is able
  to receive modules from the micro server (typically over its UART),
install these modules, and propagate the modules through the network.

- Optionally one or more additional sensor nodes.

Building the Parts
~~~~~~~~~~~~~~~~~~

Building the Blink Module
^^^^^^^^^^^^^^^^^^^^^^^^^
As a first step the blink module needs to be compiled.  This is accomplished by going into the module's directory and building it for the platform that is going to be simulated:

[shell]
source~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$ cd $SOSROOT/modules/test_modules/blink/
$ make mica2
source~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Building the Blank Kernel
^^^^^^^^^^^^^^^^^^^^^^^^^
Next a clean SOS kernel needs to be compiled.  This kernel is called the
`blank` kernel image.  It is located in<commit_msg>Added blink_sim and blink_avrora in tutorial<commit_after>Avrora Simulation of Blink
--------------------------

http://compilers.cs.ucla.edu/avrora/[Avrora] is a suite ofsimulation and
analysis tools used to examine AVR programs.  Using Avrora with SOS provides
a high quality simulation of the actual code that runs on a Mica2 node.
This allows for more in-depth testing and debugging of applications that do
not quite do what they should. The http://compilers.cs.ucla.edu/avrora/[Avrora site] includes good instructions on installation and instructions on getting started with Avrora. While this provides a very brief overview of using Avrora with SOS, users are highly encouraged to look there for more help.

Since Avrora simulates the actual AVR chip, custom kernel configurations
are not needed in this form of simulation.  As such the simulation will take
on a form more similar to what is seen in an actual deployment.  This
involves:

- A micro server that loads modules into the deployed sensor network using
  the suite of tools provided with the SOS distribution.

- At least one node with a connection to a micro server.  This node is able
  to receive modules from the micro server (typically over its UART),
install these modules, and propagate the modules through the network.

- Optionally one or more additional sensor nodes.

Building the Parts
~~~~~~~~~~~~~~~~~~

Building the Blink Module
^^^^^^^^^^^^^^^^^^^^^^^^^
As a first step the blink module needs to be compiled.  This is accomplished by going into the module's directory and building it for the platform that is going to be simulated:

[c]
source~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$ cd $SOSROOT/modules/test_modules/blink/
$ make mica2
source~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Building the Blank Kernel
^^^^^^^^^^^^^^^^^^^^^^^^^
Next a clean SOS kernel needs to be compiled.  This kernel is called the
`blank` kernel image.  It is located in
{'fraction_non_alphanumeric': 0.12230028623471247, 'fraction_numerical': 0.0010408534998698933, 'mean_word_length': 4.353760445682451, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '97185', 'n_tokens_mistral': 970, 'n_tokens_neox': 927, 'n_words': 534}