kopia lustrzana https://github.com/UU5JPP/Wolf-LITE
Encoder2
Encoder2 debounce это задержка для повторного срабатывание (дребезг) Encoder2 slow rate кол-во щелчков для срабатывания. Автор linoobmaster
rodzic
03482e7631
commit
4b5c0232a4
|
@ -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;
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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 >>>
|
|
@ -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 >>>
|
|
@ -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 >>>
|
|
@ -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 >>>
|
|
@ -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 */
|
||||
|
|
|
@ -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 */
|
|
@ -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 */
|
|
@ -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 */
|
|
@ -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 diff jest za duży
Load Diff
Plik diff jest za duży
Load Diff
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Ładowanie…
Reference in New Issue