Encoder2 debounce это задержка для повторного срабатывание (дребезг)
Encoder2 slow rate кол-во щелчков для срабатывания. Автор linoob
master
Антон 2022-04-15 18:52:09 +03:00
rodzic 03482e7631
commit 4b5c0232a4
19 zmienionych plików z 9338 dodań i 167 usunięć

Wyświetl plik

@ -48,6 +48,7 @@ static void FRONTPANEL_ENC2SW_hold_handler(uint32_t parameter);
static bool FRONTPanel_MCP3008_1_Enabled = true;
static int32_t ENCODER_slowler = 0;
static int32_t ENCODER2_slowler = 0;
static uint32_t ENCODER_AValDeb = 0;
static uint32_t ENCODER2_AValDeb = 0;
//static uint8_t enc2_func_mode = 0;
@ -239,22 +240,75 @@ void FRONTPANEL_ENCODER2_checkRotate(void)
{
uint8_t ENCODER2_DTVal = HAL_GPIO_ReadPin(ENC2_DT_GPIO_Port, ENC2_DT_Pin);
uint8_t ENCODER2_CLKVal = HAL_GPIO_ReadPin(ENC2_CLK_GPIO_Port, ENC2_CLK_Pin);
static uint32_t ENCstartMeasureTime = 0;
static int16_t ENCticksInInterval = 0;
static float32_t ENCAcceleration = 0;
static uint8_t ENClastClkVal = 0;
static bool ENCfirst = true;
if (ENCfirst)
{
ENClastClkVal = ENCODER2_CLKVal;
ENCfirst = false;
}
if (ENClastClkVal != ENCODER2_CLKVal)
{
if ((HAL_GetTick() - ENCODER2_AValDeb) < CALIBRATE.ENCODER2_DEBOUNCE)
return;
if (!CALIBRATE.ENCODER_ON_FALLING || ENCODER2_CLKVal == 0)
{
if (ENCODER2_DTVal != ENCODER2_CLKVal)
{ // If pin A changed first - clockwise rotation
FRONTPANEL_ENCODER2_Rotated(CALIBRATE.ENCODER2_INVERT ? 1 : -1);
}
else
{ // otherwise B changed its state first - counterclockwise rotation
FRONTPANEL_ENCODER2_Rotated(CALIBRATE.ENCODER2_INVERT ? -1 : 1);
}
{ // If pin A changed first - clockwise rotation
ENCODER2_slowler--;
if (ENCODER2_slowler <= -CALIBRATE.ENCODER2_SLOW_RATE)
{
//acceleration
ENCticksInInterval++;
if((HAL_GetTick() - ENCstartMeasureTime) > ENCODER_ACCELERATION)
{
ENCstartMeasureTime = HAL_GetTick();
ENCAcceleration = (10.0f + ENCticksInInterval - 1.0f) / 10.0f;
ENCticksInInterval = 0;
}
//do rotate
FRONTPANEL_ENCODER2_Rotated(CALIBRATE.ENCODER2_INVERT ? ENCAcceleration : -ENCAcceleration);
ENCODER2_slowler = 0;
}
}
else
{ // otherwise B changed its state first - counterclockwise rotation
ENCODER2_slowler++;
if (ENCODER2_slowler >= CALIBRATE.ENCODER2_SLOW_RATE)
{
//acceleration
ENCticksInInterval++;
if((HAL_GetTick() - ENCstartMeasureTime) > ENCODER_ACCELERATION)
{
ENCstartMeasureTime = HAL_GetTick();
ENCAcceleration = (10.0f + ENCticksInInterval - 1.0f) / 10.0f;
ENCticksInInterval = 0;
}
//do rotate
FRONTPANEL_ENCODER2_Rotated(CALIBRATE.ENCODER2_INVERT ? -ENCAcceleration : ENCAcceleration);
ENCODER2_slowler = 0;
}
}
// if (ENCODER2_DTVal != ENCODER2_CLKVal)
// { // If pin A changed first - clockwise rotation
// FRONTPANEL_ENCODER2_Rotated(CALIBRATE.ENCODER2_INVERT ? 1 : -1);
// }
// else
// { // otherwise B changed its state first - counterclockwise rotation
// FRONTPANEL_ENCODER2_Rotated(CALIBRATE.ENCODER2_INVERT ? -1 : 1);
// }
}
ENCODER2_AValDeb = HAL_GetTick();
ENClastClkVal = ENCODER2_CLKVal;
}
}
static void FRONTPANEL_ENCODER_Rotated(float32_t direction) // rotated encoder, handler here, direction -1 - left, 1 - right
@ -336,24 +390,25 @@ static void FRONTPANEL_ENCODER2_Rotated(int8_t direction) // rotated encoder, ha
float64_t step = 0;
if (TRX.Fast)
{
step = (float32_t)TRX.FRQ_FAST_STEP * 2; // Fast
step = (float32_t)TRX.FRQ_ENC_FAST_STEP; // Fast
freq_round = roundf((float64_t)vfo->Freq / step) * step;
newfreq = (uint32_t)((int32_t)freq_round + (int32_t)step * direction);
// newfreq = (uint32_t)((int32_t)vfo->Freq + (int32_t)((float32_t)TRX.FRQ_FAST_STEP * direction));
// if ((vfo->Freq % TRX.FRQ_FAST_STEP) > 0 && fabsf(direction) <= 1.0f)
// newfreq = vfo->Freq / TRX.FRQ_FAST_STEP * TRX.FRQ_FAST_STEP;
// step = (float32_t)TRX.FRQ_FAST_STEP * 2; // Fast
// freq_round = roundf((float64_t)vfo->Freq / step) * step;
// newfreq = (uint32_t)((int32_t)freq_round + (int32_t)step * direction);
}
else
{
step = (float32_t)TRX.FRQ_STEP * 2; // Regular
step = (float32_t)TRX.FRQ_ENC_STEP; // Regular
freq_round = roundf((float64_t)vfo->Freq / step) * step;
newfreq = (uint32_t)((int32_t)freq_round + (int32_t)step * direction);
// newfreq = (uint32_t)((int32_t)vfo->Freq + (int32_t)((float32_t)TRX.FRQ_STEP * direction));
// if ((vfo->Freq % TRX.FRQ_STEP) > 0 && fabsf(direction) <= 1.0f)
// newfreq = vfo->Freq / TRX.FRQ_STEP * TRX.FRQ_STEP;
// step = (float32_t)TRX.FRQ_STEP * 2; // Regular
// freq_round = roundf((float64_t)vfo->Freq / step) * step;
// newfreq = (uint32_t)((int32_t)freq_round + (int32_t)step * direction);
}
TRX_setFrequency(newfreq, vfo);
LCD_UpdateQuery.FreqInfo = true;

