Commit Graph

975 Commits

Author SHA1 Message Date
Piotr Esden-Tempski 26de4cb9d6 Constand value for resetting CAN_TDTxR was too big. Fixed. 2012-03-19 23:09:18 -07:00
Piotr Esden-Tempski ec34e21ead Changed parameter size for trigger enable. 2012-03-19 20:20:05 -07:00
Piotr Esden-Tempski 451a5e227d Started some cleanup in the ADC headers and convenience code. 2012-03-19 17:38:24 -07:00
Piotr Esden-Tempski 4fbd42148a Added basic exception handling to the stm32 linker scripts. Thanks Mike Smith! 2012-03-18 22:59:31 -07:00
Piotr Esden-Tempski 4e26104c18 Fixed position of PSIZE bits, thanks to Patrick for spotting this. 2012-03-17 16:17:40 -07:00
Piotr Esden-Tempski 06d6f3e0e6 Made spi_init_master ignore CRC and SPE bits. 2012-03-14 21:00:53 -07:00
Piotr Esden-Tempski b7875d0230 Added dma based usart IO example. 2012-03-14 13:17:43 -07:00
Piotr Esden-Tempski aaa0158221 Fixed operation order for dma bit calculations. 2012-03-13 12:18:28 -07:00
Piotr Esden-Tempski 1b7cd12f20 Added irq usart example for lisa/m 2.0 2012-03-12 00:01:48 -07:00
Piotr Esden-Tempski b41987dc7a Added blocking usart printf for lisa/m 2.0 2012-03-11 23:55:24 -07:00
Piotr Esden-Tempski 22706613d9 Added usart irq example for lisa/m 2.0 2012-03-11 23:26:28 -07:00
Piotr Esden-Tempski 7e9425bdac Added usart example to lisa/m 2.0 2012-03-11 23:12:26 -07:00
chrysn da4567a035 efm32: registers for leds 2012-03-04 22:48:13 +01:00
chrysn 692817059c various enhancements for header generation
* don't reference sections that don't exist (typically happens for
  registers that don't contain any fields and are interpreted
  numerically.

* allow templates to use override_backref for surpressing the list of
  registers that use it

* print doc for fields even when it uses values or only exports a mask

* allow fields to define their own mask; those fields have to define
  their values explicitly too, and don't have to provide a shift

* don't print a "No values defined for the field" lines, as there's
  always a mask in that case by now.
2012-03-04 22:43:52 +01:00
chrysn c2fdd6e751 header file generation learned register templates
registers that have the same structure can now use shared value
definitions. the abstraction is kept active through the header
generation; that is, no cartesian product code is generated.
2012-03-04 19:45:13 +01:00
chrysn e1a660eb9d efm32 cmu: convenience functions
includes a fix for the register definitions (subtle differences between
two fields)
2012-03-04 16:59:20 +01:00
chrysn 61b649370f efm32: generate _MASK constants
constants are generated for all fields that either have named values or
length > 1
2012-03-04 16:57:43 +01:00
chrysn bc1bff477b efm32: shortened doxygen names and grouped them per chip family 2012-03-04 16:56:48 +01:00
chrysn d3fe8c18f8 experimental yaml based header file generation
the header file genertion mechanism here is designed to:

* use human readable source data that is better structured and less
  repetitive than the header files themselves

* produce same quality header files than the manual process of writing
  them. some features were not yet enabled to show that the existing
  headers didn't change. (look at emu.h's differences. whitespace
  switched from tabs to spaces as they are easier to handle, use
  --color-words to see the few differences that stemmed from
  inconsistencies in the original file.)

* be less tedious and thus error prone when doing large modifications
  (eg, i forgot to add _MASK to bitfields, would like to enable
  bitbanding acces, and to overhaul the naming in doxygen modules)
2012-03-04 12:49:06 +01:00
chrysn cdf36e6c8e efm32: some more cmu registers and doxygen update 2012-03-03 20:19:03 +01:00
Uwe Hermann 7907b29113 Fix search-replace left-over. 2012-03-03 00:46:07 +01:00
Piotr Esden-Tempski 789ae97212 Some additional LGPL3+ license change cleanups.
Changed the license to LGPL3+ for some makefiles that got ommited in the
previous big patch commit.

Corrected a find and replace error in a linker file.
2012-03-02 15:39:15 -08:00
chrysn 78c93dc779 add missed license headers to efm32 files
some files had nonstandard shared copyright lines, fixed them too
2012-03-03 00:26:55 +01:00
chrysn 4668adcf1f follow the license change to lgpl3 in efm32
this follows the license change of the master branches in [43561de]. all
files whose copyright is not my own are originally based on files whose
license has been changed in master.

the expression used for the conversion was:

sed -i -e 's/This program is free software: you can redistribute/This library is free software: you can redistribute/g' -e 's/under the terms of the GNU General Public License as published/under the terms of the GNU Lesser General Public License as published/' -e 's/This program is distributed in the hope that/This library is distributed in the hope that/g' -e 's/You should have received a copy of the GNU General/You should have received a copy of the GNU Lesser General/' -e 's/along with this program.  If not/along with this library. If not/' -e 's/GNU General Public License for more details/GNU Lesser General Public License for more details/' */**/efm32/**/*(.)

