17 DrvI2cMaster Hw::sI2cLsm303dlhc;
18 LSM303DLHC Hw::sLsm303dlhc(&sI2cLsm303dlhc);
27 RCC ->CR |= ((uint32_t) RCC_CR_HSEON );
29 while (!(RCC ->CR & RCC_CR_HSERDY )) {
32 FLASH ->ACR = FLASH_ACR_PRFTBE | FLASH_ACR_LATENCY_1;
34 RCC ->CFGR = RCC_CFGR_HPRE_DIV1 |
37 RCC_CFGR_PLLSRC_PREDIV1 |
38 RCC_CFGR_PLLXTPRE_PREDIV1 |
41 RCC ->CFGR2 = RCC_CFGR2_ADCPRE12_DIV1 | RCC_CFGR2_ADCPRE34_DIV1;
42 RCC ->CR |= ((uint32_t) RCC_CR_PLLON );
44 while (!(RCC ->CR & RCC_CR_PLLRDY )) {
47 RCC ->CFGR |= RCC_CFGR_SW_PLL;
49 while (!(RCC ->CFGR & RCC_CFGR_SWS_PLL )) {
52 RCC ->CFGR3 = RCC_CFGR3_TIM1SW | RCC_CFGR3_TIM8SW;
57 #if (__FPU_PRESENT == 1) && (__FPU_USED == 1)
58 SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2));
95 RCC ->APB2ENR = RCC_APB2ENR_SYSCFGEN;
104 DrvGpio::setPinFuncMode(DrvTypes::DRV_PORTA, DrvTypes::DRV_PIN12, DrvTypes::DRV_FUNC0, DrvTypes::DRV_MODE_OUTPUT_PUSH_PULL);
106 sLed3.init(DrvTypes::DRV_PORTE, DrvTypes::DRV_PIN9, DrvTypes::DRV_FUNC0, DrvTypes::DRV_MODE_OUTPUT_PUSH_PULL);
107 sLed4.init(DrvTypes::DRV_PORTE, DrvTypes::DRV_PIN8, DrvTypes::DRV_FUNC0, DrvTypes::DRV_MODE_OUTPUT_PUSH_PULL);
108 sLed5.init(DrvTypes::DRV_PORTE, DrvTypes::DRV_PIN10, DrvTypes::DRV_FUNC0, DrvTypes::DRV_MODE_OUTPUT_PUSH_PULL);
109 sLed6.init(DrvTypes::DRV_PORTE, DrvTypes::DRV_PIN15, DrvTypes::DRV_FUNC0, DrvTypes::DRV_MODE_OUTPUT_PUSH_PULL);
110 sLed7.init(DrvTypes::DRV_PORTE, DrvTypes::DRV_PIN11, DrvTypes::DRV_FUNC0, DrvTypes::DRV_MODE_OUTPUT_PUSH_PULL);
111 sLed8.init(DrvTypes::DRV_PORTE, DrvTypes::DRV_PIN14, DrvTypes::DRV_FUNC0, DrvTypes::DRV_MODE_OUTPUT_PUSH_PULL);
112 sLed9.init(DrvTypes::DRV_PORTE, DrvTypes::DRV_PIN12, DrvTypes::DRV_FUNC0, DrvTypes::DRV_MODE_OUTPUT_PUSH_PULL);
113 sLed10.init(DrvTypes::DRV_PORTE, DrvTypes::DRV_PIN13, DrvTypes::DRV_FUNC0, DrvTypes::DRV_MODE_OUTPUT_PUSH_PULL);
115 DrvGpio::setPinFuncMode(DrvTypes::DRV_PORTA, DrvTypes::DRV_PIN11, DrvTypes::DRV_FUNC14, DrvTypes::DRV_MODE_ALTERNATE_FUNCTION);
116 DrvGpio::setPinFuncMode(DrvTypes::DRV_PORTA, DrvTypes::DRV_PIN12, DrvTypes::DRV_FUNC14, DrvTypes::DRV_MODE_ALTERNATE_FUNCTION);
118 sI2cLsm303dlhc.init(DrvTypes::DRV_I2C1);
119 DrvGpio::setPinFuncMode(DrvTypes::DRV_PORTB, DrvTypes::DRV_PIN6, DrvTypes::DRV_FUNC4, DrvTypes::DRV_MODE_ALTERNATE_FUNCTION);
120 DrvGpio::setPinFuncMode(DrvTypes::DRV_PORTB, DrvTypes::DRV_PIN7, DrvTypes::DRV_FUNC4, DrvTypes::DRV_MODE_ALTERNATE_FUNCTION);