Wyświetl plik

@ -205,6 +205,8 @@ void LoadSettings(bool clear)
TRX.DNR_MINIMAL = 99; // DNR averaging when searching for minimum magnitude
TRX.FRQ_STEP = 10; // frequency tuning step by the main encoder
TRX.FRQ_FAST_STEP = 100; // frequency tuning step by the main encoder in FAST mode
TRX.FRQ_ENC_STEP = 2500; // frequency tuning step by main add. encoder
TRX.FRQ_ENC_FAST_STEP = 5000; // frequency tuning step by main add. encoder in FAST mode
TRX.AGC_GAIN_TARGET = -25; // Maximum (target) AGC gain
TRX.TX_Compressor_speed_SSB = 3; // TX ñêîðîñòü êîìïðåññîðà SSB
TRX.TX_Compressor_maxgain_SSB = 10; // TX ìàêñèìàëüíîå óñèëåíèå SSB
@ -276,8 +278,9 @@ void LoadCalibration(bool clear)
CALIBRATE.ENCODER_INVERT = false; // invert left-right rotation of the main encoder
CALIBRATE.ENCODER2_INVERT = false; // invert left-right rotation of the optional encoder
CALIBRATE.ENCODER_DEBOUNCE = 0; // time to eliminate contact bounce at the main encoder, ms
CALIBRATE.ENCODER2_DEBOUNCE = 50; // time to eliminate contact bounce at the additional encoder, ms
CALIBRATE.ENCODER2_DEBOUNCE = 30; // time to eliminate contact bounce at the additional encoder, ms
CALIBRATE.ENCODER_SLOW_RATE = 25; // slow down the encoder for high resolutions
CALIBRATE.ENCODER2_SLOW_RATE = 2; // slow down the encoder for high resolutions
CALIBRATE.ENCODER_ON_FALLING = false; // encoder only triggers when level A falls
CALIBRATE.CICFIR_GAINER_val = 35; // Offset from the output of the CIC compensator
CALIBRATE.TXCICFIR_GAINER_val = 27; // Offset from the TX-CIC output of the compensator

Wyświetl plik

