From e534c2c7eaba13a30a24339198722274db02d747 Mon Sep 17 00:00:00 2001 From: bsongis Date: Sat, 22 Dec 2012 16:58:09 +0000 Subject: [PATCH] [ACT] Link against the right ST libs --- src/Makefile | 4 +- src/board_act.h | 115 ++++++++++++++++++++++++++++++++++++++++++++++ src/board_sky9x.h | 2 + src/board_x9d.h | 6 ++- src/open9x.h | 5 +- 5 files changed, 126 insertions(+), 6 deletions(-) create mode 100644 src/board_act.h diff --git a/src/Makefile b/src/Makefile index f8c66f842..ccd378928 100644 --- a/src/Makefile +++ b/src/Makefile @@ -467,9 +467,9 @@ RUN_FROM_FLASH = 1 ifeq ($(PCB), ACT) # ACT radio OPT = 2 - CPPDEFS += -DPCBACT -DCPUARM -DEEPROM_VARIANT=0 -DAUDIO -DPXX -DDSM2 -DDSM2_PPM -DROTARY_ENCODERS=1 -DLCD260 + CPPDEFS += -DPCBACT -DCPUARM -DEEPROM_VARIANT=0 -DAUDIO -DPXX -DDSM2 -DDSM2_PPM -DROTARY_ENCODERS=1 -DLCD260 -DSTM32F10X_LD EXTRAINCDIRS += sky9x CoOS/kernel CoOS/portable - EXTRAINCDIRS += x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Libraries/STM32F2xx_StdPeriph_Driver/inc x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Libraries/CMSIS/Device/ST/STM32F2xx/Include + EXTRAINCDIRS += act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x BOARDSRC = board_x9d.cpp EXTRABOARDSRC += x9d/lcd_driver.cpp SRC += CoOS/kernel/core.c CoOS/kernel/hook.c CoOS/kernel/task.c CoOS/kernel/event.c CoOS/kernel/time.c CoOS/kernel/timer.c CoOS/kernel/flag.c CoOS/kernel/mutex.c CoOS/kernel/serviceReq.c CoOS/portable/GCC/port.c CoOS/portable/arch.c diff --git a/src/board_act.h b/src/board_act.h new file mode 100644 index 000000000..e504aa0c1 --- /dev/null +++ b/src/board_act.h @@ -0,0 +1,115 @@ +/* + * Authors (alphabetical order) + * - Bertrand Songis + * - Bryan J. Rentoul (Gruvin) + * - Cameron Weeks + * - Erez Raviv + * - Jean-Pierre Parisy + * - Karl Szmutny + * - Michael Blandford + * - Michal Hlavinka + * - Pat Mackenzie + * - Philip Moss + * - Rob Thomson + * - Romolo Manfredini + * - Thomas Husterer + * + * open9x is based on code named + * gruvin9x by Bryan J. Rentoul: http://code.google.com/p/gruvin9x/, + * er9x by Erez Raviv: http://code.google.com/p/er9x/, + * and the original (and ongoing) project by + * Thomas Husterer, th9x: http://code.google.com/p/th9x/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#ifndef board_act_h +#define board_act_h + +#include +/* #include "stm32f2xx_rcc.h" */ +#include "stm32f10x_gpio.h" +#include "stm32f10x.h" + +// Keys +#define PIN_BUTTON_PLUS GPIO_Pin_0 //SW3 PE.10 +#define PIN_BUTTON_ENTER GPIO_Pin_1 //SW2 PE.11 +#define PIN_BUTTON_MINUS GPIO_Pin_2 //SW1 PE.12 +#define PIN_BUTTON_MENU GPIO_Pin_11 //SW4 PD.07 +#define PIN_BUTTON_EXIT GPIO_Pin_12 //SW5 PD.03 +#define PIN_BUTTON_PAGE GPIO_Pin_10 //SW6 PD.02 + +#include "x9d/audio_driver.h" + +// TODO elsewhere +#if !defined(SIMU) +#define SD_IS_HC() (1) +#endif + + +extern "C" { +extern void init_SDcard(); +extern void sdInit(); +} + +#define sdPoll10ms() + +void usbMassStorage(); + +void setVolume( register uint8_t volume ); +#define JACK_PPM_OUT() +#define JACK_PPM_IN() + +void configure_pins( uint32_t pins, uint16_t config ); +uint16_t getCurrent(); + +extern uint8_t temperature ; // Raw temp reading +extern uint8_t maxTemperature ; // Raw temp reading +uint8_t getTemperature(); + +extern int32_t Card_state; +extern volatile uint32_t Card_initialized; +#define SD_ST_DATA 9 +#define SD_ST_MOUNTED 10 + +#define SD_GET_SIZE_MB() (0) +#define SD_GET_BLOCKNR() (0) +#define SD_GET_SPEED() (0) + +void soft_power_off(); + +#define strcpy_P strcpy +#define strcat_P strcat + +extern uint32_t readKeys(); +#define KEYS_PRESSED() (~readKeys()) +#define DBLKEYS_PRESSED_RGT_LFT(i) ((in & (0x20 + 0x40)) == (0x20 + 0x40)) +#define DBLKEYS_PRESSED_UP_DWN(i) ((in & (0x10 + 0x08)) == (0x10 + 0x08)) +#define DBLKEYS_PRESSED_RGT_UP(i) ((in & (0x20 + 0x10)) == (0x20 + 0x10)) +#define DBLKEYS_PRESSED_LFT_DWN(i) ((in & (0x40 + 0x08)) == (0x40 + 0x08)) + +extern uint16_t sessionTimer; + +#define BOOTLOADER_REQUEST() (0/*usbPlugged()*/) + +#define SLAVE_MODE() (0/*check_soft_power() == e_power_trainer*/) + +#if !defined(SIMU) +#define wdt_disable() +#define wdt_enable(x) +#define wdt_reset() +#endif + +#define setBacklight(xx) + +#define check_soft_power() (e_power_on) + +#endif diff --git a/src/board_sky9x.h b/src/board_sky9x.h index d7646ff6a..10f19baeb 100644 --- a/src/board_sky9x.h +++ b/src/board_sky9x.h @@ -123,4 +123,6 @@ uint32_t spi_operation( register uint8_t *tx, register uint8_t *rx, register uin #define setBacklight(xx) PWM->PWM_CH_NUM[0].PWM_CDTYUPD = xx; +uint32_t check_soft_power(); + #endif diff --git a/src/board_x9d.h b/src/board_x9d.h index a1c510aa9..b6ff5e891 100644 --- a/src/board_x9d.h +++ b/src/board_x9d.h @@ -31,8 +31,8 @@ * */ -#ifndef board_sky9x_h -#define board_sky9x_h +#ifndef board_x9d_h +#define board_x9d_h #include @@ -106,4 +106,6 @@ extern uint16_t sessionTimer; #define setBacklight(xx) +uint32_t check_soft_power(); + #endif diff --git a/src/open9x.h b/src/open9x.h index 6d0710baa..d743eae41 100644 --- a/src/open9x.h +++ b/src/open9x.h @@ -153,7 +153,9 @@ #define VARIO_VARIANT 0x0080 #define HAPTIC_VARIANT 0x0100 */ -#if defined(PCBX9D) || defined(PCBACT) +#if defined(PCBACT) +#include "board_act.h" +#elif defined(PCBX9D) #include "board_x9d.h" #elif defined(PCBSKY9X) #include "board_sky9x.h" @@ -730,7 +732,6 @@ enum PowerState { #if defined(CPUARM) uint32_t keyState(EnumKeys enuk); -uint32_t check_soft_power(); #else bool keyState(EnumKeys enuk); #if defined(PCBGRUVIN9X)