Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b98207da4c | ||
|
|
940e3f4a3d | ||
|
|
fdc83c5b9f | ||
|
|
52d4685673 | ||
|
|
af8bbd5275 | ||
|
|
96826da0e0 | ||
|
|
49a4fd8ee1 | ||
|
|
86b0bfc0fc | ||
|
|
a583e12132 | ||
|
|
ecf8e3d2f0 |
+87
-50
@@ -1,63 +1,100 @@
|
||||
# macOS
|
||||
.DS_Store
|
||||
**/.DS_Store
|
||||
# =============================================================================
|
||||
# STM32 / ARM GCC / STM32CubeIDE — standardized firmware .gitignore
|
||||
# Track: sources + final firmware images (*.elf *.bin *.hex *.srec)
|
||||
# Ignore: build intermediates, IDE noise, logs, captures, backups
|
||||
#
|
||||
# NOTE: Only root /Debug /Release /Build are build dirs.
|
||||
# Do NOT use **/Debug — on Windows (core.ignorecase) that also matches
|
||||
# source folders like Libs/**/DEBUG/.
|
||||
# =============================================================================
|
||||
|
||||
# Temporary/editor files
|
||||
*.swp
|
||||
*.swo
|
||||
*~
|
||||
*.tmp
|
||||
*.bak
|
||||
# -----------------------------------------------------------------------------
|
||||
# Build dirs (project root only): ignore all, then re-include firmware images
|
||||
# -----------------------------------------------------------------------------
|
||||
/Debug/*
|
||||
!/Debug/
|
||||
/Release/*
|
||||
!/Release/
|
||||
/Build/*
|
||||
!/Build/
|
||||
|
||||
# STM32CubeIDE build intermediates
|
||||
Debug/**/*.o
|
||||
Debug/**/*.d
|
||||
Debug/**/*.su
|
||||
Debug/**/*.cyclo
|
||||
Debug/**/*.mk
|
||||
Debug/**/*.lst
|
||||
Debug/**/*.log
|
||||
Debug/**/*.tmp
|
||||
Debug/**/*.a
|
||||
Debug/**/*.obj
|
||||
|
||||
Release/**/*.o
|
||||
Release/**/*.d
|
||||
Release/**/*.su
|
||||
Release/**/*.cyclo
|
||||
Release/**/*.mk
|
||||
Release/**/*.lst
|
||||
Release/**/*.log
|
||||
Release/**/*.tmp
|
||||
Release/**/*.a
|
||||
Release/**/*.obj
|
||||
|
||||
# Generic C/C++ intermediates
|
||||
# -----------------------------------------------------------------------------
|
||||
# Object / dependency / analysis outputs (any path)
|
||||
# -----------------------------------------------------------------------------
|
||||
*.o
|
||||
*.obj
|
||||
*.d
|
||||
*.su
|
||||
*.gch
|
||||
*.pch
|
||||
*.ilk
|
||||
*.exp
|
||||
*.idb
|
||||
*.pdb
|
||||
*.dSYM/
|
||||
*.cyclo
|
||||
|
||||
# Preserve firmware artifacts in git
|
||||
!*.hex
|
||||
!*.bin
|
||||
!*.srec
|
||||
!*.elf
|
||||
# -----------------------------------------------------------------------------
|
||||
# Generated make fragments (CubeIDE)
|
||||
# -----------------------------------------------------------------------------
|
||||
*.mk
|
||||
makefile
|
||||
Makefile
|
||||
objects.list
|
||||
objects.mk
|
||||
sources.mk
|
||||
subdir.mk
|
||||
|
||||
# Eclipse local workspace metadata
|
||||
.metadata/
|
||||
# -----------------------------------------------------------------------------
|
||||
# Linker listings (not needed in repo)
|
||||
# -----------------------------------------------------------------------------
|
||||
*.map
|
||||
*.list
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Backups / temp
|
||||
# -----------------------------------------------------------------------------
|
||||
**/Backup/
|
||||
*.bak
|
||||
*.tmp
|
||||
*.swp
|
||||
*.swo
|
||||
*~
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# IDE / tooling (local machine)
|
||||
# -----------------------------------------------------------------------------
|
||||
.settings/
|
||||
.mxproject
|
||||
.externalToolBuilders/
|
||||
|
||||
# Optional local launch configs
|
||||
.metadata/
|
||||
.idea/
|
||||
*.launch
|
||||
*.code-workspace
|
||||
|
||||
# VS Code local settings
|
||||
# -----------------------------------------------------------------------------
|
||||
# Logs / analyzer captures
|
||||
# -----------------------------------------------------------------------------
|
||||
log.txt
|
||||
log*.txt
|
||||
*.log
|
||||
*.asc
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# OS junk
|
||||
# -----------------------------------------------------------------------------
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
|
||||
# =============================================================================
|
||||
# Keep final firmware images under root build dirs
|
||||
# =============================================================================
|
||||
!/Debug/*.elf
|
||||
!/Debug/*.bin
|
||||
!/Debug/*.hex
|
||||
!/Debug/*.srec
|
||||
!/Release/*.elf
|
||||
!/Release/*.bin
|
||||
!/Release/*.hex
|
||||
!/Release/*.srec
|
||||
!/Build/*.elf
|
||||
!/Build/*.bin
|
||||
!/Build/*.hex
|
||||
!/Build/*.srec
|
||||
|
||||
# IDE local
|
||||
.vscode/
|
||||
|
||||
|
||||
-41
File diff suppressed because one or more lines are too long
@@ -1,2 +0,0 @@
|
||||
eclipse.preferences.version=1
|
||||
sfrviewstate={"fFavorites"\:{"fLists"\:{}},"fProperties"\:{"fNodeProperties"\:{}}}
|
||||
@@ -1,25 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<project>
|
||||
<configuration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1370229639" name="Debug">
|
||||
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
|
||||
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
|
||||
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="529144383163155105" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
|
||||
<language-scope id="org.eclipse.cdt.core.gcc"/>
|
||||
<language-scope id="org.eclipse.cdt.core.g++"/>
|
||||
</provider>
|
||||
</extension>
|
||||
</configuration>
|
||||
<configuration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1286135127" name="Release">
|
||||
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
|
||||
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
|
||||
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="529144383163155105" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
|
||||
<language-scope id="org.eclipse.cdt.core.gcc"/>
|
||||
<language-scope id="org.eclipse.cdt.core.g++"/>
|
||||
</provider>
|
||||
</extension>
|
||||
</configuration>
|
||||
</project>
|
||||
@@ -1,6 +0,0 @@
|
||||
doxygen/doxygen_new_line_after_brief=true
|
||||
doxygen/doxygen_use_brief_tag=false
|
||||
doxygen/doxygen_use_javadoc_tags=true
|
||||
doxygen/doxygen_use_pre_tag=false
|
||||
doxygen/doxygen_use_structural_commands=false
|
||||
eclipse.preferences.version=1
|
||||
@@ -1,5 +0,0 @@
|
||||
2F62501ED4689FB349E356AB974DBE57=0A9B2D4C5DCB32842F05F53136A1D1D7
|
||||
66BE74F758C12D739921AEA421D593D3=1
|
||||
8DF89ED150041C4CBC7CB9A9CAA90856=0A9B2D4C5DCB32842F05F53136A1D1D7
|
||||
DC22A860405A8BF2F2C095E5B6529F12=283F84148D7B38E239E7ECD52C68B71F
|
||||
eclipse.preferences.version=1
|
||||
Vendored
-6
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"files.associations": {
|
||||
"charger_config.h": "c",
|
||||
"charger_gbt.h": "c"
|
||||
}
|
||||
}
|
||||
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
@@ -9,7 +9,24 @@
|
||||
|
||||
#define PSU_NUM 1
|
||||
|
||||
/* Everest / стенд: запрос «500 В» на шине — реально на PSU задаются U/I ниже; статус может оставаться 500 В (serial.c). */
|
||||
#define FAKE_EVREQ_VOLTAGE_V 500u
|
||||
#define FAKE_PSU_VOLTAGE_V 300u
|
||||
#define FAKE_PSU_CURRENT_0P1A 10u
|
||||
/* Dynamic LV clamp (CS60 hv_limit): active only on overload at low bus voltage. */
|
||||
#define PSU_LV_CLAMP_V 499u
|
||||
#define PSU_HV_LIMIT_ON_THRESHOLD 480u
|
||||
#define PSU_HV_LIMIT_OFF_THRESHOLD 495u
|
||||
#define PSU_HV_SWITCH_DELAY_MS 1000u
|
||||
#define PSU_HV_LOAD_CURRENT 300u /* 30.0 A, MeasuredCurrent is 0.1 A/bit */
|
||||
#define PSU_HV_LIMIT_MAX_COUNT 3u
|
||||
|
||||
/* Fast discharge: PSU off/on cycle on step-down setpoint (unloaded bus). */
|
||||
#define PSD_ENABLE 1u
|
||||
#define PSD_MAX_CMD_CURRENT_0P1A 20u /* 2.0 A */
|
||||
#define PSD_MAX_MEASURED_CURRENT_0P1A 30u /* 3.0 A */
|
||||
#define PSD_MEASURED_LATCH_MS 500u
|
||||
#define PSD_MIN_VOLTAGE_STEP_V 50u
|
||||
#define PSD_DISCHARGE_MARGIN_V 15u
|
||||
#define PSD_DEBOUNCE_MS 2000u
|
||||
#define PSD_MAX_PER_SESSION 4u
|
||||
#define PSD_OFF_TIMEOUT_MS 10000u /* как PSU_WAIT_ACK_OFF */
|
||||
#define PSD_ON_TIMEOUT_MS 10000u
|
||||
#define PSD_ON_RETRY_MS 500u /* повтор SET+ON в ON_WAIT */
|
||||
#define PSD_PRECHARGE_TOLERANCE_V 40u /* ~±10% for 350 V precharge window */
|
||||
|
||||
@@ -68,6 +68,10 @@ typedef struct{
|
||||
uint16_t WantedCurrent; //0.1A/bit
|
||||
CONN_Error_t chargingError; // 0 if okay
|
||||
uint8_t EvConnected;
|
||||
uint32_t ChargingTime; // seconds of active charging in current session
|
||||
uint8_t hv_limit; // Limits PSU voltage to LV range when set
|
||||
uint32_t hv_tick; // Timer for delayed HV limit switching
|
||||
uint8_t hv_limit_count; // Anti-chatter counter for LV limit switching
|
||||
|
||||
} ChargingConnector_t;
|
||||
|
||||
@@ -79,3 +83,4 @@ extern ChargingConnector_t CONN;
|
||||
|
||||
void CONN_Init();
|
||||
void CONN_Loop();
|
||||
void CONN_GetElapsedForMonitoring(uint16_t *min, uint8_t *sec);
|
||||
|
||||
+1
-1
@@ -27,7 +27,7 @@ extern "C" {
|
||||
/* USER CODE BEGIN EC */
|
||||
#define FW_VERSION_MAJOR 1
|
||||
#define FW_VERSION_MINOR 0
|
||||
#define FW_VERSION_PATCH 19
|
||||
#define FW_VERSION_PATCH 31
|
||||
/* USER CODE END EC */
|
||||
|
||||
/* Exported macro ------------------------------------------------------------*/
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include "power_setpoint_policy.h"
|
||||
|
||||
typedef enum {
|
||||
PSD_TRY_IDLE = 0,
|
||||
PSD_TRY_APPLIED_NORMAL,
|
||||
PSD_TRY_START_FAST_DISCHARGE,
|
||||
} PowerSetpointTryResult_t;
|
||||
|
||||
void PowerSetpoint_Init(void);
|
||||
void PowerSetpoint_OnCommand(uint16_t voltage_V, uint16_t current_0p1A);
|
||||
void PowerSetpoint_UpdateDeliveryLatch(void);
|
||||
uint8_t PowerSetpoint_HasPending(void);
|
||||
uint8_t PowerSetpoint_IsBusy(void);
|
||||
PowerSetpointTryResult_t PowerSetpoint_TryApply(void);
|
||||
void PowerSetpoint_GetFastDischargeTarget(PowerSetpoint_t *target);
|
||||
void PowerSetpoint_OnFastDischargeComplete(void);
|
||||
void PowerSetpoint_OnFastDischargeAbort(void);
|
||||
@@ -0,0 +1,35 @@
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include "charger_config.h"
|
||||
|
||||
typedef struct {
|
||||
uint16_t voltage_V;
|
||||
uint16_t current_0p1A;
|
||||
} PowerSetpoint_t;
|
||||
|
||||
typedef enum {
|
||||
POWER_SETPOINT_NORMAL,
|
||||
POWER_SETPOINT_FAST_DISCHARGE,
|
||||
} PowerSetpointAction_t;
|
||||
|
||||
typedef struct {
|
||||
uint8_t dc_contactor_closed;
|
||||
uint8_t psu_hv_enabled;
|
||||
uint16_t measured_voltage_V;
|
||||
uint16_t measured_current_0p1A;
|
||||
uint8_t power_delivery_active;
|
||||
uint8_t enable_output;
|
||||
uint8_t psu_state_connected;
|
||||
uint8_t psu_cont_fault;
|
||||
uint8_t psu_fault;
|
||||
uint8_t fast_discharge_count;
|
||||
uint32_t last_fast_discharge_ms;
|
||||
uint32_t now_ms;
|
||||
} PowerPathContext_t;
|
||||
|
||||
PowerSetpointAction_t PowerSetpoint_Decide(
|
||||
const PowerSetpoint_t *applied,
|
||||
const PowerSetpoint_t *next,
|
||||
const PowerPathContext_t *ctx);
|
||||
@@ -5,6 +5,7 @@
|
||||
|
||||
void PSU_Init();
|
||||
void PSU_Enable(uint8_t addr, uint8_t enable);
|
||||
void PSU_SetVoltageCurrent(uint8_t addr, uint16_t voltage, uint16_t current);
|
||||
void PSU_ReadWrite(void);
|
||||
|
||||
// --- Состояние силового модуля (DC30, один PSU) ---
|
||||
@@ -16,6 +17,11 @@ typedef enum{
|
||||
PSU_WAIT_ACK_ON, // ждём подтверждение включения модуля (напряжение выше порога)
|
||||
PSU_CONT_WAIT_ACK_ON, // включаем DC-контактор и ждём подтверждение
|
||||
PSU_CONNECTED, // модуль включён, DC-контактор замкнут
|
||||
PSU_FAST_DISCHARGE_OFF,
|
||||
PSU_FAST_DISCHARGE_WAIT, /* ждём подтверждение выключения (как PSU_WAIT_ACK_OFF) */
|
||||
PSU_FAST_DISCHARGE_SET, /* задать целевое U/I при выключенном модуле */
|
||||
PSU_FAST_DISCHARGE_ON, /* команда включения после set */
|
||||
PSU_FAST_DISCHARGE_ON_WAIT, /* ждём подтверждение включения (как PSU_WAIT_ACK_ON) */
|
||||
PSU_CURRENT_DROP, // снижение тока перед отключением
|
||||
PSU_WAIT_ACK_OFF, // ждём подтверждение выключения модуля (напряжение ниже порога)
|
||||
PSU_CONT_WAIT_ACK_OFF, // выключаем DC-контактор и ждём подтверждение
|
||||
@@ -78,8 +84,6 @@ typedef struct {
|
||||
|
||||
// Дополнительные параметры для одного модуля DC30
|
||||
uint32_t power_limit; // лимит мощности [кВт]
|
||||
uint8_t hv_mode; // HV-режим (ограничение напряжения)
|
||||
uint32_t hv_tick; // таймер для задержки входа в HV-режим
|
||||
|
||||
uint32_t tempAmbient; // температура окружающего воздуха (из PSU_04)
|
||||
union { uint8_t raw; PSU_Status0_t bits; } status0; // modularForm0
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "main.h"
|
||||
#include "serial_control.h"
|
||||
|
||||
#pragma pack(push, 1)
|
||||
|
||||
@@ -40,6 +41,7 @@ typedef struct{
|
||||
void LED_Task();
|
||||
void LED_Write();
|
||||
void LED_Init();
|
||||
void LED_SetColor(RGB_Cycle_t *color);
|
||||
void LED_SetColor(const RGB_Cycle_t *color);
|
||||
void RGB_SetColor(RGB_t *color);
|
||||
void WS2812_SetColor(RGB_t *color);
|
||||
uint8_t LED_ApplyLightingConfig(const LightingConfigPacket_t *config);
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
|
||||
// Сервисные команды
|
||||
#define CMD_SET_CONFIG 0xB0
|
||||
#define CMD_SET_LIGHTING 0xB1
|
||||
|
||||
// Перезагрузка для входа в бутлоадер
|
||||
#define CMD_DEVICE_RESET 0xB5
|
||||
@@ -147,6 +148,27 @@ typedef struct __attribute__((packed)) {
|
||||
|
||||
} ConfigBlock_t;
|
||||
|
||||
typedef struct __attribute__((packed)) {
|
||||
uint8_t r;
|
||||
uint8_t g;
|
||||
uint8_t b;
|
||||
uint8_t brightness;
|
||||
uint8_t effect;
|
||||
uint8_t speed;
|
||||
uint8_t fadeTo;
|
||||
} LightingRolePacket_t;
|
||||
|
||||
typedef struct __attribute__((packed)) {
|
||||
uint8_t mode;
|
||||
uint8_t flags;
|
||||
uint8_t previewSec;
|
||||
uint8_t reserved;
|
||||
LightingRolePacket_t roles[5];
|
||||
} LightingConfigPacket_t;
|
||||
|
||||
_Static_assert(sizeof(LightingRolePacket_t) == 7, "Lighting role packet must be 7 bytes");
|
||||
_Static_assert(sizeof(LightingConfigPacket_t) == 39, "Lighting config packet must be 39 bytes");
|
||||
|
||||
// Предварительное объявление структуры протокола
|
||||
typedef struct SerialControl_t SerialControl_t;
|
||||
|
||||
|
||||
Vendored
BIN
Binary file not shown.
@@ -13,10 +13,15 @@ void CONN_Init(){
|
||||
CONN.connControl = CMD_NONE;
|
||||
CONN.connState = Unknown;
|
||||
CONN.RequestedVoltage = PSU_MIN_VOLTAGE;
|
||||
CONN.ChargingTime = 0;
|
||||
CONN.hv_limit = 0u;
|
||||
CONN.hv_tick = 0u;
|
||||
CONN.hv_limit_count = 0u;
|
||||
|
||||
}
|
||||
|
||||
void CONN_Loop(){
|
||||
static uint32_t charging_time_tick = 0;
|
||||
static CONN_State_t last_connState = Unknown;
|
||||
if(last_connState != CONN.connState){
|
||||
last_connState = CONN.connState;
|
||||
@@ -37,6 +42,25 @@ void CONN_Loop(){
|
||||
log_printf(LOG_WARN, "CONN0 Error: %d\n", (int)CONN.chargingError);
|
||||
}
|
||||
|
||||
if (HAL_GetTick() - charging_time_tick >= 1000U) {
|
||||
charging_time_tick += 1000U;
|
||||
if (CONN.connState == Charging) {
|
||||
CONN.ChargingTime++;
|
||||
}
|
||||
if (CONN.connState == Unplugged) {
|
||||
CONN.ChargingTime = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void CONN_GetElapsedForMonitoring(uint16_t *min, uint8_t *sec) {
|
||||
uint32_t elapsed_sec = CONN.ChargingTime;
|
||||
if (min != NULL) {
|
||||
*min = (uint16_t)(elapsed_sec / 60U);
|
||||
}
|
||||
if (sec != NULL) {
|
||||
*sec = (uint8_t)(elapsed_sec % 60U);
|
||||
}
|
||||
}
|
||||
|
||||
void CONN_SetState(CONN_State_t state){
|
||||
|
||||
+1
-1
@@ -105,7 +105,7 @@ void debug_buffer_send(void)
|
||||
__enable_irq();
|
||||
}
|
||||
|
||||
#define LOG_BUFFER_SIZE 128
|
||||
#define LOG_BUFFER_SIZE 256
|
||||
uint8_t log_buffer[LOG_BUFFER_SIZE];
|
||||
|
||||
// Кастомный printf с приоритетом лога
|
||||
|
||||
@@ -0,0 +1,196 @@
|
||||
#include "power_setpoint_executor.h"
|
||||
|
||||
#include "charger_config.h"
|
||||
#include "charger_control.h"
|
||||
#include "debug.h"
|
||||
#include "psu_control.h"
|
||||
#include "serial.h"
|
||||
|
||||
static PowerSetpoint_t applied;
|
||||
static PowerSetpoint_t pending;
|
||||
static PowerSetpoint_t fd_target;
|
||||
static uint8_t setpoint_dirty;
|
||||
static uint8_t fd_active;
|
||||
static uint8_t power_delivery_latched;
|
||||
static uint8_t fast_discharge_count;
|
||||
static uint32_t last_fast_discharge_ms;
|
||||
static uint32_t measured_high_current_since_ms;
|
||||
|
||||
static uint8_t session_ended_state(CONN_State_t state)
|
||||
{
|
||||
return (state == Unknown) || (state == Unplugged) || (state == Finished) ||
|
||||
(state == FinishedEV) || (state == FinishedEVSE);
|
||||
}
|
||||
|
||||
void PowerSetpoint_Init(void)
|
||||
{
|
||||
applied.voltage_V = PSU_MIN_VOLTAGE;
|
||||
applied.current_0p1A = 0u;
|
||||
pending = applied;
|
||||
fd_target = applied;
|
||||
setpoint_dirty = 0u;
|
||||
fd_active = 0u;
|
||||
power_delivery_latched = 0u;
|
||||
fast_discharge_count = 0u;
|
||||
last_fast_discharge_ms = 0u;
|
||||
measured_high_current_since_ms = 0u;
|
||||
}
|
||||
|
||||
void PowerSetpoint_OnCommand(uint16_t voltage_V, uint16_t current_0p1A)
|
||||
{
|
||||
#if PSD_ENABLE
|
||||
pending.voltage_V = voltage_V;
|
||||
pending.current_0p1A = current_0p1A;
|
||||
setpoint_dirty = 1u;
|
||||
#else
|
||||
(void)voltage_V;
|
||||
(void)current_0p1A;
|
||||
#endif
|
||||
}
|
||||
|
||||
void PowerSetpoint_UpdateDeliveryLatch(void)
|
||||
{
|
||||
#if PSD_ENABLE
|
||||
uint32_t now = HAL_GetTick();
|
||||
|
||||
if (!CONN.EnableOutput || !CONN.EvConnected || session_ended_state(CCS_EvseState)) {
|
||||
power_delivery_latched = 0u;
|
||||
fast_discharge_count = 0u;
|
||||
last_fast_discharge_ms = 0u;
|
||||
measured_high_current_since_ms = 0u;
|
||||
return;
|
||||
}
|
||||
|
||||
if (CONN.WantedCurrent > PSD_MAX_CMD_CURRENT_0P1A) {
|
||||
power_delivery_latched = 1u;
|
||||
}
|
||||
|
||||
if (CCS_EvseState == Charging) {
|
||||
power_delivery_latched = 1u;
|
||||
}
|
||||
|
||||
if (CONN.MeasuredCurrent >= PSD_MAX_MEASURED_CURRENT_0P1A) {
|
||||
if (measured_high_current_since_ms == 0u) {
|
||||
measured_high_current_since_ms = now;
|
||||
} else if ((now - measured_high_current_since_ms) >= PSD_MEASURED_LATCH_MS) {
|
||||
power_delivery_latched = 1u;
|
||||
}
|
||||
} else {
|
||||
measured_high_current_since_ms = 0u;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
uint8_t PowerSetpoint_HasPending(void)
|
||||
{
|
||||
#if PSD_ENABLE
|
||||
return setpoint_dirty;
|
||||
#else
|
||||
return 0u;
|
||||
#endif
|
||||
}
|
||||
|
||||
uint8_t PowerSetpoint_IsBusy(void)
|
||||
{
|
||||
#if PSD_ENABLE
|
||||
if (!fd_active) {
|
||||
return 0u;
|
||||
}
|
||||
switch (PSU0.state) {
|
||||
case PSU_FAST_DISCHARGE_OFF:
|
||||
case PSU_FAST_DISCHARGE_WAIT:
|
||||
case PSU_FAST_DISCHARGE_SET:
|
||||
case PSU_FAST_DISCHARGE_ON:
|
||||
case PSU_FAST_DISCHARGE_ON_WAIT:
|
||||
return 1u;
|
||||
default:
|
||||
return 0u;
|
||||
}
|
||||
#else
|
||||
return 0u;
|
||||
#endif
|
||||
}
|
||||
|
||||
static PowerPathContext_t build_context(void)
|
||||
{
|
||||
PowerPathContext_t ctx;
|
||||
|
||||
ctx.dc_contactor_closed = PSU0.CONT_enabled;
|
||||
ctx.psu_hv_enabled = PSU0.PSU_enabled;
|
||||
ctx.measured_voltage_V = CONN.MeasuredVoltage;
|
||||
ctx.measured_current_0p1A = (uint16_t)CONN.MeasuredCurrent;
|
||||
ctx.power_delivery_active = power_delivery_latched;
|
||||
ctx.enable_output = CONN.EnableOutput;
|
||||
ctx.psu_state_connected = (PSU0.state == PSU_CONNECTED) ? 1u : 0u;
|
||||
ctx.psu_cont_fault = PSU0.cont_fault;
|
||||
ctx.psu_fault = PSU0.psu_fault;
|
||||
ctx.fast_discharge_count = fast_discharge_count;
|
||||
ctx.last_fast_discharge_ms = last_fast_discharge_ms;
|
||||
ctx.now_ms = HAL_GetTick();
|
||||
return ctx;
|
||||
}
|
||||
|
||||
PowerSetpointTryResult_t PowerSetpoint_TryApply(void)
|
||||
{
|
||||
#if PSD_ENABLE
|
||||
PowerPathContext_t ctx;
|
||||
PowerSetpointAction_t action;
|
||||
|
||||
if (!setpoint_dirty || fd_active) {
|
||||
return PSD_TRY_IDLE;
|
||||
}
|
||||
|
||||
ctx = build_context();
|
||||
action = PowerSetpoint_Decide(&applied, &pending, &ctx);
|
||||
|
||||
if (action == POWER_SETPOINT_FAST_DISCHARGE) {
|
||||
fd_target = pending;
|
||||
fd_active = 1u;
|
||||
setpoint_dirty = 0u;
|
||||
log_printf(LOG_INFO, "Fast discharge trigger %u->%u I=%u\n",
|
||||
(unsigned)applied.voltage_V,
|
||||
(unsigned)fd_target.voltage_V,
|
||||
(unsigned)fd_target.current_0p1A);
|
||||
return PSD_TRY_START_FAST_DISCHARGE;
|
||||
}
|
||||
|
||||
if (!PSU0.ready) {
|
||||
return PSD_TRY_IDLE;
|
||||
}
|
||||
|
||||
PSU_SetVoltageCurrent(0, pending.voltage_V, pending.current_0p1A);
|
||||
applied = pending;
|
||||
setpoint_dirty = 0u;
|
||||
return PSD_TRY_APPLIED_NORMAL;
|
||||
#else
|
||||
return PSD_TRY_IDLE;
|
||||
#endif
|
||||
}
|
||||
|
||||
void PowerSetpoint_GetFastDischargeTarget(PowerSetpoint_t *target)
|
||||
{
|
||||
if (target != 0) {
|
||||
*target = fd_target;
|
||||
}
|
||||
}
|
||||
|
||||
void PowerSetpoint_OnFastDischargeComplete(void)
|
||||
{
|
||||
#if PSD_ENABLE
|
||||
applied = fd_target;
|
||||
fd_active = 0u;
|
||||
fast_discharge_count++;
|
||||
last_fast_discharge_ms = HAL_GetTick();
|
||||
log_printf(LOG_INFO, "Fast discharge complete, V=%u\n", (unsigned)CONN.MeasuredVoltage);
|
||||
#endif
|
||||
}
|
||||
|
||||
void PowerSetpoint_OnFastDischargeAbort(void)
|
||||
{
|
||||
#if PSD_ENABLE
|
||||
fd_active = 0u;
|
||||
pending = fd_target;
|
||||
setpoint_dirty = 1u;
|
||||
log_printf(LOG_WARN, "Fast discharge aborted, V=%u\n", (unsigned)CONN.MeasuredVoltage);
|
||||
#endif
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
#include "power_setpoint_policy.h"
|
||||
|
||||
PowerSetpointAction_t PowerSetpoint_Decide(
|
||||
const PowerSetpoint_t *applied,
|
||||
const PowerSetpoint_t *next,
|
||||
const PowerPathContext_t *ctx)
|
||||
{
|
||||
#if !PSD_ENABLE
|
||||
(void)applied;
|
||||
(void)next;
|
||||
(void)ctx;
|
||||
return POWER_SETPOINT_NORMAL;
|
||||
#else
|
||||
uint16_t delta_v;
|
||||
|
||||
if (applied == 0 || next == 0 || ctx == 0) {
|
||||
return POWER_SETPOINT_NORMAL;
|
||||
}
|
||||
|
||||
if (next->voltage_V >= applied->voltage_V) {
|
||||
return POWER_SETPOINT_NORMAL;
|
||||
}
|
||||
|
||||
delta_v = (uint16_t)(applied->voltage_V - next->voltage_V);
|
||||
if (delta_v < PSD_MIN_VOLTAGE_STEP_V) {
|
||||
return POWER_SETPOINT_NORMAL;
|
||||
}
|
||||
|
||||
if (applied->current_0p1A > PSD_MAX_CMD_CURRENT_0P1A ||
|
||||
next->current_0p1A > PSD_MAX_CMD_CURRENT_0P1A) {
|
||||
return POWER_SETPOINT_NORMAL;
|
||||
}
|
||||
|
||||
if (ctx->measured_current_0p1A >= PSD_MAX_MEASURED_CURRENT_0P1A) {
|
||||
return POWER_SETPOINT_NORMAL;
|
||||
}
|
||||
|
||||
if (ctx->measured_voltage_V <= (uint16_t)(next->voltage_V + PSD_DISCHARGE_MARGIN_V)) {
|
||||
return POWER_SETPOINT_NORMAL;
|
||||
}
|
||||
|
||||
if (ctx->power_delivery_active) {
|
||||
return POWER_SETPOINT_NORMAL;
|
||||
}
|
||||
|
||||
if (!ctx->enable_output) {
|
||||
return POWER_SETPOINT_NORMAL;
|
||||
}
|
||||
|
||||
if (!ctx->psu_state_connected) {
|
||||
return POWER_SETPOINT_NORMAL;
|
||||
}
|
||||
|
||||
if (!ctx->dc_contactor_closed) {
|
||||
return POWER_SETPOINT_NORMAL;
|
||||
}
|
||||
|
||||
if (!ctx->psu_hv_enabled) {
|
||||
return POWER_SETPOINT_NORMAL;
|
||||
}
|
||||
|
||||
if (ctx->psu_cont_fault || ctx->psu_fault) {
|
||||
return POWER_SETPOINT_NORMAL;
|
||||
}
|
||||
|
||||
if (ctx->fast_discharge_count >= PSD_MAX_PER_SESSION) {
|
||||
return POWER_SETPOINT_NORMAL;
|
||||
}
|
||||
|
||||
if (ctx->last_fast_discharge_ms != 0u &&
|
||||
(ctx->now_ms - ctx->last_fast_discharge_ms) < PSD_DEBOUNCE_MS) {
|
||||
return POWER_SETPOINT_NORMAL;
|
||||
}
|
||||
|
||||
return POWER_SETPOINT_FAST_DISCHARGE;
|
||||
#endif
|
||||
}
|
||||
+493
-24
@@ -6,6 +6,7 @@
|
||||
#include "charger_control.h"
|
||||
#include "debug.h"
|
||||
#include "isr_opt.h"
|
||||
#include "power_setpoint_executor.h"
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
@@ -25,14 +26,344 @@ PSU_t PSU0;
|
||||
#define PSU_VOLTAGE_THRESHOLD 20 // Порог напряжения для определения состояния (В)
|
||||
#define PSU_ONLINE_TIMEOUT 500 // Таймаут для определения состояния (мс)
|
||||
#define PSU_STARTUP_DELAY 4000 // Задержка 2 секунды перед включением
|
||||
#define PSU_DIAG_LOG_MS 2000u
|
||||
#define PSU_SUDDEN_OFF_DEBOUNCE_MS 200u
|
||||
|
||||
uint32_t can_lastpacket;
|
||||
|
||||
extern CAN_HandleTypeDef hcan2;
|
||||
|
||||
static uint16_t psu_last_can_v;
|
||||
static uint16_t psu_last_can_i_0p1A;
|
||||
static uint8_t psu_last_good_s0;
|
||||
static uint8_t psu_last_good_s1;
|
||||
static uint8_t psu_last_good_s2;
|
||||
|
||||
static void PSU_SendCmd(uint8_t source, uint8_t destination, uint8_t cmd, void *data);
|
||||
static void PSU_LogActiveStatusFlags(LogLevel_t level);
|
||||
static void PSU_MonitorStatusAndUnexpectedOff(void);
|
||||
|
||||
static const char *PSU_StateName(PSU_State_t state)
|
||||
{
|
||||
switch (state) {
|
||||
case PSU_UNREADY: return "UNREADY";
|
||||
case PSU_INITIALIZING: return "INIT";
|
||||
case PSU_READY: return "READY";
|
||||
case PSU_WAIT_ACK_ON: return "WAIT_ON";
|
||||
case PSU_CONT_WAIT_ACK_ON: return "CONT_ON";
|
||||
case PSU_CONNECTED: return "CONNECTED";
|
||||
case PSU_FAST_DISCHARGE_OFF: return "FD_OFF";
|
||||
case PSU_FAST_DISCHARGE_WAIT: return "FD_WAIT";
|
||||
case PSU_FAST_DISCHARGE_SET: return "FD_SET";
|
||||
case PSU_FAST_DISCHARGE_ON: return "FD_ON";
|
||||
case PSU_FAST_DISCHARGE_ON_WAIT: return "FD_ON_WAIT";
|
||||
case PSU_CURRENT_DROP: return "CUR_DROP";
|
||||
case PSU_CONT_WAIT_ACK_OFF: return "CONT_OFF";
|
||||
case PSU_WAIT_ACK_OFF: return "WAIT_OFF";
|
||||
case PSU_OFF_PAUSE: return "OFF_PAUSE";
|
||||
default: return "?";
|
||||
}
|
||||
}
|
||||
|
||||
static void PSU_LogPeriodicDiag(void)
|
||||
{
|
||||
static uint32_t last_log_ms;
|
||||
uint32_t now = HAL_GetTick();
|
||||
uint8_t block_setpoint;
|
||||
|
||||
/* Periodic PSU telemetry only while session is in Charging. */
|
||||
if (CONN.connState != Charging) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ((now - last_log_ms) < PSU_DIAG_LOG_MS) {
|
||||
return;
|
||||
}
|
||||
last_log_ms = now;
|
||||
|
||||
#if PSD_ENABLE
|
||||
block_setpoint = PowerSetpoint_HasPending() || PowerSetpoint_IsBusy();
|
||||
#else
|
||||
block_setpoint = 0u;
|
||||
#endif
|
||||
|
||||
log_printf(LOG_INFO,
|
||||
"PSU diag st=%s req=%uV/%u.%uA want=%uV/%u.%uA "
|
||||
"can=%uV/%u.%uA meas=%uV/%d.%uA "
|
||||
"enOut=%u out=%u rdy=%u on=%u cont=%u ac=%u hv=%u psd_blk=%u "
|
||||
"err=%u s0=0x%02x s1=0x%02x s2=0x%02x can_age=%lums\n",
|
||||
PSU_StateName(PSU0.state),
|
||||
(unsigned)CONN.RequestedVoltage,
|
||||
(unsigned)(CONN.RequestedCurrent / 10u),
|
||||
(unsigned)(CONN.RequestedCurrent % 10u),
|
||||
(unsigned)CONN.RequestedVoltage,
|
||||
(unsigned)(CONN.WantedCurrent / 10u),
|
||||
(unsigned)(CONN.WantedCurrent % 10u),
|
||||
(unsigned)psu_last_can_v,
|
||||
(unsigned)(psu_last_can_i_0p1A / 10u),
|
||||
(unsigned)(psu_last_can_i_0p1A % 10u),
|
||||
(unsigned)CONN.MeasuredVoltage,
|
||||
(int)(CONN.MeasuredCurrent / 10),
|
||||
(unsigned)(((CONN.MeasuredCurrent < 0) ?
|
||||
-CONN.MeasuredCurrent : CONN.MeasuredCurrent) % 10),
|
||||
(unsigned)CONN.EnableOutput,
|
||||
(unsigned)CONN.outputEnabled,
|
||||
(unsigned)PSU0.ready,
|
||||
(unsigned)PSU0.PSU_enabled,
|
||||
(unsigned)PSU0.CONT_enabled,
|
||||
(unsigned)PSU0.enableAC,
|
||||
(unsigned)CONN.hv_limit,
|
||||
(unsigned)block_setpoint,
|
||||
(unsigned)CONN.chargingError,
|
||||
(unsigned)PSU0.status0.raw,
|
||||
(unsigned)PSU0.status1.raw,
|
||||
(unsigned)PSU0.status2.raw,
|
||||
(unsigned long)(can_lastpacket ? (now - can_lastpacket) : 9999u));
|
||||
}
|
||||
|
||||
static void PSU_LogActiveStatusFlags(LogLevel_t level)
|
||||
{
|
||||
PSU_Status0_t s0 = PSU0.status0.bits;
|
||||
PSU_Status1_t s1 = PSU0.status1.bits;
|
||||
PSU_Status2_t s2 = PSU0.status2.bits;
|
||||
|
||||
log_printf(level,
|
||||
"PSU flags%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s\n",
|
||||
s0.shortCircuitFault ? " sc" : "",
|
||||
s0.unevenFlowAlarm ? " uneven" : "",
|
||||
s0.internalCommunicationFault ? " int_comm" : "",
|
||||
s0.inputBusLineFault ? " in_bus" : "",
|
||||
s0.lockProtection ? " lock" : "",
|
||||
s0.dischargeFault ? " disch" : "",
|
||||
s0.eepromFault ? " eeprom" : "",
|
||||
s1.dcSideOffStatus ? " dc_off" : "",
|
||||
s1.moduleFaultAlarm ? " fault" : "",
|
||||
s1.moduleProtectionAlarm ? " prot" : "",
|
||||
s1.fanFaultAlarm ? " fan" : "",
|
||||
s1.overTempAlarm ? " ot" : "",
|
||||
s1.outputOverVoltageAlarm ? " oov" : "",
|
||||
s1.outputOverCurrentAlarm ? " ooc" : "",
|
||||
s1.canCommunicationInterruptAlarm ? " can_int" : "",
|
||||
s2.powerLimitStatus ? " plim" : "",
|
||||
s2.moduleAddressDuplicate ? " addr_dup" : "",
|
||||
s2.severeUnevenFlowFault ? " uneven_hi" : "",
|
||||
s2.threePhaseInputPhaseLossAlarm ? " ph_loss" : "",
|
||||
s2.threePhaseInputUnbalanceAlarm ? " unbal" : "",
|
||||
s2.inputUnderVoltageAlarm ? " uv" : "",
|
||||
s2.inputOverVoltageAlarm ? " ov" : "",
|
||||
s2.pfcSideOffStatus ? " pfc_off" : "");
|
||||
}
|
||||
|
||||
/*
|
||||
* Observability only: does not change PSU/contactor state machine.
|
||||
* Armed only in CONN Charging phase:
|
||||
* - status bit edges while output is requested
|
||||
* - PSU_enabled 1->0 while CONNECTED + EnableOutput (sudden disable)
|
||||
*
|
||||
* Note: PSU_enabled is derived from V >= PSU_VOLTAGE_THRESHOLD, not from
|
||||
* the module enable command bit.
|
||||
*/
|
||||
static void PSU_MonitorStatusAndUnexpectedOff(void)
|
||||
{
|
||||
static uint8_t prev_s0;
|
||||
static uint8_t prev_s1;
|
||||
static uint8_t prev_s2;
|
||||
static uint8_t prev_enabled;
|
||||
static uint8_t inited;
|
||||
static uint8_t sudden_latched;
|
||||
static uint32_t sudden_cand_ms;
|
||||
|
||||
uint32_t now = HAL_GetTick();
|
||||
uint8_t in_charging;
|
||||
uint8_t watch_status;
|
||||
uint8_t expect_on;
|
||||
|
||||
in_charging = (CONN.connState == Charging);
|
||||
watch_status = in_charging && (CONN.EnableOutput != 0) && (PSU0.online != 0) &&
|
||||
((PSU0.state == PSU_CONNECTED) ||
|
||||
(PSU0.state == PSU_WAIT_ACK_ON) ||
|
||||
(PSU0.state == PSU_CONT_WAIT_ACK_ON));
|
||||
|
||||
expect_on = in_charging && (CONN.EnableOutput != 0) && (PSU0.state == PSU_CONNECTED);
|
||||
|
||||
if (!inited) {
|
||||
prev_s0 = PSU0.status0.raw;
|
||||
prev_s1 = PSU0.status1.raw;
|
||||
prev_s2 = PSU0.status2.raw;
|
||||
prev_enabled = PSU0.PSU_enabled;
|
||||
inited = 1u;
|
||||
return;
|
||||
}
|
||||
|
||||
if (watch_status) {
|
||||
if ((PSU0.status0.raw != prev_s0) ||
|
||||
(PSU0.status1.raw != prev_s1) ||
|
||||
(PSU0.status2.raw != prev_s2)) {
|
||||
log_printf(LOG_WARN,
|
||||
"PSU status change s0=0x%02x->0x%02x s1=0x%02x->0x%02x s2=0x%02x->0x%02x\n",
|
||||
(unsigned)prev_s0, (unsigned)PSU0.status0.raw,
|
||||
(unsigned)prev_s1, (unsigned)PSU0.status1.raw,
|
||||
(unsigned)prev_s2, (unsigned)PSU0.status2.raw);
|
||||
PSU_LogActiveStatusFlags(LOG_WARN);
|
||||
}
|
||||
}
|
||||
|
||||
prev_s0 = PSU0.status0.raw;
|
||||
prev_s1 = PSU0.status1.raw;
|
||||
prev_s2 = PSU0.status2.raw;
|
||||
|
||||
if (!expect_on) {
|
||||
sudden_cand_ms = 0u;
|
||||
if ((CONN.EnableOutput == 0) ||
|
||||
(CONN.connState != Charging) ||
|
||||
(PSU0.state == PSU_READY) ||
|
||||
(PSU0.state == PSU_UNREADY) ||
|
||||
(PSU0.state == PSU_OFF_PAUSE) ||
|
||||
(PSU0.state == PSU_WAIT_ACK_OFF) ||
|
||||
(PSU0.state == PSU_CONT_WAIT_ACK_OFF) ||
|
||||
(PSU0.state == PSU_CURRENT_DROP)) {
|
||||
sudden_latched = 0u;
|
||||
}
|
||||
prev_enabled = PSU0.PSU_enabled;
|
||||
return;
|
||||
}
|
||||
|
||||
if (PSU0.PSU_enabled) {
|
||||
sudden_cand_ms = 0u;
|
||||
sudden_latched = 0u;
|
||||
prev_enabled = 1u;
|
||||
return;
|
||||
}
|
||||
|
||||
if (sudden_latched) {
|
||||
prev_enabled = 0u;
|
||||
return;
|
||||
}
|
||||
|
||||
if (!prev_enabled) {
|
||||
sudden_cand_ms = 0u;
|
||||
return;
|
||||
}
|
||||
|
||||
/* Falling edge of PSU_enabled while still CONNECTED + EnableOutput + Charging */
|
||||
if (!PSU0.online) {
|
||||
log_printf(LOG_ERR,
|
||||
"PSU suddenly disabled while charging reason=can_lost "
|
||||
"V=%u I=%d cont=%u s0=0x%02x s1=0x%02x s2=0x%02x can_age=%lums\n",
|
||||
(unsigned)PSU0.outputVoltage,
|
||||
(int)PSU0.outputCurrent,
|
||||
(unsigned)PSU0.CONT_enabled,
|
||||
(unsigned)psu_last_good_s0,
|
||||
(unsigned)psu_last_good_s1,
|
||||
(unsigned)psu_last_good_s2,
|
||||
(unsigned long)(can_lastpacket ? (now - can_lastpacket) : 9999u));
|
||||
PSU_LogActiveStatusFlags(LOG_ERR);
|
||||
sudden_latched = 1u;
|
||||
sudden_cand_ms = 0u;
|
||||
prev_enabled = 0u;
|
||||
return;
|
||||
}
|
||||
|
||||
if (sudden_cand_ms == 0u) {
|
||||
sudden_cand_ms = now;
|
||||
return;
|
||||
}
|
||||
|
||||
if ((now - sudden_cand_ms) < PSU_SUDDEN_OFF_DEBOUNCE_MS) {
|
||||
return;
|
||||
}
|
||||
|
||||
log_printf(LOG_ERR,
|
||||
"PSU suddenly disabled while charging reason=output_lost "
|
||||
"V=%u I=%d cont=%u s0=0x%02x s1=0x%02x s2=0x%02x can_age=%lums\n",
|
||||
(unsigned)PSU0.outputVoltage,
|
||||
(int)PSU0.outputCurrent,
|
||||
(unsigned)PSU0.CONT_enabled,
|
||||
(unsigned)PSU0.status0.raw,
|
||||
(unsigned)PSU0.status1.raw,
|
||||
(unsigned)PSU0.status2.raw,
|
||||
(unsigned long)(can_lastpacket ? (now - can_lastpacket) : 9999u));
|
||||
PSU_LogActiveStatusFlags(LOG_ERR);
|
||||
sudden_latched = 1u;
|
||||
sudden_cand_ms = 0u;
|
||||
prev_enabled = 0u;
|
||||
}
|
||||
|
||||
static void PSU_HvControl(void)
|
||||
{
|
||||
if (CONN.EnableOutput == 0u) {
|
||||
if ((CONN.hv_limit != 0u) || (CONN.hv_limit_count != 0u)) {
|
||||
log_printf(LOG_INFO, "HV limit reset output off\n");
|
||||
}
|
||||
CONN.hv_limit = 0u;
|
||||
CONN.hv_tick = 0u;
|
||||
CONN.hv_limit_count = 0u;
|
||||
return;
|
||||
}
|
||||
|
||||
if (!PSU0.online) {
|
||||
if ((CONN.hv_limit != 0u) || (CONN.hv_limit_count != 0u)) {
|
||||
log_printf(LOG_INFO, "HV limit reset no PSU\n");
|
||||
}
|
||||
CONN.hv_limit = 0u;
|
||||
CONN.hv_tick = 0u;
|
||||
CONN.hv_limit_count = 0u;
|
||||
return;
|
||||
}
|
||||
|
||||
if (CONN.hv_limit == 0u) {
|
||||
if ((CONN.hv_limit_count < PSU_HV_LIMIT_MAX_COUNT) &&
|
||||
(CONN.MeasuredVoltage < PSU_HV_LIMIT_ON_THRESHOLD) &&
|
||||
(CONN.MeasuredCurrent > PSU_HV_LOAD_CURRENT)) {
|
||||
if (CONN.hv_tick == 0u) {
|
||||
CONN.hv_tick = HAL_GetTick();
|
||||
} else if ((HAL_GetTick() - CONN.hv_tick) >= PSU_HV_SWITCH_DELAY_MS) {
|
||||
CONN.hv_limit = 1u;
|
||||
CONN.hv_limit_count++;
|
||||
CONN.hv_tick = 0u;
|
||||
log_printf(LOG_WARN, "HV limit ON V=%d I=%d cnt=%d\n",
|
||||
(int)CONN.MeasuredVoltage,
|
||||
(int)CONN.MeasuredCurrent,
|
||||
(int)CONN.hv_limit_count);
|
||||
if (CONN.hv_limit_count >= PSU_HV_LIMIT_MAX_COUNT) {
|
||||
log_printf(LOG_WARN, "HV limit locked cnt=%d\n",
|
||||
(int)CONN.hv_limit_count);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
CONN.hv_tick = 0u;
|
||||
}
|
||||
} else {
|
||||
if ((CONN.MeasuredVoltage > PSU_HV_LIMIT_OFF_THRESHOLD) ||
|
||||
(CONN.MeasuredCurrent <= PSU_HV_LOAD_CURRENT)) {
|
||||
if (CONN.hv_tick == 0u) {
|
||||
CONN.hv_tick = HAL_GetTick();
|
||||
} else if ((HAL_GetTick() - CONN.hv_tick) >= PSU_HV_SWITCH_DELAY_MS) {
|
||||
CONN.hv_limit = 0u;
|
||||
CONN.hv_tick = 0u;
|
||||
log_printf(LOG_INFO, "HV limit OFF V=%d I=%d cnt=%d\n",
|
||||
(int)CONN.MeasuredVoltage,
|
||||
(int)CONN.MeasuredCurrent,
|
||||
(int)CONN.hv_limit_count);
|
||||
}
|
||||
} else {
|
||||
CONN.hv_tick = 0u;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void PSU_SwitchState(PSU_State_t state){
|
||||
if (PSU0.state != state) {
|
||||
log_printf(LOG_INFO,
|
||||
"PSU st %s->%s enOut=%u rdy=%u on=%u cont=%u err=%u\n",
|
||||
PSU_StateName(PSU0.state),
|
||||
PSU_StateName(state),
|
||||
(unsigned)CONN.EnableOutput,
|
||||
(unsigned)PSU0.ready,
|
||||
(unsigned)PSU0.PSU_enabled,
|
||||
(unsigned)PSU0.CONT_enabled,
|
||||
(unsigned)CONN.chargingError);
|
||||
}
|
||||
PSU0.state = state;
|
||||
PSU0.statetick = HAL_GetTick();
|
||||
}
|
||||
@@ -41,6 +372,24 @@ static uint32_t PSU_StateTime(void){
|
||||
return HAL_GetTick() - PSU0.statetick;
|
||||
}
|
||||
|
||||
static void PSU_FastDischarge_PushTarget(void)
|
||||
{
|
||||
PowerSetpoint_t fd_sp;
|
||||
|
||||
PowerSetpoint_GetFastDischargeTarget(&fd_sp);
|
||||
PSU_SetVoltageCurrent(0, fd_sp.voltage_V, fd_sp.current_0p1A);
|
||||
PSU_Enable(0, 1);
|
||||
}
|
||||
|
||||
static void PSU_FastDischarge_AbortToConnected(void)
|
||||
{
|
||||
PowerSetpoint_OnFastDischargeAbort();
|
||||
if (!PSU0.PSU_enabled) {
|
||||
PSU_FastDischarge_PushTarget();
|
||||
}
|
||||
PSU_SwitchState(PSU_CONNECTED);
|
||||
}
|
||||
|
||||
ISR_FAST void HAL_CAN_RxFifo1MsgPendingCallback(CAN_HandleTypeDef *hcan){
|
||||
|
||||
static CAN_RxHeaderTypeDef RxHeader;
|
||||
@@ -65,6 +414,9 @@ ISR_FAST void HAL_CAN_RxFifo1MsgPendingCallback(CAN_HandleTypeDef *hcan){
|
||||
PSU0.status0.raw = PSU_04.modularForm0;
|
||||
PSU0.status1.raw = PSU_04.modularForm1;
|
||||
PSU0.status2.raw = PSU_04.modularForm2;
|
||||
psu_last_good_s0 = PSU0.status0.raw;
|
||||
psu_last_good_s1 = PSU0.status1.raw;
|
||||
psu_last_good_s2 = PSU0.status2.raw;
|
||||
}
|
||||
if(CanId.command==0x06){
|
||||
memcpy(&PSU_06, RxData, 8);
|
||||
@@ -150,10 +502,9 @@ void PSU_Init(){
|
||||
PSU0.statetick = HAL_GetTick();
|
||||
|
||||
PSU0.power_limit = PSU_MAX_POWER; // kW
|
||||
PSU0.hv_mode = 0;
|
||||
PSU0.hv_tick = 0;
|
||||
|
||||
PSU_Enable(0, 0);
|
||||
PowerSetpoint_Init();
|
||||
}
|
||||
|
||||
void PSU_Enable(uint8_t addr, uint8_t enable){
|
||||
@@ -183,7 +534,9 @@ void PSU_SetVoltageCurrent(uint8_t addr, uint16_t voltage, uint16_t current){
|
||||
|
||||
if(voltage<PSU_MIN_VOLTAGE) voltage = PSU_MIN_VOLTAGE;
|
||||
|
||||
if((PSU0.hv_mode==0) && voltage>499) voltage = 499;
|
||||
if((CONN.hv_limit != 0u) && (voltage > PSU_LV_CLAMP_V)){
|
||||
voltage = PSU_LV_CLAMP_V;
|
||||
}
|
||||
|
||||
uint32_t current_ma = current * 100;
|
||||
uint32_t voltage_mv = voltage * 1000;
|
||||
@@ -198,6 +551,8 @@ void PSU_SetVoltageCurrent(uint8_t addr, uint16_t voltage, uint16_t current){
|
||||
data.moduleVoltage[2] = (voltage_mv >> 8) & 0xFF;
|
||||
data.moduleVoltage[3] = (voltage_mv >> 0) & 0xFF;
|
||||
|
||||
psu_last_can_v = voltage;
|
||||
psu_last_can_i_0p1A = current;
|
||||
PSU_SendCmd(0xF0, addr, 0x1C, &data);
|
||||
|
||||
}
|
||||
@@ -258,35 +613,50 @@ void PSU_ReadWrite(){
|
||||
}
|
||||
CONN.RequestedPower = CONN.RequestedCurrent * CONN.RequestedVoltage / 10;
|
||||
|
||||
if(PSU0.ready){
|
||||
if (CONN.RequestedVoltage == FAKE_EVREQ_VOLTAGE_V) {
|
||||
PSU_SetVoltageCurrent(0, (uint16_t)FAKE_PSU_VOLTAGE_V, (uint16_t)FAKE_PSU_CURRENT_0P1A);
|
||||
}else{
|
||||
PSU_SetVoltageCurrent(0, CONN.RequestedVoltage, CONN.RequestedCurrent); // Normal mode
|
||||
}
|
||||
ED_Delay(CAN_DELAY);
|
||||
if(CONN.MeasuredVoltage > 490){
|
||||
if(PSU0.hv_tick == 0){
|
||||
PSU0.hv_tick = HAL_GetTick();
|
||||
}else if((HAL_GetTick() - PSU0.hv_tick) >= 10000){
|
||||
PSU0.hv_mode = 1;
|
||||
}
|
||||
}else{
|
||||
PSU0.hv_tick = 0;
|
||||
}
|
||||
}
|
||||
#if PSD_ENABLE
|
||||
{
|
||||
uint8_t block_setpoint = PowerSetpoint_HasPending() || PowerSetpoint_IsBusy();
|
||||
|
||||
// PSU_SetHVMode(0, PSU0.hv_mode); // auto set, no need
|
||||
// ED_Delay(CAN_DELAY);
|
||||
if (PSU0.ready && !block_setpoint) {
|
||||
PSU_SetVoltageCurrent(0, CONN.RequestedVoltage, CONN.RequestedCurrent);
|
||||
ED_Delay(CAN_DELAY);
|
||||
}
|
||||
}
|
||||
#else
|
||||
if (PSU0.ready) {
|
||||
PSU_SetVoltageCurrent(0, CONN.RequestedVoltage, CONN.RequestedCurrent); // Normal mode
|
||||
ED_Delay(CAN_DELAY);
|
||||
}
|
||||
#endif
|
||||
|
||||
if (PSU0.ready) {
|
||||
PSU_HvControl();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void PSU_Task(void){
|
||||
static uint32_t psu_on_tick = 0;
|
||||
static uint32_t cont_ok_tick = 0;
|
||||
static uint32_t fd_on_last_cmd_ms = 0;
|
||||
PowerSetpointTryResult_t psd_result;
|
||||
|
||||
#if PSD_ENABLE
|
||||
PowerSetpoint_UpdateDeliveryLatch();
|
||||
if (PowerSetpoint_HasPending()) {
|
||||
psd_result = PowerSetpoint_TryApply();
|
||||
if (psd_result == PSD_TRY_START_FAST_DISCHARGE) {
|
||||
PSU_SwitchState(PSU_FAST_DISCHARGE_OFF);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
// Обновляем ONLINE/READY по таймауту
|
||||
if((HAL_GetTick() - can_lastpacket) > PSU_ONLINE_TIMEOUT){
|
||||
if (PSU0.online) {
|
||||
log_printf(LOG_WARN, "PSU CAN timeout age=%lums -> offline\n",
|
||||
(unsigned long)(HAL_GetTick() - can_lastpacket));
|
||||
}
|
||||
PSU0.online = 0;
|
||||
PSU0.PSU_enabled = 0;
|
||||
PSU_04.moduleTemperature = 0;
|
||||
@@ -327,6 +697,9 @@ void PSU_Task(void){
|
||||
PSU0.ready = 0;
|
||||
}
|
||||
|
||||
/* Before state transitions so CONNECTED+can_lost is still visible */
|
||||
PSU_MonitorStatusAndUnexpectedOff();
|
||||
|
||||
switch(PSU0.state){
|
||||
case PSU_UNREADY:
|
||||
PSU0.enableOutput = 0;
|
||||
@@ -345,8 +718,9 @@ void PSU_Task(void){
|
||||
|
||||
case PSU_READY:
|
||||
// модуль готов, но выключен
|
||||
PSU0.hv_mode = 0;
|
||||
PSU0.hv_tick = 0;
|
||||
CONN.hv_limit = 0u;
|
||||
CONN.hv_tick = 0u;
|
||||
CONN.hv_limit_count = 0u;
|
||||
|
||||
RELAY_Write(RELAY_DC, 0);
|
||||
if(!PSU0.ready){
|
||||
@@ -403,6 +777,99 @@ void PSU_Task(void){
|
||||
}
|
||||
break;
|
||||
|
||||
case PSU_FAST_DISCHARGE_OFF:
|
||||
if (!CONN.EnableOutput || !PSU0.ready || PSU0.cont_fault || PSU0.psu_fault) {
|
||||
log_printf(LOG_WARN, "Fast discharge abort -> stop\n");
|
||||
PowerSetpoint_OnFastDischargeAbort();
|
||||
PSU_SwitchState(PSU_CURRENT_DROP);
|
||||
break;
|
||||
}
|
||||
PSU_Enable(0, 0);
|
||||
PSU_SwitchState(PSU_FAST_DISCHARGE_WAIT);
|
||||
break;
|
||||
|
||||
case PSU_FAST_DISCHARGE_WAIT: {
|
||||
PowerSetpoint_t fd_sp;
|
||||
|
||||
if (!CONN.EnableOutput || !PSU0.ready || PSU0.cont_fault || PSU0.psu_fault) {
|
||||
log_printf(LOG_WARN, "Fast discharge abort -> stop\n");
|
||||
PowerSetpoint_OnFastDischargeAbort();
|
||||
PSU_SwitchState(PSU_CURRENT_DROP);
|
||||
break;
|
||||
}
|
||||
|
||||
/* Как PSU_WAIT_ACK_OFF: 0–20 V на телеметрии = модуль выключен */
|
||||
if (!PSU0.PSU_enabled) {
|
||||
PowerSetpoint_GetFastDischargeTarget(&fd_sp);
|
||||
log_printf(LOG_INFO, "Fast discharge off ack, V=%u -> set %u\n",
|
||||
(unsigned)CONN.MeasuredVoltage, (unsigned)fd_sp.voltage_V);
|
||||
PSU_SwitchState(PSU_FAST_DISCHARGE_SET);
|
||||
} else if (PSU_StateTime() > PSD_OFF_TIMEOUT_MS) {
|
||||
log_printf(LOG_WARN, "Fast discharge off timeout, V=%u\n",
|
||||
(unsigned)CONN.MeasuredVoltage);
|
||||
PSU_FastDischarge_AbortToConnected();
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case PSU_FAST_DISCHARGE_SET: {
|
||||
PowerSetpoint_t fd_sp;
|
||||
|
||||
if (!CONN.EnableOutput || !PSU0.ready || PSU0.cont_fault || PSU0.psu_fault) {
|
||||
log_printf(LOG_WARN, "Fast discharge abort -> stop\n");
|
||||
PowerSetpoint_OnFastDischargeAbort();
|
||||
PSU_SwitchState(PSU_CURRENT_DROP);
|
||||
break;
|
||||
}
|
||||
PowerSetpoint_GetFastDischargeTarget(&fd_sp);
|
||||
PSU_SetVoltageCurrent(0, fd_sp.voltage_V, fd_sp.current_0p1A);
|
||||
PSU_SwitchState(PSU_FAST_DISCHARGE_ON);
|
||||
break;
|
||||
}
|
||||
|
||||
case PSU_FAST_DISCHARGE_ON:
|
||||
if (!CONN.EnableOutput || !PSU0.ready || PSU0.cont_fault || PSU0.psu_fault) {
|
||||
log_printf(LOG_WARN, "Fast discharge abort -> stop\n");
|
||||
PowerSetpoint_OnFastDischargeAbort();
|
||||
PSU_SwitchState(PSU_CURRENT_DROP);
|
||||
break;
|
||||
}
|
||||
PSU_Enable(0, 1);
|
||||
fd_on_last_cmd_ms = HAL_GetTick();
|
||||
PSU_SwitchState(PSU_FAST_DISCHARGE_ON_WAIT);
|
||||
break;
|
||||
|
||||
case PSU_FAST_DISCHARGE_ON_WAIT: {
|
||||
PowerSetpoint_t fd_sp;
|
||||
uint16_t v_low;
|
||||
|
||||
if (!CONN.EnableOutput || !PSU0.ready || PSU0.cont_fault || PSU0.psu_fault) {
|
||||
log_printf(LOG_WARN, "Fast discharge abort -> stop\n");
|
||||
PowerSetpoint_OnFastDischargeAbort();
|
||||
PSU_SwitchState(PSU_CURRENT_DROP);
|
||||
break;
|
||||
}
|
||||
PowerSetpoint_GetFastDischargeTarget(&fd_sp);
|
||||
v_low = (fd_sp.voltage_V > PSD_PRECHARGE_TOLERANCE_V) ?
|
||||
(uint16_t)(fd_sp.voltage_V - PSD_PRECHARGE_TOLERANCE_V) : 0u;
|
||||
|
||||
if (PSU0.PSU_enabled && CONN.MeasuredVoltage >= v_low) {
|
||||
PowerSetpoint_OnFastDischargeComplete();
|
||||
PSU_SwitchState(PSU_CONNECTED);
|
||||
} else {
|
||||
if ((HAL_GetTick() - fd_on_last_cmd_ms) >= PSD_ON_RETRY_MS) {
|
||||
PSU_FastDischarge_PushTarget();
|
||||
fd_on_last_cmd_ms = HAL_GetTick();
|
||||
}
|
||||
if (PSU_StateTime() > PSD_ON_TIMEOUT_MS) {
|
||||
log_printf(LOG_WARN, "Fast discharge on timeout, V=%u (target %u)\n",
|
||||
(unsigned)CONN.MeasuredVoltage, (unsigned)fd_sp.voltage_V);
|
||||
PSU_FastDischarge_AbortToConnected();
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case PSU_CURRENT_DROP:
|
||||
// снижаем ток до нуля перед отключением DC
|
||||
CONN.RequestedCurrent = 0;
|
||||
@@ -449,6 +916,8 @@ void PSU_Task(void){
|
||||
PSU_SwitchState(PSU_UNREADY);
|
||||
break;
|
||||
}
|
||||
|
||||
PSU_LogPeriodicDiag();
|
||||
}
|
||||
|
||||
|
||||
|
||||
+193
-104
@@ -18,16 +18,16 @@ static RGB_t ws2812_led1 = { .R = 0, .G = 0, .B = 0 };
|
||||
RGB_State_t LED_State;
|
||||
RGB_Cycle_t LED_Cycle;
|
||||
|
||||
RGB_Cycle_t color_estop = {
|
||||
static const RGB_Cycle_t color_estop = {
|
||||
.Color1 = { .R = 250, .G = 0, .B = 0 },
|
||||
.Color2 = { .R = 0, .G = 0, .B = 0 },
|
||||
.Tr = 10,
|
||||
.Th = 5,
|
||||
.Tf = 10,
|
||||
.Tl = 5,
|
||||
.Tr = 40,
|
||||
.Th = 10,
|
||||
.Tf = 40,
|
||||
.Tl = 10,
|
||||
};
|
||||
|
||||
RGB_Cycle_t color_unlock = {
|
||||
static const RGB_Cycle_t color_unlock = {
|
||||
.Color1 = { .R = 255, .G = 0, .B = 0 },
|
||||
.Color2 = { .R = 0, .G = 0, .B = 0 },
|
||||
.Tr = 10,
|
||||
@@ -36,138 +36,219 @@ RGB_Cycle_t color_unlock = {
|
||||
.Tl = 10,
|
||||
};
|
||||
|
||||
RGB_Cycle_t color_unknown = {
|
||||
.Color1 = { .R = 64, .G = 0, .B = 0 },
|
||||
.Color2 = { .R = 64, .G = 0, .B = 0 },
|
||||
.Tr = 50,
|
||||
/* Same init shimmer as AC22/tkzu22: hue=85, sat breathes 30↔250 (not fade-to-black). */
|
||||
static uint8_t lighting_init_active;
|
||||
|
||||
static void LED_HsvToRgb(uint8_t hue, uint8_t sat, uint8_t val, RGB_t *out)
|
||||
{
|
||||
uint8_t region;
|
||||
uint8_t remainder;
|
||||
uint8_t p;
|
||||
uint8_t q;
|
||||
uint8_t t;
|
||||
|
||||
if (sat == 0U) {
|
||||
out->R = out->G = out->B = val;
|
||||
return;
|
||||
}
|
||||
region = (uint8_t)(hue / 43U);
|
||||
remainder = (uint8_t)((hue - (uint8_t)(region * 43U)) * 6U);
|
||||
p = (uint8_t)((val * (255U - sat)) >> 8);
|
||||
q = (uint8_t)((val * (255U - ((sat * remainder) >> 8))) >> 8);
|
||||
t = (uint8_t)((val * (255U - ((sat * (255U - remainder)) >> 8))) >> 8);
|
||||
switch (region) {
|
||||
case 0:
|
||||
out->R = val;
|
||||
out->G = t;
|
||||
out->B = p;
|
||||
break;
|
||||
case 1:
|
||||
out->R = q;
|
||||
out->G = val;
|
||||
out->B = p;
|
||||
break;
|
||||
case 2:
|
||||
out->R = p;
|
||||
out->G = val;
|
||||
out->B = t;
|
||||
break;
|
||||
case 3:
|
||||
out->R = p;
|
||||
out->G = q;
|
||||
out->B = val;
|
||||
break;
|
||||
case 4:
|
||||
out->R = t;
|
||||
out->G = p;
|
||||
out->B = val;
|
||||
break;
|
||||
default:
|
||||
out->R = val;
|
||||
out->G = p;
|
||||
out->B = q;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/** AC22-compatible init «перелив»: fixed green hue, saturation pulse. */
|
||||
static void LED_RenderInitShimmer(void)
|
||||
{
|
||||
static uint8_t sat = 250U;
|
||||
static uint8_t rising = 0U;
|
||||
const uint8_t hue = 85U;
|
||||
const uint8_t val = 245U;
|
||||
|
||||
if (sat >= 250U) {
|
||||
rising = 0U;
|
||||
}
|
||||
if (sat <= 30U) {
|
||||
rising = 1U;
|
||||
}
|
||||
if (rising) {
|
||||
sat = (sat <= 246U) ? (uint8_t)(sat + 4U) : 250U;
|
||||
} else {
|
||||
sat = (sat >= 34U) ? (uint8_t)(sat - 4U) : 30U;
|
||||
}
|
||||
LED_HsvToRgb(hue, sat, val, &LED_State.color);
|
||||
}
|
||||
|
||||
static LightingConfigPacket_t committed_lighting = {
|
||||
.mode = 0,
|
||||
.roles = {
|
||||
{ 0, 128, 0, 100, 0, 40, 0 },
|
||||
{ 0, 0, 255, 100, 1, 55, 100 },
|
||||
{ 0, 255, 0, 100, 1, 40, 87 },
|
||||
{ 255, 255, 255, 100, 0, 40, 0 },
|
||||
{ 255, 0, 0, 100, 1, 50, 87 },
|
||||
},
|
||||
};
|
||||
static LightingConfigPacket_t preview_lighting;
|
||||
static uint32_t preview_expires_at;
|
||||
static uint8_t preview_active;
|
||||
|
||||
static RGB_Cycle_t LED_CycleFromRole(const LightingRolePacket_t *role)
|
||||
{
|
||||
const uint8_t fade_to_black = role->fadeTo >= 95;
|
||||
RGB_Cycle_t cycle = {
|
||||
.Color1 = {
|
||||
.R = (uint8_t)((uint16_t)role->r * role->brightness / 100),
|
||||
.G = (uint8_t)((uint16_t)role->g * role->brightness / 100),
|
||||
.B = (uint8_t)((uint16_t)role->b * role->brightness / 100),
|
||||
},
|
||||
.Tr = (uint8_t)((100 - role->speed) < 5 ? 5 : (100 - role->speed)),
|
||||
.Th = 10,
|
||||
.Tf = 50,
|
||||
.Tl = 0,
|
||||
.Tf = (uint8_t)((100 - role->speed) < 5 ? 5 : (100 - role->speed)),
|
||||
.Tl = fade_to_black ? 10 : 0,
|
||||
};
|
||||
|
||||
RGB_Cycle_t color_light = {
|
||||
.Color1 = { .R = 0, .G = 255, .B = 0 },
|
||||
.Color2 = { .R = 0, .G = 255, .B = 0 },
|
||||
.Tr = 50,
|
||||
.Th = 10,
|
||||
.Tf = 50,
|
||||
.Tl = 0,
|
||||
};
|
||||
if (role->effect == 0) {
|
||||
cycle.Color2 = cycle.Color1;
|
||||
} else {
|
||||
cycle.Color2.R = (uint8_t)((uint16_t)cycle.Color1.R * (100 - role->fadeTo) / 100);
|
||||
cycle.Color2.G = (uint8_t)((uint16_t)cycle.Color1.G * (100 - role->fadeTo) / 100);
|
||||
cycle.Color2.B = (uint8_t)((uint16_t)cycle.Color1.B * (100 - role->fadeTo) / 100);
|
||||
}
|
||||
return cycle;
|
||||
}
|
||||
|
||||
RGB_Cycle_t color_disabled = {
|
||||
.Color1 = { .R = 250, .G = 0, .B = 0 },
|
||||
.Color2 = { .R = 32, .G = 0, .B = 0 },
|
||||
.Tr = 50,
|
||||
.Th = 10,
|
||||
.Tf = 50,
|
||||
.Tl = 0,
|
||||
};
|
||||
static uint8_t LED_IsLightingConfigValid(const LightingConfigPacket_t *config)
|
||||
{
|
||||
if (config == NULL || config->mode > 1 || (config->flags & 0xFE) != 0 ||
|
||||
config->reserved != 0 || ((config->flags & 0x01) && config->previewSec == 0) ||
|
||||
(!(config->flags & 0x01) && config->previewSec != 0)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
RGB_Cycle_t color_unplugged = {
|
||||
.Color1 = { .R = 0, .G = 128, .B = 0 },
|
||||
.Color2 = { .R = 0, .G = 128, .B = 0 },
|
||||
.Tr = 50,
|
||||
.Th = 10,
|
||||
.Tf = 50,
|
||||
.Tl = 0,
|
||||
};
|
||||
for (uint8_t i = 0; i < 5; i++) {
|
||||
const LightingRolePacket_t *role = &config->roles[i];
|
||||
if (role->brightness > 100 || role->effect > 1 || role->speed > 100 || role->fadeTo > 100) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
RGB_Cycle_t color_preparing = {
|
||||
.Color1 = { .R = 0, .G = 0, .B = 255 },
|
||||
.Color2 = { .R = 0, .G = 0, .B = 0 },
|
||||
.Tr = 10,
|
||||
.Th = 10,
|
||||
.Tf = 10,
|
||||
.Tl = 10,
|
||||
};
|
||||
uint8_t LED_ApplyLightingConfig(const LightingConfigPacket_t *config)
|
||||
{
|
||||
if (!LED_IsLightingConfigValid(config)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
RGB_Cycle_t color_charging = {
|
||||
.Color1 = { .R = 0, .G = 255, .B = 0 },
|
||||
.Color2 = { .R = 0, .G = 32, .B = 0 },
|
||||
.Tr = 50,
|
||||
.Th = 10,
|
||||
.Tf = 50,
|
||||
.Tl = 0,
|
||||
};
|
||||
if (config->flags & 0x01) {
|
||||
memcpy(&preview_lighting, config, sizeof(preview_lighting));
|
||||
preview_active = 1;
|
||||
preview_expires_at = HAL_GetTick() + ((uint32_t)config->previewSec * 1000U);
|
||||
} else {
|
||||
memcpy(&committed_lighting, config, sizeof(committed_lighting));
|
||||
preview_active = 0;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
RGB_Cycle_t color_finished = {
|
||||
.Color1 = { .R = 255, .G = 255, .B = 255 },
|
||||
.Color2 = { .R = 255, .G = 255, .B = 255 },
|
||||
.Tr = 50,
|
||||
.Th = 10,
|
||||
.Tf = 50,
|
||||
.Tl = 0,
|
||||
};
|
||||
void LED_Write(void)
|
||||
{
|
||||
const LightingConfigPacket_t *lighting = &committed_lighting;
|
||||
RGB_Cycle_t cycle;
|
||||
|
||||
RGB_Cycle_t color_error = {
|
||||
.Color1 = { .R = 255, .G = 0, .B = 0 },
|
||||
.Color2 = { .R = 32, .G = 0, .B = 0 },
|
||||
.Tr = 50,
|
||||
.Th = 10,
|
||||
.Tf = 50,
|
||||
.Tl = 0,
|
||||
};
|
||||
lighting_init_active = 0;
|
||||
|
||||
void LED_Write(){
|
||||
if(CONN.chargingError != CONN_NO_ERROR){
|
||||
LED_SetColor(&color_error);
|
||||
if (CONN.connControl == CMD_STOP) {
|
||||
LED_SetColor(&color_estop);
|
||||
return;
|
||||
}
|
||||
if (CONN.chargingError != CONN_NO_ERROR || CONN.connState == Disabled) {
|
||||
cycle = LED_CycleFromRole(&lighting->roles[4]);
|
||||
LED_SetColor(&cycle);
|
||||
return;
|
||||
}
|
||||
|
||||
if (preview_active && (int32_t)(HAL_GetTick() - preview_expires_at) >= 0) {
|
||||
preview_active = 0;
|
||||
}
|
||||
if (preview_active) {
|
||||
lighting = &preview_lighting;
|
||||
}
|
||||
|
||||
if (lighting->mode == 1) {
|
||||
RGB_Cycle_t off = { 0 };
|
||||
LED_SetColor(&off);
|
||||
return;
|
||||
}
|
||||
if (CONN.connControl == CMD_FORCE_UNLOCK) {
|
||||
LED_SetColor(&color_unlock);
|
||||
return;
|
||||
}
|
||||
if(CONN.connControl == CMD_STOP){
|
||||
LED_SetColor(&color_estop);
|
||||
if (CONN.connState == Unknown) {
|
||||
lighting_init_active = 1;
|
||||
return;
|
||||
}
|
||||
|
||||
switch (CONN.connState) {
|
||||
case Unknown:
|
||||
LED_SetColor(&color_unknown);
|
||||
break;
|
||||
case Unplugged:
|
||||
LED_SetColor(&color_unplugged);
|
||||
break;
|
||||
case Disabled:
|
||||
LED_SetColor(&color_error);
|
||||
cycle = LED_CycleFromRole(&lighting->roles[0]);
|
||||
break;
|
||||
case Preparing:
|
||||
LED_SetColor(&color_preparing);
|
||||
break;
|
||||
case AuthRequired:
|
||||
LED_SetColor(&color_preparing);
|
||||
case Replugging:
|
||||
cycle = LED_CycleFromRole(&lighting->roles[1]);
|
||||
break;
|
||||
case WaitingForEnergy:
|
||||
LED_SetColor(&color_charging);
|
||||
break;
|
||||
case ChargingPausedEV:
|
||||
LED_SetColor(&color_charging);
|
||||
break;
|
||||
case ChargingPausedEVSE:
|
||||
LED_SetColor(&color_charging);
|
||||
break;
|
||||
case Charging:
|
||||
LED_SetColor(&color_charging);
|
||||
cycle = LED_CycleFromRole(&lighting->roles[2]);
|
||||
break;
|
||||
case AuthTimeout:
|
||||
LED_SetColor(&color_finished);
|
||||
break;
|
||||
case Finished:
|
||||
LED_SetColor(&color_finished);
|
||||
break;
|
||||
case FinishedEVSE:
|
||||
LED_SetColor(&color_finished);
|
||||
break;
|
||||
case FinishedEV:
|
||||
LED_SetColor(&color_finished);
|
||||
break;
|
||||
case Replugging:
|
||||
LED_SetColor(&color_preparing);
|
||||
cycle = LED_CycleFromRole(&lighting->roles[3]);
|
||||
break;
|
||||
default:
|
||||
LED_SetColor(&color_unknown);
|
||||
break;
|
||||
lighting_init_active = 1;
|
||||
return;
|
||||
}
|
||||
LED_SetColor(&cycle);
|
||||
}
|
||||
|
||||
void interpolateColors(RGB_t* color1, RGB_t* color2, uint16_t a, uint16_t b, RGB_t *result) {
|
||||
@@ -331,7 +412,7 @@ void WS2812_SetColor(RGB_t *color){
|
||||
ws2812_update(&led0, &led1);
|
||||
}
|
||||
|
||||
void LED_SetColor(RGB_Cycle_t *color){
|
||||
void LED_SetColor(const RGB_Cycle_t *color){
|
||||
memcpy(&LED_Cycle, color, sizeof(RGB_Cycle_t));
|
||||
}
|
||||
|
||||
@@ -349,6 +430,15 @@ void LED_Task(){
|
||||
static uint32_t led_tick;
|
||||
if((HAL_GetTick() - led_tick) > 20){
|
||||
led_tick = HAL_GetTick();
|
||||
LED_Ws2812ErrorBlinkUpdate();
|
||||
|
||||
if (lighting_init_active) {
|
||||
LED_RenderInitShimmer();
|
||||
RGB_SetColor(&LED_State.color);
|
||||
WS2812_SetColor(&LED_State.color);
|
||||
return;
|
||||
}
|
||||
|
||||
LED_State.tick++;
|
||||
switch(LED_State.state){
|
||||
case LED_RISING:
|
||||
@@ -386,7 +476,6 @@ void LED_Task(){
|
||||
default:
|
||||
LED_State.state = LED_RISING;
|
||||
}
|
||||
LED_Ws2812ErrorBlinkUpdate();
|
||||
RGB_SetColor(&LED_State.color);
|
||||
WS2812_SetColor(&LED_State.color);
|
||||
}
|
||||
|
||||
+21
-11
@@ -7,6 +7,7 @@
|
||||
#include "debug.h"
|
||||
#include "isr_opt.h"
|
||||
#include "psu_control.h"
|
||||
#include "power_setpoint_executor.h"
|
||||
#include "serial_control.h"
|
||||
#include <stdint.h>
|
||||
#include <string.h>
|
||||
@@ -46,7 +47,6 @@ static uint8_t enabled = 0;
|
||||
static uint8_t pwm_duty_percent = 100;
|
||||
uint8_t isolation_enable = 0;
|
||||
static uint32_t last_host_seen = 0;
|
||||
static uint8_t fake_500_voltage_mode = 0;
|
||||
static uint8_t everest_timed_out = 0;
|
||||
static uint8_t everest_timeout_warn_latched = 0;
|
||||
static uint8_t everest_timeout_stop_latched = 0;
|
||||
@@ -330,6 +330,10 @@ void CCS_SerialLoop(void) {
|
||||
}
|
||||
|
||||
// 10s timeout: enforce safe-state until host communication recovers.
|
||||
{
|
||||
static uint8_t prev_enable_output = 0xFFu;
|
||||
uint8_t new_enable_output;
|
||||
|
||||
if (host_timeout_stop) {
|
||||
CONN.EnableOutput = 0;
|
||||
CCS_EvseState = Unknown;
|
||||
@@ -337,6 +341,7 @@ void CCS_SerialLoop(void) {
|
||||
if (CCS_ConnectorState != CCS_DISABLED && CCS_ConnectorState != CCS_UNKNOWN) {
|
||||
CCS_ConnectorState = CCS_DISABLED;
|
||||
}
|
||||
new_enable_output = 0u;
|
||||
} else {
|
||||
if (last_cmd == CMD_STOP) {
|
||||
CONN.EnableOutput = 0;
|
||||
@@ -346,6 +351,20 @@ void CCS_SerialLoop(void) {
|
||||
CONN.EnableOutput = 0;
|
||||
}
|
||||
}
|
||||
new_enable_output = CONN.EnableOutput;
|
||||
}
|
||||
|
||||
if (prev_enable_output != 0xFFu && prev_enable_output != new_enable_output) {
|
||||
log_printf(LOG_INFO,
|
||||
"EnableOutput %u->%u ev=%u stop=%u host_to=%u err=%u\n",
|
||||
(unsigned)prev_enable_output,
|
||||
(unsigned)new_enable_output,
|
||||
(unsigned)ev_enable_output,
|
||||
(unsigned)(last_cmd == CMD_STOP),
|
||||
(unsigned)host_timeout_stop,
|
||||
(unsigned)CONN.chargingError);
|
||||
}
|
||||
prev_enable_output = new_enable_output;
|
||||
}
|
||||
|
||||
if ((cp_state_buffer == EV_STATE_B_CONN_PREP) ||
|
||||
@@ -453,9 +472,6 @@ static void send_state(void) {
|
||||
CCS_State.DutyCycle = CP_GetDuty();
|
||||
CCS_State.OutputEnabled = PSU0.CONT_enabled;
|
||||
CCS_State.MeasuredVoltage = (uint16_t)CONN.MeasuredVoltage;
|
||||
if (fake_500_voltage_mode) {
|
||||
CCS_State.MeasuredVoltage = FAKE_EVREQ_VOLTAGE_V;
|
||||
}
|
||||
CCS_State.MeasuredCurrent = (uint16_t)CONN.MeasuredCurrent;
|
||||
CCS_State.Power = CCS_Power;
|
||||
CCS_State.Energy = CCS_Energy;
|
||||
@@ -533,15 +549,9 @@ ISR_FAST static void apply_command(uint8_t cmd, const uint8_t* payload, uint16_t
|
||||
}
|
||||
case CMD_E2M_SET_OUTPUT_VOLTAGE: {
|
||||
const e2m_set_output_t* p = (const e2m_set_output_t*)payload;
|
||||
if (p->voltage_V == FAKE_EVREQ_VOLTAGE_V) {
|
||||
fake_500_voltage_mode = 1u;
|
||||
CONN.RequestedVoltage = FAKE_PSU_VOLTAGE_V;
|
||||
CONN.WantedCurrent = FAKE_PSU_CURRENT_0P1A;
|
||||
} else {
|
||||
fake_500_voltage_mode = 0u;
|
||||
CONN.RequestedVoltage = p->voltage_V;
|
||||
CONN.WantedCurrent = p->current_0p1A;
|
||||
}
|
||||
PowerSetpoint_OnCommand(p->voltage_V, p->current_0p1A);
|
||||
break;
|
||||
}
|
||||
case CMD_E2M_ISOLATION_CONTROL: {
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
#include "debug.h"
|
||||
#include "fire_alarm.h"
|
||||
#include "psu_control.h"
|
||||
#include "rgb_controller.h"
|
||||
#include "usart.h"
|
||||
#include <string.h>
|
||||
|
||||
@@ -58,6 +59,14 @@ void SC_CommandHandler(ReceivedCommand_t* cmd) {
|
||||
}
|
||||
response_code = RESP_FAILED;
|
||||
break;
|
||||
case CMD_SET_LIGHTING:
|
||||
if (cmd->argument_length == sizeof(LightingConfigPacket_t) &&
|
||||
LED_ApplyLightingConfig((const LightingConfigPacket_t *)cmd->argument)) {
|
||||
response_code = RESP_SUCCESS;
|
||||
break;
|
||||
}
|
||||
response_code = RESP_FAILED;
|
||||
break;
|
||||
case CMD_SET_POWER_LIMIT:
|
||||
if (cmd->argument_length == 1) {
|
||||
PSU0.power_limit = ((uint8_t*)cmd->argument)[0] * 1000;
|
||||
@@ -139,8 +148,9 @@ static void monitoring_data_callback(void) {
|
||||
statusPacket.outputEnabled = CONN.outputEnabled;
|
||||
statusPacket.chargingError = CONN.chargingError;
|
||||
statusPacket.connState = CONN.connState;
|
||||
statusPacket.chargingElapsedTimeMin = 0;
|
||||
statusPacket.chargingElapsedTimeSec = 0;
|
||||
CONN_GetElapsedForMonitoring(
|
||||
&statusPacket.chargingElapsedTimeMin,
|
||||
&statusPacket.chargingElapsedTimeSec);
|
||||
statusPacket.estimatedRemainingChargingTime = 0;
|
||||
|
||||
// состояние зарядной станции
|
||||
|
||||
Vendored
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
+4272
-3758
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+4271
-3758
File diff suppressed because it is too large
Load Diff
Vendored
BIN
Binary file not shown.
@@ -1,5 +0,0 @@
|
||||
../Core/Src/adc.c:13:6:ADC_ScanStart 2
|
||||
../Core/Src/adc.c:21:15:HAL_ADC_ConvCpltCallback 2
|
||||
../Core/Src/adc.c:43:6:MX_ADC1_Init 8
|
||||
../Core/Src/adc.c:130:6:HAL_ADC_MspInit 3
|
||||
../Core/Src/adc.c:184:6:HAL_ADC_MspDeInit 2
|
||||
@@ -1,14 +0,0 @@
|
||||
../Core/Src/board.c:14:6:RELAY_Write 9
|
||||
../Core/Src/board.c:47:9:RELAY_Read 1
|
||||
../Core/Src/board.c:52:9:IN_ReadInput 8
|
||||
../Core/Src/board.c:74:9:GetBoardTemp 1
|
||||
../Core/Src/board.c:82:13:Heater_PinForceOutput 1
|
||||
../Core/Src/board.c:95:6:Init_Peripheral 1
|
||||
../Core/Src/board.c:114:7:pt1000_to_temperature 1
|
||||
../Core/Src/board.c:125:7:calculate_NTC_resistance 2
|
||||
../Core/Src/board.c:140:9:CONN_ReadTemp 4
|
||||
../Core/Src/board.c:159:9:GBT_ReadTemp 1
|
||||
../Core/Src/board.c:163:6:ADC_Select_Channel 2
|
||||
../Core/Src/board.c:174:9:ADC_TryLock 4
|
||||
../Core/Src/board.c:190:6:ADC_LockBlocking 2
|
||||
../Core/Src/board.c:196:6:ADC_Unlock 2
|
||||
@@ -1,4 +0,0 @@
|
||||
../Core/Src/can.c:15:6:MX_CAN1_Init 2
|
||||
../Core/Src/can.c:47:6:MX_CAN2_Init 2
|
||||
../Core/Src/can.c:81:6:HAL_CAN_MspInit 5
|
||||
../Core/Src/can.c:160:6:HAL_CAN_MspDeInit 5
|
||||
@@ -1,3 +0,0 @@
|
||||
../Core/Src/charger_control.c:11:6:CONN_Init 1
|
||||
../Core/Src/charger_control.c:19:6:CONN_Loop 7
|
||||
../Core/Src/charger_control.c:42:6:CONN_SetState 16
|
||||
@@ -1,2 +0,0 @@
|
||||
../Core/Src/connector.c:12:6:CONN_Task 5
|
||||
../Core/Src/connector.c:28:6:CONN_SetState 16
|
||||
@@ -1,9 +0,0 @@
|
||||
../Core/Src/cp.c:20:16:CP_ReadVoltageMv 1
|
||||
../Core/Src/cp.c:37:6:CP_Init 1
|
||||
../Core/Src/cp.c:54:6:CP_SetDuty 1
|
||||
../Core/Src/cp.c:67:9:CP_GetDuty 1
|
||||
../Core/Src/cp.c:71:9:CP_GetVoltage 1
|
||||
../Core/Src/cp.c:76:12:CP_GetState 12
|
||||
../Core/Src/cp.c:100:12:CP_GetFilteredState 1
|
||||
../Core/Src/cp.c:104:6:CP_FilterState 5
|
||||
../Core/Src/cp.c:132:6:CP_Loop 5
|
||||
@@ -1,3 +0,0 @@
|
||||
../Core/Src/crc.c:14:6:MX_CRC_Init 2
|
||||
../Core/Src/crc.c:35:6:HAL_CRC_MspInit 2
|
||||
../Core/Src/crc.c:51:6:HAL_CRC_MspDeInit 2
|
||||
@@ -1,5 +0,0 @@
|
||||
../Core/Src/debug.c:35:5:_write 1
|
||||
../Core/Src/debug.c:43:6:debug_buffer_add 3
|
||||
../Core/Src/debug.c:63:10:debug_buffer_available 1
|
||||
../Core/Src/debug.c:72:6:debug_buffer_send 5
|
||||
../Core/Src/debug.c:112:5:log_printf 3
|
||||
@@ -1 +0,0 @@
|
||||
../Core/Src/dma.c:23:6:MX_DMA_Init 1
|
||||
@@ -1,3 +0,0 @@
|
||||
../Core/Src/gbt_control.c:10:6:GBT_SetConfig 1
|
||||
../Core/Src/gbt_control.c:24:6:GBT_ControlRead 1
|
||||
../Core/Src/gbt_control.c:33:6:GBT_ControlWrite 2
|
||||
@@ -1 +0,0 @@
|
||||
../Core/Src/gpio.c:28:6:MX_GPIO_Init 1
|
||||
@@ -1,9 +0,0 @@
|
||||
../Drivers/CMSIS/Include/core_cm3.h:1762:34:__NVIC_SystemReset 1
|
||||
../Core/Src/main.c:69:13:VectorBase_Config 1
|
||||
../Core/Src/main.c:80:9:ED_TraceWarning 3
|
||||
../Core/Src/main.c:92:6:ED_Delay 3
|
||||
../Core/Src/main.c:111:13:StopButtonControl 8
|
||||
../Core/Src/main.c:152:13:CAN1_MinimalReInit 3
|
||||
../Core/Src/main.c:170:5:main 1
|
||||
../Core/Src/main.c:251:6:SystemClock_Config 4
|
||||
../Core/Src/main.c:311:6:Error_Handler 1
|
||||
@@ -1 +0,0 @@
|
||||
../Core/Src/meter.c:9:6:METER_CalculateEnergy 3
|
||||
@@ -1,11 +0,0 @@
|
||||
../Core/Src/psu_control.c:35:13:PSU_SwitchState 1
|
||||
../Core/Src/psu_control.c:40:17:PSU_StateTime 1
|
||||
../Core/Src/psu_control.c:44:15:HAL_CAN_RxFifo1MsgPendingCallback 9
|
||||
../Core/Src/psu_control.c:118:6:PSU_CAN_FilterInit 2
|
||||
../Core/Src/psu_control.c:141:6:PSU_Init 1
|
||||
../Core/Src/psu_control.c:159:6:PSU_Enable 3
|
||||
../Core/Src/psu_control.c:171:6:PSU_SetHVMode 2
|
||||
../Core/Src/psu_control.c:178:6:PSU_SetVoltageCurrent 5
|
||||
../Core/Src/psu_control.c:205:6:PSU_SendCmd 4
|
||||
../Core/Src/psu_control.c:240:6:PSU_ReadWrite 8
|
||||
../Core/Src/psu_control.c:284:6:PSU_Task 41
|
||||
@@ -1,11 +0,0 @@
|
||||
../Core/Src/rgb_controller.c:111:6:LED_Write 18
|
||||
../Core/Src/rgb_controller.c:173:6:interpolateColors 3
|
||||
../Core/Src/rgb_controller.c:203:13:ws2812_send_pixel 3
|
||||
../Core/Src/rgb_controller.c:222:13:ws2812_update 1
|
||||
../Core/Src/rgb_controller.c:234:14:RGB_ScaleBrightness 1
|
||||
../Core/Src/rgb_controller.c:249:13:LED_Ws2812ErrorBlinkUpdate 9
|
||||
../Core/Src/rgb_controller.c:322:6:RGB_SetColor 1
|
||||
../Core/Src/rgb_controller.c:328:6:WS2812_SetColor 1
|
||||
../Core/Src/rgb_controller.c:334:6:LED_SetColor 1
|
||||
../Core/Src/rgb_controller.c:339:6:LED_Init 1
|
||||
../Core/Src/rgb_controller.c:348:6:LED_Task 10
|
||||
@@ -1,3 +0,0 @@
|
||||
../Core/Src/rtc.c:14:6:MX_RTC_Init 2
|
||||
../Core/Src/rtc.c:40:6:HAL_RTC_MspInit 2
|
||||
../Core/Src/rtc.c:59:6:HAL_RTC_MspDeInit 2
|
||||
@@ -1,20 +0,0 @@
|
||||
../Core/Src/serial.c:65:22:uart3_log_hal_error 3
|
||||
../Core/Src/serial.c:85:22:uart3_arm_rx_or_log 3
|
||||
../Core/Src/serial.c:101:15:CCS_RxEventCallback 4
|
||||
../Core/Src/serial.c:124:15:HAL_UART_ErrorCallback 5
|
||||
../Core/Src/serial.c:144:6:CCS_TxCpltCallback 4
|
||||
../Core/Src/serial.c:160:6:CCS_SerialLoop 62
|
||||
../Core/Src/serial.c:360:6:CCS_Init 1
|
||||
../Core/Src/serial.c:375:26:crc16_ibm 3
|
||||
../Core/Src/serial.c:390:17:CCS_BuildPacket 4
|
||||
../Core/Src/serial.c:406:13:CCS_SendPacket 4
|
||||
../Core/Src/serial.c:423:13:CCS_SendResetReason 1
|
||||
../Core/Src/serial.c:427:6:CCS_SendEmergencyStop 1
|
||||
../Core/Src/serial.c:431:6:CCS_SendStart 1
|
||||
../Core/Src/serial.c:435:13:CCS_CalculateEnergy 2
|
||||
../Core/Src/serial.c:450:13:send_state 3
|
||||
../Core/Src/serial.c:480:26:expected_payload_len 2
|
||||
../Core/Src/serial.c:496:22:apply_command 15
|
||||
../Core/Src/serial.c:578:25:process_received_packet 8
|
||||
../Core/Src/serial.c:631:13:CCS_UART3_Watchdog 4
|
||||
../Core/Src/serial.c:644:13:CCS_LogUart3Error 1
|
||||
@@ -1,15 +0,0 @@
|
||||
../Core/Src/serial_control.c:72:6:ReadVersion 1
|
||||
../Core/Src/serial_control.c:84:6:SC_Init 1
|
||||
../Core/Src/serial_control.c:95:6:SC_Task 7
|
||||
../Core/Src/serial_control.c:123:15:HAL_UARTEx_RxEventCallback 8
|
||||
../Core/Src/serial_control.c:153:15:HAL_UART_TxCpltCallback 3
|
||||
../Core/Src/serial_control.c:164:26:calculate_crc32 3
|
||||
../Core/Src/serial_control.c:181:26:encode_packet 5
|
||||
../Core/Src/serial_control.c:214:15:SC_SendPacket 4
|
||||
../Core/Src/serial_control.c:231:25:parse_packet 3
|
||||
../Core/Src/serial_control.c:264:25:process_received_packet 2
|
||||
../Core/Src/serial_control.c:273:13:SC_UART2_Watchdog 5
|
||||
../Core/Src/serial_control.c:294:13:SC_ArmUart2RxDma 4
|
||||
../Core/Src/serial_control.c:302:13:SC_ArmUart5RxDma 3
|
||||
../Core/Src/serial_control.c:311:6:SC_RecoverUartDma 3
|
||||
../Core/Src/serial_control.c:326:13:SC_LogUartError 3
|
||||
@@ -1,3 +0,0 @@
|
||||
../Drivers/CMSIS/Include/core_cm3.h:1762:34:__NVIC_SystemReset 1
|
||||
../Core/Src/serial_handler.c:27:6:SC_CommandHandler 20
|
||||
../Core/Src/serial_handler.c:130:13:monitoring_data_callback 1
|
||||
@@ -1,2 +0,0 @@
|
||||
../Core/Src/sma_filter.c:3:6:SMAFilter_Init 3
|
||||
../Core/Src/sma_filter.c:16:9:SMAFilter_Update 6
|
||||
@@ -1,10 +0,0 @@
|
||||
../Core/Src/soft_rtc.c:15:10:get_Current_Time 1
|
||||
../Core/Src/soft_rtc.c:19:6:set_Time 1
|
||||
../Core/Src/soft_rtc.c:23:9:to_bcd 1
|
||||
../Core/Src/soft_rtc.c:27:6:unix_to_bcd 1
|
||||
../Core/Src/soft_rtc.c:41:6:writeTimeReg 2
|
||||
../Core/Src/soft_rtc.c:46:9:getTimeReg 5
|
||||
../Core/Src/soft_rtc.c:67:17:RTC1_ReadTimeCounter 2
|
||||
../Core/Src/soft_rtc.c:99:26:RTC1_WriteTimeCounter 3
|
||||
../Core/Src/soft_rtc.c:131:26:RTC1_EnterInitMode 3
|
||||
../Core/Src/soft_rtc.c:158:26:RTC1_ExitInitMode 3
|
||||
@@ -1 +0,0 @@
|
||||
../Core/Src/stm32f1xx_hal_msp.c:47:6:HAL_MspInit 1
|
||||
@@ -1,23 +0,0 @@
|
||||
../Core/Src/stm32f1xx_it.c:69:6:NMI_Handler 1
|
||||
../Core/Src/stm32f1xx_it.c:84:6:HardFault_Handler 1
|
||||
../Core/Src/stm32f1xx_it.c:99:6:MemManage_Handler 1
|
||||
../Core/Src/stm32f1xx_it.c:114:6:BusFault_Handler 1
|
||||
../Core/Src/stm32f1xx_it.c:129:6:UsageFault_Handler 1
|
||||
../Core/Src/stm32f1xx_it.c:144:6:SVC_Handler 1
|
||||
../Core/Src/stm32f1xx_it.c:157:6:DebugMon_Handler 1
|
||||
../Core/Src/stm32f1xx_it.c:170:6:PendSV_Handler 1
|
||||
../Core/Src/stm32f1xx_it.c:183:6:SysTick_Handler 1
|
||||
../Core/Src/stm32f1xx_it.c:204:6:DMA1_Channel1_IRQHandler 1
|
||||
../Core/Src/stm32f1xx_it.c:218:6:DMA1_Channel2_IRQHandler 1
|
||||
../Core/Src/stm32f1xx_it.c:232:6:DMA1_Channel3_IRQHandler 1
|
||||
../Core/Src/stm32f1xx_it.c:246:6:DMA1_Channel6_IRQHandler 1
|
||||
../Core/Src/stm32f1xx_it.c:260:6:DMA1_Channel7_IRQHandler 1
|
||||
../Core/Src/stm32f1xx_it.c:274:6:ADC1_2_IRQHandler 1
|
||||
../Core/Src/stm32f1xx_it.c:288:6:CAN1_RX0_IRQHandler 1
|
||||
../Core/Src/stm32f1xx_it.c:302:6:TIM3_IRQHandler 1
|
||||
../Core/Src/stm32f1xx_it.c:316:6:USART1_IRQHandler 1
|
||||
../Core/Src/stm32f1xx_it.c:330:6:USART2_IRQHandler 1
|
||||
../Core/Src/stm32f1xx_it.c:344:6:USART3_IRQHandler 1
|
||||
../Core/Src/stm32f1xx_it.c:358:6:UART5_IRQHandler 1
|
||||
../Core/Src/stm32f1xx_it.c:372:6:CAN2_TX_IRQHandler 1
|
||||
../Core/Src/stm32f1xx_it.c:386:6:CAN2_RX1_IRQHandler 1
|
||||
@@ -1,105 +0,0 @@
|
||||
################################################################################
|
||||
# Automatically-generated file. Do not edit!
|
||||
# Toolchain: GNU Tools for STM32 (13.3.rel1)
|
||||
################################################################################
|
||||
|
||||
# Add inputs and outputs from these tool invocations to the build variables
|
||||
C_SRCS += \
|
||||
../Core/Src/adc.c \
|
||||
../Core/Src/board.c \
|
||||
../Core/Src/can.c \
|
||||
../Core/Src/charger_control.c \
|
||||
../Core/Src/cp.c \
|
||||
../Core/Src/crc.c \
|
||||
../Core/Src/debug.c \
|
||||
../Core/Src/dma.c \
|
||||
../Core/Src/fire_alarm.c \
|
||||
../Core/Src/gpio.c \
|
||||
../Core/Src/main.c \
|
||||
../Core/Src/meter.c \
|
||||
../Core/Src/psu_control.c \
|
||||
../Core/Src/rgb_controller.c \
|
||||
../Core/Src/rtc.c \
|
||||
../Core/Src/serial.c \
|
||||
../Core/Src/serial_control.c \
|
||||
../Core/Src/serial_handler.c \
|
||||
../Core/Src/sma_filter.c \
|
||||
../Core/Src/soft_rtc.c \
|
||||
../Core/Src/stm32f1xx_hal_msp.c \
|
||||
../Core/Src/stm32f1xx_it.c \
|
||||
../Core/Src/syscalls.c \
|
||||
../Core/Src/sysmem.c \
|
||||
../Core/Src/system_stm32f1xx.c \
|
||||
../Core/Src/tim.c \
|
||||
../Core/Src/usart.c
|
||||
|
||||
C_DEPS += \
|
||||
./Core/Src/adc.d \
|
||||
./Core/Src/board.d \
|
||||
./Core/Src/can.d \
|
||||
./Core/Src/charger_control.d \
|
||||
./Core/Src/cp.d \
|
||||
./Core/Src/crc.d \
|
||||
./Core/Src/debug.d \
|
||||
./Core/Src/dma.d \
|
||||
./Core/Src/fire_alarm.d \
|
||||
./Core/Src/gpio.d \
|
||||
./Core/Src/main.d \
|
||||
./Core/Src/meter.d \
|
||||
./Core/Src/psu_control.d \
|
||||
./Core/Src/rgb_controller.d \
|
||||
./Core/Src/rtc.d \
|
||||
./Core/Src/serial.d \
|
||||
./Core/Src/serial_control.d \
|
||||
./Core/Src/serial_handler.d \
|
||||
./Core/Src/sma_filter.d \
|
||||
./Core/Src/soft_rtc.d \
|
||||
./Core/Src/stm32f1xx_hal_msp.d \
|
||||
./Core/Src/stm32f1xx_it.d \
|
||||
./Core/Src/syscalls.d \
|
||||
./Core/Src/sysmem.d \
|
||||
./Core/Src/system_stm32f1xx.d \
|
||||
./Core/Src/tim.d \
|
||||
./Core/Src/usart.d
|
||||
|
||||
OBJS += \
|
||||
./Core/Src/adc.o \
|
||||
./Core/Src/board.o \
|
||||
./Core/Src/can.o \
|
||||
./Core/Src/charger_control.o \
|
||||
./Core/Src/cp.o \
|
||||
./Core/Src/crc.o \
|
||||
./Core/Src/debug.o \
|
||||
./Core/Src/dma.o \
|
||||
./Core/Src/fire_alarm.o \
|
||||
./Core/Src/gpio.o \
|
||||
./Core/Src/main.o \
|
||||
./Core/Src/meter.o \
|
||||
./Core/Src/psu_control.o \
|
||||
./Core/Src/rgb_controller.o \
|
||||
./Core/Src/rtc.o \
|
||||
./Core/Src/serial.o \
|
||||
./Core/Src/serial_control.o \
|
||||
./Core/Src/serial_handler.o \
|
||||
./Core/Src/sma_filter.o \
|
||||
./Core/Src/soft_rtc.o \
|
||||
./Core/Src/stm32f1xx_hal_msp.o \
|
||||
./Core/Src/stm32f1xx_it.o \
|
||||
./Core/Src/syscalls.o \
|
||||
./Core/Src/sysmem.o \
|
||||
./Core/Src/system_stm32f1xx.o \
|
||||
./Core/Src/tim.o \
|
||||
./Core/Src/usart.o
|
||||
|
||||
|
||||
# Each subdirectory must supply rules for building sources it contributes
|
||||
Core/Src/%.o Core/Src/%.su Core/Src/%.cyclo: ../Core/Src/%.c Core/Src/subdir.mk
|
||||
arm-none-eabi-gcc "$<" -mcpu=cortex-m3 -std=gnu11 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32F107xC -c -I../Core/Inc -I../Drivers/STM32F1xx_HAL_Driver/Inc -I../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" --specs=nano.specs -mfloat-abi=soft -mthumb -o "$@"
|
||||
|
||||
clean: clean-Core-2f-Src
|
||||
|
||||
clean-Core-2f-Src:
|
||||
-$(RM) ./Core/Src/adc.cyclo ./Core/Src/adc.d ./Core/Src/adc.o ./Core/Src/adc.su ./Core/Src/board.cyclo ./Core/Src/board.d ./Core/Src/board.o ./Core/Src/board.su ./Core/Src/can.cyclo ./Core/Src/can.d ./Core/Src/can.o ./Core/Src/can.su ./Core/Src/charger_control.cyclo ./Core/Src/charger_control.d ./Core/Src/charger_control.o ./Core/Src/charger_control.su ./Core/Src/cp.cyclo ./Core/Src/cp.d ./Core/Src/cp.o ./Core/Src/cp.su ./Core/Src/crc.cyclo ./Core/Src/crc.d ./Core/Src/crc.o ./Core/Src/crc.su ./Core/Src/debug.cyclo ./Core/Src/debug.d ./Core/Src/debug.o ./Core/Src/debug.su ./Core/Src/dma.cyclo ./Core/Src/dma.d ./Core/Src/dma.o ./Core/Src/dma.su ./Core/Src/fire_alarm.cyclo ./Core/Src/fire_alarm.d ./Core/Src/fire_alarm.o ./Core/Src/fire_alarm.su ./Core/Src/gpio.cyclo ./Core/Src/gpio.d ./Core/Src/gpio.o ./Core/Src/gpio.su ./Core/Src/main.cyclo ./Core/Src/main.d ./Core/Src/main.o ./Core/Src/main.su ./Core/Src/meter.cyclo ./Core/Src/meter.d ./Core/Src/meter.o ./Core/Src/meter.su ./Core/Src/psu_control.cyclo ./Core/Src/psu_control.d ./Core/Src/psu_control.o ./Core/Src/psu_control.su ./Core/Src/rgb_controller.cyclo ./Core/Src/rgb_controller.d ./Core/Src/rgb_controller.o ./Core/Src/rgb_controller.su ./Core/Src/rtc.cyclo ./Core/Src/rtc.d ./Core/Src/rtc.o ./Core/Src/rtc.su ./Core/Src/serial.cyclo ./Core/Src/serial.d ./Core/Src/serial.o ./Core/Src/serial.su ./Core/Src/serial_control.cyclo ./Core/Src/serial_control.d ./Core/Src/serial_control.o ./Core/Src/serial_control.su ./Core/Src/serial_handler.cyclo ./Core/Src/serial_handler.d ./Core/Src/serial_handler.o ./Core/Src/serial_handler.su ./Core/Src/sma_filter.cyclo ./Core/Src/sma_filter.d ./Core/Src/sma_filter.o ./Core/Src/sma_filter.su ./Core/Src/soft_rtc.cyclo ./Core/Src/soft_rtc.d ./Core/Src/soft_rtc.o ./Core/Src/soft_rtc.su ./Core/Src/stm32f1xx_hal_msp.cyclo ./Core/Src/stm32f1xx_hal_msp.d ./Core/Src/stm32f1xx_hal_msp.o ./Core/Src/stm32f1xx_hal_msp.su ./Core/Src/stm32f1xx_it.cyclo ./Core/Src/stm32f1xx_it.d ./Core/Src/stm32f1xx_it.o ./Core/Src/stm32f1xx_it.su ./Core/Src/syscalls.cyclo ./Core/Src/syscalls.d ./Core/Src/syscalls.o ./Core/Src/syscalls.su ./Core/Src/sysmem.cyclo ./Core/Src/sysmem.d ./Core/Src/sysmem.o ./Core/Src/sysmem.su ./Core/Src/system_stm32f1xx.cyclo ./Core/Src/system_stm32f1xx.d ./Core/Src/system_stm32f1xx.o ./Core/Src/system_stm32f1xx.su ./Core/Src/tim.cyclo ./Core/Src/tim.d ./Core/Src/tim.o ./Core/Src/tim.su ./Core/Src/usart.cyclo ./Core/Src/usart.d ./Core/Src/usart.o ./Core/Src/usart.su
|
||||
|
||||
.PHONY: clean-Core-2f-Src
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
../Core/Src/syscalls.c:44:6:initialise_monitor_handles 1
|
||||
../Core/Src/syscalls.c:48:5:_getpid 1
|
||||
../Core/Src/syscalls.c:53:5:_kill 1
|
||||
../Core/Src/syscalls.c:61:6:_exit 1
|
||||
../Core/Src/syscalls.c:67:27:_read 2
|
||||
../Core/Src/syscalls.c:80:27:_write 2
|
||||
../Core/Src/syscalls.c:92:5:_close 1
|
||||
../Core/Src/syscalls.c:99:5:_fstat 1
|
||||
../Core/Src/syscalls.c:106:5:_isatty 1
|
||||
../Core/Src/syscalls.c:112:5:_lseek 1
|
||||
../Core/Src/syscalls.c:120:5:_open 1
|
||||
../Core/Src/syscalls.c:128:5:_wait 1
|
||||
../Core/Src/syscalls.c:135:5:_unlink 1
|
||||
../Core/Src/syscalls.c:142:5:_times 1
|
||||
../Core/Src/syscalls.c:148:5:_stat 1
|
||||
../Core/Src/syscalls.c:155:5:_link 1
|
||||
../Core/Src/syscalls.c:163:5:_fork 1
|
||||
../Core/Src/syscalls.c:169:5:_execve 1
|
||||
@@ -1 +0,0 @@
|
||||
../Core/Src/sysmem.c:53:7:_sbrk 3
|
||||
@@ -1,2 +0,0 @@
|
||||
../Core/Src/system_stm32f1xx.c:175:6:SystemInit 1
|
||||
../Core/Src/system_stm32f1xx.c:224:6:SystemCoreClockUpdate 8
|
||||
@@ -1,5 +0,0 @@
|
||||
../Core/Src/tim.c:15:6:MX_TIM3_Init 8
|
||||
../Core/Src/tim.c:79:6:MX_TIM4_Init 8
|
||||
../Core/Src/tim.c:141:6:HAL_TIM_Base_MspInit 3
|
||||
../Core/Src/tim.c:171:6:HAL_TIM_MspPostInit 3
|
||||
../Core/Src/tim.c:219:6:HAL_TIM_Base_MspDeInit 3
|
||||
@@ -1,6 +0,0 @@
|
||||
../Core/Src/usart.c:21:6:MX_UART5_Init 2
|
||||
../Core/Src/usart.c:50:6:MX_USART1_UART_Init 2
|
||||
../Core/Src/usart.c:79:6:MX_USART2_UART_Init 2
|
||||
../Core/Src/usart.c:108:6:MX_USART3_UART_Init 2
|
||||
../Core/Src/usart.c:136:6:HAL_UART_MspInit 9
|
||||
../Core/Src/usart.c:333:6:HAL_UART_MspDeInit 5
|
||||
@@ -1,27 +0,0 @@
|
||||
################################################################################
|
||||
# Automatically-generated file. Do not edit!
|
||||
# Toolchain: GNU Tools for STM32 (13.3.rel1)
|
||||
################################################################################
|
||||
|
||||
# Add inputs and outputs from these tool invocations to the build variables
|
||||
S_SRCS += \
|
||||
../Core/Startup/startup_stm32f107vctx.s
|
||||
|
||||
S_DEPS += \
|
||||
./Core/Startup/startup_stm32f107vctx.d
|
||||
|
||||
OBJS += \
|
||||
./Core/Startup/startup_stm32f107vctx.o
|
||||
|
||||
|
||||
# Each subdirectory must supply rules for building sources it contributes
|
||||
Core/Startup/%.o: ../Core/Startup/%.s Core/Startup/subdir.mk
|
||||
arm-none-eabi-gcc -mcpu=cortex-m3 -g3 -DDEBUG -c -I/Users/colorbass/STM32CubeIDE/workspace_1.12.0/lib_EDCAN -x assembler-with-cpp -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" --specs=nano.specs -mfloat-abi=soft -mthumb -o "$@" "$<"
|
||||
|
||||
clean: clean-Core-2f-Startup
|
||||
|
||||
clean-Core-2f-Startup:
|
||||
-$(RM) ./Core/Startup/startup_stm32f107vctx.d ./Core/Startup/startup_stm32f107vctx.o
|
||||
|
||||
.PHONY: clean-Core-2f-Startup
|
||||
|
||||
Vendored
BIN
Binary file not shown.
@@ -1,25 +0,0 @@
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c:142:19:HAL_Init 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c:175:19:HAL_DeInit 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c:200:13:HAL_MspInit 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c:211:13:HAL_MspDeInit 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c:234:26:HAL_InitTick 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c:293:13:HAL_IncTick 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c:304:17:HAL_GetTick 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c:313:10:HAL_GetTickPrio 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c:322:19:HAL_SetTickFreq 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c:355:21:HAL_GetTickFreq 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c:371:13:HAL_Delay 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c:397:13:HAL_SuspendTick 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c:413:13:HAL_ResumeTick 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c:423:10:HAL_GetHalVersion 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c:439:10:HAL_GetREVID 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c:455:10:HAL_GetDEVID 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c:464:10:HAL_GetUIDw0 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c:473:10:HAL_GetUIDw1 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c:482:10:HAL_GetUIDw2 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c:491:6:HAL_DBGMCU_EnableDBGSleepMode 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c:507:6:HAL_DBGMCU_DisableDBGSleepMode 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c:537:6:HAL_DBGMCU_EnableDBGStopMode 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c:553:6:HAL_DBGMCU_DisableDBGStopMode 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c:569:6:HAL_DBGMCU_EnableDBGStandbyMode 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c:585:6:HAL_DBGMCU_DisableDBGStandbyMode 1
|
||||
@@ -1,27 +0,0 @@
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc.c:411:19:HAL_ADC_Init 12
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc.c:629:19:HAL_ADC_DeInit 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc.c:777:13:HAL_ADC_MspInit 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc.c:791:13:HAL_ADC_MspDeInit 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc.c:1036:19:HAL_ADC_Start 13
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc.c:1149:19:HAL_ADC_Stop 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc.c:1193:19:HAL_ADC_PollForConversion 25
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc.c:1332:19:HAL_ADC_PollForEvent 6
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc.c:1385:19:HAL_ADC_Start_IT 13
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc.c:1496:19:HAL_ADC_Stop_IT 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc.c:1553:19:HAL_ADC_Start_DMA 14
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc.c:1694:19:HAL_ADC_Stop_DMA 5
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc.c:1762:10:HAL_ADC_GetValue 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc.c:1779:6:HAL_ADC_IRQHandler 17
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc.c:1909:13:HAL_ADC_ConvCpltCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc.c:1923:13:HAL_ADC_ConvHalfCpltCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc.c:1937:13:HAL_ADC_LevelOutOfWindowCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc.c:1952:13:HAL_ADC_ErrorCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc.c:2000:19:HAL_ADC_ConfigChannel 11
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc.c:2110:19:HAL_ADC_AnalogWDGConfig 4
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc.c:2197:10:HAL_ADC_GetState 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc.c:2208:10:HAL_ADC_GetError 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc.c:2232:19:ADC_Enable 6
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc.c:2291:19:ADC_ConversionStop_Disable 5
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc.c:2333:6:ADC_DMAConvCplt 5
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc.c:2380:6:ADC_DMAHalfConvCplt 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc.c:2398:6:ADC_DMAError 1
|
||||
@@ -1,13 +0,0 @@
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc_ex.c:119:19:HAL_ADCEx_Calibration_Start 10
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc_ex.c:229:19:HAL_ADCEx_InjectedStart 10
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc_ex.c:328:19:HAL_ADCEx_InjectedStop 5
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc_ex.c:381:19:HAL_ADCEx_InjectedPollForConversion 25
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc_ex.c:507:19:HAL_ADCEx_InjectedStart_IT 10
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc_ex.c:606:19:HAL_ADCEx_InjectedStop_IT 5
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc_ex.c:675:19:HAL_ADCEx_MultiModeStart_DMA 7
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc_ex.c:801:19:HAL_ADCEx_MultiModeStop_DMA 4
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc_ex.c:889:10:HAL_ADCEx_InjectedGetValue 5
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc_ex.c:926:10:HAL_ADCEx_MultiModeGetValue 2
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc_ex.c:958:13:HAL_ADCEx_InjectedConvCpltCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc_ex.c:1000:19:HAL_ADCEx_InjectedConfigChannel 23
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc_ex.c:1261:19:HAL_ADCEx_MultiModeConfigChannel 5
|
||||
@@ -1,36 +0,0 @@
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.c:275:19:HAL_CAN_Init 13
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.c:460:19:HAL_CAN_DeInit 2
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.c:507:13:HAL_CAN_MspInit 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.c:523:13:HAL_CAN_MspDeInit 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.c:840:19:HAL_CAN_ConfigFilter 8
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.c:1006:19:HAL_CAN_Start 4
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.c:1058:19:HAL_CAN_Stop 4
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.c:1113:19:HAL_CAN_RequestSleep 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.c:1144:19:HAL_CAN_WakeUp 5
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.c:1191:10:HAL_CAN_IsSleepActive 4
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.c:1222:19:HAL_CAN_AddTxMessage 8
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.c:1322:19:HAL_CAN_AbortTxRequest 6
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.c:1371:10:HAL_CAN_GetTxMailboxesFreeLevel 6
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.c:1414:10:HAL_CAN_IsTxMessagePending 4
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.c:1446:10:HAL_CAN_GetTxTimestamp 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.c:1480:19:HAL_CAN_GetRxMessage 9
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.c:1580:10:HAL_CAN_GetRxFifoFillLevel 4
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.c:1633:19:HAL_CAN_ActivateNotification 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.c:1666:19:HAL_CAN_DeactivateNotification 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.c:1697:6:HAL_CAN_IRQHandler 51
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.c:2108:13:HAL_CAN_TxMailbox0CompleteCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.c:2125:13:HAL_CAN_TxMailbox1CompleteCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.c:2142:13:HAL_CAN_TxMailbox2CompleteCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.c:2159:13:HAL_CAN_TxMailbox0AbortCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.c:2176:13:HAL_CAN_TxMailbox1AbortCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.c:2193:13:HAL_CAN_TxMailbox2AbortCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.c:2210:13:HAL_CAN_RxFifo0MsgPendingCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.c:2227:13:HAL_CAN_RxFifo0FullCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.c:2244:13:HAL_CAN_RxFifo1MsgPendingCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.c:2261:13:HAL_CAN_RxFifo1FullCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.c:2278:13:HAL_CAN_SleepCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.c:2294:13:HAL_CAN_WakeUpFromRxMsgCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.c:2311:13:HAL_CAN_ErrorCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.c:2348:22:HAL_CAN_GetState 5
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.c:2383:10:HAL_CAN_GetError 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.c:2395:19:HAL_CAN_ResetError 3
|
||||
@@ -1,29 +0,0 @@
|
||||
../Drivers/CMSIS/Include/core_cm3.h:1480:22:__NVIC_SetPriorityGrouping 1
|
||||
../Drivers/CMSIS/Include/core_cm3.h:1499:26:__NVIC_GetPriorityGrouping 1
|
||||
../Drivers/CMSIS/Include/core_cm3.h:1511:22:__NVIC_EnableIRQ 2
|
||||
../Drivers/CMSIS/Include/core_cm3.h:1547:22:__NVIC_DisableIRQ 2
|
||||
../Drivers/CMSIS/Include/core_cm3.h:1566:26:__NVIC_GetPendingIRQ 2
|
||||
../Drivers/CMSIS/Include/core_cm3.h:1585:22:__NVIC_SetPendingIRQ 2
|
||||
../Drivers/CMSIS/Include/core_cm3.h:1600:22:__NVIC_ClearPendingIRQ 2
|
||||
../Drivers/CMSIS/Include/core_cm3.h:1617:26:__NVIC_GetActive 2
|
||||
../Drivers/CMSIS/Include/core_cm3.h:1639:22:__NVIC_SetPriority 2
|
||||
../Drivers/CMSIS/Include/core_cm3.h:1661:26:__NVIC_GetPriority 2
|
||||
../Drivers/CMSIS/Include/core_cm3.h:1686:26:NVIC_EncodePriority 2
|
||||
../Drivers/CMSIS/Include/core_cm3.h:1713:22:NVIC_DecodePriority 2
|
||||
../Drivers/CMSIS/Include/core_cm3.h:1762:34:__NVIC_SystemReset 1
|
||||
../Drivers/CMSIS/Include/core_cm3.h:1834:26:SysTick_Config 2
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c:142:6:HAL_NVIC_SetPriorityGrouping 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c:164:6:HAL_NVIC_SetPriority 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c:186:6:HAL_NVIC_EnableIRQ 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c:202:6:HAL_NVIC_DisableIRQ 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c:215:6:HAL_NVIC_SystemReset 0
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c:228:10:HAL_SYSTICK_Config 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c:369:10:HAL_NVIC_GetPriorityGrouping 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c:396:6:HAL_NVIC_GetPriority 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c:411:6:HAL_NVIC_SetPendingIRQ 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c:429:10:HAL_NVIC_GetPendingIRQ 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c:445:6:HAL_NVIC_ClearPendingIRQ 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c:462:10:HAL_NVIC_GetActive 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c:479:6:HAL_SYSTICK_CLKSourceConfig 2
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c:497:6:HAL_SYSTICK_IRQHandler 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c:506:13:HAL_SYSTICK_Callback 1
|
||||
@@ -1,7 +0,0 @@
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_crc.c:95:19:HAL_CRC_Init 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_crc.c:126:19:HAL_CRC_DeInit 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_crc.c:170:13:HAL_CRC_MspInit 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_crc.c:185:13:HAL_CRC_MspDeInit 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_crc.c:227:10:HAL_CRC_Accumulate 2
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_crc.c:257:10:HAL_CRC_Calculate 2
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_crc.c:306:22:HAL_CRC_GetState 1
|
||||
@@ -1,13 +0,0 @@
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c:142:19:HAL_DMA_Init 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c:219:19:HAL_DMA_DeInit 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c:318:19:HAL_DMA_Start 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c:361:19:HAL_DMA_Start_IT 4
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c:415:19:HAL_DMA_Abort 2
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c:456:19:HAL_DMA_Abort_IT 26
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c:501:19:HAL_DMA_PollForTransfer 102
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c:602:6:HAL_DMA_IRQHandler 58
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c:692:19:HAL_DMA_RegisterCallback 7
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c:743:19:HAL_DMA_UnRegisterCallback 8
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c:819:22:HAL_DMA_GetState 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c:831:10:HAL_DMA_GetError 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c:857:13:DMA_SetConfig 2
|
||||
@@ -1,9 +0,0 @@
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.c:142:19:HAL_EXTI_SetConfigLine 9
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.c:237:19:HAL_EXTI_GetConfigLine 9
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.c:316:19:HAL_EXTI_ClearConfigLine 4
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.c:369:19:HAL_EXTI_RegisterCallback 2
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.c:394:19:HAL_EXTI_GetHandle 2
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.c:434:6:HAL_EXTI_IRQHandler 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.c:466:10:HAL_EXTI_GetPending 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.c:498:6:HAL_EXTI_ClearPending 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.c:522:6:HAL_EXTI_GenerateSWI 1
|
||||
@@ -1,14 +0,0 @@
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c:166:19:HAL_FLASH_Program 7
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c:265:19:HAL_FLASH_Program_IT 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c:327:6:HAL_FLASH_IRQHandler 12
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c:599:13:HAL_FLASH_EndOfOperationCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c:617:13:HAL_FLASH_OperationErrorCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c:650:19:HAL_FLASH_Unlock 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c:688:19:HAL_FLASH_Lock 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c:705:19:HAL_FLASH_OB_Unlock 2
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c:725:19:HAL_FLASH_OB_Lock 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c:738:6:HAL_FLASH_OB_Launch 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c:767:10:HAL_FLASH_GetError 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c:790:13:FLASH_Program_HalfWord 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c:819:19:FLASH_WaitForLastOperation 9
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c:907:13:FLASH_SetErrorCode 5
|
||||
@@ -1,16 +0,0 @@
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c:157:19:HAL_FLASHEx_Erase 7
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c:317:19:HAL_FLASHEx_Erase_IT 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c:392:19:HAL_FLASHEx_OBErase 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c:441:19:HAL_FLASHEx_OBProgram 11
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c:522:6:HAL_FLASHEx_OBGetConfig 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c:544:10:HAL_FLASHEx_OBGetUserData 2
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c:590:13:FLASH_MassErase 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c:639:26:FLASH_OB_EnableWRP 10
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c:762:26:FLASH_OB_DisableWRP 10
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c:881:26:FLASH_OB_RDP_LevelConfig 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c:932:26:FLASH_OB_UserConfig 2
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c:983:26:FLASH_OB_ProgramData 2
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c:1016:17:FLASH_OB_GetWRP 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c:1029:17:FLASH_OB_GetRDP 2
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c:1055:16:FLASH_OB_GetUser 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c:1084:6:FLASH_PageErase 1
|
||||
@@ -1,8 +0,0 @@
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c:178:6:HAL_GPIO_Init 34
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c:351:6:HAL_GPIO_DeInit 10
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c:431:15:HAL_GPIO_ReadPin 2
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c:465:6:HAL_GPIO_WritePin 2
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c:487:6:HAL_GPIO_TogglePin 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c:511:19:HAL_GPIO_LockPin 2
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c:546:6:HAL_GPIO_EXTI_IRQHandler 2
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c:561:13:HAL_GPIO_EXTI_Callback 1
|
||||
@@ -1,3 +0,0 @@
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c:81:6:HAL_GPIOEx_ConfigEventout 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c:95:6:HAL_GPIOEx_EnableEventout 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c:104:6:HAL_GPIOEx_DisableEventout 1
|
||||
@@ -1,18 +0,0 @@
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c:116:13:PWR_OverloadWfe 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c:155:6:HAL_PWR_DeInit 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c:168:6:HAL_PWR_EnableBkUpAccess 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c:181:6:HAL_PWR_DisableBkUpAccess 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c:315:6:HAL_PWR_ConfigPVD 5
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c:358:6:HAL_PWR_EnablePVD 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c:368:6:HAL_PWR_DisablePVD 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c:381:6:HAL_PWR_EnableWakeUpPin 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c:396:6:HAL_PWR_DisableWakeUpPin 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c:416:6:HAL_PWR_EnterSLEEPMode 2
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c:462:6:HAL_PWR_EnterSTOPMode 2
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c:502:6:HAL_PWR_EnterSTANDBYMode 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c:527:6:HAL_PWR_EnableSleepOnExit 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c:540:6:HAL_PWR_DisableSleepOnExit 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c:553:6:HAL_PWR_EnableSEVOnPend 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c:566:6:HAL_PWR_DisableSEVOnPend 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c:579:6:HAL_PWR_PVD_IRQHandler 2
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c:596:13:HAL_PWR_PVDCallback 1
|
||||
@@ -1,15 +0,0 @@
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c:200:19:HAL_RCC_DeInit 14
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c:345:19:HAL_RCC_OscConfig 73
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c:811:19:HAL_RCC_ClockConfig 19
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c:1000:6:HAL_RCC_MCOConfig 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c:1037:6:HAL_RCC_EnableCSS 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c:1046:6:HAL_RCC_DisableCSS 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c:1080:10:HAL_RCC_GetSysClockFreq 6
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c:1174:10:HAL_RCC_GetHCLKFreq 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c:1185:10:HAL_RCC_GetPCLK1Freq 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c:1197:10:HAL_RCC_GetPCLK2Freq 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c:1210:6:HAL_RCC_GetOscConfig 9
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c:1310:6:HAL_RCC_GetClockConfig 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c:1345:6:HAL_RCC_NMI_IRQHandler 2
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c:1363:13:RCC_Delay 2
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c:1377:13:HAL_RCC_CSSCallback 1
|
||||
@@ -1,7 +0,0 @@
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.c:98:19:HAL_RCCEx_PeriphCLKConfig 25
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.c:292:6:HAL_RCCEx_GetPeriphCLKConfig 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.c:385:10:HAL_RCCEx_GetPeriphCLKFreq 21
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.c:611:19:HAL_RCCEx_EnablePLLI2S 9
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.c:681:19:HAL_RCCEx_DisablePLLI2S 5
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.c:737:19:HAL_RCCEx_EnablePLL2 10
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.c:808:19:HAL_RCCEx_DisablePLL2 6
|
||||
@@ -1,28 +0,0 @@
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c:276:19:HAL_RTC_Init 9
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c:412:19:HAL_RTC_DeInit 4
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c:651:13:HAL_RTC_MspInit 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c:666:13:HAL_RTC_MspDeInit 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c:704:19:HAL_RTC_SetTime 9
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c:803:19:HAL_RTC_GetTime 12
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c:914:19:HAL_RTC_SetDate 10
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c:1028:19:HAL_RTC_GetDate 5
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c:1093:19:HAL_RTC_SetAlarm 8
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c:1185:19:HAL_RTC_SetAlarm_IT 8
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c:1290:19:HAL_RTC_GetAlarm 4
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c:1335:19:HAL_RTC_DeactivateAlarm 5
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c:1405:6:HAL_RTC_AlarmIRQHandler 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c:1437:13:HAL_RTC_AlarmAEventCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c:1453:19:HAL_RTC_PollForAlarmAEvent 6
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c:1508:21:HAL_RTC_GetState 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c:1541:19:HAL_RTC_WaitForSynchro 4
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c:1588:17:RTC_ReadTimeCounter 2
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c:1620:26:RTC_WriteTimeCounter 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c:1652:17:RTC_ReadAlarmCounter 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c:1669:26:RTC_WriteAlarmCounter 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c:1701:26:RTC_EnterInitMode 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c:1728:26:RTC_ExitInitMode 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c:1753:16:RTC_ByteToBcd2 2
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c:1771:16:RTC_Bcd2ToByte 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c:1785:13:RTC_DateUpdate 21
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c:1880:16:RTC_IsLeapYear 4
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c:1917:16:RTC_WeekDayNum 2
|
||||
@@ -1,14 +0,0 @@
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc_ex.c:80:19:HAL_RTCEx_SetTamper 5
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc_ex.c:126:19:HAL_RTCEx_SetTamper_IT 5
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc_ex.c:174:19:HAL_RTCEx_DeactivateTamper 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc_ex.c:216:6:HAL_RTCEx_TamperIRQHandler 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc_ex.c:246:13:HAL_RTCEx_Tamper1EventCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc_ex.c:262:19:HAL_RTCEx_PollForTamper1Event 6
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc_ex.c:318:19:HAL_RTCEx_SetSecond_IT 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc_ex.c:348:19:HAL_RTCEx_DeactivateSecond 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc_ex.c:378:6:HAL_RTCEx_RTCIRQHandler 4
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc_ex.c:418:13:HAL_RTCEx_RTCEventCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc_ex.c:433:13:HAL_RTCEx_RTCEventErrorCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc_ex.c:473:6:HAL_RTCEx_BKUPWrite 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc_ex.c:498:10:HAL_RTCEx_BKUPRead 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc_ex.c:528:19:HAL_RTCEx_SetSmoothCalib 3
|
||||
@@ -1,119 +0,0 @@
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:266:19:HAL_TIM_Base_Init 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:326:19:HAL_TIM_Base_DeInit 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:369:13:HAL_TIM_Base_MspInit 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:384:13:HAL_TIM_Base_MspDeInit 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:400:19:HAL_TIM_Base_Start 8
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:439:19:HAL_TIM_Base_Stop 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:459:19:HAL_TIM_Base_Start_IT 8
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:501:19:HAL_TIM_Base_Stop_IT 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:526:19:HAL_TIM_Base_Start_DMA 12
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:595:19:HAL_TIM_Base_Stop_DMA 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:650:19:HAL_TIM_OC_Init 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:710:19:HAL_TIM_OC_DeInit 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:753:13:HAL_TIM_OC_MspInit 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:768:13:HAL_TIM_OC_MspDeInit 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:789:19:HAL_TIM_OC_Start 15
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:843:19:HAL_TIM_OC_Stop 9
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:878:19:HAL_TIM_OC_Start_IT 20
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:971:19:HAL_TIM_OC_Stop_IT 14
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:1048:19:HAL_TIM_OC_Start_DMA 30
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:1212:19:HAL_TIM_OC_Stop_DMA 14
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:1315:19:HAL_TIM_PWM_Init 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:1375:19:HAL_TIM_PWM_DeInit 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:1418:13:HAL_TIM_PWM_MspInit 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:1433:13:HAL_TIM_PWM_MspDeInit 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:1454:19:HAL_TIM_PWM_Start 15
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:1508:19:HAL_TIM_PWM_Stop 9
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:1543:19:HAL_TIM_PWM_Start_IT 20
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:1636:19:HAL_TIM_PWM_Stop_IT 14
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:1713:19:HAL_TIM_PWM_Start_DMA 30
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:1876:19:HAL_TIM_PWM_Stop_DMA 14
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:1979:19:HAL_TIM_IC_Init 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:2039:19:HAL_TIM_IC_DeInit 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:2082:13:HAL_TIM_IC_MspInit 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:2097:13:HAL_TIM_IC_MspDeInit 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:2118:19:HAL_TIM_IC_Start 21
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:2170:19:HAL_TIM_IC_Stop 9
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:2200:19:HAL_TIM_IC_Start_IT 26
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:2292:19:HAL_TIM_IC_Stop_IT 14
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:2364:19:HAL_TIM_IC_Start_DMA 33
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:2523:19:HAL_TIM_IC_Stop_DMA 14
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:2628:19:HAL_TIM_OnePulse_Init 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:2697:19:HAL_TIM_OnePulse_DeInit 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:2742:13:HAL_TIM_OnePulse_MspInit 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:2757:13:HAL_TIM_OnePulse_MspDeInit 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:2777:19:HAL_TIM_OnePulse_Start 6
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:2834:19:HAL_TIM_OnePulse_Stop 6
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:2877:19:HAL_TIM_OnePulse_Start_IT 6
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:2940:19:HAL_TIM_OnePulse_Stop_IT 6
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:3019:19:HAL_TIM_Encoder_Init 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:3133:19:HAL_TIM_Encoder_DeInit 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:3178:13:HAL_TIM_Encoder_MspInit 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:3193:13:HAL_TIM_Encoder_MspDeInit 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:3213:19:HAL_TIM_Encoder_Start 13
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:3307:19:HAL_TIM_Encoder_Stop 13
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:3367:19:HAL_TIM_Encoder_Start_IT 13
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:3467:19:HAL_TIM_Encoder_Stop_IT 13
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:3532:19:HAL_TIM_Encoder_Start_DMA 32
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:3745:19:HAL_TIM_Encoder_Stop_DMA 13
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:3822:6:HAL_TIM_IRQHandler 21
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:4040:19:HAL_TIM_OC_ConfigChannel 6
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:4119:19:HAL_TIM_IC_ConfigChannel 6
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:4218:19:HAL_TIM_PWM_ConfigChannel 6
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:4332:19:HAL_TIM_OnePulse_ConfigChannel 8
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:4480:19:HAL_TIM_DMABurst_WriteStart 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:4533:19:HAL_TIM_DMABurst_MultiWriteStart 25
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:4717:19:HAL_TIM_DMABurst_WriteStop 14
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:4818:19:HAL_TIM_DMABurst_ReadStart 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:4869:19:HAL_TIM_DMABurst_MultiReadStart 25
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:5053:19:HAL_TIM_DMABurst_ReadStop 14
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:5136:19:HAL_TIM_GenerateEvent 2
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:5173:19:HAL_TIM_ConfigOCrefClear 14
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:5303:19:HAL_TIM_ConfigClockSource 20
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:5457:19:HAL_TIM_ConfigTI1Input 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:5489:19:HAL_TIM_SlaveConfigSynchro 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:5529:19:HAL_TIM_SlaveConfigSynchro_IT 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:5572:10:HAL_TIM_ReadCapturedValue 5
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:5656:13:HAL_TIM_PeriodElapsedCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:5671:13:HAL_TIM_PeriodElapsedHalfCpltCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:5686:13:HAL_TIM_OC_DelayElapsedCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:5701:13:HAL_TIM_IC_CaptureCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:5716:13:HAL_TIM_IC_CaptureHalfCpltCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:5731:13:HAL_TIM_PWM_PulseFinishedCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:5746:13:HAL_TIM_PWM_PulseFinishedHalfCpltCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:5761:13:HAL_TIM_TriggerCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:5776:13:HAL_TIM_TriggerHalfCpltCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:5791:13:HAL_TIM_ErrorCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:6338:22:HAL_TIM_Base_GetState 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:6348:22:HAL_TIM_OC_GetState 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:6358:22:HAL_TIM_PWM_GetState 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:6368:22:HAL_TIM_IC_GetState 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:6378:22:HAL_TIM_OnePulse_GetState 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:6388:22:HAL_TIM_Encoder_GetState 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:6398:23:HAL_TIM_GetActiveChannel 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:6416:29:HAL_TIM_GetChannelState 4
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:6433:30:HAL_TIM_DMABurstState 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:6458:6:TIM_DMAError 5
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:6501:13:TIM_DMADelayPulseCplt 9
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:6560:6:TIM_DMADelayPulseHalfCplt 5
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:6599:6:TIM_DMACaptureCplt 9
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:6662:6:TIM_DMACaptureHalfCplt 5
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:6701:13:TIM_DMAPeriodElapsedCplt 2
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:6722:13:TIM_DMAPeriodElapsedHalfCplt 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:6738:13:TIM_DMATriggerCplt 2
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:6759:13:TIM_DMATriggerHalfCplt 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:6776:6:TIM_Base_SetConfig 13
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:6831:13:TIM_OC1_SetConfig 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:6907:6:TIM_OC2_SetConfig 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:6983:13:TIM_OC3_SetConfig 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:7058:13:TIM_OC4_SetConfig 2
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:7119:26:TIM_SlaveTimer_SetConfig 16
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:7253:6:TIM_TI1_SetConfig 7
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:7300:13:TIM_TI1_ConfigInputStage 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:7343:13:TIM_TI2_SetConfig 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:7383:13:TIM_TI2_ConfigInputStage 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:7425:13:TIM_TI3_SetConfig 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:7472:13:TIM_TI4_SetConfig 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:7515:13:TIM_ITRx_SetConfig 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:7545:6:TIM_ETR_SetConfig 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c:7575:6:TIM_CCxChannelCmd 1
|
||||
@@ -1,42 +0,0 @@
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c:138:19:HAL_TIMEx_HallSensor_Init 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c:240:19:HAL_TIMEx_HallSensor_DeInit 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c:285:13:HAL_TIMEx_HallSensor_MspInit 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c:300:13:HAL_TIMEx_HallSensor_MspDeInit 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c:315:19:HAL_TIMEx_HallSensor_Start 11
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c:369:19:HAL_TIMEx_HallSensor_Stop 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c:397:19:HAL_TIMEx_HallSensor_Start_IT 11
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c:454:19:HAL_TIMEx_HallSensor_Stop_IT 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c:487:19:HAL_TIMEx_HallSensor_Start_DMA 14
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c:563:19:HAL_TIMEx_HallSensor_Stop_DMA 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c:625:19:HAL_TIMEx_OCN_Start 14
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c:676:19:HAL_TIMEx_OCN_Stop 8
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c:708:19:HAL_TIMEx_OCN_Start_IT 19
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c:795:19:HAL_TIMEx_OCN_Stop_IT 14
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c:870:19:HAL_TIMEx_OCN_Start_DMA 28
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c:1008:19:HAL_TIMEx_OCN_Stop_DMA 13
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c:1098:19:HAL_TIMEx_PWMN_Start 14
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c:1148:19:HAL_TIMEx_PWMN_Stop 8
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c:1180:19:HAL_TIMEx_PWMN_Start_IT 19
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c:1266:19:HAL_TIMEx_PWMN_Stop_IT 14
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c:1341:19:HAL_TIMEx_PWMN_Start_DMA 28
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c:1479:19:HAL_TIMEx_PWMN_Stop_DMA 13
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c:1570:19:HAL_TIMEx_OnePulseN_Start 6
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c:1619:19:HAL_TIMEx_OnePulseN_Stop 6
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c:1658:19:HAL_TIMEx_OnePulseN_Start_IT 6
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c:1713:19:HAL_TIMEx_OnePulseN_Stop_IT 6
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c:1792:19:HAL_TIMEx_ConfigCommutEvent 6
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c:1848:19:HAL_TIMEx_ConfigCommutEvent_IT 6
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c:1905:19:HAL_TIMEx_ConfigCommutEvent_DMA 6
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c:1954:19:HAL_TIMEx_MasterConfigSynchronization 7
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c:2015:19:HAL_TIMEx_ConfigBreakDeadTime 2
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c:2062:19:HAL_TIMEx_RemapConfig 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c:2096:13:HAL_TIMEx_CommutCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c:2110:13:HAL_TIMEx_CommutHalfCpltCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c:2125:13:HAL_TIMEx_BreakCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c:2158:22:HAL_TIMEx_HallSensor_GetState 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c:2173:29:HAL_TIMEx_GetChannelNState 4
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c:2202:6:TIMEx_DMACommutationCplt 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c:2221:6:TIMEx_DMACommutationHalfCplt 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c:2241:13:TIM_DMADelayPulseNCplt 7
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c:2291:13:TIM_DMAErrorCCxN 4
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c:2336:13:TIM_CCxNChannelCmd 1
|
||||
@@ -1,62 +0,0 @@
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:354:19:HAL_UART_Init 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:432:19:HAL_HalfDuplex_Init 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:508:19:HAL_LIN_Init 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:592:19:HAL_MultiProcessor_Init 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:672:19:HAL_UART_DeInit 2
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:718:13:HAL_UART_MspInit 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:733:13:HAL_UART_MspDeInit 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:1138:19:HAL_UART_Transmit 10
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:1224:19:HAL_UART_Receive 12
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:1311:19:HAL_UART_Transmit_IT 4
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:1350:19:HAL_UART_Receive_IT 4
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:1382:19:HAL_UART_Transmit_DMA 5
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:1444:19:HAL_UART_Receive_DMA 4
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:1471:19:HAL_UART_DMAPause 9
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:1502:19:HAL_UART_DMAResume 8
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:1536:19:HAL_UART_DMAStop 9
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:1591:19:HAL_UARTEx_ReceiveToIdle 17
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:1716:19:HAL_UARTEx_ReceiveToIdle_IT 7
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:1776:19:HAL_UARTEx_ReceiveToIdle_DMA 6
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:1841:29:HAL_UARTEx_GetRxEventType 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:1859:19:HAL_UART_Abort 15
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:1948:19:HAL_UART_AbortTransmit 7
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:1999:19:HAL_UART_AbortReceive 10
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:2060:19:HAL_UART_Abort_IT 18
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:2195:19:HAL_UART_AbortTransmit_IT 6
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:2272:19:HAL_UART_AbortReceive_IT 9
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:2350:6:HAL_UART_IRQHandler 45
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:2592:13:HAL_UART_TxCpltCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:2607:13:HAL_UART_TxHalfCpltCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:2622:13:HAL_UART_RxCpltCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:2637:13:HAL_UART_RxHalfCpltCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:2652:13:HAL_UART_ErrorCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:2666:13:HAL_UART_AbortCpltCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:2681:13:HAL_UART_AbortTransmitCpltCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:2696:13:HAL_UART_AbortReceiveCpltCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:2713:13:HAL_UARTEx_RxEventCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:2753:19:HAL_LIN_SendBreak 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:2780:19:HAL_MultiProcessor_EnterMuteMode 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:2808:19:HAL_MultiProcessor_ExitMuteMode 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:2836:19:HAL_HalfDuplex_EnableTransmitter 2
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:2871:19:HAL_HalfDuplex_EnableReceiver 2
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:2928:23:HAL_UART_GetState 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:2943:10:HAL_UART_GetError 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:2988:13:UART_DMATransmitCplt 4
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:3023:13:UART_DMATxHalfCplt 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:3042:13:UART_DMAReceiveCplt 8
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:3104:13:UART_DMARxHalfCplt 2
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:3143:13:UART_DMAError 5
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:3185:26:UART_WaitOnFlagUntilTimeout 9
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:3236:19:UART_Start_Receive_IT 2
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:3271:19:UART_Start_Receive_DMA 5
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:3321:13:UART_EndTxTransfer 2
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:3335:13:UART_EndRxTransfer 5
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:3359:13:UART_DMAAbortOnError 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:3383:13:UART_DMATxAbortCallback 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:3429:13:UART_DMARxAbortCallback 3
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:3475:13:UART_DMATxOnlyAbortCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:3503:13:UART_DMARxOnlyAbortCallback 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:3529:26:UART_Transmit_IT 5
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:3569:26:UART_EndTransmit_IT 1
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:3594:26:UART_Receive_IT 11
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:3695:13:UART_SetConfig 2
|
||||
@@ -1,84 +0,0 @@
|
||||
################################################################################
|
||||
# Automatically-generated file. Do not edit!
|
||||
# Toolchain: GNU Tools for STM32 (13.3.rel1)
|
||||
################################################################################
|
||||
|
||||
# Add inputs and outputs from these tool invocations to the build variables
|
||||
C_SRCS += \
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c \
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc.c \
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc_ex.c \
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.c \
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c \
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_crc.c \
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c \
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.c \
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c \
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c \
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c \
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c \
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c \
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c \
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.c \
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c \
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc_ex.c \
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c \
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c \
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c
|
||||
|
||||
C_DEPS += \
|
||||
./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.d \
|
||||
./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc.d \
|
||||
./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc_ex.d \
|
||||
./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.d \
|
||||
./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.d \
|
||||
./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_crc.d \
|
||||
./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.d \
|
||||
./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.d \
|
||||
./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.d \
|
||||
./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.d \
|
||||
./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.d \
|
||||
./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.d \
|
||||
./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.d \
|
||||
./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.d \
|
||||
./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.d \
|
||||
./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.d \
|
||||
./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc_ex.d \
|
||||
./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.d \
|
||||
./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.d \
|
||||
./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.d
|
||||
|
||||
OBJS += \
|
||||
./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.o \
|
||||
./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc.o \
|
||||
./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc_ex.o \
|
||||
./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.o \
|
||||
./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.o \
|
||||
./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_crc.o \
|
||||
./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.o \
|
||||
./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.o \
|
||||
./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.o \
|
||||
./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.o \
|
||||
./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.o \
|
||||
./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.o \
|
||||
./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.o \
|
||||
./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.o \
|
||||
./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.o \
|
||||
./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.o \
|
||||
./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc_ex.o \
|
||||
./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.o \
|
||||
./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.o \
|
||||
./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.o
|
||||
|
||||
|
||||
# Each subdirectory must supply rules for building sources it contributes
|
||||
Drivers/STM32F1xx_HAL_Driver/Src/%.o Drivers/STM32F1xx_HAL_Driver/Src/%.su Drivers/STM32F1xx_HAL_Driver/Src/%.cyclo: ../Drivers/STM32F1xx_HAL_Driver/Src/%.c Drivers/STM32F1xx_HAL_Driver/Src/subdir.mk
|
||||
arm-none-eabi-gcc "$<" -mcpu=cortex-m3 -std=gnu11 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32F107xC -c -I../Core/Inc -I../Drivers/STM32F1xx_HAL_Driver/Inc -I../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" --specs=nano.specs -mfloat-abi=soft -mthumb -o "$@"
|
||||
|
||||
clean: clean-Drivers-2f-STM32F1xx_HAL_Driver-2f-Src
|
||||
|
||||
clean-Drivers-2f-STM32F1xx_HAL_Driver-2f-Src:
|
||||
-$(RM) ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.cyclo ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.d ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.o ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.su ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc.cyclo ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc.d ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc.o ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc.su ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc_ex.cyclo ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc_ex.d ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc_ex.o ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc_ex.su ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.cyclo ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.d ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.o ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.su ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.cyclo ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.d ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.o ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.su ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_crc.cyclo ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_crc.d ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_crc.o ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_crc.su ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.cyclo ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.d ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.o ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.su ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.cyclo ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.d ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.o ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.su ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.cyclo ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.d ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.o ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.su ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.cyclo ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.d ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.o ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.su ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.cyclo ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.d ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.o ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.su ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.cyclo ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.d ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.o ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.su ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.cyclo ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.d ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.o ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.su ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.cyclo ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.d ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.o ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.su ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.cyclo ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.d ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.o ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.su ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.cyclo ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.d ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.o ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.su ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc_ex.cyclo ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc_ex.d ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc_ex.o ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc_ex.su ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.cyclo ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.d ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.o ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.su ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.cyclo ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.d ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.o ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.su ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.cyclo ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.d ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.o ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.su
|
||||
|
||||
.PHONY: clean-Drivers-2f-STM32F1xx_HAL_Driver-2f-Src
|
||||
|
||||
-118
@@ -1,118 +0,0 @@
|
||||
################################################################################
|
||||
# Automatically-generated file. Do not edit!
|
||||
# Toolchain: GNU Tools for STM32 (13.3.rel1)
|
||||
################################################################################
|
||||
|
||||
-include ../makefile.init
|
||||
|
||||
RM := rm -rf
|
||||
|
||||
# All of the sources participating in the build are defined here
|
||||
-include sources.mk
|
||||
-include Drivers/STM32F1xx_HAL_Driver/Src/subdir.mk
|
||||
-include Core/Startup/subdir.mk
|
||||
-include Core/Src/subdir.mk
|
||||
-include objects.mk
|
||||
|
||||
ifneq ($(MAKECMDGOALS),clean)
|
||||
ifneq ($(strip $(S_DEPS)),)
|
||||
-include $(S_DEPS)
|
||||
endif
|
||||
ifneq ($(strip $(S_UPPER_DEPS)),)
|
||||
-include $(S_UPPER_DEPS)
|
||||
endif
|
||||
ifneq ($(strip $(C_DEPS)),)
|
||||
-include $(C_DEPS)
|
||||
endif
|
||||
endif
|
||||
|
||||
-include ../makefile.defs
|
||||
|
||||
OPTIONAL_TOOL_DEPS := \
|
||||
$(wildcard ../makefile.defs) \
|
||||
$(wildcard ../makefile.init) \
|
||||
$(wildcard ../makefile.targets) \
|
||||
|
||||
|
||||
BUILD_ARTIFACT_NAME := CCSModuleSW30Web
|
||||
BUILD_ARTIFACT_EXTENSION := elf
|
||||
BUILD_ARTIFACT_PREFIX :=
|
||||
BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ARTIFACT_EXTENSION),.$(BUILD_ARTIFACT_EXTENSION),)
|
||||
|
||||
# Add inputs and outputs from these tool invocations to the build variables
|
||||
EXECUTABLES += \
|
||||
CCSModuleSW30Web.elf \
|
||||
|
||||
MAP_FILES += \
|
||||
CCSModuleSW30Web.map \
|
||||
|
||||
SIZE_OUTPUT += \
|
||||
default.size.stdout \
|
||||
|
||||
OBJDUMP_LIST += \
|
||||
CCSModuleSW30Web.list \
|
||||
|
||||
OBJCOPY_HEX += \
|
||||
CCSModuleSW30Web.hex \
|
||||
|
||||
OBJCOPY_BIN += \
|
||||
CCSModuleSW30Web.bin \
|
||||
|
||||
OBJCOPY_SREC += \
|
||||
CCSModuleSW30Web.srec \
|
||||
|
||||
|
||||
# All Target
|
||||
all: main-build
|
||||
|
||||
# Main-build Target
|
||||
main-build: CCSModuleSW30Web.elf secondary-outputs
|
||||
|
||||
# Tool invocations
|
||||
CCSModuleSW30Web.elf CCSModuleSW30Web.map: $(OBJS) $(USER_OBJS) /Users/colorbass/STM32CubeIDE/workspace_1.12.0/CCSModuleSW30Web/STM32F107VCTX_FLASH.ld makefile objects.list $(OPTIONAL_TOOL_DEPS)
|
||||
arm-none-eabi-gcc -o "CCSModuleSW30Web.elf" @"objects.list" $(USER_OBJS) $(LIBS) -mcpu=cortex-m3 -T"/Users/colorbass/STM32CubeIDE/workspace_1.12.0/CCSModuleSW30Web/STM32F107VCTX_FLASH.ld" --specs=nosys.specs -Wl,-Map="CCSModuleSW30Web.map" -Wl,--gc-sections -static --specs=nano.specs -mfloat-abi=soft -mthumb -u _printf_float -Wl,--start-group -lc -lm -Wl,--end-group
|
||||
@echo 'Finished building target: $@'
|
||||
@echo ' '
|
||||
|
||||
default.size.stdout: $(EXECUTABLES) makefile objects.list $(OPTIONAL_TOOL_DEPS)
|
||||
arm-none-eabi-size $(EXECUTABLES)
|
||||
@echo 'Finished building: $@'
|
||||
@echo ' '
|
||||
|
||||
CCSModuleSW30Web.list: $(EXECUTABLES) makefile objects.list $(OPTIONAL_TOOL_DEPS)
|
||||
arm-none-eabi-objdump -h -S $(EXECUTABLES) > "CCSModuleSW30Web.list"
|
||||
@echo 'Finished building: $@'
|
||||
@echo ' '
|
||||
|
||||
CCSModuleSW30Web.hex: $(EXECUTABLES) makefile objects.list $(OPTIONAL_TOOL_DEPS)
|
||||
arm-none-eabi-objcopy -O ihex $(EXECUTABLES) "CCSModuleSW30Web.hex"
|
||||
@echo 'Finished building: $@'
|
||||
@echo ' '
|
||||
|
||||
CCSModuleSW30Web.bin: $(EXECUTABLES) makefile objects.list $(OPTIONAL_TOOL_DEPS)
|
||||
arm-none-eabi-objcopy -O binary $(EXECUTABLES) "CCSModuleSW30Web.bin"
|
||||
@echo 'Finished building: $@'
|
||||
@echo ' '
|
||||
|
||||
CCSModuleSW30Web.srec: $(EXECUTABLES) makefile objects.list $(OPTIONAL_TOOL_DEPS)
|
||||
arm-none-eabi-objcopy -O srec $(EXECUTABLES) "CCSModuleSW30Web.srec"
|
||||
@echo 'Finished building: $@'
|
||||
@echo ' '
|
||||
|
||||
# Other Targets
|
||||
clean:
|
||||
-$(RM) CCSModuleSW30Web.bin CCSModuleSW30Web.elf CCSModuleSW30Web.hex CCSModuleSW30Web.list CCSModuleSW30Web.map CCSModuleSW30Web.srec default.size.stdout
|
||||
-@echo ' '
|
||||
|
||||
secondary-outputs: $(SIZE_OUTPUT) $(OBJDUMP_LIST) $(OBJCOPY_HEX) $(OBJCOPY_BIN) $(OBJCOPY_SREC)
|
||||
|
||||
fail-specified-linker-script-missing:
|
||||
@echo 'Error: Cannot find the specified linker script. Check the linker settings in the build configuration.'
|
||||
@exit 2
|
||||
|
||||
warn-no-linker-script-specified:
|
||||
@echo 'Warning: No linker script specified. Check the linker settings in the build configuration.'
|
||||
|
||||
.PHONY: all clean dependents main-build fail-specified-linker-script-missing warn-no-linker-script-specified
|
||||
|
||||
-include ../makefile.targets
|
||||
@@ -1,48 +0,0 @@
|
||||
"./Core/Src/adc.o"
|
||||
"./Core/Src/board.o"
|
||||
"./Core/Src/can.o"
|
||||
"./Core/Src/charger_control.o"
|
||||
"./Core/Src/cp.o"
|
||||
"./Core/Src/crc.o"
|
||||
"./Core/Src/debug.o"
|
||||
"./Core/Src/dma.o"
|
||||
"./Core/Src/fire_alarm.o"
|
||||
"./Core/Src/gpio.o"
|
||||
"./Core/Src/main.o"
|
||||
"./Core/Src/meter.o"
|
||||
"./Core/Src/psu_control.o"
|
||||
"./Core/Src/rgb_controller.o"
|
||||
"./Core/Src/rtc.o"
|
||||
"./Core/Src/serial.o"
|
||||
"./Core/Src/serial_control.o"
|
||||
"./Core/Src/serial_handler.o"
|
||||
"./Core/Src/sma_filter.o"
|
||||
"./Core/Src/soft_rtc.o"
|
||||
"./Core/Src/stm32f1xx_hal_msp.o"
|
||||
"./Core/Src/stm32f1xx_it.o"
|
||||
"./Core/Src/syscalls.o"
|
||||
"./Core/Src/sysmem.o"
|
||||
"./Core/Src/system_stm32f1xx.o"
|
||||
"./Core/Src/tim.o"
|
||||
"./Core/Src/usart.o"
|
||||
"./Core/Startup/startup_stm32f107vctx.o"
|
||||
"./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.o"
|
||||
"./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc.o"
|
||||
"./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc_ex.o"
|
||||
"./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.o"
|
||||
"./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.o"
|
||||
"./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_crc.o"
|
||||
"./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.o"
|
||||
"./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.o"
|
||||
"./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.o"
|
||||
"./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.o"
|
||||
"./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.o"
|
||||
"./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.o"
|
||||
"./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.o"
|
||||
"./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.o"
|
||||
"./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.o"
|
||||
"./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.o"
|
||||
"./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc_ex.o"
|
||||
"./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.o"
|
||||
"./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.o"
|
||||
"./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.o"
|
||||
@@ -1,9 +0,0 @@
|
||||
################################################################################
|
||||
# Automatically-generated file. Do not edit!
|
||||
# Toolchain: GNU Tools for STM32 (13.3.rel1)
|
||||
################################################################################
|
||||
|
||||
USER_OBJS :=
|
||||
|
||||
LIBS :=
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
################################################################################
|
||||
# Automatically-generated file. Do not edit!
|
||||
# Toolchain: GNU Tools for STM32 (13.3.rel1)
|
||||
################################################################################
|
||||
|
||||
ELF_SRCS :=
|
||||
OBJ_SRCS :=
|
||||
S_SRCS :=
|
||||
C_SRCS :=
|
||||
S_UPPER_SRCS :=
|
||||
O_SRCS :=
|
||||
CYCLO_FILES :=
|
||||
OBJDUMP_LIST :=
|
||||
S_DEPS :=
|
||||
OBJCOPY_SREC :=
|
||||
C_DEPS :=
|
||||
OBJCOPY_BIN :=
|
||||
OBJCOPY_HEX :=
|
||||
SIZE_OUTPUT :=
|
||||
SU_FILES :=
|
||||
EXECUTABLES :=
|
||||
OBJS :=
|
||||
MAP_FILES :=
|
||||
S_UPPER_DEPS :=
|
||||
|
||||
# Every subdirectory with source files must be described here
|
||||
SUBDIRS := \
|
||||
Core/Src \
|
||||
Core/Startup \
|
||||
Drivers/STM32F1xx_HAL_Driver/Src \
|
||||
|
||||
Vendored
BIN
Binary file not shown.
@@ -139,3 +139,7 @@
|
||||
- `Core/Src/psu_control.c` — силовая логика, контакторы, fault-handling.
|
||||
- `Core/Src/cp.c` — физика CP и распознавание состояния EV.
|
||||
- `Core/Src/serial_control.c` + `Core/Src/serial_handler.c` — локальный протокол управления.
|
||||
|
||||
## Документация
|
||||
|
||||
- [docs/LOGGING_RECOMMENDATIONS.md](docs/LOGGING_RECOMMENDATIONS.md) — рекомендации по логированию.
|
||||
@@ -1,133 +0,0 @@
|
||||
# Журнал изменений (сессия чата): `fork/CCSModuleSW30Web`
|
||||
|
||||
Документ фиксирует доработки проекта **CCSModuleSW30Web** в ветке/каталоге форка
|
||||
`/Users/colorbass/STM32CubeIDE/workspace_1.12.0/fork/CCSModuleSW30Web`, обсуждавшиеся и вносившиеся в рамках описанной сессии (UART, ADC/DMA, CP, отладка IRQ, оптимизация `-Ofast` для кода из прерываний).
|
||||
|
||||
---
|
||||
|
||||
## 1. UART и протокол
|
||||
|
||||
### 1.1. UART3 (Everest / `serial.c`)
|
||||
|
||||
- Таймаут «нет связи с хостом»:** `EVEREST_TIMEOUT_MS` = **5000** мс.
|
||||
- Жёсткий реинициал при отсутствии RX:** `UART3_REINIT_TIMEOUT_MS` = **1500** мс (с защитой от слишком частых реинициалов через `uart3_last_reinit_tick`).
|
||||
- Расширено логирование путей сброса/ошибок приёма и ошибок HAL для диагностики «таймаут без остановки UART3».
|
||||
- Колбэки и вспомогательные функции, вызываемые из контекста прерывания, помечены **`ISR_FAST`** (см. раздел 6):
|
||||
`CCS_RxEventCallback`, `HAL_UART_ErrorCallback`, `uart3_log_hal_error`, `uart3_arm_rx_or_log`, цепочка разбора пакета (`process_received_packet`, `crc16_ibm`, `expected_payload_len`, `apply_command`).
|
||||
|
||||
### 1.2. UART2 / `serial_control.c`
|
||||
|
||||
- Отдельная логика **`SC_UART2_Watchdog()`**, вызывается из **`SC_Task()`** (не из IRQ).
|
||||
- Константы:
|
||||
- **`SC_UART2_REINIT_TIMEOUT_MS`** = **500** мс — порог для жёсткого реинициала при отсутствии пакетов;
|
||||
- **`SC_UART2_PACKET_TIMEOUT_MS`** = **5000** мс — таймаут коммуникации.
|
||||
- Сценарий **новый пакет при `BUSY_TX`**: при необходимости **`Abort_IT`**, сброс направления RS-485, затем повторная инициализация UART и приём `ReceiveToIdle_IT` (защита от обрыва TX из-за агрессивного watchdog).
|
||||
- Отдельная ветка **жёсткого реинициала при `BUSY_TX`** с логом `USART2 BUSY_TX: hard reinit` (отслеживание `sc_uart2_last_busy_tx_reinit_packet_tick`).
|
||||
- HAL-колбэки **`HAL_UARTEx_RxEventCallback`**, **`HAL_UART_TxCpltCallback`** помечены **`ISR_FAST`**.
|
||||
|
||||
### 1.3. `SC_SendPacket` и стек CRC/кодирования
|
||||
|
||||
- Для единообразной оптимизации пути «IRQ → ответ» на функции **`calculate_crc32`**, **`encode_packet`**, **`parse_packet`**, **`process_received_packet`** и публичную **`SC_SendPacket`** добавлен **`ISR_FAST`**.
|
||||
- В **`Core/Inc/serial_control.h`**: подключение **`isr_opt.h`**, прототип **`ISR_FAST void SC_SendPacket(...)`** (согласованность с определением в `.c`).
|
||||
|
||||
**Замечание:** `SC_SendPacket` вызывается и из основного потока; для GCC вся функция компилируется с `-Ofast`. При необходимости строгого разделения можно вынести отдельную версию «только из IRQ».
|
||||
|
||||
---
|
||||
|
||||
## 2. Отладочные линии DBG в `stm32f1xx_it.c`
|
||||
|
||||
На время входа/выхода из выбранных обработчиков прерываний поднимается/опускается соответствующий GPIO — удобно для осциллографа (длительность IRQ).
|
||||
|
||||
| Линия | Обработчик |
|
||||
|--------|------------|
|
||||
| **DBG1** | `UART5_IRQHandler` |
|
||||
| **DBG2** | `USART2_IRQHandler` |
|
||||
| **DBG3** | `USART3_IRQHandler` |
|
||||
| **DBG4** | `DMA1_Channel1_IRQHandler`, `ADC1_2_IRQHandler`, `TIM3_IRQHandler` |
|
||||
| **DBG5** | `CAN1_RX0_IRQHandler`, `CAN2_TX_IRQHandler`, `CAN2_RX1_IRQHandler` |
|
||||
| — | `USART1_IRQHandler` — без обёртки DBG (по согласованию) |
|
||||
|
||||
В **`DMA1_Channel1_IRQHandler`** вызывается **`HAL_DMA_IRQHandler(&hdma_adc1)`** для цепочки ADC+DMA.
|
||||
|
||||
Для всего файла **`stm32f1xx_it.c`** под GCC добавлено:
|
||||
|
||||
```c
|
||||
#pragma GCC optimize("Ofast")
|
||||
```
|
||||
|
||||
(в блоке `USER CODE BEGIN Includes`).
|
||||
|
||||
---
|
||||
|
||||
## 3. ADC: DMA, глобальные данные, колбэк
|
||||
|
||||
- Файлы **`adc.c` / `adc.h`**: структура **`ADC_ScanData_t`**, глобально **`volatile ADC_ScanData_t adc_data`** с полями сырых каналов (`in3_raw`, `cp_raw`, `ntc1_raw`, `ntc2_raw`, `temp_sensor_raw`, `vrefint_raw` и т.д. по фактическому объявлению в заголовке).
|
||||
- **`HAL_ADC_ConvCpltCallback`**: копирование из буфера DMA в **`adc_data`**, помечен **`ISR_FAST`**.
|
||||
- Публичная **`ADC_ScanStart()`** — запуск сканирования (после калибровки вызывается из инициализации платы).
|
||||
- **`board.c`**: после **`HAL_ADCEx_Calibration_Start`** вызывается **`ADC_ScanStart()`**; **`CONN_ReadTemp`** читает **`adc_data.ntc1_raw` / `ntc2_raw`** вместо блокирующего опроса ADC.
|
||||
|
||||
**Диагностика (из обсуждения):** если не вызываются **`HAL_ADC_ConvCpltCallback`** / **`HAL_DMA_IRQHandler`**, проверять: срабатывание триггера ADC (например, **TIM3 TRGO**), работу TIM3, порядок инициализации DMA/NVIC, срабатывание **`DMA1_Channel1_IRQHandler`**.
|
||||
|
||||
---
|
||||
|
||||
## 4. CP (`cp.c` / `cp.h`)
|
||||
|
||||
- Измерение опоры на **`adc_data.cp_raw`** (и при необходимости **`vrefint_raw`** по текущей реализации в коде).
|
||||
- Логика классификации/порогов приведена к варианту, согласованному с основным **CCSModuleSW30Web** (не форк).
|
||||
- Сэмпл по таймеру: уход от тяжёлой работы в IRQ OC — использование **`HAL_TIM_OC_Start`** без прерывания по сравнению, обновление напряжения в **`CP_GetVoltage()`** / основном цикле (**`CP_Loop`** опирается на **`CP_GetState()`** и т.п. по фактическому коду).
|
||||
|
||||
---
|
||||
|
||||
## 5. Отладочный UART (`debug.c`)
|
||||
|
||||
При **`#ifndef USE_WEB_INTERFACE`** (или эквивалентной ветке сборки в файле): колбэк **`HAL_UARTEx_RxEventCallback`** и **`debug_rx_interrupt`** помечены **`ISR_FAST`**.
|
||||
|
||||
---
|
||||
|
||||
## 6. Оптимизация `-Ofast` для кода из прерываний
|
||||
|
||||
### 6.1. Макрос `ISR_FAST`
|
||||
|
||||
Файл **`Core/Inc/isr_opt.h`**:
|
||||
|
||||
- **GCC:** `#define ISR_FAST __attribute__((optimize("Ofast")))`
|
||||
- **Иное:** пустой макрос.
|
||||
|
||||
### 6.2. Где используется (по состоянию репозитория)
|
||||
|
||||
| Файл | Элементы с `ISR_FAST` / pragma |
|
||||
|------|--------------------------------|
|
||||
| `stm32f1xx_it.c` | `#pragma GCC optimize("Ofast")` на весь файл (GCC) |
|
||||
| `adc.c` | `HAL_ADC_ConvCpltCallback` |
|
||||
| `serial.c` | `CCS_RxEventCallback`, `HAL_UART_ErrorCallback`, `uart3_log_hal_error`, `uart3_arm_rx_or_log`, `process_received_packet`, `crc16_ibm`, `expected_payload_len`, `apply_command` |
|
||||
| `serial_control.c` | `HAL_UARTEx_RxEventCallback`, `HAL_UART_TxCpltCallback`, `calculate_crc32`, `encode_packet`, `parse_packet`, `process_received_packet`, `SC_SendPacket` |
|
||||
| `serial_control.h` | прототип `SC_SendPacket` + `#include "isr_opt.h"` |
|
||||
| `psu_control.c` | `HAL_CAN_RxFifo1MsgPendingCallback` |
|
||||
| `debug.c` | см. раздел 5 |
|
||||
|
||||
---
|
||||
|
||||
## 7. Ограничения и переносимость
|
||||
|
||||
- **`ISR_FAST`** и pragma в **`stm32f1xx_it.c`** рассчитаны на **GCC** (STM32CubeIDE по умолчанию). Для **IAR / ARM Compiler 6** потребуется отдельная стратегия (прагмы/ключи проекта).
|
||||
- **`-Ofast`** допускает агрессивные преобразования с плавающей точкой и перестановки, влияющие на строго воспроизводимую арифметику; для критичных вычислений вне IRQ при необходимости ограничивайте область оптимизации.
|
||||
|
||||
---
|
||||
|
||||
## 8. Затронутые пути (краткий список)
|
||||
|
||||
- `Core/Inc/isr_opt.h` — новый/центральный заголовок оптимизации IRQ.
|
||||
- `Core/Inc/serial_control.h` — `isr_opt.h`, `ISR_FAST` у `SC_SendPacket`.
|
||||
- `Core/Src/stm32f1xx_it.c` — DBG, DMA ADC, pragma `Ofast`.
|
||||
- `Core/Src/adc.c`, `Core/Inc/adc.h` — DMA, `adc_data`, `ADC_ScanStart`, колбэк.
|
||||
- `Core/Src/board.c` — калибровка, старт скана, температура из `adc_data`.
|
||||
- `Core/Src/cp.c`, `Core/Inc/cp.h` — CP и ADC.
|
||||
- `Core/Src/serial.c` — UART3, таймауты, логи, `ISR_FAST`.
|
||||
- `Core/Src/serial_control.c` — UART2, watchdog, `ISR_FAST`.
|
||||
- `Core/Src/psu_control.c` — CAN RX callback.
|
||||
- `Core/Src/debug.c` — отладочный UART под условием сборки.
|
||||
- `Core/Src/dma.c`, `gpio.c`, `main.h` — по необходимости для DMA1 Ch1 и DBG-пинов.
|
||||
|
||||
---
|
||||
|
||||
*Документ сгенерирован для фиксации контекста сессии; при дальнейших правках кода имеет смысл обновлять соответствующие разделы вручную.*
|
||||
Reference in New Issue
Block a user