@ -9,10 +9,32 @@
#define SETT_VERSION 101 // Settings config version
#define CALIB_VERSION 101 // Calibration config version
//#define ADC_CLOCK 64320000 // ADC generator frequency eaeea?iaea ?anoiou aaia?aoi?a
//#define DAC_CLOCK 160800000 // DAC generator frequency
#ifdef FRONT_R7KBI_61_440
#define ADC_CLOCK 61440000 // ADC generator frequency êàëèáðîâêà ÷àñòîòû ãåíåðàòîðà
#define DAC_CLOCK 153600000 // DAC generator frequency
#define BUTTONS_R7KBI true //Author board buttons
#endif
#ifdef FRONT_R7KBI_64_320
#define ADC_CLOCK 64320000 // ADC generator frequency eaeea?iaea ?anoiou aaia?aoi?a
#define DAC_CLOCK 160800000 // DAC generator frequency
#define BUTTONS_R7KBI true //Author board buttons
#endif
#ifdef FRONT_ALEX_61_440
#define ADC_CLOCK 61440000 // ADC generator frequency êàëèáðîâêà ÷àñòîòû ãåíåðàòîðà
#define DAC_CLOCK 153600000 // DAC generator frequency
#define BUTTONS_R7KBI false //Author board buttons
#endif
#ifdef FRONT_ALEX_64_320
#define ADC_CLOCK 64320000 // ADC generator frequency eaeea?iaea ?anoiou aaia?aoi?a
#define DAC_CLOCK 160800000 // DAC generator frequency
#define BUTTONS_R7KBI false //Author board buttons
#endif
//#define ADC_CLOCK 64320000 // ADC generator frequency eaeea?iaea ?anoiou aaia?aoi?a
//#define DAC_CLOCK 160800000 // DAC generator frequency
//#define ADC_CLOCK 61440000 // ADC generator frequency êàëèáðîâêà ÷àñòîòû ãåíåðàòîðà
//#define DAC_CLOCK 153600000 // DAC generator frequency
#define MAX_RX_FREQ_HZ 750000000 // Maximum receive frequency (from the ADC datasheet)
#define MAX_TX_FREQ_HZ (DAC_CLOCK / 2) // Maximum transmission frequency
#define TRX_SAMPLERATE 48000 // audio stream sampling rate during processing
@ -34,7 +56,7 @@
#define ENCODER_MIN_RATE_ACCELERATION 1.2f //encoder enable rounding if lower than value
#define TRX_MAX_SWR 5 //maximum SWR to enable protect (NOT IN TUNE MODE!)
#define BUTTONS_R7KBI true //Author board buttons
//#define BUTTONS_R7KBI true //Author board buttons
// select LCD, comment on others
//#define LCD_ILI9481 true
@ -123,6 +145,8 @@ extern struct TRX_SETTINGS
bool TWO_SIGNAL_TUNE;
uint16_t FRQ_STEP;
uint16_t FRQ_FAST_STEP;
uint16_t FRQ_ENC_STEP;
uint16_t FRQ_ENC_FAST_STEP;
bool Debug_Console;
bool BandMapEnabled;
bool InputType_MIC;
@ -210,6 +234,7 @@ extern struct TRX_CALIBRATE
uint8_t ENCODER_DEBOUNCE;
uint8_t ENCODER2_DEBOUNCE;
uint8_t ENCODER_SLOW_RATE;
uint8_t ENCODER2_SLOW_RATE;
bool ENCODER_ON_FALLING;
uint8_t CICFIR_GAINER_val;
uint8_t TXCICFIR_GAINER_val;

Wyświetl plik

