aboutsummaryrefslogtreecommitdiffstats
path: root/libmaple/adc.c
Commit message (Collapse)AuthorAgeFilesLines
* Resurrect ADC support.Marti Bolivar2012-04-111-65/+9
| | | | | | | | | | | | | Standard refactoring: add series headers for F1 and F2, along with series adc.c files. There are some issues relating to adc_extsel_event to hammer out later, but this will do for now. We also add some new portability interfaces to libmaple/adc.h in order for Wirish to use the same code to initialize the ADCs at init() time. As usual, F1 is untested. Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
* Move public headers to include directories; related cleanups.Marti Bolivar2012-04-111-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move libmaple/*.h to (new) libmaple/include/libmaple/. The new accepted way to include a libmaple header foo.h is with: #include <libmaple/foo.h> This is more polite in terms of the include namespace. It also allows us to e.g. implement the Arduino SPI library at all (which has header SPI.h; providing it was previously impossible on case-insensitive filesystems due to libmaple's spi.h). Similarly for Wirish. The old include style (#include "header.h") is now deprecated. libmaple/*.h: - Change include guard #defines from _FOO_H_ to _LIBMAPLE_FOO_H_. - Add license headers where they're missing - Add conditional extern "C" { ... } blocks where they're missing (they aren't always necessary, but we might was well do it against the future, while we're at it.). - Change includes from #include "foo.h" to #include <libmaple/foo.h>. - Move includes after extern "C". - Remove extra trailing newlines Note that this doesn't include the headers under libmaple/usb/ or libmaple/usb/usb_lib. These will get fixed later. libmaple/*.c: - Change includes from #include "foo.h" to #include <libmaple/foo.h>. Makefile: - Add I$(LIBMAPLE_PATH)/include/libmaple to GLOBAL_FLAGS. This allows for users (including Wirish) to migrate their code, but should go away ASAP, since it slows down compilation. Wirish: - Move wirish/**/*.h to (new) wirish/include/wirish/. This ignores the USB headers, which, as usual, are getting handled after everything else. - Similarly generify wirish/boards/ structure. For each supported board "foo", move wirish/boards/foo.h and wirish/boards/foo.cpp to wirish/boards/foo/include/board/board.h and wirish/boards/foo/board.cpp, respectively. Also remove the #ifdef hacks around the .cpp files. - wirish/rules.mk: put wirish/boards/foo/include in the include path (and add wirish/boards/foo/board.cpp to the list of sources to be compiled). This allows saying: #include <board/board.h> instead of the hack currently in place. We can allow the user to override this setting later to make adding custom board definitions easier. - Disable -Werror in libmaple/rules.mk, as the current USB warnings don't let the olimex_stm32_h103 board compile. We can re-enable -Werror once we've moved the board-specific bits out of libmaple proper. libraries, examples: - Update includes accordingly. - Miscellaneous cosmetic fixups. Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
* Keep it 80-column clean.Marti Bolivar2011-06-071-14/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | Go through overlong source code lines and convert as many of them as appropriate to be 80-column clean. This mostly affects license headers. Overlong lines are determined by running following from the libmaple base directory: $ ack-grep --nocolor --nogroup --cpp --cc --ignore-dir=usb -- '.{80}' Note that this excludes libmaple's usb subdirectory, which is still full of ST code that doesn't follow the libmaple source code guidelines. Contents of ~/.ackrc (these won't matter, but are included for completeness): --ignore-dir=docs --ignore-dir=build --type-set ld=.ld --type-set rst=.rst --type-set txt=.txt --type-set mk=.mk
* adc.c: Giving adc_dev variables static linkage.Marti Bolivar2011-05-231-2/+2
|
* adc: Moving ADC[123] Doxygen comments to definitionsMarti Bolivar2011-05-231-0/+3
|
* adc.c: adc_init() doesn't set the RCC's ADC prescaler.Marti Bolivar2011-05-191-3/+2
| | | | | You have to call rcc_set_prescaler() yourself now. adc_init() never should have been doing that anyway.
* Final stm32_pin_info design candidate; ADC3 support on Native.Marti Bolivar2011-03-251-22/+43
| | | | | | | | | | | | | | | | | | | | Added an adc_dev to struct stm32_pin_info. This was necessary to add support for the channels on the Native which are only connected to ADC3, but it does add a bunch of NULLs to the PIN_MAPs. I don't think any other peripherals need representation on a per-pin basis. Each peripheral library will be responsible for keeping track of related GPIO ports and bits, and we can throw #defines in to boards/*.h for other things (e.g. BOARD_SPI1_MISO_PIN). Fleshed out the ADC refactor and brought it more in keeping with the new design as it evolves. A couple of other tweaks. Notably: waitForButtonPress() now takes a default argument meaning "wait forever". Removed Maple-specific documentation from core functions in io.h; this information will need to go into the individual board docs files.
* Fix compiler errors after reverting broken commit.Perry Hung2011-03-211-2/+2
|
* Revert "RCC refactor, bugfixes"Perry Hung2011-03-211-2/+2
| | | | This reverts commit e4807a5010f59ab863ad2c96dc14caf65bf1ae60.
* RCC refactor, bugfixesMarti Bolivar2011-03-121-2/+2
|
* [WIP] GPIO refactor: seems ok, ready for reviewMarti Bolivar2011-03-111-2/+2
|
* Cosmetic/documentation changes to adc.cMarti Bolivar2011-03-041-1/+3
|
* Cleaned out libmaple.h; this had wide-ranging implications.Marti Bolivar2011-02-271-1/+1
| | | | | | | | | | | | | | | | | | | Many of the #defines in libmaple.h were board-specific, not MCU-specific. Most of these were only used by code under libmaple/usb/. These were moved into usb_config.h, and are clearly marked as being terrible hacks. I'm going to treat the USB stack as a black box that we'll deal with later. Further, instead of having a variety of #defines like "How many USARTS do I have?", we decide that based on the density of the chip. This is determined by testing for STM32_MEDIUM_DENSITY or STM32_HIGH_DENSITY defines. libmaple currently doesn't support low-density chips, so that suffices. The Makefile will set these automatically based on the MCU. Other offending #defines are ERROR_LED_PORT and ERROR_LED_PIN; these were made optional, but they're set in the Makefile as a hack to keep things working.
* Refactor ADC: Pass device pointer instead of register mapPerry Hung2011-02-271-20/+22
|
* libmaple: Refactor ADC routinesPerry Hung2011-02-271-60/+80
| | | | | | ADC routines rewritten, support for ADC2, 3, added. Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
* Generalizing adc_init() to allow user to select sample timeMarti Bolivar2011-02-171-6/+26
|
* docsMarti Bolivar2010-10-111-2/+0
|
* whitespace cleanupsMarti Bolivar2010-09-271-12/+14
|
* New reset and clock control apiPerry Hung2010-08-041-3/+3
|
* Licensing: Relicensed libmaple under the MIT License.Perry Hung2010-03-311-12/+17
| | | | | | Relicensed the bulk of libmaple under the more permissive MIT License, from GPLv3. Files that were largely or entirely derived from the Arduino, STM, or Lanchon retain their original licenses.
* Merge branch 'master' into rcc-devPerry Hung2010-03-301-12/+5
| | | | | Conflicts: Makefile
* Major hierarchy reorganization; see README.bnewbold2010-03-311-0/+97
copy-to-ide and Makefile updated to conform; .gitignore added; LICENSE added