Skip to content
Snippets Groups Projects

Create links in toc and fix some misspellings

Merged Aleks Stier requested to merge astier/AMiRo-OS:master into master
1 file
+ 26
26
Compare changes
  • Side-by-side
  • Inline
+ 26
26
@@ -53,26 +53,26 @@ References
Contents
========
1. Introduction
2. Required Software
1. Git
2. Bootloader & Tools (AMiRo-BLT)
3. System Kernel (ChibiOS)
4. Low-Level Drivers (AMiRo-LLD)
5. OpenOCD
3. Recommended Software
1. gtkterm and hterm
2. PlantUML
3. Doxygen & Graphviz
4. QtCreator IDE
4. Building and Flashing
5. Using the Shell
6. Developer Guides
1. Adding a Module
2. Adding a Shell Command
3. Handling a Custom I/O Event in the Main Thread
4. Implementing a Low-Level Driver
5. Writing a Test
1. [Introduction](#1-introduction)
2. [Required Software](#2-required-software)
1. [Git](#21-git)
2. [Bootloader & Tools (AMiRo-BLT)](#22-bootloader-tools-amiro-blt)
3. [System Kernel (ChibiOS)](#23-system-kernel-chibios)
4. [Low-Level Drivers (AMiRo-LLD)](#24-low-level-drivers-amiro-lld)
5. [OpenOCD](#25-openocd)
3. [Recommended Software](#3-recommended-software)
1. [gtkterm and hterm](#31-gtkterm-and-hterm)
2. [PlantUML](#32-plantuml)
3. [Doxygen & Graphviz](#33-doxygen-graphviz)
4. [QtCreator IDE](#34-qtcreator-ide)
4. [Building and Flashing](#4-building-and-flashing)
5. [Using the Shell](#5-using-the-shell)
6. [Developer Guides](#6-developer-guides)
1. [Adding a Module](#61-adding-a-module)
2. [Adding a Shell Command](#62-adding-a-shell-command)
3. [Handling a Custom I/O Event in the Main Thread](#63-handling-a-custom-io-event-in-the-main-thread)
4. [Implementing a Low-Level Driver](#64-implementing-a-low-level-driver)
5. [Writing a Test](#65-writing-a-test)
--------------------------------------------------------------------------------
@@ -263,8 +263,8 @@ Further instructions for a more advanced configuration of the IDE are provided i
=========================
Each time you modify any part of AMiRo-OS, you need to recompile the whole project for the according module.
Therefore you can use the [`root Makefile`](./Makefile) by simply executing make in the [AMiRo-OS root direcory](./) and follow the instructions.
Alternatively, you can call make in the [`./modules/`](./modules/) folder, which acts very siilar, or in a specific module folder (e.g. [`./modules/DiWheelDrive_1-1/`](./modules/DiWheelDrive_1-1/)).
Therefore you can use the [`root Makefile`](./Makefile) by simply executing make in the [AMiRo-OS root directory](./) and follow the instructions.
Alternatively, you can call make in the [`./modules/`](./modules/) folder, which acts very similar, or in a specific module folder (e.g. [`./modules/DiWheelDrive_1-1/`](./modules/DiWheelDrive_1-1/)).
After the build process has finished successfully, you always have to flash the generated program to the module.
Therefore you need an appropriate tool, such as SerialBoot for the AMiRo base modules (provided by [AMiRo-BLT]) or [OpenOCD].
@@ -289,7 +289,7 @@ where you have to replace the trailing `#` with the according integer.
The AMiRo-OS shell is a central component for a user to interact with the system.
Although it can be deactivated via the `aosconf.h` configuration file, the system shell is typically available on every platform.
Similar to other shells, you can navigate the curser using the 'arrow left', 'arrow right', 'home' and 'end' keys.
Similar to other shells, you can navigate the cursor using the 'arrow left', 'arrow right', 'home' and 'end' keys.
You can also delete text using backspace or delete.
The shell also features a history, the size of which is configured via the `AMIROOS_CFG_SHELL_HISTLENGTH` setting in `aosconf.h`.
@@ -297,7 +297,7 @@ Even when set to zero, the shell can retrieve the most recent call with certain
Intuitively, the history can be scrolled through via the 'arrow up', 'arrow down', 'page up' and 'page down' keys.
Furthermore, the AMiRo-OS shell features auto-complete and suggest capabilities.
When pressing the 'tab' key once, the current input (at the current curser position) is completed as possible.
When pressing the 'tab' key once, the current input (at the current cursor position) is completed as possible.
Pressing 'tab' again will print all commands that are ambiguous to the current input.
This behaviour can be used to print all commands available by pressing 'tab' twice when there is not input at all.
@@ -343,7 +343,7 @@ All files, which directly depend on the hardware, and thus are not portable, bel
Conversely, any code that can be reused on different hardware should not be placed in this module folder.
In a second step you have to initialize all required files (see below) in the newly created module directory.
It is recommended to use aan existing module as template for your configuration:
It is recommended to use an existing module as template for your configuration:
- `alldconf.h`<br/>
Configuration header for the [AMiRo-LLD] project, which is part of AMiRo-OS.
@@ -403,7 +403,7 @@ Before going into the technical details, how a new shell command is initialized
Most fundamentally, although for most use cases a single shell instance on a module will suffice, there can be an arbitrary number of shells.
Each shell runs in its own thread and has an exclusive list of shell commands.
That said, each shell command can be registered to only one (or none) shell.
Consequently, if you want to provide a command in multiple shells, you need to instancitate that command multiple times.
Consequently, if you want to provide a command in multiple shells, you need to instantiate that command multiple times.
Another important aspect of the AMiRo-OS shell are I/O streams.
Each shell reads and writes from/to a shell stream.
Loading