remove support of STBee Mini for ChibiOS/RT
This commit is contained in:
@@ -1,151 +0,0 @@
|
|||||||
#include "config.h"
|
|
||||||
#include "ch.h"
|
|
||||||
#include "hal.h"
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Board-specific initialization code.
|
|
||||||
*/
|
|
||||||
void boardInit(void)
|
|
||||||
{
|
|
||||||
#if !defined(DFU_SUPPORT)
|
|
||||||
if (palReadPad (IOPORT3, GPIOC_BUTTON) == 0)
|
|
||||||
/*
|
|
||||||
* Since LEDs are connected to JTMS/SWDIO and JTDI pin,
|
|
||||||
* we can't use LED to let know users in this state.
|
|
||||||
*/
|
|
||||||
for (;;); /* Wait for JTAG debugger connection */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(PINPAD_SUPPORT) && !defined(DFU_SUPPORT)
|
|
||||||
palWritePort(IOPORT2, 0x7fff); /* Only clear GPIOB_7SEG_DP */
|
|
||||||
while (palReadPad (IOPORT2, GPIOB_BUTTON) != 0)
|
|
||||||
; /* Wait for JTAG debugger connection */
|
|
||||||
palWritePort(IOPORT2, 0xffff); /* All set */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(PINPAD_CIR_SUPPORT)
|
|
||||||
/* EXTI0 <= PB0 */
|
|
||||||
AFIO->EXTICR[0] = AFIO_EXTICR1_EXTI0_PB;
|
|
||||||
EXTI->IMR = 0;
|
|
||||||
EXTI->FTSR = EXTI_FTSR_TR0;
|
|
||||||
NVICEnableVector(EXTI0_IRQn,
|
|
||||||
CORTEX_PRIORITY_MASK(CORTEX_MINIMUM_PRIORITY));
|
|
||||||
|
|
||||||
/* TIM3 */
|
|
||||||
RCC->APB1ENR |= RCC_APB1ENR_TIM3EN;
|
|
||||||
RCC->APB1RSTR = RCC_APB1RSTR_TIM3RST;
|
|
||||||
RCC->APB1RSTR = 0;
|
|
||||||
NVICEnableVector(TIM3_IRQn,
|
|
||||||
CORTEX_PRIORITY_MASK(CORTEX_MINIMUM_PRIORITY));
|
|
||||||
TIM3->CR1 = TIM_CR1_URS | TIM_CR1_ARPE; /* Don't enable TIM3 for now */
|
|
||||||
TIM3->CR2 = TIM_CR2_TI1S;
|
|
||||||
TIM3->SMCR = TIM_SMCR_TS_0 | TIM_SMCR_TS_2 | TIM_SMCR_SMS_2;
|
|
||||||
TIM3->DIER = 0; /* Disable interrupt for now */
|
|
||||||
TIM3->CCMR1 = TIM_CCMR1_CC1S_0 | TIM_CCMR1_IC1F_0 | TIM_CCMR1_IC1F_3
|
|
||||||
| TIM_CCMR1_CC2S_1 | TIM_CCMR1_IC2F_0 | TIM_CCMR1_IC2F_3;
|
|
||||||
TIM3->CCMR2 = 0;
|
|
||||||
TIM3->CCER = TIM_CCER_CC1E | TIM_CCER_CC2E | TIM_CCER_CC2P;
|
|
||||||
TIM3->PSC = 72 - 1; /* 1 MHz */
|
|
||||||
TIM3->ARR = 18000; /* 18 ms */
|
|
||||||
/* Generate UEV to upload PSC and ARR */
|
|
||||||
TIM3->EGR = TIM_EGR_UG;
|
|
||||||
#elif defined(PINPAD_DIAL_SUPPORT)
|
|
||||||
/* EXTI2 <= PB2 */
|
|
||||||
AFIO->EXTICR[0] = AFIO_EXTICR1_EXTI2_PB;
|
|
||||||
EXTI->IMR = 0;
|
|
||||||
EXTI->FTSR = EXTI_FTSR_TR2;
|
|
||||||
NVICEnableVector(EXTI2_IRQn,
|
|
||||||
CORTEX_PRIORITY_MASK(CORTEX_MINIMUM_PRIORITY));
|
|
||||||
|
|
||||||
/* TIM4 */
|
|
||||||
RCC->APB1ENR |= RCC_APB1ENR_TIM4EN;
|
|
||||||
RCC->APB1RSTR = RCC_APB1RSTR_TIM4RST;
|
|
||||||
RCC->APB1RSTR = 0;
|
|
||||||
|
|
||||||
TIM4->CR1 = TIM_CR1_URS | TIM_CR1_ARPE | TIM_CR1_CKD_1;
|
|
||||||
TIM4->CR2 = 0;
|
|
||||||
TIM4->SMCR = TIM_SMCR_SMS_0;
|
|
||||||
TIM4->DIER = 0; /* no interrupt */
|
|
||||||
TIM4->CCMR1 = TIM_CCMR1_CC1S_0 | TIM_CCMR1_CC2S_0
|
|
||||||
| TIM_CCMR1_IC1F_0 | TIM_CCMR1_IC1F_1 | TIM_CCMR1_IC1F_2 | TIM_CCMR1_IC1F_3
|
|
||||||
| TIM_CCMR1_IC2F_0 | TIM_CCMR1_IC2F_1 | TIM_CCMR1_IC2F_2 | TIM_CCMR1_IC2F_3;
|
|
||||||
TIM4->CCMR2 = 0;
|
|
||||||
TIM4->CCER = 0;
|
|
||||||
TIM4->PSC = 0;
|
|
||||||
TIM4->ARR = 31;
|
|
||||||
/* Generate UEV to upload PSC and ARR */
|
|
||||||
TIM4->EGR = TIM_EGR_UG;
|
|
||||||
#endif
|
|
||||||
/*
|
|
||||||
* Disable JTAG and SWD, done after hwinit1_common as HAL resets AFIO
|
|
||||||
*/
|
|
||||||
AFIO->MAPR |= AFIO_MAPR_SWJ_CFG_DISABLE;
|
|
||||||
/* We use LED2 as optional "error" indicator */
|
|
||||||
palSetPad (IOPORT1, GPIOA_LED2);
|
|
||||||
}
|
|
||||||
|
|
||||||
#if defined(PINPAD_CIR_SUPPORT)
|
|
||||||
void
|
|
||||||
cir_ext_disable (void)
|
|
||||||
{
|
|
||||||
EXTI->PR = EXTI_PR_PR0;
|
|
||||||
EXTI->IMR &= ~EXTI_IMR_MR0;
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
cir_ext_enable (void)
|
|
||||||
{
|
|
||||||
EXTI->IMR |= EXTI_IMR_MR0;
|
|
||||||
}
|
|
||||||
|
|
||||||
extern void cir_ext_interrupt (void);
|
|
||||||
extern void cir_timer_interrupt (void);
|
|
||||||
|
|
||||||
CH_IRQ_HANDLER (EXTI0_IRQHandler)
|
|
||||||
{
|
|
||||||
CH_IRQ_PROLOGUE ();
|
|
||||||
chSysLockFromIsr ();
|
|
||||||
|
|
||||||
cir_ext_interrupt ();
|
|
||||||
|
|
||||||
chSysUnlockFromIsr ();
|
|
||||||
CH_IRQ_EPILOGUE ();
|
|
||||||
}
|
|
||||||
|
|
||||||
CH_IRQ_HANDLER (TIM3_IRQHandler)
|
|
||||||
{
|
|
||||||
CH_IRQ_PROLOGUE();
|
|
||||||
chSysLockFromIsr();
|
|
||||||
|
|
||||||
cir_timer_interrupt ();
|
|
||||||
|
|
||||||
chSysUnlockFromIsr();
|
|
||||||
CH_IRQ_EPILOGUE();
|
|
||||||
}
|
|
||||||
#elif defined(PINPAD_DIAL_SUPPORT)
|
|
||||||
void
|
|
||||||
dial_sw_disable (void)
|
|
||||||
{
|
|
||||||
EXTI->PR = EXTI_PR_PR2;
|
|
||||||
EXTI->IMR &= ~EXTI_IMR_MR2;
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
dial_sw_enable (void)
|
|
||||||
{
|
|
||||||
EXTI->IMR |= EXTI_IMR_MR2;
|
|
||||||
}
|
|
||||||
|
|
||||||
extern void dial_sw_interrupt (void);
|
|
||||||
|
|
||||||
CH_IRQ_HANDLER (EXTI2_IRQHandler)
|
|
||||||
{
|
|
||||||
CH_IRQ_PROLOGUE ();
|
|
||||||
chSysLockFromIsr ();
|
|
||||||
|
|
||||||
dial_sw_interrupt ();
|
|
||||||
|
|
||||||
chSysUnlockFromIsr ();
|
|
||||||
CH_IRQ_EPILOGUE ();
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
@@ -1,205 +0,0 @@
|
|||||||
/*
|
|
||||||
ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio.
|
|
||||||
|
|
||||||
This file is part of ChibiOS/RT.
|
|
||||||
|
|
||||||
ChibiOS/RT is free software; you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
ChibiOS/RT 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.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
A special exception to the GPL can be applied should you wish to distribute
|
|
||||||
a combined work that includes ChibiOS/RT, without being obliged to provide
|
|
||||||
the source code for any proprietary components. See the file exception.txt
|
|
||||||
for full details of how and when the exception can be applied.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _BOARD_H_
|
|
||||||
#define _BOARD_H_
|
|
||||||
|
|
||||||
#include "config.h"
|
|
||||||
/*
|
|
||||||
* Setup for the STBee Mini board.
|
|
||||||
*/
|
|
||||||
#define SET_USB_CONDITION(en) (en) /* To connect USB, call palSetPad */
|
|
||||||
#define SET_LED_CONDITION(on) (!on) /* To emit light, call palClearPad */
|
|
||||||
#define GPIO_USB GPIOA_USB_ENABLE
|
|
||||||
#define IOPORT_USB GPIOA
|
|
||||||
#define GPIO_LED GPIOA_LED1
|
|
||||||
#define IOPORT_LED GPIOA
|
|
||||||
|
|
||||||
#define NEUG_ADC_SETTING2_SMPR1 0
|
|
||||||
#define NEUG_ADC_SETTING2_SMPR2 ADC_SMPR2_SMP_AN1(ADC_SAMPLE_1P5) \
|
|
||||||
| ADC_SMPR2_SMP_AN2(ADC_SAMPLE_1P5)
|
|
||||||
#define NEUG_ADC_SETTING2_SQR3 ADC_SQR3_SQ1_N(ADC_CHANNEL_IN1) \
|
|
||||||
| ADC_SQR3_SQ2_N(ADC_CHANNEL_IN2)
|
|
||||||
#define NEUG_ADC_SETTING2_NUM_CHANNELS 2
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Board identifier.
|
|
||||||
*/
|
|
||||||
#define BOARD_STBEE_MINI
|
|
||||||
#define BOARD_NAME "STBee Mini"
|
|
||||||
|
|
||||||
#if defined(PINPAD_CIR_SUPPORT) || defined(PINPAD_DIAL_SUPPORT)
|
|
||||||
#define HAVE_7SEGLED 1
|
|
||||||
/*
|
|
||||||
* Timer assignment for CIR
|
|
||||||
*/
|
|
||||||
#define TIMx TIM3
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Board frequencies.
|
|
||||||
*/
|
|
||||||
#define STM32_LSECLK 32768
|
|
||||||
#define STM32_HSECLK 12000000
|
|
||||||
|
|
||||||
/*
|
|
||||||
* MCU type, this macro is used by both the ST library and the ChibiOS/RT
|
|
||||||
* native STM32 HAL.
|
|
||||||
*/
|
|
||||||
#define STM32F10X_MD
|
|
||||||
|
|
||||||
/*
|
|
||||||
* IO pins assignments.
|
|
||||||
*/
|
|
||||||
#define GPIOA_LED1 13
|
|
||||||
#define GPIOA_USB_ENABLE 14
|
|
||||||
#define GPIOA_LED2 15
|
|
||||||
|
|
||||||
#define GPIOC_BUTTON 13
|
|
||||||
|
|
||||||
/*
|
|
||||||
* I/O ports initial setup, this configuration is established soon after reset
|
|
||||||
* in the initialization code.
|
|
||||||
*
|
|
||||||
* The digits have the following meaning:
|
|
||||||
* 0 - Analog input.
|
|
||||||
* 1 - Push Pull output 10MHz.
|
|
||||||
* 2 - Push Pull output 2MHz.
|
|
||||||
* 3 - Push Pull output 50MHz.
|
|
||||||
* 4 - Digital input.
|
|
||||||
* 5 - Open Drain output 10MHz.
|
|
||||||
* 6 - Open Drain output 2MHz.
|
|
||||||
* 7 - Open Drain output 50MHz.
|
|
||||||
* 8 - Digital input with PullUp or PullDown resistor depending on ODR.
|
|
||||||
* 9 - Alternate Push Pull output 10MHz.
|
|
||||||
* A - Alternate Push Pull output 2MHz.
|
|
||||||
* B - Alternate Push Pull output 50MHz.
|
|
||||||
* C - Reserved.
|
|
||||||
* D - Alternate Open Drain output 10MHz.
|
|
||||||
* E - Alternate Open Drain output 2MHz.
|
|
||||||
* F - Alternate Open Drain output 50MHz.
|
|
||||||
* Please refer to the STM32 Reference Manual for details.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#if defined(PINPAD_CIR_SUPPORT) || defined(PINPAD_DIAL_SUPPORT)
|
|
||||||
/*
|
|
||||||
* Port A setup.
|
|
||||||
* PA1 - Digital input with PullUp. AN1 for NeuG
|
|
||||||
* PA2 - Digital input with PullUp. AN2 for NeuG
|
|
||||||
* PA6 - (TIM3_CH1) input with pull-up
|
|
||||||
* PA7 - (TIM3_CH2) input with pull-down
|
|
||||||
* PA11 - input with pull-up (USBDM)
|
|
||||||
* PA12 - input with pull-up (USBDP)
|
|
||||||
* Everything input with pull-up except:
|
|
||||||
* PA13 - Open Drain output (LED1 0:ON 1:OFF)
|
|
||||||
* PA14 - Push pull output (USB ENABLE 0:DISABLE 1:ENABLE)
|
|
||||||
* PA15 - Open Drain output (LED2 0:ON 1:OFF)
|
|
||||||
*/
|
|
||||||
#define VAL_GPIOACRL 0x88888888 /* PA7...PA0 */
|
|
||||||
#define VAL_GPIOACRH 0x63688888 /* PA15...PA8 */
|
|
||||||
#define VAL_GPIOAODR 0xFFFFFF7F
|
|
||||||
|
|
||||||
/* Port B setup. */
|
|
||||||
#define GPIOB_CIR 0
|
|
||||||
#define GPIOB_BUTTON 2
|
|
||||||
#define GPIOB_ROT_A 6
|
|
||||||
#define GPIOB_ROT_B 7
|
|
||||||
|
|
||||||
#define GPIOB_7SEG_DP 15
|
|
||||||
#define GPIOB_7SEG_A 14
|
|
||||||
#define GPIOB_7SEG_B 13
|
|
||||||
#define GPIOB_7SEG_C 12
|
|
||||||
#define GPIOB_7SEG_D 11
|
|
||||||
#define GPIOB_7SEG_E 10
|
|
||||||
#define GPIOB_7SEG_F 9
|
|
||||||
#define GPIOB_7SEG_G 8
|
|
||||||
|
|
||||||
#define VAL_GPIOBCRL 0x88888888 /* PB7...PB0 */
|
|
||||||
#define VAL_GPIOBCRH 0x66666666 /* PB15...PB8 */
|
|
||||||
#define VAL_GPIOBODR 0xFFFFFFFF
|
|
||||||
#else
|
|
||||||
/*
|
|
||||||
* Port A setup.
|
|
||||||
* PA1 - Digital input with PullUp. AN1 for NeuG
|
|
||||||
* PA2 - Digital input with PullUp. AN2 for NeuG
|
|
||||||
* PA11 - input with pull-up (USBDM)
|
|
||||||
* PA12 - input with pull-up (USBDP)
|
|
||||||
* Everything input with pull-up except:
|
|
||||||
* PA13 - Open Drain output (LED1 0:ON 1:OFF)
|
|
||||||
* PA14 - Push pull output (USB ENABLE 0:DISABLE 1:ENABLE)
|
|
||||||
* PA15 - Open Drain output (LED2 0:ON 1:OFF)
|
|
||||||
*/
|
|
||||||
#define VAL_GPIOACRL 0x88888888 /* PA7...PA0 */
|
|
||||||
#define VAL_GPIOACRH 0x63688888 /* PA15...PA8 */
|
|
||||||
#define VAL_GPIOAODR 0xFFFFFFFF
|
|
||||||
|
|
||||||
/* Port B setup. */
|
|
||||||
/* Everything input with pull-up */
|
|
||||||
#define VAL_GPIOBCRL 0x88888888 /* PB7...PB0 */
|
|
||||||
#define VAL_GPIOBCRH 0x88888888 /* PB15...PB8 */
|
|
||||||
#define VAL_GPIOBODR 0xFFFFFFFF
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Port C setup.
|
|
||||||
* Everything input with pull-up except:
|
|
||||||
* PC13 - Normal input.
|
|
||||||
* PC14 - Normal input.
|
|
||||||
* PC15 - Normal input.
|
|
||||||
*/
|
|
||||||
#define VAL_GPIOCCRL 0x88888888 /* PC7...PC0 */
|
|
||||||
#define VAL_GPIOCCRH 0x44488888 /* PC15...PC8 */
|
|
||||||
#define VAL_GPIOCODR 0xFFFFFFFF
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Port D setup.
|
|
||||||
* Everything input with pull-up except:
|
|
||||||
* PD0 - Normal input (XTAL).
|
|
||||||
* PD1 - Normal input (XTAL).
|
|
||||||
*/
|
|
||||||
#define VAL_GPIODCRL 0x88888844 /* PD7...PD0 */
|
|
||||||
#define VAL_GPIODCRH 0x88888888 /* PD15...PD8 */
|
|
||||||
#define VAL_GPIODODR 0xFFFFFFFF
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Port E setup.
|
|
||||||
* Everything input with pull-up except:
|
|
||||||
*/
|
|
||||||
#define VAL_GPIOECRL 0x88888888 /* PE7...PE0 */
|
|
||||||
#define VAL_GPIOECRH 0x88888888 /* PE15...PE8 */
|
|
||||||
#define VAL_GPIOEODR 0xFFFFFFFF
|
|
||||||
|
|
||||||
#if !defined(_FROM_ASM_)
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
void boardInit(void);
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
#endif /* _FROM_ASM_ */
|
|
||||||
|
|
||||||
#endif /* _BOARD_H_ */
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
/*
|
|
||||||
* HAL driver system settings.
|
|
||||||
*/
|
|
||||||
#define STM32_SW STM32_SW_PLL
|
|
||||||
#define STM32_PLLSRC STM32_PLLSRC_HSE
|
|
||||||
#define STM32_PLLXTPRE STM32_PLLXTPRE_DIV1
|
|
||||||
#define STM32_PLLMUL_VALUE 6
|
|
||||||
#define STM32_HPRE STM32_HPRE_DIV1
|
|
||||||
#define STM32_PPRE1 STM32_PPRE1_DIV2
|
|
||||||
#define STM32_PPRE2 STM32_PPRE2_DIV1
|
|
||||||
#define STM32_ADCPRE STM32_ADCPRE_DIV6
|
|
||||||
#define STM32_RTCSEL STM32_RTCSEL_NOCLOCK
|
|
||||||
|
|
||||||
#include "mcuconf-common.h"
|
|
||||||
Reference in New Issue
Block a user