Revision 14c96f7f README.md

View differences:

README.md
56 56

  
57 57
AMiRo-LLD is a compilation of low-level hardware drivers, originally developed
58 58
for the Autonomous Mini Robot (AMiRo) [1]. It provides a modular design, so that
59
each driver can be unsed and configured individually as required. Interface
59
each driver can be used and configured individually as required. Interface
60 60
functions allow for bidirectional comunication with an operating system. On the
61 61
one hand drivers access according hardware interfaces via defined interface
62 62
functions (which need to be implemented by the operating system), on the other
......
80 80

  
81 81
*   `./`  
82 82
    The project root directory contains this file, a `license.html` file as well
83
    as a makefile `amiro-lld.mk` that allows to easily integrate the project.
84
    Furthermore, two interface headers are provided: amiro-lld.h and periphALh.
83
    as a make script `amiro-lld.mk` that allows to easily integrate the project.
84
    Furthermore, two interface headers are provided: `amiro-lld.h` and
85
    `periphAL.h`.
85 86
    *   `./docs/`  
86 87
        UML graphs (using PlantUML; see <https://plantuml.com> for further
87 88
        information) visualize the structure of the AMiRo-LLD project. Doxygen
......
93 94
        (e.g. `v1/`, `v2/`, etc.). By convention, the root directory of a driver
94 95
        is named by the exact product name of the according hardware, or the
95 96
        product familiy, if the driver is compatible with all parts. Each driver
96
        must provide a makefile script, which adds the required include paths to
97
        the `AMIROLLD_INC` variable and all C source files to the
98
        `AMIROLLD_CSRC` variable.
97
        must provide a make script, which adds the required include paths to the
98
        `AMIROLLD_INC` variable and all C source files to the `AMIROLLD_CSRC`
99
        variable.
99 100
    *   `./templates/`  
100
        AMiRo-LLD expects a configuration header file "alldconf.h" to be found in
101
        the include paths. An according template for such file can be found here.
102
        There is no template for an implementation of periphAL, though. The
103
        interface header in the root directory (`./periphAL.h`) provides all
101
        AMiRo-LLD expects a configuration header file "alldconf.h" to be found
102
        in the include paths. An according template for such a file can be found
103
        here. There is no template for an implementation of periphAL, though.
104
        The interface header in the root directory (`./periphAL.h`) provides all
104 105
        required information for an implementation.
105 106

  
106 107

  
......
120 121

  
121 122
When adding a new device to the project, the very first step is to create the
122 123
according folder in the `./drivers/` directory. For this guide, we will add the
123
fictional device `DEVICE1234`. The folders to be created in this case are hence
124
fictional device "DEVICE1234". The folders to be created in this case are hence
124 125
`./drivers/DEVICE1234/` and `./drivers/DEVICE1234/v1/`. In case there already
125 126
exists a driver implementation for this device, but you want to implement
126 127
another version, the version subfolder must be named accordingly (e.g.
......
134 135

  
135 136
Some drivers, however, may feature multiple header and/or source files or even
136 137
come with additional subfolders. In any case, all those required folders,
137
including the driver root folder (i.e. `./drivers/DEVICE1234/v1/`), as well as
138
all source files must be added to the according makefile variables
139
`AMIROLLD_INC` and `AMIROLLD_CSRC` by the makefile script.  
138
including the driver root folder (i.e. `./drivers/DEVICE1234/v1/`) as well as
139
all source files must be added to the according variables `AMIROLLD_INC` and
140
`AMIROLLD_CSRC` by the make script.  
140 141
It is highly recommended that files in the driver root directory (i.e.
141 142
`./drivers/DEVICE1234/v1/`) use the prefix `alld_` in their names. This not only
142 143
helps to achieve an easy to understand file structure, but also prevents
......
145 146
**Summing up, you have to**
146 147

  
147 148
1.  create device and version folders.
148
2.  add a makefile script.
149
2.  add a make script.
149 150
3.  add header and source files as well as subfulders, implementing the driver.
150 151

  
151 152

  

Also available in: Unified diff