Commit graph

51 commits

Author SHA1 Message Date
Marti Bolivar 151ad0d460 notes/interrupts.txt: Fix typos and other errors.
Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
2012-08-23 01:46:50 -04:00
Marti Bolivar 994c7b2683 Add notes/interrupts.txt.
This is a developer's doc explaining how interrupts are handled in
libmaple. It's time we exposed this information to enable people who
know what they're doing to move around more easily.

Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
2012-08-23 01:25:16 -04:00
Marti Bolivar 08531fb561 Move notes/dma.txt to notes/dma-stm32f1.txt.
This information is all STM32F1 only.

Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
2012-04-26 15:50:18 -04:00
Marti Bolivar b7e7554692 Add notes/stm32.txt.
Some general notes on the various STM32 series.

Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
2012-04-11 16:56:55 -04:00
Marti Bolivar a7dcf28b08 Cosmetics.
Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
2011-09-29 17:31:58 -04:00
Marti Bolivar 104c9625ea pin-definitions.txt: Break up GPIO ports visually.
The tables are too long to read comfortably without additional
horizontal line breaks.
2011-09-06 18:46:27 -04:00
Marti Bolivar 3d18deccad notes/exti.txt: Remove Maple-specific pin map information.
This information has been folded into the board hardware documentation
for Maple.
2011-06-11 20:08:50 -04:00
Marti Bolivar 52fc08b091 notes/dac.txt: Tidy up content. 2011-06-11 20:05:42 -04:00
Marti Bolivar 1e014f7249 Update notes/portable.txt
This file is out of date.  Fix it to be a useful starting point for
figuring out how libmaple ports across chips/boards.
2011-06-11 20:05:42 -04:00
Marti Bolivar f53dd1a4e5 Delete notes/coding_standard.rst.
Its content was moved into the official docs a while ago.
2011-06-11 20:05:42 -04:00
Marti Bolivar 2ea08f3e09 Remove notes/pin-mapping.txt
Its content has been moved into the main docs tree.
2011-05-26 02:42:07 -04:00
Marti Bolivar c1628432f5 Trivial pin-definitions.txt updates.
No corrections made to the pin definitions themselves.
2011-04-25 18:53:42 -04:00
Marti Bolivar 2efa1a629b Coding standard.
Fixes for github .rst display.
2011-04-12 17:25:51 -04:00
Marti Bolivar 10618ab3c1 Coding standard. 2011-04-11 23:46:44 -04:00
Marti Bolivar ec3cf2903f DMA checkpoint; dma_attach_interrupt() is broken.
Simple USART receiver to SRAM buffer demo partially working.
Interrupting when buffer is full fails mysteriously.  GDB thinks
we ended up in an STM32 reserved exception.
2011-04-11 20:53:51 -04:00
Marti Bolivar cafc320fae Coding standard tweaks.
It's mostly ready for inclusion in the main body of documentation.
2011-04-11 12:05:37 -04:00
Marti Bolivar de6586423b Coding standard updates.
Added some content, converted document to .rst.
2011-04-08 19:47:11 -04:00
Marti Bolivar 457e3f30d1 Coding standard tweaks. 2011-04-07 23:16:53 -04:00
Marti Bolivar 0004ee5b37 Timer tweaks. 2011-04-07 16:28:14 -04:00
Marti Bolivar b48906dc1e Coding standard updates. 2011-04-07 14:43:00 -04:00
Marti Bolivar 77eae0960d Updated coding standard. 2011-04-06 11:51:57 -04:00
Marti Bolivar c5e16e9625 Final stm32_pin_info design candidate; ADC3 support on Native.
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.
2011-03-25 20:09:30 -04:00
Marti Bolivar 296b1188bf Initial timer refactor.
Basic PWM works.  Had some problems in testing that might be due to
USART bugs.

HardwareTimer has been removed from the build for now; I will
re-implement it in terms of the new libmaple API, but consider it
deprecated.  Let's come up with something better.

Servo is implemented in terms of HardwareTimer, so it also has been
temporarily removed from the build.

pwmWrite() likely got a little bit less inefficient due to
indirection, but the PIN_MAPs shrank by a pointer per PinMapping.
2011-03-24 07:25:14 -04:00
Marti Bolivar 7c5c5bb118 [WIP] GPIO refactor: seems ok, ready for review 2011-03-11 16:24:44 -05:00
Marti Bolivar 15f6d9d049 Trivial DAC-related updates. 2011-02-18 16:59:06 -05:00
Marti Bolivar 5ea4b56515 Basic DAC functionality (high-density devices only). 2011-02-18 04:00:00 -05:00
Marti Bolivar cae9d414ca Merge branch 'debug-serialusb'
Conflicts:
	libmaple/usb/usb.c
	notes/coding_standard.txt
