From 718062ed6e7e6bb92e4be57b3b7bd7ac0c4a2579 Mon Sep 17 00:00:00 2001 From: lilvinz Date: Sun, 16 Sep 2012 18:19:27 +0200 Subject: [PATCH 1/3] pios_led: added support for active_high connected leds --- flight/PiOS/STM32F10x/pios_led.c | 20 ++++++++++++++++---- flight/PiOS/STM32F4xx/pios_led.c | 20 ++++++++++++++++---- flight/PiOS/inc/pios_led_priv.h | 1 + 3 files changed, 33 insertions(+), 8 deletions(-) diff --git a/flight/PiOS/STM32F10x/pios_led.c b/flight/PiOS/STM32F10x/pios_led.c index 30c6f1296..1714a9165 100644 --- a/flight/PiOS/STM32F10x/pios_led.c +++ b/flight/PiOS/STM32F10x/pios_led.c @@ -93,7 +93,10 @@ void PIOS_LED_On(uint32_t led_id) const struct pios_led * led = &(led_cfg->leds[led_id]); - GPIO_ResetBits(led->pin.gpio, led->pin.init.GPIO_Pin); + if (led->active_high) + GPIO_SetBits(led->pin.gpio, led->pin.init.GPIO_Pin); + else + GPIO_ResetBits(led->pin.gpio, led->pin.init.GPIO_Pin); } /** @@ -111,7 +114,10 @@ void PIOS_LED_Off(uint32_t led_id) const struct pios_led * led = &(led_cfg->leds[led_id]); - GPIO_SetBits(led->pin.gpio, led->pin.init.GPIO_Pin); + if (led->active_high) + GPIO_ResetBits(led->pin.gpio, led->pin.init.GPIO_Pin); + else + GPIO_SetBits(led->pin.gpio, led->pin.init.GPIO_Pin); } /** @@ -130,9 +136,15 @@ void PIOS_LED_Toggle(uint32_t led_id) const struct pios_led * led = &(led_cfg->leds[led_id]); if (GPIO_ReadOutputDataBit(led->pin.gpio, led->pin.init.GPIO_Pin) == Bit_SET) { - PIOS_LED_On(led_id); + if (led->active_high) + PIOS_LED_Off(led_id); + else + PIOS_LED_On(led_id); } else { - PIOS_LED_Off(led_id); + if (led->active_high) + PIOS_LED_On(led_id); + else + PIOS_LED_Off(led_id); } } diff --git a/flight/PiOS/STM32F4xx/pios_led.c b/flight/PiOS/STM32F4xx/pios_led.c index c73d37198..5a8d25d33 100644 --- a/flight/PiOS/STM32F4xx/pios_led.c +++ b/flight/PiOS/STM32F4xx/pios_led.c @@ -77,7 +77,10 @@ void PIOS_LED_On(uint32_t led_id) const struct pios_led * led = &(led_cfg->leds[led_id]); - GPIO_ResetBits(led->pin.gpio, led->pin.init.GPIO_Pin); + if (led->active_high) + GPIO_SetBits(led->pin.gpio, led->pin.init.GPIO_Pin); + else + GPIO_ResetBits(led->pin.gpio, led->pin.init.GPIO_Pin); } /** @@ -95,7 +98,10 @@ void PIOS_LED_Off(uint32_t led_id) const struct pios_led * led = &(led_cfg->leds[led_id]); - GPIO_SetBits(led->pin.gpio, led->pin.init.GPIO_Pin); + if (led->active_high) + GPIO_ResetBits(led->pin.gpio, led->pin.init.GPIO_Pin); + else + GPIO_SetBits(led->pin.gpio, led->pin.init.GPIO_Pin); } /** @@ -114,9 +120,15 @@ void PIOS_LED_Toggle(uint32_t led_id) const struct pios_led * led = &(led_cfg->leds[led_id]); if (GPIO_ReadOutputDataBit(led->pin.gpio, led->pin.init.GPIO_Pin) == Bit_SET) { - PIOS_LED_On(led_id); + if (led->active_high) + PIOS_LED_Off(led_id); + else + PIOS_LED_On(led_id); } else { - PIOS_LED_Off(led_id); + if (led->active_high) + PIOS_LED_On(led_id); + else + PIOS_LED_Off(led_id); } } diff --git a/flight/PiOS/inc/pios_led_priv.h b/flight/PiOS/inc/pios_led_priv.h index 20f09eafc..36a1ee3f7 100644 --- a/flight/PiOS/inc/pios_led_priv.h +++ b/flight/PiOS/inc/pios_led_priv.h @@ -37,6 +37,7 @@ struct pios_led { struct stm32_gpio pin; uint32_t remap; + bool active_high; }; struct pios_led_cfg { From 05483e2a74801d0c5a2ddf11405dd1bb6b5e7252 Mon Sep 17 00:00:00 2001 From: Stacey Sheldon Date: Sun, 16 Sep 2012 15:40:47 -0400 Subject: [PATCH 2/3] simposix: adapt simposix to addition of relay tuning --- flight/SimPosix/Makefile | 6 ++++++ flight/SimPosix/UAVObjects.inc | 2 ++ 2 files changed, 8 insertions(+) diff --git a/flight/SimPosix/Makefile b/flight/SimPosix/Makefile index 84a9bb060..622d7f53c 100644 --- a/flight/SimPosix/Makefile +++ b/flight/SimPosix/Makefile @@ -71,6 +71,8 @@ PIOSINC = $(PIOS)/inc OPMODULEDIR = ../Modules FLIGHTLIB = ../Libraries FLIGHTLIBINC = ../Libraries/inc +MATHLIB = ../Libraries/math +MATHLIBINC = ../Libraries/math PIOSPOSIX = $(PIOS)/posix PIOSCOMMON = $(PIOS)/posix PIOSBOARDS = $(PIOS)/Boards @@ -132,6 +134,9 @@ SRC += $(FLIGHTLIB)/WorldMagModel.c SRC += $(FLIGHTLIB)/insgps13state.c SRC += $(FLIGHTLIB)/taskmonitor.c +SRC += $(MATHLIB)/sin_lookup.c +SRC += $(MATHLIB)/pid.c + ## PIOS Hardware (STM32F4xx) include $(PIOS)/posix/library.mk @@ -190,6 +195,7 @@ EXTRAINCDIRS += $(OPUAVOBJ) EXTRAINCDIRS += $(OPUAVOBJINC) EXTRAINCDIRS += $(UAVOBJSYNTHDIR) EXTRAINCDIRS += $(FLIGHTLIBINC) +EXTRAINCDIRS += $(MATHLIBINC) #EXTRAINCDIRS += $(PIOSSTM32F4XX) EXTRAINCDIRS += $(PIOSCOMMON) EXTRAINCDIRS += $(PIOSBOARDS) diff --git a/flight/SimPosix/UAVObjects.inc b/flight/SimPosix/UAVObjects.inc index 8953c7462..b2400f16b 100644 --- a/flight/SimPosix/UAVObjects.inc +++ b/flight/SimPosix/UAVObjects.inc @@ -63,6 +63,8 @@ UAVOBJSRCFILENAMES += positionactual UAVOBJSRCFILENAMES += positiondesired UAVOBJSRCFILENAMES += ratedesired UAVOBJSRCFILENAMES += revocalibration +UAVOBJSRCFILENAMES += relaytuning +UAVOBJSRCFILENAMES += relaytuningsettings UAVOBJSRCFILENAMES += sonaraltitude UAVOBJSRCFILENAMES += stabilizationdesired UAVOBJSRCFILENAMES += stabilizationsettings From 3e236bd3e66b336ad769f6424f5d25f0aa16f131 Mon Sep 17 00:00:00 2001 From: Stacey Sheldon Date: Sun, 16 Sep 2012 16:01:24 -0400 Subject: [PATCH 3/3] makefile: change QT SDK install dir so we can support multiple installs QT SDK version was changed but the install dir wasn't changed to match. This makes it impossible to keep both versions installed at the same time which is essential in order to work on/build old and new branches. This update gives the new SDK version a unique install dir so it can coexist with older versions. --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index e78824e5e..dd3522760 100644 --- a/Makefile +++ b/Makefile @@ -158,7 +158,7 @@ $(BUILD_DIR): ############################################################### # Set up QT toolchain -QT_SDK_DIR := $(TOOLS_DIR)/qtsdk-v1.2 +QT_SDK_DIR := $(TOOLS_DIR)/qtsdk-v1.2.1 .PHONY: qt_sdk_install qt_sdk_install: QT_SDK_URL := http://www.developer.nokia.com/dp?uri=http://sw.nokia.com/id/8ea74da4-fec1-4277-8b26-c58cc82e204b/Qt_SDK_Lin32_offline