aboutsummaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorMarti Bolivar <mbolivar@leaflabs.com>2011-03-25 20:09:30 -0400
committerMarti Bolivar <mbolivar@leaflabs.com>2011-03-25 20:09:30 -0400
commitf8081eeb04c9cb511adaf58e201c7cfbe1ddfbd4 (patch)
treea4de9665dd2d2340820b888c47e252c233ff9421 /examples
parent63ea7464925b8cbeb8623d08a2bde0b1d2044047 (diff)
downloadlibrambutan-f8081eeb04c9cb511adaf58e201c7cfbe1ddfbd4.tar.gz
librambutan-f8081eeb04c9cb511adaf58e201c7cfbe1ddfbd4.zip
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.
Diffstat (limited to 'examples')
-rw-r--r--examples/test-session.cpp50
1 files changed, 30 insertions, 20 deletions
diff --git a/examples/test-session.cpp b/examples/test-session.cpp
index 28c02f3..110b219 100644
--- a/examples/test-session.cpp
+++ b/examples/test-session.cpp
@@ -27,16 +27,13 @@ const uint8 adc_pins[] =
#elif defined(BOARD_maple_mini)
const uint8 pwm_pins[] = {3, 4, 5, 8, 9, 10, 11, 15, 16, 25, 26, 27};
-const uint8 adc_pins[] = {3, 4, 5, 6, 7, 8, 9, 10, 11, 33}; // NB: 33 is LED
+const uint8 adc_pins[] = {3, 4, 5, 6, 7, 8, 9, 10, 11, 33};
#elif defined(BOARD_maple_native)
const uint8 pwm_pins[] = {12, 13, 14, 15, 22, 23, 24, 25, 37, 38, 45,
46, 47, 48, 49, 50, 53, 54};
-const uint8 adc_pins[] = {6, 7, 8, 9, 10, 11,
- /* the following are on ADC3, which lacks support:
- 39, 40, 41, 42, 43, 45, */
+const uint8 adc_pins[] = {6, 7, 8, 9, 10, 11, 39, 40, 41, 42, 43, 45,
46, 47, 48, 49, 50, 51, 52, 53, 54};
-
#else
#error "Board type has not been selected correctly"
@@ -351,21 +348,34 @@ void cmd_everything(void) { // TODO
void fast_gpio(int maple_pin) {
gpio_dev *dev = PIN_MAP[maple_pin].gpio_device;
- uint32 pin = PIN_MAP[maple_pin].gpio_pin;
-
- gpio_write_bit(dev, pin, 1); gpio_write_bit(dev, pin, 0);
- gpio_write_bit(dev, pin, 1); gpio_write_bit(dev, pin, 0);
- gpio_write_bit(dev, pin, 1); gpio_write_bit(dev, pin, 0);
- gpio_write_bit(dev, pin, 1); gpio_write_bit(dev, pin, 0);
- gpio_write_bit(dev, pin, 1); gpio_write_bit(dev, pin, 0);
- gpio_write_bit(dev, pin, 1); gpio_write_bit(dev, pin, 0);
- gpio_write_bit(dev, pin, 1); gpio_write_bit(dev, pin, 0);
- gpio_write_bit(dev, pin, 1); gpio_write_bit(dev, pin, 0);
- gpio_write_bit(dev, pin, 1); gpio_write_bit(dev, pin, 0);
- gpio_write_bit(dev, pin, 1); gpio_write_bit(dev, pin, 0);
- gpio_write_bit(dev, pin, 1); gpio_write_bit(dev, pin, 0);
- gpio_write_bit(dev, pin, 1); gpio_write_bit(dev, pin, 0);
- gpio_write_bit(dev, pin, 1); gpio_write_bit(dev, pin, 0);
+ uint32 bit = PIN_MAP[maple_pin].gpio_bit;
+
+ gpio_write_bit(dev, bit, 1);
+ gpio_toggle_bit(dev, bit);
+ gpio_toggle_bit(dev, bit);
+ gpio_toggle_bit(dev, bit);
+ gpio_toggle_bit(dev, bit);
+ gpio_toggle_bit(dev, bit);
+ gpio_toggle_bit(dev, bit);
+ gpio_toggle_bit(dev, bit);
+ gpio_toggle_bit(dev, bit);
+ gpio_toggle_bit(dev, bit);
+ gpio_toggle_bit(dev, bit);
+ gpio_toggle_bit(dev, bit);
+ gpio_toggle_bit(dev, bit);
+ gpio_toggle_bit(dev, bit);
+ gpio_toggle_bit(dev, bit);
+ gpio_toggle_bit(dev, bit);
+ gpio_toggle_bit(dev, bit);
+ gpio_toggle_bit(dev, bit);
+ gpio_toggle_bit(dev, bit);
+ gpio_toggle_bit(dev, bit);
+ gpio_toggle_bit(dev, bit);
+ gpio_toggle_bit(dev, bit);
+ gpio_toggle_bit(dev, bit);
+ gpio_toggle_bit(dev, bit);
+ gpio_toggle_bit(dev, bit);
+ gpio_toggle_bit(dev, bit);
}
void cmd_serial1_serial3(void) {