got current sense readings!
This commit is contained in:
@@ -5,8 +5,6 @@ ADC_HandleTypeDef hadc2;
|
||||
DMA_HandleTypeDef hdma_adc1;
|
||||
DMA_HandleTypeDef hdma_adc2;
|
||||
|
||||
uint32_t HAL_RCC_ADC12_CLK_ENABLED = 0;
|
||||
|
||||
void MX_ADC1_Init(void)
|
||||
{
|
||||
ADC_MultiModeTypeDef multimode = {0};
|
||||
@@ -21,7 +19,7 @@ void MX_ADC1_Init(void)
|
||||
hadc1.Init.EOCSelection = ADC_EOC_SINGLE_CONV;
|
||||
hadc1.Init.LowPowerAutoWait = DISABLE;
|
||||
hadc1.Init.ContinuousConvMode = DISABLE;
|
||||
hadc1.Init.NbrOfConversion = 2;
|
||||
hadc1.Init.NbrOfConversion = 3;
|
||||
hadc1.Init.DiscontinuousConvMode = DISABLE;
|
||||
hadc1.Init.ExternalTrigConv = ADC_EXTERNALTRIG_T2_TRGO;
|
||||
hadc1.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_RISING;
|
||||
@@ -35,18 +33,23 @@ void MX_ADC1_Init(void)
|
||||
if (HAL_ADCEx_MultiModeConfigChannel(&hadc1, &multimode) != HAL_OK)
|
||||
SIMPLEFOC_DEBUG("HAL ADC1 multimode configuration fail.");
|
||||
|
||||
// sConfig.Channel = ADC_CHANNEL_VOPAMP1;
|
||||
sConfig.Channel = ADC_CHANNEL_VOPAMP1;
|
||||
sConfig.Rank = ADC_REGULAR_RANK_1;
|
||||
sConfig.SamplingTime = ADC_SAMPLETIME_2CYCLES_5;
|
||||
sConfig.SingleDiff = ADC_SINGLE_ENDED;
|
||||
sConfig.OffsetNumber = ADC_OFFSET_1;
|
||||
sConfig.Offset = 0x7FF;
|
||||
sConfig.OffsetSaturation = ENABLE;
|
||||
sConfig.OffsetNumber = ADC_OFFSET_NONE;
|
||||
sConfig.Offset = 0;
|
||||
if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
|
||||
SIMPLEFOC_DEBUG("HAL ADC OPAMP1 init failed!");
|
||||
|
||||
sConfig.Channel = ADC_CHANNEL_TEMPSENSOR_ADC1;
|
||||
sConfig.Channel = ADC_CHANNEL_3;
|
||||
sConfig.Rank = ADC_REGULAR_RANK_2;
|
||||
if(HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
|
||||
SIMPLEFOC_DEBUG("HAL ADC Vmotor init failed!");
|
||||
|
||||
sConfig.Channel = ADC_CHANNEL_TEMPSENSOR_ADC1;
|
||||
sConfig.Rank = ADC_REGULAR_RANK_3;
|
||||
if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
|
||||
SIMPLEFOC_DEBUG("HAL ADC temp init failed!");
|
||||
}
|
||||
@@ -78,9 +81,8 @@ void MX_ADC2_Init(void)
|
||||
sConfig.Rank = ADC_REGULAR_RANK_1;
|
||||
sConfig.SamplingTime = ADC_SAMPLETIME_2CYCLES_5;
|
||||
sConfig.SingleDiff = ADC_SINGLE_ENDED;
|
||||
sConfig.OffsetNumber = ADC_OFFSET_1;
|
||||
sConfig.Offset = 0x7FF;
|
||||
sConfig.OffsetSaturation = ENABLE;
|
||||
sConfig.OffsetNumber = ADC_OFFSET_NONE;
|
||||
sConfig.Offset = 0;
|
||||
if (HAL_ADC_ConfigChannel(&hadc2, &sConfig) != HAL_OK)
|
||||
SIMPLEFOC_DEBUG("HAL ADC OPAMP2 init failed!");
|
||||
|
||||
@@ -90,17 +92,24 @@ void MX_ADC2_Init(void)
|
||||
SIMPLEFOC_DEBUG("HAL ADC OPAMP3 init failed!");
|
||||
}
|
||||
|
||||
void ADC_DMA_Init(ADC_HandleTypeDef* adcHandle)
|
||||
uint32_t HAL_RCC_ADC12_CLK_ENABLED = 0;
|
||||
|
||||
void ADC_DMA_Init(void)
|
||||
{
|
||||
RCC_PeriphCLKInitTypeDef PeriphClkInit = {0};
|
||||
|
||||
PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC12;
|
||||
PeriphClkInit.Adc12ClockSelection = RCC_ADC12CLKSOURCE_SYSCLK;
|
||||
if(HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
|
||||
SIMPLEFOC_DEBUG("Error initializing peripheral clock in adc.cpp");
|
||||
|
||||
HAL_RCC_ADC12_CLK_ENABLED++;
|
||||
if(HAL_RCC_ADC12_CLK_ENABLED==1){
|
||||
if (HAL_RCC_ADC12_CLK_ENABLED == 1)
|
||||
{
|
||||
__HAL_RCC_ADC12_CLK_ENABLE();
|
||||
}
|
||||
|
||||
if(adcHandle->Instance==ADC1)
|
||||
{
|
||||
/* ADC1 DMA Init */
|
||||
/* ADC1 Init */
|
||||
hdma_adc1.Instance = DMA1_Channel1;
|
||||
hdma_adc1.Init.Request = DMA_REQUEST_ADC1;
|
||||
hdma_adc1.Init.Direction = DMA_PERIPH_TO_MEMORY;
|
||||
@@ -110,16 +119,12 @@ void ADC_DMA_Init(ADC_HandleTypeDef* adcHandle)
|
||||
hdma_adc1.Init.MemDataAlignment = DMA_MDATAALIGN_HALFWORD;
|
||||
hdma_adc1.Init.Mode = DMA_CIRCULAR;
|
||||
hdma_adc1.Init.Priority = DMA_PRIORITY_LOW;
|
||||
HAL_DMA_DeInit(&hdma_adc1);
|
||||
if (HAL_DMA_Init(&hdma_adc1) != HAL_OK)
|
||||
SIMPLEFOC_DEBUG("HAL error enabling DMA1 channel 1.");
|
||||
|
||||
__HAL_LINKDMA(adcHandle,DMA_Handle,hdma_adc1);
|
||||
}
|
||||
else if(adcHandle->Instance==ADC2)
|
||||
{
|
||||
__HAL_LINKDMA(&hadc1, DMA_Handle, hdma_adc1);
|
||||
|
||||
/* ADC2 DMA Init */
|
||||
/* ADC2 Init */
|
||||
hdma_adc2.Instance = DMA1_Channel2;
|
||||
hdma_adc2.Init.Request = DMA_REQUEST_ADC2;
|
||||
hdma_adc2.Init.Direction = DMA_PERIPH_TO_MEMORY;
|
||||
@@ -129,33 +134,31 @@ void ADC_DMA_Init(ADC_HandleTypeDef* adcHandle)
|
||||
hdma_adc2.Init.MemDataAlignment = DMA_MDATAALIGN_HALFWORD;
|
||||
hdma_adc2.Init.Mode = DMA_CIRCULAR;
|
||||
hdma_adc2.Init.Priority = DMA_PRIORITY_LOW;
|
||||
HAL_DMA_DeInit(&hdma_adc2);
|
||||
if (HAL_DMA_Init(&hdma_adc2) != HAL_OK)
|
||||
SIMPLEFOC_DEBUG("HAL error enabling DMA1 channel 2.");
|
||||
|
||||
__HAL_LINKDMA(adcHandle,DMA_Handle,hdma_adc2);
|
||||
}
|
||||
__HAL_LINKDMA(&hadc2, DMA_Handle, hdma_adc2);
|
||||
}
|
||||
|
||||
// void HAL_ADC_MspDeInit(ADC_HandleTypeDef* adcHandle)
|
||||
// {
|
||||
void HAL_ADC_MspDeInit(ADC_HandleTypeDef* adcHandle)
|
||||
{
|
||||
|
||||
// if(adcHandle->Instance==ADC1)
|
||||
// {
|
||||
// HAL_RCC_ADC12_CLK_ENABLED--;
|
||||
// if(HAL_RCC_ADC12_CLK_ENABLED==0){
|
||||
// __HAL_RCC_ADC12_CLK_DISABLE();
|
||||
// }
|
||||
if(adcHandle->Instance==ADC1)
|
||||
{
|
||||
HAL_RCC_ADC12_CLK_ENABLED--;
|
||||
if(HAL_RCC_ADC12_CLK_ENABLED==0){
|
||||
__HAL_RCC_ADC12_CLK_DISABLE();
|
||||
}
|
||||
|
||||
// HAL_DMA_DeInit(adcHandle->DMA_Handle);
|
||||
// }
|
||||
// else if(adcHandle->Instance==ADC2)
|
||||
// {
|
||||
// HAL_RCC_ADC12_CLK_ENABLED--;
|
||||
// if(HAL_RCC_ADC12_CLK_ENABLED==0){
|
||||
// __HAL_RCC_ADC12_CLK_DISABLE();
|
||||
// }
|
||||
HAL_DMA_DeInit(adcHandle->DMA_Handle);
|
||||
}
|
||||
else if(adcHandle->Instance==ADC2)
|
||||
{
|
||||
HAL_RCC_ADC12_CLK_ENABLED--;
|
||||
if(HAL_RCC_ADC12_CLK_ENABLED==0){
|
||||
__HAL_RCC_ADC12_CLK_DISABLE();
|
||||
}
|
||||
|
||||
// HAL_DMA_DeInit(adcHandle->DMA_Handle);
|
||||
// }
|
||||
// }
|
||||
HAL_DMA_DeInit(adcHandle->DMA_Handle);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
#include "stm32g4xx_hal.h"
|
||||
#include "stm32g4xx_hal_adc.h"
|
||||
#include "stm32g4xx_hal_adc_ex.h"
|
||||
#include "communication/SimpleFOCDebug.h"
|
||||
|
||||
extern ADC_HandleTypeDef hadc1;
|
||||
@@ -12,7 +13,7 @@ extern DMA_HandleTypeDef hdma_adc2;
|
||||
|
||||
void MX_ADC1_Init(void);
|
||||
void MX_ADC2_Init(void);
|
||||
void ADC_DMA_Init(ADC_HandleTypeDef* adcHandle);
|
||||
void ADC_DMA_Init(void);
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ void MX_DMA_Init(void)
|
||||
{
|
||||
__HAL_RCC_DMAMUX1_CLK_ENABLE();
|
||||
__HAL_RCC_DMA1_CLK_ENABLE();
|
||||
__HAL_RCC_DMA2_CLK_ENABLE();
|
||||
// __HAL_RCC_DMA2_CLK_ENABLE();
|
||||
|
||||
HAL_NVIC_SetPriority(DMA1_Channel1_IRQn, 0, 0);
|
||||
HAL_NVIC_EnableIRQ(DMA1_Channel1_IRQn);
|
||||
|
||||
@@ -4,83 +4,70 @@ OPAMP_HandleTypeDef hopamp1;
|
||||
OPAMP_HandleTypeDef hopamp2;
|
||||
OPAMP_HandleTypeDef hopamp3;
|
||||
|
||||
void initOPAMP(OPAMP_HandleTypeDef *hopamp, OPAMP_TypeDef *opamp)
|
||||
{
|
||||
#ifdef USE_OPAMP_PGA
|
||||
hopamp->Instance = opamp;
|
||||
hopamp->Init.PowerMode = OPAMP_POWERMODE_NORMALSPEED;
|
||||
hopamp->Init.Mode = OPAMP_PGA_MODE;
|
||||
hopamp->Init.NonInvertingInput = OPAMP_NONINVERTINGINPUT_IO1;
|
||||
hopamp->Init.InternalOutput = ENABLE;
|
||||
hopamp->Init.TimerControlledMuxmode = OPAMP_TIMERCONTROLLEDMUXMODE_DISABLE;
|
||||
hopamp->Init.PgaConnect = OPAMP_PGA_CONNECT_INVERTINGINPUT_NO;
|
||||
hopamp->Init.PgaGain = OPAMP_PGA_GAIN_16_OR_MINUS_15; // Adjust this to change the gains of the opamp.
|
||||
hopamp->Init.UserTrimming = OPAMP_TRIMMING_FACTORY;
|
||||
#else
|
||||
hopamp->Instance = opamp;
|
||||
hopamp->Init.PowerMode = OPAMP_POWERMODE_NORMALSPEED;
|
||||
hopamp->Init.Mode = OPAMP_FOLLOWER_MODE;
|
||||
hopamp->Init.NonInvertingInput = OPAMP_NONINVERTINGINPUT_IO1;
|
||||
hopamp->Init.InternalOutput = ENABLE;
|
||||
hopamp->Init.TimerControlledMuxmode = OPAMP_TIMERCONTROLLEDMUXMODE_DISABLE;
|
||||
hopamp->Init.UserTrimming = OPAMP_TRIMMING_FACTORY;
|
||||
#endif
|
||||
|
||||
if (HAL_OPAMP_Init(hopamp) != HAL_OK)
|
||||
SIMPLEFOC_DEBUG("HAL OPAMP Init failed!");
|
||||
}
|
||||
|
||||
void configureOPAMPs(void)
|
||||
{
|
||||
initOPAMP(&hopamp1, OPAMP1); // PA3
|
||||
initOPAMP(&hopamp2, OPAMP2); // PB0
|
||||
initOPAMP(&hopamp3, OPAMP3); // PA1
|
||||
hopamp1.Instance = OPAMP1;
|
||||
hopamp1.Init.PowerMode = OPAMP_POWERMODE_NORMALSPEED;
|
||||
hopamp1.Init.Mode = OPAMP_FOLLOWER_MODE;
|
||||
hopamp1.Init.NonInvertingInput = OPAMP_NONINVERTINGINPUT_IO1;
|
||||
hopamp1.Init.InternalOutput = ENABLE;
|
||||
hopamp1.Init.TimerControlledMuxmode = OPAMP_TIMERCONTROLLEDMUXMODE_DISABLE;
|
||||
hopamp1.Init.UserTrimming = OPAMP_TRIMMING_FACTORY;
|
||||
if(HAL_OPAMP_Init(&hopamp1) != HAL_OK)
|
||||
SIMPLEFOC_DEBUG("OPAMP1 init failed.");
|
||||
|
||||
hopamp2.Instance = OPAMP2;
|
||||
hopamp2.Init.PowerMode = OPAMP_POWERMODE_NORMALSPEED;
|
||||
hopamp2.Init.Mode = OPAMP_FOLLOWER_MODE;
|
||||
hopamp2.Init.NonInvertingInput = OPAMP_NONINVERTINGINPUT_IO2;
|
||||
hopamp2.Init.InternalOutput = ENABLE;
|
||||
hopamp2.Init.TimerControlledMuxmode = OPAMP_TIMERCONTROLLEDMUXMODE_DISABLE;
|
||||
hopamp2.Init.UserTrimming = OPAMP_TRIMMING_FACTORY;
|
||||
if(HAL_OPAMP_Init(&hopamp2) != HAL_OK)
|
||||
SIMPLEFOC_DEBUG("OPAMP2 init failed.");
|
||||
|
||||
hopamp3.Instance = OPAMP2;
|
||||
hopamp3.Init.PowerMode = OPAMP_POWERMODE_NORMALSPEED;
|
||||
hopamp3.Init.Mode = OPAMP_FOLLOWER_MODE;
|
||||
hopamp3.Init.NonInvertingInput = OPAMP_NONINVERTINGINPUT_IO1;
|
||||
hopamp3.Init.InternalOutput = ENABLE;
|
||||
hopamp3.Init.TimerControlledMuxmode = OPAMP_TIMERCONTROLLEDMUXMODE_DISABLE;
|
||||
hopamp3.Init.UserTrimming = OPAMP_TRIMMING_FACTORY;
|
||||
if(HAL_OPAMP_Init(&hopamp3) != HAL_OK)
|
||||
SIMPLEFOC_DEBUG("OPAMP3 init failed.");
|
||||
}
|
||||
|
||||
void HAL_OPAMP_MspInit(OPAMP_HandleTypeDef* opampHandle)
|
||||
void OPAMP_GPIO_Init(void)
|
||||
{
|
||||
|
||||
GPIO_InitTypeDef GPIO_InitStruct = {0};
|
||||
if(opampHandle->Instance==OPAMP1)
|
||||
{
|
||||
|
||||
__HAL_RCC_GPIOA_CLK_ENABLE();
|
||||
GPIO_InitStruct.Pin = GPIO_PIN_3;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
||||
}
|
||||
else if(opampHandle->Instance==OPAMP2)
|
||||
{
|
||||
|
||||
__HAL_RCC_GPIOB_CLK_ENABLE();
|
||||
GPIO_InitStruct.Pin = GPIO_PIN_0;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
||||
}
|
||||
else if(opampHandle->Instance==OPAMP3)
|
||||
{
|
||||
__HAL_RCC_GPIOB_CLK_ENABLE();
|
||||
|
||||
GPIO_InitStruct.Pin = GPIO_PIN_13;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
||||
}
|
||||
}
|
||||
|
||||
void HAL_OPAMP_MspDeInit(OPAMP_HandleTypeDef* opampHandle)
|
||||
void HAL_OPAMP_MspDeInit(OPAMP_HandleTypeDef *opampHandle)
|
||||
{
|
||||
|
||||
if(opampHandle->Instance==OPAMP1)
|
||||
if (opampHandle->Instance == OPAMP1)
|
||||
{
|
||||
HAL_GPIO_DeInit(GPIOA, GPIO_PIN_3);
|
||||
}
|
||||
else if(opampHandle->Instance==OPAMP2)
|
||||
else if (opampHandle->Instance == OPAMP2)
|
||||
{
|
||||
HAL_GPIO_DeInit(GPIOB, GPIO_PIN_0);
|
||||
}
|
||||
else if(opampHandle->Instance==OPAMP3)
|
||||
else if (opampHandle->Instance == OPAMP3)
|
||||
{
|
||||
HAL_GPIO_DeInit(GPIOB, GPIO_PIN_13);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@ extern OPAMP_HandleTypeDef hopamp2;
|
||||
extern OPAMP_HandleTypeDef hopamp3;
|
||||
|
||||
void configureOPAMPs(void);
|
||||
void OPAMP_GPIO_Init(void);
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ float adcResolution = 4096.0f; // 12 bit ADC
|
||||
float voltageScale = 3.3f; // full scale voltage range of ADC
|
||||
float adcSens = adcResolution * voltageScale;
|
||||
|
||||
volatile uint16_t adc1Result[2] = {0};
|
||||
volatile uint16_t adc1Result[3] = {0};
|
||||
volatile uint16_t adc2Result[2] = {0};
|
||||
|
||||
void MX_GPIO_Init(void)
|
||||
@@ -20,8 +20,9 @@ void MX_GPIO_Init(void)
|
||||
__HAL_RCC_GPIOA_CLK_ENABLE();
|
||||
__HAL_RCC_GPIOB_CLK_ENABLE();
|
||||
__HAL_RCC_GPIOC_CLK_ENABLE();
|
||||
|
||||
__HAL_RCC_ADC12_CLK_ENABLE();
|
||||
|
||||
OPAMP_GPIO_Init();
|
||||
}
|
||||
|
||||
float _readADCVoltageInline(const int pin, const void *cs_params)
|
||||
@@ -30,6 +31,10 @@ float _readADCVoltageInline(const int pin, const void *cs_params)
|
||||
uint32_t rawResult;
|
||||
switch (pin)
|
||||
{
|
||||
case PA2:
|
||||
rawResult = adc1Result[1];
|
||||
break;
|
||||
|
||||
case PA3:
|
||||
rawResult = adc1Result[0]; // ADC1 CH13 -> Vopamp1 internal output
|
||||
break;
|
||||
@@ -38,13 +43,13 @@ float _readADCVoltageInline(const int pin, const void *cs_params)
|
||||
rawResult = adc2Result[0]; // ADC2 CH16 -> Vopamp2 internal output
|
||||
break;
|
||||
|
||||
case PA1:
|
||||
rawResult = adc2Result[1]; // ADC2 CH18 -> Vopamp3 internal output
|
||||
case PA13:
|
||||
rawResult = adc2Result[2]; // ADC2 CH18 -> Vopamp3 internal output
|
||||
break;
|
||||
|
||||
case PA2:
|
||||
rawResult = adc1Result[1]; // ADC1 CH16 -> not sure what pin should represent this?
|
||||
break;
|
||||
// case PA2:
|
||||
// rawResult = adc1Result[1]; // ADC1 CH16 -> not sure what pin should represent this?
|
||||
// break;
|
||||
|
||||
default:
|
||||
return 0.0f;
|
||||
@@ -65,16 +70,21 @@ void *_configureADCInline(const void *driver_params, const int pinA, const int p
|
||||
_UNUSED(driver_params);
|
||||
|
||||
HAL_Init();
|
||||
HAL_SYSCFG_VREFBUF_VoltageScalingConfig(SYSCFG_VREFBUF_VOLTAGE_SCALE2);
|
||||
HAL_SYSCFG_EnableVREFBUF();
|
||||
HAL_SYSCFG_VREFBUF_HighImpedanceConfig(SYSCFG_VREFBUF_HIGH_IMPEDANCE_DISABLE);
|
||||
MX_GPIO_Init();
|
||||
MX_DMA_Init();
|
||||
MX_ADC1_Init();
|
||||
MX_ADC2_Init();
|
||||
configureOPAMPs();
|
||||
|
||||
ADC_DMA_Init(&hadc1);
|
||||
ADC_DMA_Init(&hadc2);
|
||||
ADC_DMA_Init();
|
||||
|
||||
if (HAL_ADC_Start_DMA(&hadc1, (uint32_t *)adc1Result, 2) != HAL_OK)
|
||||
HAL_ADCEx_Calibration_Start(&hadc1, ADC_SINGLE_ENDED);
|
||||
HAL_ADCEx_Calibration_Start(&hadc2, ADC_SINGLE_ENDED);
|
||||
|
||||
if (HAL_ADC_Start_DMA(&hadc1, (uint32_t *)adc1Result, 3) != HAL_OK)
|
||||
{
|
||||
SIMPLEFOC_DEBUG("DMA1 read init failed");
|
||||
}
|
||||
|
||||
@@ -36,8 +36,8 @@ uint8_t updateData = 0;
|
||||
const uint16_t magicWord = 0xAF0C;
|
||||
|
||||
// canbus things
|
||||
extern uint8_t TxData[8];
|
||||
extern uint8_t RxData[8];
|
||||
extern volatile uint8_t TxData[8];
|
||||
extern volatile uint8_t RxData[8];
|
||||
|
||||
// simpleFOC things
|
||||
#define POLEPAIRS 50
|
||||
@@ -68,6 +68,8 @@ StepperMotor motor = StepperMotor(POLEPAIRS);
|
||||
Commander commander = Commander(SERIALPORT);
|
||||
|
||||
uint16_t counter = 0;
|
||||
extern volatile uint16_t adc1Result[3];
|
||||
extern volatile uint16_t adc2Result[2];
|
||||
|
||||
// Prototypes
|
||||
uint8_t configureFOC(void);
|
||||
@@ -149,29 +151,11 @@ void loop()
|
||||
motor.move();
|
||||
commander.run();
|
||||
|
||||
|
||||
|
||||
if (counter == 0xFF)
|
||||
{
|
||||
PhaseCurrent_s current = currentsense.getPhaseCurrents();
|
||||
if(counter == 0){
|
||||
digitalToggle(LED_GOOD);
|
||||
SERIALPORT.print(current.a);
|
||||
SERIALPORT.print("\t");
|
||||
SERIALPORT.print(current.b);
|
||||
SERIALPORT.print("\t");
|
||||
SERIALPORT.println(current.c);
|
||||
// SERIALPORT.print(sensor.getAngle());
|
||||
// SERIALPORT.print("\t");
|
||||
// SERIALPORT.print(enc.getAngle());
|
||||
// SERIALPORT.print("\t");
|
||||
// SERIALPORT.println(sensor.getABZResolution());
|
||||
|
||||
// SERIALPORT.printf("%d\t%d\t%d\n", sensor.getAngle(), sensor.getABZResolution(), enc.getAngle());
|
||||
counter = 0;
|
||||
Serial.println(adc1Result[0]);
|
||||
}
|
||||
|
||||
counter++;
|
||||
|
||||
#ifdef HAS_MONITOR
|
||||
motor.monitor();
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user