Michal Horn [Mon, 24 Aug 2015 12:51:29 +0000 (14:51 +0200)]
Trigger context switch after ADC interrupts
The previous behavior caused the ADC update function to wait until
context switch caused by the system timer. Now the scheduler is forced
to switch tasks immediately.
Michal Sojka [Sun, 2 Aug 2015 07:21:20 +0000 (09:21 +0200)]
Unify ADC among targets
There was little need to have ADC files different for each board. This
way it is simpler. The only difference is the number of pins and we now
keep this difference in port_def.h.
Michal Sojka [Sun, 2 Aug 2015 16:56:15 +0000 (18:56 +0200)]
Split drv/digital_io.h to drv/gio*.h and drv/port.h
File digital_io.h mixed two concepts - digital IOs and so called ports.
Ports can be used to access digital IOs but also SPI and ADC. We
therefore spit this file into two independent one.
File gio.h defines access to digital IO on the MCU. The definition of
pins will be provided per target. Applications do not access this
definition directly but via two files: pin names are accessed via
gio_pin_names.h and the definition and related functions via
gio_pin_tab.h.
File port.h defines access to ports.
This commit only changes the interface (.h files). Target specific port
and pin definitions and changes in other files are in subsequent
commits.
Michal Horn [Fri, 17 Jul 2015 08:07:23 +0000 (10:07 +0200)]
Merge port and gpio definitions into one file in the DRV layer
The idea is to have the pin and port names in a separated target specific
header files, the pin and port definitions in a target specific source files and
the target independent functions and data types in a common header and source
files.
The application than should include only one header file digital_io_def.h,
where are defined the names of the pins, and digital_io.h where is defined the
driver interface.
Michal Horn [Thu, 16 Jul 2015 07:41:00 +0000 (09:41 +0200)]
Separate GPIO HAL interface from the code
The implementation of the functions is moved to the source file, leaving only commented
function prototypes of the interface functions in the header and hiding the internal
functions in the source file.
Move GPIO HAL functions definitions from the header file fo the source file
Move functions comments from the source files to the header files
Michal Sojka [Sat, 1 Aug 2015 12:01:56 +0000 (14:01 +0200)]
eth: Get rid of volatile warnings
Pbuf is never modified by hardware and the code which uses it seems to
be safe even when the structure is not volatile. So remove the volatile
qualifier and get rid of the warnings.
Michal Sojka [Sat, 1 Aug 2015 09:08:13 +0000 (11:08 +0200)]
Allow target-specific API documentation
Now, it is not necessary to have separate header file for each target if
the only difference is the documentation (as it was the case for adc.h).
Now, Doxygen knows about the target being compiled and processes only
documentation comments for the given target (as specified via #ifdefs).
Michal Sojka [Sat, 25 Jul 2015 21:50:40 +0000 (23:50 +0200)]
Makefile: Put ARM compiler flags to variables
This is to allow using different compiler by redefining
CC, TARGET_CFLAGS, ARM_COMPILER_CFLAGS and RPP_MAKE_CFLAGS variables.
I use this if ARM compiler error message is not informative enough
to find the source of the error. Setting CC to gcc or clang and adding
a few other options to TARGET_CFLAGS allows using other compilers.
Michal Sojka [Fri, 10 Jul 2015 15:31:44 +0000 (17:31 +0200)]
Make attribute "eaton" to match only files in current directory
Previously, the attribute was set also for files, where it was not
desired because a file in the subdirectory had the same name a file with
eaton attribute in current directory. An example is
apps/rpp-test-suite/main.c and
apps/rpp-test-suite/src/_tms570_rpp/main.c, where only the former file
should be a part of release.
Michal Sojka [Tue, 7 Jul 2015 13:50:11 +0000 (15:50 +0200)]
Generate API reference only for release files
When releasing the library, documentation is automatically generated.
This changes modifies the documentation so that documentation is only
generated from the files that are part of the release.
Michal Sojka [Tue, 7 Jul 2015 09:43:26 +0000 (11:43 +0200)]
Makefile: Initialize rpp_lib_SOURCES_y
Since Makefile.var is included twice (for good reasons), we should
initialize all variables defined here before using += operator. This
prevents make warnings such as:
../../Makefile.lib.inc:48: target 'rpp/src/sys/ti_drv_dmm.obj' given more than once in the same rule
Michal Sojka [Fri, 3 Jul 2015 11:13:39 +0000 (13:13 +0200)]
Rework rpp_gio initialization
Previously, it was necessary to define indexes of various ports in
pin_map. This was error prone and some targets were buggy due to wrong
indexes specified. The new initialization procedure does not require
these indexes and hence works more reliably.
This patch also changes the IDs of ports at RPP layer to correspond to
IDs in the HAL layer. This is now needed for proper initialization and
reduces confusion.
Michal Sojka [Thu, 2 Jul 2015 13:26:54 +0000 (15:26 +0200)]
Makefile: Introduce TARGET_HAS_* variables
These variables allow to specify which target has which properties and
this information will be used for conditional compilation of various
components.
Michal Sojka [Thu, 2 Jul 2015 11:16:53 +0000 (13:16 +0200)]
Add HalCoGen cleanup script
When we initially imported halcogen-generated files, they were modified
manually. This script attempts to do the same modifications
automatically in order to make it easier to import files from newer
halcogen versions or for newly supported hardware.
Michal Sojka [Tue, 30 Jun 2015 18:21:47 +0000 (20:21 +0200)]
Makefile: Fix print-release-basename target
We cannot print arbitrary garbage from the Makefile, because it breaks
"make print-release-basename" command. Therefore, we print built targets
only when we are actually building something.
Michal Sojka [Tue, 30 Jun 2015 17:23:52 +0000 (19:23 +0200)]
Signal compilation error when no known is defined
Files that include target specific header files should fail to compile
if no known target is selected. This makes it easier to add new targets,
because all places where a modification is needed are reprted by the
compiler.
Michal Sojka [Tue, 30 Jun 2015 16:19:00 +0000 (18:19 +0200)]
Simplify sys include files
Instead of having a chain of #if/#else/#endif in every file that
includes target specific files such as port.h and sys_pinmux.h, move
this chain into sys/*.h and include this file from everywhere. The new
files includes the right target specific files.