aboutsummaryrefslogtreecommitdiffstats
path: root/wirish/wirish_digital.cpp
diff options
context:
space:
mode:
authorMarti Bolivar <mbolivar@leaflabs.com>2012-05-31 17:17:06 -0400
committerMarti Bolivar <mbolivar@leaflabs.com>2012-05-31 17:24:41 -0400
commit014f9a0545556f2e0d4fb3faba5607e59e1e97ad (patch)
treeaf63cbb2d5c744f107094dd98f3e07ad2c80ae5c /wirish/wirish_digital.cpp
parent40c13f67e21215639b5de3bcf58955abb8f0c6ce (diff)
downloadlibrambutan-014f9a0545556f2e0d4fb3faba5607e59e1e97ad.tar.gz
librambutan-014f9a0545556f2e0d4fb3faba5607e59e1e97ad.zip
examples/blinky.cpp works on F2.
Only OUTPUT mode is tested; any other modes might work, but no guarantees. Bring back: - wirish/wirish_digital.cpp - wirish/cxxabi-compat.cpp - wirish/wirish_time.cpp Add new: - wirish/stm32f1/wirish_digital.cpp - wirish/stm32f2/wirish_digital.cpp Move pinMode() from wirish/wirish_digital.cpp into the file by the same basename in wirish/stm32f1. This implementation is tied to F1. Add an F2 implementation in wirish/stm32f2/wirish_digital.cpp. Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
Diffstat (limited to 'wirish/wirish_digital.cpp')
-rw-r--r--wirish/wirish_digital.cpp54
1 files changed, 1 insertions, 53 deletions
diff --git a/wirish/wirish_digital.cpp b/wirish/wirish_digital.cpp
index 6be1a29..a7f10cd 100644
--- a/wirish/wirish_digital.cpp
+++ b/wirish/wirish_digital.cpp
@@ -2,6 +2,7 @@
* The MIT License
*
* Copyright (c) 2010 Perry Hung.
+ * Copyright (c) 2012 LeafLabs, LLC.
*
* Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
@@ -36,59 +37,6 @@
#include <wirish/wirish_time.h>
#include <wirish/boards.h>
-void pinMode(uint8 pin, WiringPinMode mode) {
- gpio_pin_mode outputMode;
- bool pwm = false;
-
- if (pin >= BOARD_NR_GPIO_PINS) {
- return;
- }
-
- switch(mode) {
- case OUTPUT:
- outputMode = GPIO_OUTPUT_PP;
- break;
- case OUTPUT_OPEN_DRAIN:
- outputMode = GPIO_OUTPUT_OD;
- break;
- case INPUT:
- case INPUT_FLOATING:
- outputMode = GPIO_INPUT_FLOATING;
- break;
- case INPUT_ANALOG:
- outputMode = GPIO_INPUT_ANALOG;
- break;
- case INPUT_PULLUP:
- outputMode = GPIO_INPUT_PU;
- break;
- case INPUT_PULLDOWN:
- outputMode = GPIO_INPUT_PD;
- break;
- case PWM:
- outputMode = GPIO_AF_OUTPUT_PP;
- pwm = true;
- break;
- case PWM_OPEN_DRAIN:
- outputMode = GPIO_AF_OUTPUT_OD;
- pwm = true;
- break;
- default:
- ASSERT(0);
- return;
- }
-
- gpio_set_mode(PIN_MAP[pin].gpio_device, PIN_MAP[pin].gpio_bit, outputMode);
-
- if (PIN_MAP[pin].timer_device != NULL) {
- /* Enable/disable timer channels if we're switching into or
- * out of PWM. */
- timer_set_mode(PIN_MAP[pin].timer_device,
- PIN_MAP[pin].timer_channel,
- pwm ? TIMER_PWM : TIMER_DISABLED);
- }
-}
-
-
uint32 digitalRead(uint8 pin) {
if (pin >= BOARD_NR_GPIO_PINS) {
return 0;