@ -98,6 +98,7 @@ static void SYSMENU_HANDL_SETTIME(int8_t direction);
static void SYSMENU_HANDL_Bootloader(int8_t direction);
static void SYSMENU_HANDL_CALIB_ENCODER_SLOW_RATE(int8_t direction);
static void SYSMENU_HANDL_CALIB_ENCODER2_SLOW_RATE(int8_t direction);
static void SYSMENU_HANDL_CALIB_ENCODER_INVERT(int8_t direction);
static void SYSMENU_HANDL_CALIB_ENCODER2_INVERT(int8_t direction);
static void SYSMENU_HANDL_CALIB_ENCODER_DEBOUNCE(int8_t direction);
@ -160,6 +161,8 @@ static const struct sysmenu_item_handler sysmenu_trx_handlers[] =
{"Shift Interval", SYSMENU_UINT16, (uint32_t *)&TRX.SHIFT_INTERVAL, SYSMENU_HANDL_TRX_SHIFT_INTERVAL},
{"Freq Step", SYSMENU_UINT16, (uint32_t *)&TRX.FRQ_STEP, SYSMENU_HANDL_TRX_FRQ_STEP},
{"Freq Step FAST", SYSMENU_UINT16, (uint32_t *)&TRX.FRQ_FAST_STEP, SYSMENU_HANDL_TRX_FRQ_FAST_STEP},
{"Freq Step ENC2", SYSMENU_UINT16, (uint32_t *)&TRX.FRQ_ENC_STEP, SYSMENU_HANDL_TRX_FRQ_ENC_STEP},
{"Freq Step FAST ENC2", SYSMENU_UINT16, (uint32_t *)&TRX.FRQ_ENC_FAST_STEP, SYSMENU_HANDL_TRX_FRQ_ENC_FAST_STEP},
{"Encoder Accelerate", SYSMENU_BOOLEAN, (uint32_t *)&TRX.Encoder_Accelerate, SYSMENU_HANDL_TRX_ENC_ACCELERATE},
{"Encoder TX/OFF", SYSMENU_BOOLEAN, (uint32_t *)&TRX.Encoder_OFF, SYSMENU_HANDL_TXOFF_ENC},
{"Att step, dB", SYSMENU_UINT8, (uint32_t *)&TRX.ATT_STEP, SYSMENU_HANDL_TRX_ATT_STEP},
@ -252,6 +255,7 @@ static const struct sysmenu_item_handler sysmenu_calibration_handlers[] =
{"Encoder debounce", SYSMENU_UINT8, (uint32_t *)&CALIBRATE.ENCODER_DEBOUNCE, SYSMENU_HANDL_CALIB_ENCODER_DEBOUNCE},
{"Encoder2 debounce", SYSMENU_UINT8, (uint32_t *)&CALIBRATE.ENCODER2_DEBOUNCE, SYSMENU_HANDL_CALIB_ENCODER2_DEBOUNCE},
{"Encoder slow rate", SYSMENU_UINT8, (uint32_t *)&CALIBRATE.ENCODER_SLOW_RATE, SYSMENU_HANDL_CALIB_ENCODER_SLOW_RATE},
{"Encoder2 slow rate", SYSMENU_UINT8, (uint32_t *)&CALIBRATE.ENCODER2_SLOW_RATE, SYSMENU_HANDL_CALIB_ENCODER2_SLOW_RATE},
{"Encoder on falling", SYSMENU_BOOLEAN, (uint32_t *)&CALIBRATE.ENCODER_ON_FALLING, SYSMENU_HANDL_CALIB_ENCODER_ON_FALLING},
{"CICCOMP Shift", SYSMENU_UINT8, (uint32_t *)&CALIBRATE.CICFIR_GAINER_val, SYSMENU_HANDL_CALIB_CICCOMP_SHIFT},
{"TX CICCOMP Shift", SYSMENU_UINT8, (uint32_t *)&CALIBRATE.TXCICFIR_GAINER_val, SYSMENU_HANDL_CALIB_TXCICCOMP_SHIFT},
@ -496,6 +500,58 @@ static void SYSMENU_HANDL_TRX_FRQ_FAST_STEP(int8_t direction)
TRX.FRQ_FAST_STEP = freq_steps[0];
}
static void SYSMENU_HANDL_TRX_FRQ_ENC_STEP(int8_t direction)
{
const uint16_t freq_steps[] = {1, 10, 25, 50, 100, 500, 1000, 5000};
for (uint8_t i = 0; i < ARRLENTH(freq_steps); i++)
if (TRX.FRQ_ENC_STEP == freq_steps[i])
{
if (direction < 0)
{
if (i > 0)
TRX.FRQ_ENC_STEP = freq_steps[i - 1];
else
TRX.FRQ_ENC_STEP = freq_steps[0];
return;
}
else
{
if (i < (ARRLENTH(freq_steps) - 1))
TRX.FRQ_ENC_STEP = freq_steps[i + 1];
else
TRX.FRQ_ENC_STEP = freq_steps[ARRLENTH(freq_steps) - 1];
return;
}
}
TRX.FRQ_ENC_STEP = freq_steps[0];
}
static void SYSMENU_HANDL_TRX_FRQ_ENC_FAST_STEP(int8_t direction)
{
const uint16_t freq_steps[] = {1, 10, 25, 50, 100, 500, 1000, 5000};
for (uint8_t i = 0; i < ARRLENTH(freq_steps); i++)
if (TRX.FRQ_ENC_FAST_STEP == freq_steps[i])
{
if (direction < 0)
{
if (i > 0)
TRX.FRQ_ENC_FAST_STEP = freq_steps[i - 1];
else
TRX.FRQ_ENC_FAST_STEP = freq_steps[0];
return;
}
else
{
if (i < (ARRLENTH(freq_steps) - 1))
TRX.FRQ_ENC_FAST_STEP = freq_steps[i + 1];
else
TRX.FRQ_ENC_FAST_STEP = freq_steps[ARRLENTH(freq_steps) - 1];
return;
}
}
TRX.FRQ_ENC_FAST_STEP = freq_steps[0];
}
static void SYSMENU_HANDL_TRX_ENC_ACCELERATE(int8_t direction)
{
if (direction > 0)
@ -1773,6 +1829,15 @@ static void SYSMENU_HANDL_CALIB_ENCODER_SLOW_RATE(int8_t direction)
CALIBRATE.ENCODER_SLOW_RATE = 100;
}
static void SYSMENU_HANDL_CALIB_ENCODER2_SLOW_RATE(int8_t direction)
{
CALIBRATE.ENCODER2_SLOW_RATE += direction;
if (CALIBRATE.ENCODER2_SLOW_RATE < 1)
CALIBRATE.ENCODER2_SLOW_RATE = 1;
if (CALIBRATE.ENCODER2_SLOW_RATE > 100)
CALIBRATE.ENCODER2_SLOW_RATE = 100;
}
static void SYSMENU_HANDL_CALIB_ENCODER_ON_FALLING(int8_t direction)
{
if (direction > 0)

Wyświetl plik

@ -0,0 +1,48 @@
// File: STM32F405_415_407_417_427_437_429_439.dbgconf
// Version: 1.0.0
// Note: refer to STM32F405/415 STM32F407/417 STM32F427/437 STM32F429/439 reference manual (RM0090)
// refer to STM32F40x STM32F41x datasheets
// refer to STM32F42x STM32F43x datasheets
// <<< Use Configuration Wizard in Context Menu >>>
// <h> Debug MCU configuration register (DBGMCU_CR)
// <o.2> DBG_STANDBY <i> Debug Standby Mode
// <o.1> DBG_STOP <i> Debug Stop Mode
// <o.0> DBG_SLEEP <i> Debug Sleep Mode
// </h>
DbgMCU_CR = 0x00000007;
// <h> Debug MCU APB1 freeze register (DBGMCU_APB1_FZ)
// <i> Reserved bits must be kept at reset value
// <o.26> DBG_CAN2_STOP <i> CAN2 stopped when core is halted
// <o.25> DBG_CAN1_STOP <i> CAN2 stopped when core is halted
// <o.23> DBG_I2C3_SMBUS_TIMEOUT <i> I2C3 SMBUS timeout mode stopped when core is halted
// <o.22> DBG_I2C2_SMBUS_TIMEOUT <i> I2C2 SMBUS timeout mode stopped when core is halted
// <o.21> DBG_I2C1_SMBUS_TIMEOUT <i> I2C1 SMBUS timeout mode stopped when core is halted
// <o.12> DBG_IWDG_STOP <i> Independent watchdog stopped when core is halted
// <o.11> DBG_WWDG_STOP <i> Window watchdog stopped when core is halted
// <o.10> DBG_RTC_STOP <i> RTC stopped when core is halted
// <o.8> DBG_TIM14_STOP <i> TIM14 counter stopped when core is halted
// <o.7> DBG_TIM13_STOP <i> TIM13 counter stopped when core is halted
// <o.6> DBG_TIM12_STOP <i> TIM12 counter stopped when core is halted
// <o.5> DBG_TIM7_STOP <i> TIM7 counter stopped when core is halted
// <o.4> DBG_TIM6_STOP <i> TIM6 counter stopped when core is halted
// <o.3> DBG_TIM5_STOP <i> TIM5 counter stopped when core is halted
// <o.2> DBG_TIM4_STOP <i> TIM4 counter stopped when core is halted
// <o.1> DBG_TIM3_STOP <i> TIM3 counter stopped when core is halted
// <o.0> DBG_TIM2_STOP <i> TIM2 counter stopped when core is halted
// </h>
DbgMCU_APB1_Fz = 0x00000000;
// <h> Debug MCU APB2 freeze register (DBGMCU_APB2_FZ)
// <i> Reserved bits must be kept at reset value
// <o.18> DBG_TIM11_STOP <i> TIM11 counter stopped when core is halted
// <o.17> DBG_TIM10_STOP <i> TIM10 counter stopped when core is halted
// <o.16> DBG_TIM9_STOP <i> TIM9 counter stopped when core is halted
// <o.1> DBG_TIM8_STOP <i> TIM8 counter stopped when core is halted
// <o.0> DBG_TIM1_STOP <i> TIM1 counter stopped when core is halted
// </h>
DbgMCU_APB2_Fz = 0x00000000;
// <<< end of configuration section >>>

Wyświetl plik

@ -0,0 +1,48 @@
// File: STM32F405_415_407_417_427_437_429_439.dbgconf
// Version: 1.0.0
// Note: refer to STM32F405/415 STM32F407/417 STM32F427/437 STM32F429/439 reference manual (RM0090)
// refer to STM32F40x STM32F41x datasheets
// refer to STM32F42x STM32F43x datasheets
// <<< Use Configuration Wizard in Context Menu >>>
// <h> Debug MCU configuration register (DBGMCU_CR)
// <o.2> DBG_STANDBY <i> Debug Standby Mode
// <o.1> DBG_STOP <i> Debug Stop Mode
// <o.0> DBG_SLEEP <i> Debug Sleep Mode
// </h>
DbgMCU_CR = 0x00000007;
// <h> Debug MCU APB1 freeze register (DBGMCU_APB1_FZ)
// <i> Reserved bits must be kept at reset value
// <o.26> DBG_CAN2_STOP <i> CAN2 stopped when core is halted
// <o.25> DBG_CAN1_STOP <i> CAN2 stopped when core is halted
// <o.23> DBG_I2C3_SMBUS_TIMEOUT <i> I2C3 SMBUS timeout mode stopped when core is halted
// <o.22> DBG_I2C2_SMBUS_TIMEOUT <i> I2C2 SMBUS timeout mode stopped when core is halted
// <o.21> DBG_I2C1_SMBUS_TIMEOUT <i> I2C1 SMBUS timeout mode stopped when core is halted
// <o.12> DBG_IWDG_STOP <i> Independent watchdog stopped when core is halted
// <o.11> DBG_WWDG_STOP <i> Window watchdog stopped when core is halted
// <o.10> DBG_RTC_STOP <i> RTC stopped when core is halted
// <o.8> DBG_TIM14_STOP <i> TIM14 counter stopped when core is halted
// <o.7> DBG_TIM13_STOP <i> TIM13 counter stopped when core is halted
// <o.6> DBG_TIM12_STOP <i> TIM12 counter stopped when core is halted
// <o.5> DBG_TIM7_STOP <i> TIM7 counter stopped when core is halted
// <o.4> DBG_TIM6_STOP <i> TIM6 counter stopped when core is halted
// <o.3> DBG_TIM5_STOP <i> TIM5 counter stopped when core is halted
// <o.2> DBG_TIM4_STOP <i> TIM4 counter stopped when core is halted
// <o.1> DBG_TIM3_STOP <i> TIM3 counter stopped when core is halted
// <o.0> DBG_TIM2_STOP <i> TIM2 counter stopped when core is halted
// </h>
DbgMCU_APB1_Fz = 0x00000000;
// <h> Debug MCU APB2 freeze register (DBGMCU_APB2_FZ)
// <i> Reserved bits must be kept at reset value
// <o.18> DBG_TIM11_STOP <i> TIM11 counter stopped when core is halted
// <o.17> DBG_TIM10_STOP <i> TIM10 counter stopped when core is halted
// <o.16> DBG_TIM9_STOP <i> TIM9 counter stopped when core is halted
// <o.1> DBG_TIM8_STOP <i> TIM8 counter stopped when core is halted
// <o.0> DBG_TIM1_STOP <i> TIM1 counter stopped when core is halted
// </h>
DbgMCU_APB2_Fz = 0x00000000;
// <<< end of configuration section >>>

Wyświetl plik

@ -0,0 +1,48 @@
// File: STM32F405_415_407_417_427_437_429_439.dbgconf
// Version: 1.0.0
// Note: refer to STM32F405/415 STM32F407/417 STM32F427/437 STM32F429/439 reference manual (RM0090)
// refer to STM32F40x STM32F41x datasheets
// refer to STM32F42x STM32F43x datasheets
// <<< Use Configuration Wizard in Context Menu >>>
// <h> Debug MCU configuration register (DBGMCU_CR)
// <o.2> DBG_STANDBY <i> Debug Standby Mode
// <o.1> DBG_STOP <i> Debug Stop Mode
// <o.0> DBG_SLEEP <i> Debug Sleep Mode
// </h>
DbgMCU_CR = 0x00000007;
// <h> Debug MCU APB1 freeze register (DBGMCU_APB1_FZ)
// <i> Reserved bits must be kept at reset value
// <o.26> DBG_CAN2_STOP <i> CAN2 stopped when core is halted
// <o.25> DBG_CAN1_STOP <i> CAN2 stopped when core is halted
// <o.23> DBG_I2C3_SMBUS_TIMEOUT <i> I2C3 SMBUS timeout mode stopped when core is halted
// <o.22> DBG_I2C2_SMBUS_TIMEOUT <i> I2C2 SMBUS timeout mode stopped when core is halted
// <o.21> DBG_I2C1_SMBUS_TIMEOUT <i> I2C1 SMBUS timeout mode stopped when core is halted
// <o.12> DBG_IWDG_STOP <i> Independent watchdog stopped when core is halted
// <o.11> DBG_WWDG_STOP <i> Window watchdog stopped when core is halted
// <o.10> DBG_RTC_STOP <i> RTC stopped when core is halted
// <o.8> DBG_TIM14_STOP <i> TIM14 counter stopped when core is halted
// <o.7> DBG_TIM13_STOP <i> TIM13 counter stopped when core is halted
// <o.6> DBG_TIM12_STOP <i> TIM12 counter stopped when core is halted
// <o.5> DBG_TIM7_STOP <i> TIM7 counter stopped when core is halted
// <o.4> DBG_TIM6_STOP <i> TIM6 counter stopped when core is halted
// <o.3> DBG_TIM5_STOP <i> TIM5 counter stopped when core is halted
// <o.2> DBG_TIM4_STOP <i> TIM4 counter stopped when core is halted
// <o.1> DBG_TIM3_STOP <i> TIM3 counter stopped when core is halted
// <o.0> DBG_TIM2_STOP <i> TIM2 counter stopped when core is halted
// </h>
DbgMCU_APB1_Fz = 0x00000000;
// <h> Debug MCU APB2 freeze register (DBGMCU_APB2_FZ)
// <i> Reserved bits must be kept at reset value
// <o.18> DBG_TIM11_STOP <i> TIM11 counter stopped when core is halted
// <o.17> DBG_TIM10_STOP <i> TIM10 counter stopped when core is halted
// <o.16> DBG_TIM9_STOP <i> TIM9 counter stopped when core is halted
// <o.1> DBG_TIM8_STOP <i> TIM8 counter stopped when core is halted
// <o.0> DBG_TIM1_STOP <i> TIM1 counter stopped when core is halted
// </h>
DbgMCU_APB2_Fz = 0x00000000;
// <<< end of configuration section >>>

Wyświetl plik

@ -0,0 +1,48 @@
// File: STM32F405_415_407_417_427_437_429_439.dbgconf
// Version: 1.0.0
// Note: refer to STM32F405/415 STM32F407/417 STM32F427/437 STM32F429/439 reference manual (RM0090)
// refer to STM32F40x STM32F41x datasheets
// refer to STM32F42x STM32F43x datasheets
// <<< Use Configuration Wizard in Context Menu >>>
// <h> Debug MCU configuration register (DBGMCU_CR)
// <o.2> DBG_STANDBY <i> Debug Standby Mode
// <o.1> DBG_STOP <i> Debug Stop Mode
// <o.0> DBG_SLEEP <i> Debug Sleep Mode
// </h>
DbgMCU_CR = 0x00000007;
// <h> Debug MCU APB1 freeze register (DBGMCU_APB1_FZ)
// <i> Reserved bits must be kept at reset value
// <o.26> DBG_CAN2_STOP <i> CAN2 stopped when core is halted
// <o.25> DBG_CAN1_STOP <i> CAN2 stopped when core is halted
// <o.23> DBG_I2C3_SMBUS_TIMEOUT <i> I2C3 SMBUS timeout mode stopped when core is halted
// <o.22> DBG_I2C2_SMBUS_TIMEOUT <i> I2C2 SMBUS timeout mode stopped when core is halted
// <o.21> DBG_I2C1_SMBUS_TIMEOUT <i> I2C1 SMBUS timeout mode stopped when core is halted
// <o.12> DBG_IWDG_STOP <i> Independent watchdog stopped when core is halted
// <o.11> DBG_WWDG_STOP <i> Window watchdog stopped when core is halted
// <o.10> DBG_RTC_STOP <i> RTC stopped when core is halted
// <o.8> DBG_TIM14_STOP <i> TIM14 counter stopped when core is halted
// <o.7> DBG_TIM13_STOP <i> TIM13 counter stopped when core is halted
// <o.6> DBG_TIM12_STOP <i> TIM12 counter stopped when core is halted
// <o.5> DBG_TIM7_STOP <i> TIM7 counter stopped when core is halted
// <o.4> DBG_TIM6_STOP <i> TIM6 counter stopped when core is halted
// <o.3> DBG_TIM5_STOP <i> TIM5 counter stopped when core is halted
// <o.2> DBG_TIM4_STOP <i> TIM4 counter stopped when core is halted
// <o.1> DBG_TIM3_STOP <i> TIM3 counter stopped when core is halted
// <o.0> DBG_TIM2_STOP <i> TIM2 counter stopped when core is halted
// </h>
DbgMCU_APB1_Fz = 0x00000000;
// <h> Debug MCU APB2 freeze register (DBGMCU_APB2_FZ)
// <i> Reserved bits must be kept at reset value
// <o.18> DBG_TIM11_STOP <i> TIM11 counter stopped when core is halted
// <o.17> DBG_TIM10_STOP <i> TIM10 counter stopped when core is halted
// <o.16> DBG_TIM9_STOP <i> TIM9 counter stopped when core is halted
// <o.1> DBG_TIM8_STOP <i> TIM8 counter stopped when core is halted
// <o.0> DBG_TIM1_STOP <i> TIM1 counter stopped when core is halted
// </h>
DbgMCU_APB2_Fz = 0x00000000;
// <<< end of configuration section >>>

Wyświetl plik

@ -1,21 +1,21 @@
/*
* Auto generated Run-Time-Environment Configuration File
* *** Do not modify ! ***
*
* Project: 'WOLF-Lite'
* Target: 'WOLF-Lite'
*/
#ifndef RTE_COMPONENTS_H
#define RTE_COMPONENTS_H
/*
* Define the Device Header File:
*/
#define CMSIS_device_header "stm32f4xx.h"
#endif /* RTE_COMPONENTS_H */
/*
* Auto generated Run-Time-Environment Configuration File
* *** Do not modify ! ***
*
* Project: 'WOLF-Lite'
* Target: 'WOLF-Lite'
*/
#ifndef RTE_COMPONENTS_H
#define RTE_COMPONENTS_H
/*
* Define the Device Header File:
*/
#define CMSIS_device_header "stm32f4xx.h"
#endif /* RTE_COMPONENTS_H */

Wyświetl plik

@ -0,0 +1,21 @@
/*
* Auto generated Run-Time-Environment Configuration File
* *** Do not modify ! ***
*
* Project: 'WOLF-Lite'
* Target: 'WOLF-Lite_ALEX_61.440'
*/
#ifndef RTE_COMPONENTS_H
#define RTE_COMPONENTS_H
/*
* Define the Device Header File:
*/
#define CMSIS_device_header "stm32f4xx.h"
#endif /* RTE_COMPONENTS_H */

Wyświetl plik

@ -0,0 +1,21 @@
/*
* Auto generated Run-Time-Environment Configuration File
* *** Do not modify ! ***
*
* Project: 'WOLF-Lite'
* Target: 'WOLF-Lite_ALEX_64.320'
*/
#ifndef RTE_COMPONENTS_H
#define RTE_COMPONENTS_H
/*
* Define the Device Header File:
*/
#define CMSIS_device_header "stm32f4xx.h"
#endif /* RTE_COMPONENTS_H */

Wyświetl plik

@ -0,0 +1,21 @@
/*
* Auto generated Run-Time-Environment Configuration File
* *** Do not modify ! ***
*
* Project: 'WOLF-Lite'
* Target: 'WOLF-Lite_R7KBI_61.440'
*/
#ifndef RTE_COMPONENTS_H
#define RTE_COMPONENTS_H
/*
* Define the Device Header File:
*/
#define CMSIS_device_header "stm32f4xx.h"
#endif /* RTE_COMPONENTS_H */

Wyświetl plik

@ -0,0 +1,21 @@
/*
* Auto generated Run-Time-Environment Configuration File
* *** Do not modify ! ***
*
* Project: 'WOLF-Lite'
* Target: 'WOLF-Lite_R7KBI_64.320'
*/
#ifndef RTE_COMPONENTS_H
#define RTE_COMPONENTS_H
/*
* Define the Device Header File:
*/
#define CMSIS_device_header "stm32f4xx.h"
#endif /* RTE_COMPONENTS_H */

Plik binarny nie jest wyświetlany.

Plik binarny nie jest wyświetlany.

Plik binarny nie jest wyświetlany.

Plik binarny nie jest wyświetlany.