2011-02-12 03:09:40 -05:00
Marti Bolivar a93626ced8 Made Native prototype B definitions in libmaple.h and boards.h; added
notes/native-pin-definitions.txt (copied from ST datasheet).
2011-02-10 16:31:58 -05:00
Marti Bolivar 6ff36ce014 notes/pin-mapping.txt reflects Mini release candidate. 2011-02-02 16:39:09 -05:00
Marti Bolivar 6d12d66ff6 Updated coding standard 2011-02-01 16:16:16 -05:00
Marti Bolivar de62129d02 readme and coding standard updates 2010-12-21 10:31:01 -05:00
Marti Bolivar 7b72956308 added notes/coding_standard.txt, more cleanups 2010-09-27 03:47:47 -04:00
Marti Bolivar 753f89de35 whitespace cleanups 2010-09-27 00:40:44 -04:00
bnewbold 02d7b08f04 Merge maple-native changes into portable
This compiles for both maple and maple_native but is untested.
2010-08-31 17:39:46 -04:00
bnewbold e03d58f4da Further wirish portability progress
Sort of ugly changes. Compiles but untested.
2010-08-31 17:17:57 -04:00
bnewbold 12c351d056 inital portability work 2010-08-25 22:57:46 -04:00
bnewbold ac33b7026f D38 note 2010-08-25 17:30:39 -04:00
bnewbold 7b391d7f76 basic working dac implementation 2010-08-07 20:29:37 -04:00
bnewbold 314846bee3 Partially working!
Documented; see ./notes/fsmc.txt. Not yet integrated into .ld scripts or
fully tested
2010-08-05 21:47:47 -04:00
bnewbold 0f55cc0d89 partial progress on FSMC for SRAM 2010-08-05 21:47:22 -04:00
bnewbold dd52d66d03 timers progress
examples code cleanup, more descriptive comments, more notes
2010-07-20 15:37:09 -04:00
bnewbold f06fcac502 good quality vga leaf logo; usb+systick disabled
refactored timers and added interrupt behavior. see notes and
comments...  also includes a crude vga hack that doesn't use timers.
2010-07-20 15:36:44 -04:00
bnewbold 52cbd2f1a1 working serialUSB with timeout
as a temporary workaround for the fact that SerialUSB is often blocking,
this crude implementation makes the low-level C usbSendBytes function
non-blocking (with a return code of bytes sent) and implements a 2ms
timeout in the wirish write() function.

also adds begin(), end(), getDTR(), getRTS(), pending(). device is still
initialized the old fashioned way during init() so that, eg, autoreset
will work. includes a simple multi-test program.
2010-07-19 00:38:36 -04:00
bnewbold 809223fefa notes 2010-07-19 00:38:36 -04:00
bnewbold d7d3dfe1a9 info cleanup 2010-06-18 22:00:35 -04:00
Perry Hung 5b9c5d9c93 libcs3 refactor merge
Removed dependency on libcs3.a because Codesourcery does not provide the
source for it.

We now link against a modified libcs3-lanchon-stm32.a built from parts
in public domain from Lanchon, and a start_c.c from Codesourcery that is
licensed under a permissive license.

Also removed all of the extra linker cruft from the stm32conf directory.

The linker files now live in support/ld
The openocd scripts now live in support/openocd
The udev rules and copy-to-ide scripts now live in support/scripts
The source lives in support/ld/libcs3-lanchon-stm32.tar.gz
2010-05-28 03:06:03 -04:00
AJM 4197727c10 minor mods to adjust the driver number and the vendor product id's (serial port now 1eaf:0004) and fixed a bug in reset.py,
added a no-delay usb serial loop to main.cpp as an example. has no problem at 115200 in minicom!
2010-05-21 20:02:22 -04:00
AJM d44f856baf Finalized the libmaple changes required by newboot. Added setupUSB() to wirish init
this involved some some changes to copy-to-ide, WProgram.h, and the makefile. Separated the reset.py from the wait.py so that the program closes the serial port correctly.
2010-05-21 19:09:35 -04:00
Perry Hung 17e0e5edde Initial SPI Polling implementation.
Initial commit of a polling-based SPI driver. The driver is limited to
synchronous, blocking sends and a 8-bit data frame format. Tested on
SPI1 and SPI2.

Other peripherals are temporarily disabled, and the rx function
is untested until I find a good peripheral to test everything on.
2010-04-24 03:53:22 -04:00
bnewbold 9314fec2c5 should have had this in before 2010-04-07 01:00:19 -04:00