Adjust settings to support F412
This commit is contained in:
parent
863655044e
commit
48ae684c6e
@ -92,35 +92,35 @@ uint16_t common_hal_analogio_analogin_get_value(analogio_analogin_obj_t *self) {
|
|||||||
|
|
||||||
LL_GPIO_SetPinMode(pin_port(self->pin->port), (uint32_t)pin_mask(self->pin->number), LL_GPIO_MODE_ANALOG);
|
LL_GPIO_SetPinMode(pin_port(self->pin->port), (uint32_t)pin_mask(self->pin->number), LL_GPIO_MODE_ANALOG);
|
||||||
//LL_GPIO_PIN_0
|
//LL_GPIO_PIN_0
|
||||||
|
|
||||||
//HAL Implementation
|
//HAL Implementation
|
||||||
ADC_HandleTypeDef AdcHandle;
|
ADC_HandleTypeDef AdcHandle;
|
||||||
ADC_ChannelConfTypeDef sConfig;
|
ADC_ChannelConfTypeDef sConfig;
|
||||||
|
|
||||||
AdcHandle.Instance = ADCx;
|
AdcHandle.Instance = ADCx;
|
||||||
AdcHandle.Init.ClockPrescaler = ADC_CLOCKPRESCALER_PCLK_DIV2;
|
AdcHandle.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV2;
|
||||||
AdcHandle.Init.Resolution = ADC_RESOLUTION_12B;
|
AdcHandle.Init.Resolution = ADC_RESOLUTION_12B;
|
||||||
AdcHandle.Init.ScanConvMode = DISABLE;
|
AdcHandle.Init.ScanConvMode = DISABLE;
|
||||||
AdcHandle.Init.ContinuousConvMode = DISABLE;
|
AdcHandle.Init.ContinuousConvMode = DISABLE;
|
||||||
AdcHandle.Init.DiscontinuousConvMode = DISABLE;
|
AdcHandle.Init.DiscontinuousConvMode = DISABLE;
|
||||||
AdcHandle.Init.NbrOfDiscConversion = 0;
|
AdcHandle.Init.NbrOfDiscConversion = 0;
|
||||||
AdcHandle.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE;
|
AdcHandle.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE;
|
||||||
AdcHandle.Init.ExternalTrigConv = ADC_EXTERNALTRIGCONV_T1_CC1;
|
AdcHandle.Init.ExternalTrigConv = ADC_SOFTWARE_START;
|
||||||
AdcHandle.Init.DataAlign = ADC_DATAALIGN_RIGHT;
|
AdcHandle.Init.DataAlign = ADC_DATAALIGN_RIGHT;
|
||||||
AdcHandle.Init.NbrOfConversion = 1;
|
AdcHandle.Init.NbrOfConversion = 1;
|
||||||
AdcHandle.Init.DMAContinuousRequests = ENABLE;
|
AdcHandle.Init.DMAContinuousRequests = DISABLE;
|
||||||
AdcHandle.Init.EOCSelection = DISABLE;
|
AdcHandle.Init.EOCSelection = ADC_EOC_SINGLE_CONV;
|
||||||
|
HAL_ADC_Init(&AdcHandle);
|
||||||
|
|
||||||
sConfig.Channel = (uint32_t)self->pin->adc_channel; //ADC_CHANNEL_0 <-normal iteration, not mask
|
sConfig.Channel = (uint32_t)self->pin->adc_channel; //ADC_CHANNEL_0 <-normal iteration, not mask
|
||||||
sConfig.Rank = 1;
|
sConfig.Rank = 1;
|
||||||
sConfig.SamplingTime = ADC_SAMPLETIME_56CYCLES;
|
sConfig.SamplingTime = ADC_SAMPLETIME_15CYCLES; //Taken from micropython
|
||||||
sConfig.Offset = 0;
|
|
||||||
|
|
||||||
HAL_ADC_ConfigChannel(&AdcHandle, &sConfig);
|
HAL_ADC_ConfigChannel(&AdcHandle, &sConfig);
|
||||||
|
|
||||||
HAL_ADC_Start(&AdcHandle);
|
HAL_ADC_Start(&AdcHandle);
|
||||||
HAL_ADC_PollForConversion(&AdcHandle,1); //doesn't work as HAL_GetTick always returns 0
|
HAL_ADC_PollForConversion(&AdcHandle,1);
|
||||||
uint16_t uhADCxConvertedData = (uint16_t)HAL_ADC_GetValue(&AdcHandle);
|
//uint16_t value = (uint16_t)HAL_ADC_GetValue(&AdcHandle);
|
||||||
|
uint32_t value = ADCx->DR;
|
||||||
HAL_ADC_Stop(&AdcHandle);
|
HAL_ADC_Stop(&AdcHandle);
|
||||||
|
|
||||||
//LL Implementation
|
//LL Implementation
|
||||||
@ -145,7 +145,7 @@ uint16_t common_hal_analogio_analogin_get_value(analogio_analogin_obj_t *self) {
|
|||||||
// uhADCxConvertedData = LL_ADC_REG_ReadConversionData12(ADCx);
|
// uhADCxConvertedData = LL_ADC_REG_ReadConversionData12(ADCx);
|
||||||
|
|
||||||
// // Shift the value to be 16 bit.
|
// // Shift the value to be 16 bit.
|
||||||
return uhADCxConvertedData << 4;
|
return value << 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
float common_hal_analogio_analogin_get_reference_voltage(analogio_analogin_obj_t *self) {
|
float common_hal_analogio_analogin_get_reference_voltage(analogio_analogin_obj_t *self) {
|
||||||
|
@ -179,6 +179,7 @@
|
|||||||
|
|
||||||
#include "stm32f4xx_hal.h"
|
#include "stm32f4xx_hal.h"
|
||||||
#include "stm32f4/gpio.h"
|
#include "stm32f4/gpio.h"
|
||||||
|
#include "common-hal/microcontroller/Pin.h"
|
||||||
|
|
||||||
void stm32f4_peripherals_gpio_init(void) {
|
void stm32f4_peripherals_gpio_init(void) {
|
||||||
//Enable all GPIO for now
|
//Enable all GPIO for now
|
||||||
|
@ -51,7 +51,6 @@ safe_mode_t port_init(void) {
|
|||||||
|
|
||||||
void reset_port(void) {
|
void reset_port(void) {
|
||||||
reset_all_pins();
|
reset_all_pins();
|
||||||
//reset_pin_number(uint8_t pin_port, uint8_t pin_number)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void reset_to_bootloader(void) {
|
void reset_to_bootloader(void) {
|
||||||
|
Loading…
Reference in New Issue
Block a user