[43561de] 43561de329
2012-03-03 00:21:21 +01:00
chrysn 563586c072 Merge branch 'master' into efm32 2012-03-02 23:59:52 +01:00
Piotr Esden-Tempski 43561de329 License change of the library to LGPL, version 3 or later.
Agreed to by all the significant contributors to the library.
2012-03-02 14:44:49 -08:00
chrysn e388056fda efm32: energy management unit headers and example 2012-03-02 21:54:23 +01:00
chrysn eda122180a (efm32: remove todo that couldn't work out) 2012-03-02 21:53:52 +01:00
Piotr Esden-Tempski 994d559a6c Corrected interrupt flag register defines. 2012-02-29 18:00:10 -08:00
Piotr Esden-Tempski f5cd026ae3 Added dma_channel_reset prototype. 2012-02-29 17:53:46 -08:00
chrysn 70ac046f98 added efm32 lightswitch example 2012-03-01 02:47:06 +01:00
chrysn 541fded753 convenience functions for efm32 gpio
also, the whole gpio header file is now a big doxygen group, structuring
the convenience functions and the register/value definitions
2012-03-01 02:18:22 +01:00
Piotr Esden-Tempski ec904f176b Cleaned up and streamlined DMA support for f1. Definitely needs a bunch of testing! 2012-02-29 16:02:51 -08:00
Piotr Esden-Tempski 20c5e56234 Fixed spi convenience reset function to compile properly. 2012-02-29 12:02:36 -08:00
chrysn a747e887bd efm32 tinygecko gpio: implemented all the bit values
along with the actual implementation comes a first attempt to better
structure the doxygen groups. putting all the groups in a bigger one
makes it easier to reference them from the file itself, and makes the
structure clearer on the module page.
2012-02-29 02:32:14 +01:00
Piotr Esden-Tempski c49f505df4 Added spi reset convenience function. 2012-02-28 11:28:29 -08:00
chrysn 8e90ffa2ab fixed a bug in efm32 miniblink example
actually, it wasn't a bug; the compiler just optimized a statement away
until it was declared volatile. inserting a no-op assembler instruction
to make it more obvious what's going on
2012-02-27 19:20:19 +01:00
chrysn 805119786c added upload target for segger's JLink tool
this is quite a hack, but the only way i know of by which firmware can
be uploaded to the efm32tg-stk until OpenOCD supports SWD on jlink
2012-02-27 17:59:58 +01:00
chrysn 09523e854d efm32 example: enhanced makefiles 2012-02-27 16:07:24 +01:00
chrysn f52b1a56b0 make doxygen ignore __attribute__
doxygen doesn't understand __attribute__ and constructs bogus call
graphs and dependencies from it.

according to the doxygen maintainer[1], this is the way to deal with it.

[1] http://sourceforge.net/mailarchive/message.php?msg_id=20085215
2012-02-27 14:14:22 +01:00
chrysn d6a314bed7 efm32: make all interrupts usable in vector table
* define weak symbol for ${irq_name}_isr
* put them in the rom vector table
* declare reset_vector weak in case someone wants to insert code there
* remove null_handler (null handlers should be only requested
  explicitly, and finding out why the chip gets stuck is easier than
  determining whether or not a no-op interrupt handler was executed)
2012-02-27 14:00:34 +01:00
chrysn f4376371ec efm32: minor documentation enhancements 2012-02-27 13:24:19 +01:00
chrysn f6025af859 efm32 tinygecko: defined interrupts
there seems not to be anything family specific about the interrupt
vectors of m3 based efm32 systems, thus renaming vector.h to irq.h
2012-02-27 13:21:40 +01:00
chrysn be62115f00 efm32: created memory map from all base addresses 2012-02-27 12:01:41 +01:00
chrysn 91732cbb9e make doxygen ignore .d files
.d files are created to track Makefile dependencies and don't contain
real code
2012-02-26 03:49:06 +01:00
chrysn 2275ed7b0c overhauled documentation
includes minor refactoring in example code and modification of how the
generic and the tinygecko specific vector.h go together (bringing it in
line with stm32/f1's memorymap.h)
2012-02-26 03:42:25 +01:00
chrysn 08918902ab made blinking a led on efm32 possible
this includes all register definitions for the gpu and mcu modules, but
not all their bit definitions
2012-02-25 23:22:37 +01:00
chrysn 2180a02e2f first attempt at porting libopencm3 to energymicro
unless sources are explicitly given, the linker scripts and make files
were copied over from the stm32/f1 port.
2012-02-25 23:22:37 +01:00
Piotr Esden-Tempski 2b3f07ee08 Added reset function to i2c convenience functions. 2012-02-24 17:14:50 -08:00
Piotr Esden-Tempski cbef43ddd8 Added set priority group convenience function. 2012-02-24 16:43:37 -08:00