HW06初版

This commit is contained in:
sunbeam 2024-08-20 17:28:49 +08:00
parent c8834c5f0a
commit 421813d26c
15 changed files with 3687 additions and 3785 deletions

View File

@ -2,15 +2,15 @@
manifest_file_version: 1.0.0
project: p417_SWTR
creation_date: 2024-07-03T22:03:59.102+08:00[Asia/Shanghai]
creation_date: 2024-08-20T15:12:07.975+08:00[Asia/Shanghai]
operating_system: Windows 10
mcc_mode: IDE
mcc_mode_version: v6.20
device_name: ATSAME51J19A
compiler: XC32 4.40
compiler: XC32 4.10
mcc_version: 5.5.1
mcc_core_version: 5.7.1
content_manager_version: 5.0.0
content_manager_version: 5.0.1
is_mcc_offline: false
is_using_prerelease_versions: false
mcc_content_registries: https://registry.npmjs.org/
@ -19,5 +19,5 @@ device_library: {library_class: com.microchip.mcc.harmony.Harmony3Library, name:
packs: {name: SAME51_DFP, version: 3.8.253}
modules:
- {name: csp, type: HARMONY, version: v3.18.5}
- {name: CMSIS_5, type: HARMONY, version: 5.9.0}
- {name: CMSIS_5, type: HARMONY, version: 5.8.0}
- {name: touch, type: HARMONY, version: v3.16.0}

View File

@ -1,13 +1,13 @@
#
#Wed Jul 03 23:11:12 CST 2024
#Mon Aug 19 22:53:46 CST 2024
mcal.com-microchip-mplab-nbide-toolchain-xc32-XC32LanguageToolchain.md5=1eaf555a844840d91945cb14109201c3
conf.ids=mcal
mcal.languagetoolchain.version=4.40
host.id=2546-oaqf-3d
configurations-xml=7fdab7bbeb77e28da32352067380d4c4
mcal.Pack.dfplocation=C\:\\Program Files\\Microchip\\MPLABX\\v6.20\\packs\\Microchip\\SAME51_DFP\\3.7.242
mcal.languagetoolchain.version=4.10
host.id=10k5-yicy-7x
configurations-xml=3c603a65e149702643d6cf2071da16f0
mcal.Pack.dfplocation=E\:\\Program Files\\Microchip\\MPLABX\\v6.20\\packs\\Microchip\\SAME51_DFP\\3.7.242
com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=f612087c95360c842296d189edfe3321
proj.dir=F\:\\work\\P417\\20240702\\P417_SWTR\\firmware\\p417_SWTR.X
proj.dir=F\:\\FCB_project\\P417\\CODE\\20240727HW06\\P417_SWTR\\firmware\\p417_SWTR.X
mcal.platformTool.md5=null
mcal.languagetoolchain.dir=C\:\\Program Files\\Microchip\\xc32\\v4.40\\bin
mcal.languagetoolchain.dir=E\:\\Program Files\\Microchip\\xc32\\v4.10\\bin
host.platform=windows

View File

@ -15,11 +15,11 @@
# $ makeMP_CC="/opt/microchip/mplabc30/v3.30c/bin/pic30-gcc" ...
#
SHELL=cmd.exe
PATH_TO_IDE_BIN=E:/Program Files/Microchip/MPLABX/v6.00/mplab_platform/platform/../mplab_ide/modules/../../bin/
PATH_TO_IDE_BIN=E:/Program Files/Microchip/MPLABX/v6.20/mplab_platform/platform/../mplab_ide/modules/../../bin/
# Adding MPLAB X bin directory to path.
PATH:=E:/Program Files/Microchip/MPLABX/v6.00/mplab_platform/platform/../mplab_ide/modules/../../bin/:$(PATH)
PATH:=E:/Program Files/Microchip/MPLABX/v6.20/mplab_platform/platform/../mplab_ide/modules/../../bin/:$(PATH)
# Path to java used to run MPLAB X when this makefile was created
MP_JAVA_PATH="E:\Program Files\Microchip\MPLABX\v6.00\sys\java\zulu8.54.0.21-ca-fx-jre8.0.292-win_x64/bin/"
MP_JAVA_PATH="E:\Program Files\Microchip\MPLABX\v6.20\sys\java\zulu8.64.0.19-ca-fx-jre8.0.345-win_x64/bin/"
OS_CURRENT="$(shell uname -s)"
MP_CC="E:\Program Files\Microchip\xc32\v4.10\bin\xc32-gcc.exe"
MP_CPPC="E:\Program Files\Microchip\xc32\v4.10\bin\xc32-g++.exe"
@ -27,13 +27,12 @@ MP_CPPC="E:\Program Files\Microchip\xc32\v4.10\bin\xc32-g++.exe"
MP_AS="E:\Program Files\Microchip\xc32\v4.10\bin\xc32-as.exe"
MP_LD="E:\Program Files\Microchip\xc32\v4.10\bin\xc32-ld.exe"
MP_AR="E:\Program Files\Microchip\xc32\v4.10\bin\xc32-ar.exe"
DEP_GEN=${MP_JAVA_PATH}java -jar "E:/Program Files/Microchip/MPLABX/v6.00/mplab_platform/platform/../mplab_ide/modules/../../bin/extractobjectdependencies.jar"
DEP_GEN=${MP_JAVA_PATH}java -jar "E:/Program Files/Microchip/MPLABX/v6.20/mplab_platform/platform/../mplab_ide/modules/../../bin/extractobjectdependencies.jar"
MP_CC_DIR="E:\Program Files\Microchip\xc32\v4.10\bin"
MP_CPPC_DIR="E:\Program Files\Microchip\xc32\v4.10\bin"
# MP_BC_DIR is not defined
MP_AS_DIR="E:\Program Files\Microchip\xc32\v4.10\bin"
MP_LD_DIR="E:\Program Files\Microchip\xc32\v4.10\bin"
MP_AR_DIR="E:\Program Files\Microchip\xc32\v4.10\bin"
# MP_BC_DIR is not defined
CMSIS_DIR=E:/Program Files/Microchip/MPLABX/v6.00/packs/arm/CMSIS/5.4.0
DFP_DIR=C:/Users/dm01/.mchp_packs/Microchip/SAME51_DFP/3.7.242
CMSIS_DIR=E:/Program Files/Microchip/MPLABX/v6.20/packs/arm/CMSIS/5.4.0
DFP_DIR=E:/Program Files/Microchip/MPLABX/v6.20/packs/Microchip/SAME51_DFP/3.7.242

File diff suppressed because it is too large Load Diff

View File

@ -57,7 +57,7 @@
#define GAC_ECU_SN_DEFAULT_VALUE {0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20}
#define GAC_APP_SW_LOGICAL_ID {}
#define GAC_BOOT_ID_DEFAULT_VALUE {'4','5','0'}
#define GAC_ECUSW_VERSION_DEFAULT_VALUE {'S','W','0','3','0','3',' ',' ',' ',0x20,0x20,0x20,0x20,0x20,0x20,0x20}
#define GAC_ECUSW_VERSION_DEFAULT_VALUE {'S','W','0','4','0','1',' ',' ',' ',0x20,0x20,0x20,0x20,0x20,0x20,0x20}
#define GAC_APP_SUPPLIER_ID {0x46,0x49,0x43,0x4F,0x53,0x41,0x20,0x49,0x4E,0x54,0x45,0x52,0x4e};

View File

@ -4,7 +4,7 @@
#include "RTE.h"
#include "forcedetect.h"
#include "forceSnsr.h"
uint8 Touch_Sensor_Fault = 0,Touch_Sensor_Fault_key=0,Touch_Sensor_Fault_pad=0;
static uint8 Bat_Rng = 0;
static void Battery_Volt_Diag_Task(void)
{
@ -76,54 +76,51 @@ static void Force_Sensor_Diag_Task(void)
}
// Touch_Sensor_Sts00;
static uint8 Touch_Sensor_Fault = 0;
static void Touch_Sensor_Diag_Task(void)
static void Touch_Sensor_Diag_Task(void)//5ms
{
static uint16_t fault_count = 0;//fault_count2 = 0;
//uint16 CurrentDiag_Press_signal;
if (Touch_Sensor_delta00 < 200 && Touch_Sensor_delta01 < 200 && Touch_Sensor_delta02 < 200 && Touch_Sensor_delta03 < 200 && Touch_Sensor_delta04 < 200 &&
Touch_Sensor_delta05 < 300 && Touch_Sensor_delta06 < 300 && Touch_Sensor_delta07 < 300 && Touch_Sensor_delta08 < 300 && Touch_Sensor_delta09 < 300 &&
static uint16_t fault_count1 = 0,fault_count2 = 0;
if (Touch_Sensor_delta00 < 200 && Touch_Sensor_delta01 < 200 && Touch_Sensor_delta02 < 200 && Touch_Sensor_delta03 < 200 && Touch_Sensor_delta04 < 200)
{
Touch_Sensor_Fault_key = Touch_NoFault;
fault_count1 = 0;
}
else
{
fault_count1++;
if (fault_count1 > 40)
{
fault_count1 = 40;
}
Touch_Sensor_Fault_key = Touch_Out_Range;
}
if (Touch_Sensor_delta05 < 300 && Touch_Sensor_delta06 < 300 && Touch_Sensor_delta07 < 300 && Touch_Sensor_delta08 < 300 && Touch_Sensor_delta09 < 300 &&
Touch_Sensor_delta10 < 250 && Touch_Sensor_delta11 < 250 && Touch_Sensor_delta12 < 250 && Touch_Sensor_delta13 < 250 && Touch_Sensor_delta14 < 250)
{
Touch_Sensor_Fault_pad = Touch_NoFault;
fault_count2 = 0;
}
else
{
fault_count2++;
if (fault_count2 > 40)
{
fault_count2 = 40;
}
Touch_Sensor_Fault_pad = Touch_Out_Range;
}
if ( Touch_Sensor_Fault_pad == Touch_NoFault && Touch_Sensor_Fault_key == Touch_NoFault)
{
Touch_Sensor_Fault = Touch_NoFault;
InitMessage(SIG_DIAGCFAILRTOUCHPANSWTRTOUCHDFLTSTS, &Touch_Sensor_Fault);
fault_count = 0;
}
else
{
Touch_Sensor_Fault = Touch_Out_Range;
InitMessage(SIG_DIAGCFAILRTOUCHPANSWTRTOUCHDFLTSTS, &Touch_Sensor_Fault);
fault_count++;
if (fault_count > 200)
{
fault_count = 0;
//touch_init();
}
}
/* //抢救策略待定
CurrentDiag_Press_signal = Get_forcedetect_force_value();
if (CurrentDiag_Press_signal < 50)
{
if (Touch_Sensor_delta00 > 10 || Touch_Sensor_delta01 > 10 || Touch_Sensor_delta02 > 10 || Touch_Sensor_delta03 > 10 || Touch_Sensor_delta04 > 10
|| Touch_Sensor_delta05 > 20 || Touch_Sensor_delta06 > 20 || Touch_Sensor_delta07 > 20 || Touch_Sensor_delta08 > 20 || Touch_Sensor_delta09 > 20
|| Touch_Sensor_delta10 > 20 || Touch_Sensor_delta11 > 20 || Touch_Sensor_delta12 > 20|| Touch_Sensor_delta13 > 20 || Touch_Sensor_delta14 > 20)
{
fault_count2++;
if (fault_count2 > 200)
{
fault_count2 = 0;
//touch_init();
}
}
else
{
fault_count2 = 0;
}
}
else
{
fault_count2 = 0;
*/
}
extern uint8_t Allow_Touch_flag;
static uint8 Vibra_Fault = 0;
@ -131,7 +128,7 @@ static void Vibration_Diag_Task(void)
{
// AD_data=voltage * 4096/3.3V normal:0-0.01(15) short: 0.15(185)-0.36(448) 0.6(742)-0.7(870) 0.95(1177)-1.05(1305) 1.27(1575)-1.39(1727) open:1.55(1921) - 1.72(2136)
Vibra_Fault = Vibration_Normal;//Allow_Touch_flag;
Vibra_Fault = Get_Speaker_Fault();//Allow_Touch_flag;
InitMessage(SIG_DIAGCFAILRTOUCHPANSWTRVIBRATIONFLTSTS, &Vibra_Fault);
/*

View File

@ -16,7 +16,7 @@
extern uint8 Force_Sens_Err;
//extern uint8 Fuction_State ;
//extern uint8 Control_SDZ ;
extern uint8 Touch_Sensor_Fault,Touch_Sensor_Fault_key,Touch_Sensor_Fault_pad;
extern void Sys_Diag_Detcet_Task(void);

View File

@ -78,10 +78,10 @@ typedef struct{
* Private variables
*/
const UI_8 NVM_DID_CD_VIN[DLC_DID_CD_VIN] = GAC_VIN_DEFAULT_VALUE;
const UI_8 NVM_Reprogramming_Date_App[DLC_DID_REPROGRAMMING_DATE] = {0x20,0x24,0x07,0x22};
const UI_8 NVM_DID_CD_SUPPLIER_ID[DLC_SYSTEM_SUPPLIER_ID] = {'2','4','0','7','2','2'};
const UI_8 NVM_Reprogramming_Date_App[DLC_DID_REPROGRAMMING_DATE] = {0x20,0x24,0x08,0x19};
const UI_8 NVM_DID_CD_SUPPLIER_ID[DLC_SYSTEM_SUPPLIER_ID] = {'2','4','0','8','1','9'};
const UI_8 NVM_Repair_Shop_Code[DLC_REPAIR_SHOP_CODE] = GAC_ECU_REPAIR_SHOP_CODE;
const UI_8 NVM_DID_CD_HW_VERSION[DLC_GAC_HW_VERSION] = {'H','W','0','5',0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20};
const UI_8 NVM_DID_CD_HW_VERSION[DLC_GAC_HW_VERSION] = {'H','W','0','6',0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20};
static uint8 RAM_DID_CD_VIN[DLC_DID_CD_VIN];
static uint8 RAM_DID_CD_REPROGRAMMING_DATE[DLC_DID_REPROGRAMMING_DATE];
static uint8 RAM_DID_CD_SUPPLIER_ID[DLC_SYSTEM_SUPPLIER_ID];

View File

@ -72,13 +72,6 @@
#define ENDIAN_BYTE(byte, alloc_size) (byte)
/* Macros of the TX_REQ flags */
#define SET_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR06() (flag_swtr_com_tx_req0 |= ((uint8_t)0x01))
#define RST_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR06() (flag_swtr_com_tx_req0 &= ((uint8_t)0xFE))
@ -144,7 +137,6 @@
#define RST_FLAG_TX_REQ_FRM_DIAG_PHYSRESP_SWTR() (flag_swtr_com_tx_req1 &= ((UI_8)0x7F))
#define TST_FLAG_TX_REQ_FRM_DIAG_PHYSRESP_SWTR() ((flag_swtr_com_tx_req1 & ((UI_8)0x80)) == ((UI_8)0x80))
/* Cancel value to cancel a timer */
#define TIMER_CANCEL ((uint16_t)0xFFFF)
@ -256,7 +248,6 @@
#define RST_FLAG_OSEK_COM_PER_TX() (flag_st_mode &= ((uint8_t)0xDF))
#define TST_FLAG_OSEK_COM_PER_TX() ((flag_st_mode & ((uint8_t)0x20)) == ((uint8_t)0x20))
/* ------------------------------- Data Types ------------------------------- */
/* Type to allocate data structure for managed signals */
@ -308,6 +299,10 @@ static uint8_t frm_swtrsensorfr05[MAX_LEN_FRM_SWTRSENSORFR05];
static uint8_t frm_swtrsensorfr06[MAX_LEN_FRM_SWTRSENSORFR06];
static uint8_t frm_swtrsensorfr07[MAX_LEN_FRM_SWTRSENSORFR07];
static uint8_t frm_swtrsensorfr08[MAX_LEN_FRM_SWTRSENSORFR08];
static uint8_t frm_swtrsensorfr09[8];
static uint8_t frm_swtrsensorfr0A[8];
static uint8_t frm_swtrsensorfr0B[8];
static uint8_t frm_swtrsensorfr0C[8];
UI_8 frm_diag_physresp_swtr[MAX_LEN_FRM_DIAG_PHYSRESP_SWTR];
static UI_8 len_frm_diag_physresp_swtr;
@ -351,8 +346,6 @@ uint8_t flag_rx0;
/* Declaration of timer diff between last tick and current tick */
static uint32_t time_diff;
/* --------------------------- Routine Prototypes --------------------------- */
static void OsekComPeriodicTx(void);
static void OsekComDeadlineMonitRx(void);
@ -381,75 +374,92 @@ void OsekComRxNotifCallbackSWTR(t_com_buf_hdl bhdl)
uint32_t buf_idtp = CanBufQueryIdTp();
uint8_t frm_len = 8;
if (TST_FLAG_OSEK_COM_INIT()) {
if (TST_FLAG_OSEK_COM_INIT())
{
/* Rx Com frames with static ID */
switch (buf_idtp) {
switch (buf_idtp)
{
case ID_TP_FRM_IHUPRIVATEDHUCANFR01:
/* Test of the minimum Rx frames length required to decode the signal */
if (frm_len >= MIN_LEN_FRM_SIG_TWLIBRISTS_UB) {
if (frm_len >= MIN_LEN_FRM_SIG_TWLIBRISTS_UB)
{
/* Decoding of signal sig_TwliBriSts_UB */
sig_twlibrists_ub[0] = ((CAN_BUF_QUERY_DATA_BYTE(bhdl, 2)) >> ((uint8_t)7));
}
else {
else
{
/* Do nothing */
}
/* Test of the minimum Rx frames length required to decode the signal */
if (frm_len >= MIN_LEN_FRM_SIG_TWLIBRISTS) {
if (frm_len >= MIN_LEN_FRM_SIG_TWLIBRISTS)
{
/* Decoding of signal sig_TwliBriSts */
sig_twlibrists[0] = ((CAN_BUF_QUERY_DATA_BYTE(bhdl, 2) & ((uint8_t)127)) >> ((uint8_t)6));
}
else {
else
{
/* Do nothing */
}
/* Test of the minimum Rx frames length required to decode the signal */
if (frm_len >= MIN_LEN_FRM_SIG_SWTOFKEYTONE_UB) {
if (frm_len >= MIN_LEN_FRM_SIG_SWTOFKEYTONE_UB)
{
/* Decoding of signal sig_SwtOfKeyTone_UB */
sig_swtofkeytone_ub[0] = ((CAN_BUF_QUERY_DATA_BYTE(bhdl, 0) & ((uint8_t)63)) >> ((uint8_t)5));
}
else {
else
{
/* Do nothing */
}
/* Test of the minimum Rx frames length required to decode the signal */
if (frm_len >= MIN_LEN_FRM_SIG_SWTOFKEYTONE) {
if (frm_len >= MIN_LEN_FRM_SIG_SWTOFKEYTONE)
{
/* Decoding of signal sig_SwtOfKeyTone */
sig_swtofkeytone[0] = ((CAN_BUF_QUERY_DATA_BYTE(bhdl, 0)) >> ((uint8_t)6));
}
else {
else
{
/* Do nothing */
}
/* Test of the minimum Rx frames length required to decode the signal */
if (frm_len >= MIN_LEN_FRM_SIG_INTRBRISTS_UB) {
if (frm_len >= MIN_LEN_FRM_SIG_INTRBRISTS_UB)
{
/* Decoding of signal sig_IntrBriSts_UB */
sig_intrbrists_ub[0] = ((CAN_BUF_QUERY_DATA_BYTE(bhdl, 0) & ((uint8_t)31)) >> ((uint8_t)4));
}
else {
else
{
/* Do nothing */
}
/* Test of the minimum Rx frames length required to decode the signal */
if (frm_len >= MIN_LEN_FRM_SIG_INTRBRISTS) {
if (frm_len >= MIN_LEN_FRM_SIG_INTRBRISTS)
{
/* Decoding of signal sig_IntrBriSts */
sig_intrbrists[0] = ((CAN_BUF_QUERY_DATA_BYTE(bhdl, 0) & ((uint8_t)15)));
}
else {
else
{
/* Do nothing */
}
/* Test of the minimum Rx frames length required to decode the signal */
if (frm_len >= MIN_LEN_FRM_SIG_ACTVNOFSTEERWHLILLMN_UB) {
if (frm_len >= MIN_LEN_FRM_SIG_ACTVNOFSTEERWHLILLMN_UB)
{
/* Decoding of signal sig_ActvnOfSteerWhlIllmn_UB */
sig_actvnofsteerwhlillmn_ub[0] = ((CAN_BUF_QUERY_DATA_BYTE(bhdl, 5) & ((uint8_t)7)) >> ((uint8_t)2));
}
else {
else
{
/* Do nothing */
}
/* Test of the minimum Rx frames length required to decode the signal */
if (frm_len >= MIN_LEN_FRM_SIG_ACTVNOFSTEERWHLILLMN) {
if (frm_len >= MIN_LEN_FRM_SIG_ACTVNOFSTEERWHLILLMN)
{
/* Reset of the deadline monitoring timer */
dmt_rx_sig_actvnofsteerwhlillmn = 0;
/* Decoding of signal sig_ActvnOfSteerWhlIllmn */
@ -457,7 +467,8 @@ void OsekComRxNotifCallbackSWTR(t_com_buf_hdl bhdl)
/* Rx notification callback */
IhuPrivateDHUCanFr01_CALLBACK();
}
else {
else
{
/* Do nothing */
}
@ -465,8 +476,8 @@ void OsekComRxNotifCallbackSWTR(t_com_buf_hdl bhdl)
case ID_TP_FRM_DIAG_PHYSREQ_SWTR:
/* Test of the minimum Rx frames length required to decode the signal */
if (frm_len >= MIN_LEN_FRM_SIG_DIAGNOSTICREQSWTR) {
if (frm_len >= MIN_LEN_FRM_SIG_DIAGNOSTICREQSWTR)
{
/* Decoding of signal sig_DiagnosticReqSWTR */
sig_diagnosticreqswtr[0] = (CAN_BUF_QUERY_DATA_BYTE(bhdl, 0));
sig_diagnosticreqswtr[1] = (CAN_BUF_QUERY_DATA_BYTE(bhdl, 1));
@ -482,13 +493,15 @@ void OsekComRxNotifCallbackSWTR(t_com_buf_hdl bhdl)
/* Set of the Rx notification flag */
SET_FLAG_RX_SIG_DIAGNOSTICREQSWTR();
}
else {
else
{
/* Do nothing */
}
break;
case ID_TP_FRM_DIAG_FUNCREQ:
/* Test of the minimum Rx frames length required to decode the signal */
if (frm_len >= MIN_LEN_FRM_SIG_DIAGNOSTICFUNCADDRREQ) {
if (frm_len >= MIN_LEN_FRM_SIG_DIAGNOSTICFUNCADDRREQ)
{
/* Decoding of signal sig_DiagnosticFuncAddrReq */
sig_diagnosticfuncaddrreq[0] = (CAN_BUF_QUERY_DATA_BYTE(bhdl, 0));
sig_diagnosticfuncaddrreq[1] = (CAN_BUF_QUERY_DATA_BYTE(bhdl, 1));
@ -503,7 +516,8 @@ void OsekComRxNotifCallbackSWTR(t_com_buf_hdl bhdl)
/* Set of the Rx notification flag */
SET_FLAG_RX_SIG_DIAGNOSTICFUNCADDRREQ();
}
else {
else
{
/* Do nothing */
}
@ -514,11 +528,13 @@ void OsekComRxNotifCallbackSWTR(t_com_buf_hdl bhdl)
break;
}
}
else {
else
{
/* Do nothing */
}
/* Com traffic flag */
if ((com_traffic_swtr == COM_FALSE) && (aux_com_traffic == COM_TRUE)) {
if ((com_traffic_swtr == COM_FALSE) && (aux_com_traffic == COM_TRUE))
{
com_traffic_swtr = COM_TRUE;
}
}
@ -540,7 +556,8 @@ void CanTx(t_can_handler can_handler, bool notif, uint32_t idtp, uint16_t len, t
bool OsekComTxReqCallbackSWTR(void)
{
/* Check of the Tx request flag */
if (TST_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR06()) {
if (TST_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR06())
{
/* Transmission of the frame SwtrPrivateDHUCanFr06*/
if (Fuction_State != Function_State_C)
{
@ -548,7 +565,8 @@ bool OsekComTxReqCallbackSWTR(void)
}
RST_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR06();
}
else if (TST_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR02()) {
else if (TST_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR02())
{
/* Transmission of the frame SwtrPrivateDHUCanFr02 */
if (Fuction_State != Function_State_C)
{
@ -556,7 +574,8 @@ bool OsekComTxReqCallbackSWTR(void)
}
RST_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR02();
}
else if (TST_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR01()) {
else if (TST_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR01())
{
/* Transmission of the frame SwtrPrivateDHUCanFr01 */
if (Fuction_State != Function_State_C)
{
@ -564,7 +583,8 @@ bool OsekComTxReqCallbackSWTR(void)
}
RST_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR01();
}
else if (TST_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR03()) {
else if (TST_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR03())
{
/* Transmission of the frame SwtrPrivateDHUCanFr03 */
if (Fuction_State != Function_State_C)
{
@ -572,7 +592,8 @@ bool OsekComTxReqCallbackSWTR(void)
}
RST_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR03();
}
else if (TST_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR04()) {
else if (TST_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR04())
{
/* Transmission of the frame SwtrPrivateDHUCanFr04 */
if (Fuction_State != Function_State_C)
{
@ -580,7 +601,8 @@ bool OsekComTxReqCallbackSWTR(void)
}
RST_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR04();
}
else if (TST_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR05()) {
else if (TST_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR05())
{
/* Transmission of the frame SwtrPrivateDHUCanFr05 */
if (Fuction_State != Function_State_C)
{
@ -588,7 +610,8 @@ bool OsekComTxReqCallbackSWTR(void)
}
RST_FLAG_TX_REQ_FRM_SWTRPRIVATEDHUCANFR05();
}
else if (TST_FLAG_TX_REQ_FRM_SWTRPRESSFR01()) {
else if (TST_FLAG_TX_REQ_FRM_SWTRPRESSFR01())
{
/* Transmission of the frame SwtrPressFr01 */
if (Fuction_State != Function_State_C)
{
@ -597,7 +620,8 @@ bool OsekComTxReqCallbackSWTR(void)
}
RST_FLAG_TX_REQ_FRM_SWTRPRESSFR01();
}
else if (TST_FLAG_TX_REQ_FRM_SWTRSENSORFR01()) {
else if (TST_FLAG_TX_REQ_FRM_SWTRSENSORFR01())
{
/* Transmission of the frame SwtRSensorFr01 */
if (Fuction_State != Function_State_C)
{
@ -606,7 +630,8 @@ bool OsekComTxReqCallbackSWTR(void)
}
RST_FLAG_TX_REQ_FRM_SWTRSENSORFR01();
}
else if (TST_FLAG_TX_REQ_FRM_SWTRSENSORFR02()) {
else if (TST_FLAG_TX_REQ_FRM_SWTRSENSORFR02())
{
/* Transmission of the frame SwtRSensorFr02 */
if (Fuction_State != Function_State_C)
{
@ -615,7 +640,8 @@ bool OsekComTxReqCallbackSWTR(void)
}
RST_FLAG_TX_REQ_FRM_SWTRSENSORFR02();
}
else if (TST_FLAG_TX_REQ_FRM_SWTRSENSORFR03()) {
else if (TST_FLAG_TX_REQ_FRM_SWTRSENSORFR03())
{
/* Transmission of the frame SwtRSensorFr03 */
if (Fuction_State != Function_State_C)
{
@ -624,7 +650,8 @@ bool OsekComTxReqCallbackSWTR(void)
}
RST_FLAG_TX_REQ_FRM_SWTRSENSORFR03();
}
else if (TST_FLAG_TX_REQ_FRM_SWTRSENSORFR04()) {
else if (TST_FLAG_TX_REQ_FRM_SWTRSENSORFR04())
{
/* Transmission of the frame SwtRSensorFr04 */
if (Fuction_State != Function_State_C)
{
@ -633,7 +660,8 @@ bool OsekComTxReqCallbackSWTR(void)
}
RST_FLAG_TX_REQ_FRM_SWTRSENSORFR04();
}
else if (TST_FLAG_TX_REQ_FRM_SWTRSENSORFR05()) {
else if (TST_FLAG_TX_REQ_FRM_SWTRSENSORFR05())
{
/* Transmission of the frame SwtRSensorFr05 */
if (Fuction_State != Function_State_C)
{
@ -642,7 +670,8 @@ bool OsekComTxReqCallbackSWTR(void)
}
RST_FLAG_TX_REQ_FRM_SWTRSENSORFR05();
}
else if (TST_FLAG_TX_REQ_FRM_SWTRSENSORFR06()) {
else if (TST_FLAG_TX_REQ_FRM_SWTRSENSORFR06())
{
/* Transmission of the frame SwtRSensorFr06 */
if (Fuction_State != Function_State_C)
{
@ -651,19 +680,8 @@ bool OsekComTxReqCallbackSWTR(void)
}
RST_FLAG_TX_REQ_FRM_SWTRSENSORFR06();
}
else if (TST_FLAG_TX_REQ_FRM_SWTRSENSORFR08()) {
/* Transmission of the frame SwtRSensorFr08 */
if(Fuction_State != Function_State_C)
else if (TST_FLAG_TX_REQ_FRM_SWTRSENSORFR07())
{
if(Test_frame_On == 1)
CanTx(0, true, ID_TP_FRM_SWTRSENSORFR08, MAX_LEN_FRM_SWTRSENSORFR08, frm_swtrsensorfr08);
}
RST_FLAG_TX_REQ_FRM_SWTRSENSORFR08();
Fr08_send_flag=1;
}
else if (TST_FLAG_TX_REQ_FRM_SWTRSENSORFR07()) {
/* Transmission of the frame SwtRSensorFr07 */
if (Fuction_State != Function_State_C)
{
@ -672,6 +690,23 @@ bool OsekComTxReqCallbackSWTR(void)
}
RST_FLAG_TX_REQ_FRM_SWTRSENSORFR07();
}
else if (TST_FLAG_TX_REQ_FRM_SWTRSENSORFR08())
{
/* Transmission of the frame SwtRSensorFr08 */
if (Fuction_State != Function_State_C)
{
if (Test_frame_On == 1)
{
CanTx(0, true, ID_TP_FRM_SWTRSENSORFR08, MAX_LEN_FRM_SWTRSENSORFR08, frm_swtrsensorfr08);
CanTx(0, true, 0x419, 8, frm_swtrsensorfr09);
CanTx(0, true, 0x41A, 8, frm_swtrsensorfr0A);
CanTx(0, true, 0x41B, 8, frm_swtrsensorfr0B);
CanTx(0, true, 0x41C, 8, frm_swtrsensorfr0C);
}
}
RST_FLAG_TX_REQ_FRM_SWTRSENSORFR08();
Fr08_send_flag = 1;
}
else if (TST_FLAG_TX_REQ_FRM_DIAG_PHYSRESP_SWTR())
{
@ -679,14 +714,47 @@ bool OsekComTxReqCallbackSWTR(void)
CanTx(0, true, ID_TP_FRM_DIAG_PHYSRESP_SWTR, MAX_LEN_FRM_DIAG_PHYSRESP_SWTR, frm_diag_physresp_swtr);
RST_FLAG_TX_REQ_FRM_DIAG_PHYSRESP_SWTR();
}
else {
else
{
/* Do nothing */
}
/* return checking pending transmissions */
return (((flag_swtr_com_tx_req0 != 0) || (flag_swtr_com_tx_req1 != 0)) ? true : false);
}
void OsekComSetFR09data(uint8_t data[])
{
uint8_t i;
for (i = 0; i < 8; i++)
{
frm_swtrsensorfr09[i] = data[i];
}
}
void OsekComSetFR0Adata(uint8_t data[])
{
uint8_t i;
for (i = 0; i < 8; i++)
{
frm_swtrsensorfr0A[i] = data[i];
}
}
void OsekComSetFR0Bdata(uint8_t data[])
{
uint8_t i;
for (i = 0; i < 8; i++)
{
frm_swtrsensorfr0B[i] = data[i];
}
}
void OsekComSetFR0Cdata(uint8_t data[])
{
uint8_t i;
for (i = 0; i < 8; i++)
{
frm_swtrsensorfr0C[i] = data[i];
}
}
uint32_t CanBufQueryIdTp_Tx(void);
/*---------------------------------------------------------------------------
| Portability: Target platform independent
@ -704,7 +772,8 @@ void OsekComTxNotifCallbackSWTR(t_com_buf_hdl bhdl)
// uint32_t buf_idtp = CanBufQueryIdTp_Tx();
uint32_t buf_idtp = CanBufQueryIdTp();
buf_idtp = ID_TP_FRM_DIAG_PHYSREQ_SWTR;
switch (buf_idtp) {
switch (buf_idtp)
{
case ID_TP_FRM_SWTRPRIVATEDHUCANFR06:
/* Set of Tx the notification flag */
@ -856,9 +925,9 @@ t_status_type StartCom(t_com_application_mode_type app_mode)
/* Get current timer tick */
/* Buffer initialization */
for(ind=0; ind < (uint16_t)8; ind++){
for (ind = 0; ind < (uint16_t)8; ind++)
{
aux[ind] = (uint8_t)0;
}
/* Register of the COM mode */
@ -868,12 +937,12 @@ t_status_type StartCom(t_com_application_mode_type app_mode)
SET_FLAG_OSEK_COM_INIT();
/* Signals initialization to zero */
for(ind=(uint16_t)0;ind<LAST_OSEK_COM_SIGNAL_SYMBOLIC_NAME;ind++){
for (ind = (uint16_t)0; ind < LAST_OSEK_COM_SIGNAL_SYMBOLIC_NAME; ind++)
{
(void)InitMessage(ind, aux_ref);
}
/* Signals initialization to a specific value */
/* Initialization of the Tx request flags */
flag_swtr_com_tx_req0 = (uint8_t)0;
flag_swtr_com_tx_req1 = (uint8_t)0;
@ -951,7 +1020,8 @@ t_status_type StartPeriodic(void)
{
t_status_type status = E_OK;
if (TST_FLAG_OSEK_COM_INIT()) {
if (TST_FLAG_OSEK_COM_INIT())
{
/* Initialization of periodic or mixed tx timers */
ptt_tx_frm_swtrprivatedhucanfr06 = PT_TX_FRM_SWTRPRIVATEDHUCANFR06 - OT_TX_FRM_SWTRPRIVATEDHUCANFR06;
ptt_tx_frm_swtrprivatedhucanfr05 = PT_TX_FRM_SWTRPRIVATEDHUCANFR05 - OT_TX_FRM_SWTRPRIVATEDHUCANFR05;
@ -972,7 +1042,8 @@ t_status_type StartPeriodic(void)
/* Activation of the periodic Tx management runnable */
SET_FLAG_OSEK_COM_PER_TX();
}
else {
else
{
status = E_COM_SYS_NOINIT;
}
@ -1043,7 +1114,8 @@ t_status_type ReceiveMessage(t_symbolic_name message,
/* Mutual exclusive access begin */
// SuspendAllInterrupts();
switch (message) {
switch (message)
{
case SIG_TWLIBRISTS_UB:
((uint8_t *)data_ref)[0] = sig_twlibrists_ub[0];
break;
@ -1085,7 +1157,8 @@ t_status_type ReceiveDynamicMessage(t_symbolic_name message,
/* Mutual exclusive access begin */
// SuspendAllInterrupts();
switch (message) {
switch (message)
{
case SIG_DIAGNOSTICREQSWTR:
((UI_8 *)data_ref)[0] = sig_diagnosticreqswtr[0];
((UI_8 *)data_ref)[1] = sig_diagnosticreqswtr[1];
@ -1160,16 +1233,19 @@ t_status_type SendMessage(t_symbolic_name message,
t_symbolic_name aux_msg = message & (~NODE_ID_MASK);
/* Case when FicOsek is initialized */
if (TST_FLAG_OSEK_COM_INIT()) {
if (TST_FLAG_OSEK_COM_INIT())
{
/* Case when message is not out of the range */
if ((aux_msg >= FIRST_TX_STA_LEN_SIGNAL_SYMBOLIC_NAME) &&
(aux_msg <= LAST_TX_STA_LEN_SIGNAL_SYMBOLIC_NAME)) {
(aux_msg <= LAST_TX_STA_LEN_SIGNAL_SYMBOLIC_NAME))
{
/* Mutual exclusive access begin */
// SuspendAllInterrupts();
/* Set of message data */
status = InitMessage(message, data_ref);
/* Switch for signals with Tx or TxError flags to reset */
switch (message) {
switch (message)
{
case SIG_DIAGCFAILRTOUCHPANSWTRVIBRATIONFLTSTS:
/* Reset Tx notification flag */
ResetFlagTxSigDiagcFailrTouchPanSWTRVibrationFltSts();
@ -1397,12 +1473,14 @@ t_status_type SendMessage(t_symbolic_name message,
// ResumeAllInterrupts();
}
/* Case when message is out of the range */
else {
else
{
status = E_COM_ID;
}
}
/* Case when FicOsek is not initialized */
else {
else
{
status = E_COM_SYS_NOINIT;
}
return status;
@ -1415,16 +1493,19 @@ t_status_type SendDynamicMessage(t_symbolic_name message,
t_status_type status;
t_symbolic_name aux_msg = message & (~NODE_ID_MASK);
/* Case when FicOsek is initialized */
if (TST_FLAG_OSEK_COM_INIT()) {
if (TST_FLAG_OSEK_COM_INIT())
{
/* Case when message is not out of the range */
if ((aux_msg >= FIRST_TX_DYN_LEN_SIGNAL_SYMBOLIC_NAME) &&
(aux_msg <= LAST_TX_DYN_LEN_SIGNAL_SYMBOLIC_NAME)) {
(aux_msg <= LAST_TX_DYN_LEN_SIGNAL_SYMBOLIC_NAME))
{
/* Mutual exclusive access begin */
// SuspendAllInterrupts();
/* Set of signal data */
status = InitMessage(message, data_ref);
/* Switch for signals */
switch (message) {
switch (message)
{
case SIG_DIAGNOSTICRESPSWTR:
/* Set of signal length */
len_frm_diag_physresp_swtr = MAX_LEN_FRM_DIAG_PHYSRESP_SWTR - MAX_LEN_SIG_DIAGNOSTICRESPSWTR + (*((UI_8 *)length_ref));
@ -1440,7 +1521,8 @@ t_status_type SendDynamicMessage(t_symbolic_name message,
/* Mutual exclusive access end */
// ResumeAllInterrupts();
/* Switch for triggered signal of direct or mixed frames */
switch (message) {
switch (message)
{
case SIG_DIAGNOSTICRESPSWTR:
/* Trigger event to initiate the transmission of the frame */
OsekComTxReqFrmDIAG_PhysResp_SWTR();
@ -1451,12 +1533,14 @@ t_status_type SendDynamicMessage(t_symbolic_name message,
}
}
/* Case when message is out of the range */
else {
else
{
status = E_COM_ID;
}
}
/* Case when FicOsek is not initialized */
else {
else
{
status = E_COM_SYS_NOINIT;
}
return status;
@ -1490,7 +1574,8 @@ t_status_type InitMessage(t_symbolic_name message,
/* Mutual exclusive access begin */
// SuspendAllInterrupts();
switch (message) {
switch (message)
{
case SIG_TWLIBRISTS_UB:
/* Initialization of signal sig_TwliBriSts_UB */
sig_twlibrists_ub[0] = ((uint8_t *)data_ref)[0];
@ -2131,7 +2216,8 @@ void ResetFlagComTrafficSWTR(void)
t_flag_value ReadFlagTxSig(t_symbolic_name message)
{
t_flag_value result;
switch (message) {
switch (message)
{
case SIG_DIAGCFAILRTOUCHPANSWTRVIBRATIONFLTSTS:
result = ReadFlagTxSigDiagcFailrTouchPanSWTRVibrationFltSts();
break;
@ -2622,7 +2708,8 @@ t_flag_value ReadFlagRxSig(t_symbolic_name message)
/---------------------------------------------------------------------------*/
void ResetFlagTxSig(t_symbolic_name message)
{
switch (message) {
switch (message)
{
case SIG_DIAGCFAILRTOUCHPANSWTRVIBRATIONFLTSTS:
ResetFlagTxSigDiagcFailrTouchPanSWTRVibrationFltSts();
break;
@ -3090,7 +3177,8 @@ t_flag_value ReadFlagRxSigDiagnosticFuncAddrReq(void)
/---------------------------------------------------------------------------*/
void ResetFlagRxSig(t_symbolic_name message)
{
switch (message) {
switch (message)
{
case SIG_DIAGNOSTICREQSWTR:
ResetFlagRxSigDiagnosticReqSWTR();
@ -3104,7 +3192,6 @@ void ResetFlagRxSig(t_symbolic_name message)
}
}
void ResetFlagRxSigDiagnosticReqSWTR(void)
{
flag_rx0 &= ((UI_8)0xFE);
@ -3126,7 +3213,8 @@ void ResetFlagRxSigDiagnosticFuncAddrReq(void)
/---------------------------------------------------------------------------*/
void OsekComTask(void)
{
if (TST_FLAG_OSEK_COM_INIT()) {
if (TST_FLAG_OSEK_COM_INIT())
{
/* Get timer difference since last task execution */
time_diff = FICOSEK_COM_TASK_TICKS;
@ -3149,12 +3237,14 @@ void OsekComTask(void)
static void OsekComPeriodicTx(void)
{
/* Test whether Tx of periodic frames is active */
if (TST_FLAG_OSEK_COM_PER_TX()) {
if (TST_FLAG_OSEK_COM_PER_TX())
{
/* Com frames monitoring */
/* Tx frame SwtrPrivateDHUCanFr06 end of period monitoring */
ptt_tx_frm_swtrprivatedhucanfr06 += time_diff;
if (ptt_tx_frm_swtrprivatedhucanfr06 >= PT_TX_FRM_SWTRPRIVATEDHUCANFR06) {
if (ptt_tx_frm_swtrprivatedhucanfr06 >= PT_TX_FRM_SWTRPRIVATEDHUCANFR06)
{
/* Reset timer */
ptt_tx_frm_swtrprivatedhucanfr06 = 0; /* Tx frame */
// SuspendAllInterrupts();
@ -3163,13 +3253,15 @@ static void OsekComPeriodicTx(void)
OsekComTxReqCallbackSWTR();
// ResumeAllInterrupts();
}
else {
else
{
/* Do nothing */
}
/* Tx frame SwtrPrivateDHUCanFr05 end of period monitoring */
ptt_tx_frm_swtrprivatedhucanfr05 += time_diff;
if (ptt_tx_frm_swtrprivatedhucanfr05 >= PT_TX_FRM_SWTRPRIVATEDHUCANFR05) {
if (ptt_tx_frm_swtrprivatedhucanfr05 >= PT_TX_FRM_SWTRPRIVATEDHUCANFR05)
{
/* Reset timer */
ptt_tx_frm_swtrprivatedhucanfr05 = 0; /* Tx frame */
// SuspendAllInterrupts();
@ -3178,13 +3270,15 @@ static void OsekComPeriodicTx(void)
OsekComTxReqCallbackSWTR();
// ResumeAllInterrupts();
}
else {
else
{
/* Do nothing */
}
/* Tx frame SwtrPrivateDHUCanFr04 end of period monitoring */
ptt_tx_frm_swtrprivatedhucanfr04 += time_diff;
if (ptt_tx_frm_swtrprivatedhucanfr04 >= PT_TX_FRM_SWTRPRIVATEDHUCANFR04) {
if (ptt_tx_frm_swtrprivatedhucanfr04 >= PT_TX_FRM_SWTRPRIVATEDHUCANFR04)
{
/* Reset timer */
ptt_tx_frm_swtrprivatedhucanfr04 = 0; /* Tx frame */
// SuspendAllInterrupts();
@ -3193,13 +3287,15 @@ static void OsekComPeriodicTx(void)
OsekComTxReqCallbackSWTR();
// ResumeAllInterrupts();
}
else {
else
{
/* Do nothing */
}
/* Tx frame SwtrPrivateDHUCanFr03 end of period monitoring */
ptt_tx_frm_swtrprivatedhucanfr03 += time_diff;
if (ptt_tx_frm_swtrprivatedhucanfr03 >= PT_TX_FRM_SWTRPRIVATEDHUCANFR03) {
if (ptt_tx_frm_swtrprivatedhucanfr03 >= PT_TX_FRM_SWTRPRIVATEDHUCANFR03)
{
/* Reset timer */
ptt_tx_frm_swtrprivatedhucanfr03 = 0; /* Tx frame */
// SuspendAllInterrupts();
@ -3208,7 +3304,8 @@ static void OsekComPeriodicTx(void)
OsekComTxReqCallbackSWTR();
// ResumeAllInterrupts();
}
else {
else
{
/* Do nothing */
}
#if 0
@ -3228,7 +3325,8 @@ static void OsekComPeriodicTx(void)
#endif
/* Tx frame SwtrPressFr01 end of period monitoring */
ptt_tx_frm_swtrpressfr01 += time_diff;
if (ptt_tx_frm_swtrpressfr01 >= PT_TX_FRM_SWTRPRESSFR01) {
if (ptt_tx_frm_swtrpressfr01 >= PT_TX_FRM_SWTRPRESSFR01)
{
/* Reset timer */
ptt_tx_frm_swtrpressfr01 = 0; /* Tx frame */
// SuspendAllInterrupts();
@ -3238,15 +3336,15 @@ static void OsekComPeriodicTx(void)
// ResumeAllInterrupts();
}
else {
else
{
/* Do nothing */
}
/* Tx frame SwtRSensorFr01 end of period monitoring */
ptt_tx_frm_swtrsensorfr01 += time_diff;
if (ptt_tx_frm_swtrsensorfr01 >= PT_TX_FRM_SWTRSENSORFR01) {
if (ptt_tx_frm_swtrsensorfr01 >= PT_TX_FRM_SWTRSENSORFR01)
{
/* Reset timer */
ptt_tx_frm_swtrsensorfr01 = 0; /* Tx frame */
// SuspendAllInterrupts();
@ -3256,13 +3354,15 @@ static void OsekComPeriodicTx(void)
// ResumeAllInterrupts();
}
else {
else
{
/* Do nothing */
}
/* Tx frame SwtRSensorFr02 end of period monitoring */
ptt_tx_frm_swtrsensorfr02 += time_diff;
if (ptt_tx_frm_swtrsensorfr02 >= PT_TX_FRM_SWTRSENSORFR02) {
if (ptt_tx_frm_swtrsensorfr02 >= PT_TX_FRM_SWTRSENSORFR02)
{
/* Reset timer */
ptt_tx_frm_swtrsensorfr02 = 0; /* Tx frame */
// SuspendAllInterrupts();
@ -3272,13 +3372,15 @@ static void OsekComPeriodicTx(void)
// ResumeAllInterrupts();
}
else {
else
{
/* Do nothing */
}
/* Tx frame SwtRSensorFr03 end of period monitoring */
ptt_tx_frm_swtrsensorfr03 += time_diff;
if (ptt_tx_frm_swtrsensorfr03 >= PT_TX_FRM_SWTRSENSORFR03) {
if (ptt_tx_frm_swtrsensorfr03 >= PT_TX_FRM_SWTRSENSORFR03)
{
/* Reset timer */
ptt_tx_frm_swtrsensorfr03 = 0; /* Tx frame */
// SuspendAllInterrupts();
@ -3288,13 +3390,15 @@ static void OsekComPeriodicTx(void)
// ResumeAllInterrupts();
}
else {
else
{
/* Do nothing */
}
/* Tx frame SwtRSensorFr04 end of period monitoring */
ptt_tx_frm_swtrsensorfr04 += time_diff;
if (ptt_tx_frm_swtrsensorfr04 >= PT_TX_FRM_SWTRSENSORFR04) {
if (ptt_tx_frm_swtrsensorfr04 >= PT_TX_FRM_SWTRSENSORFR04)
{
/* Reset timer */
ptt_tx_frm_swtrsensorfr04 = 0; /* Tx frame */
// SuspendAllInterrupts();
@ -3304,13 +3408,15 @@ static void OsekComPeriodicTx(void)
// ResumeAllInterrupts();
}
else {
else
{
/* Do nothing */
}
/* Tx frame SwtRSensorFr05 end of period monitoring */
ptt_tx_frm_swtrsensorfr05 += time_diff;
if (ptt_tx_frm_swtrsensorfr05 >= PT_TX_FRM_SWTRSENSORFR05) {
if (ptt_tx_frm_swtrsensorfr05 >= PT_TX_FRM_SWTRSENSORFR05)
{
/* Reset timer */
ptt_tx_frm_swtrsensorfr05 = 0; /* Tx frame */
// SuspendAllInterrupts();
@ -3320,13 +3426,15 @@ static void OsekComPeriodicTx(void)
// ResumeAllInterrupts();
}
else {
else
{
/* Do nothing */
}
/* Tx frame SwtRSensorFr06 end of period monitoring */
ptt_tx_frm_swtrsensorfr06 += time_diff;
if (ptt_tx_frm_swtrsensorfr06 >= PT_TX_FRM_SWTRSENSORFR06) {
if (ptt_tx_frm_swtrsensorfr06 >= PT_TX_FRM_SWTRSENSORFR06)
{
/* Reset timer */
ptt_tx_frm_swtrsensorfr06 = 0; /* Tx frame */
// SuspendAllInterrupts();
@ -3336,13 +3444,15 @@ static void OsekComPeriodicTx(void)
// ResumeAllInterrupts();
}
else {
else
{
/* Do nothing */
}
/* Tx frame SwtRSensorFr07 end of period monitoring */
ptt_tx_frm_swtrsensorfr07 += time_diff;
if (ptt_tx_frm_swtrsensorfr07 >= PT_TX_FRM_SWTRSENSORFR07) {
if (ptt_tx_frm_swtrsensorfr07 >= PT_TX_FRM_SWTRSENSORFR07)
{
/* Reset timer */
ptt_tx_frm_swtrsensorfr07 = 0; /* Tx frame */
// SuspendAllInterrupts();
@ -3352,13 +3462,15 @@ static void OsekComPeriodicTx(void)
// ResumeAllInterrupts();
}
else {
else
{
/* Do nothing */
}
/* Tx frame SwtRSensorFr08 end of period monitoring */
ptt_tx_frm_swtrsensorfr08 += time_diff;
if (ptt_tx_frm_swtrsensorfr08 >= PT_TX_FRM_SWTRSENSORFR08) {
if (ptt_tx_frm_swtrsensorfr08 >= PT_TX_FRM_SWTRSENSORFR08)
{
/* Reset timer */
ptt_tx_frm_swtrsensorfr08 = 0; /* Tx frame */
// SuspendAllInterrupts();
@ -3367,12 +3479,10 @@ static void OsekComPeriodicTx(void)
OsekComTxReqCallbackSWTR();
// ResumeAllInterrupts();
}
else {
else
{
/* Do nothing */
}
}
@ -3395,14 +3505,16 @@ static void OsekComDeadlineMonitRx(void)
/* Increasing Timer */
dmt_rx_sig_actvnofsteerwhlillmn += time_diff;
/* Rx deadline case time out signal ActvnOfSteerWhlIllmn */
if (dmt_rx_sig_actvnofsteerwhlillmn >= TO_RX_SIG_ACTVNOFSTEERWHLILLMN) {
if (dmt_rx_sig_actvnofsteerwhlillmn >= TO_RX_SIG_ACTVNOFSTEERWHLILLMN)
{
/* Reset monitoring timer */
dmt_rx_sig_actvnofsteerwhlillmn = 0;
/* RxError notification callback */
IhuPrivateDHUCanFr01_Timeout_CALLBACK();
}
/* Case normal counting */
else {
else
{
/* Do Nothing */
}
}
@ -3445,10 +3557,12 @@ static void OsekComTxReqFrmDIAG_PhysResp_SWTR(void)
{
/* Start of the Tx deadline monitoring timer */
// SuspendAllInterrupts();
if (dmt_tx_frm_diag_physresp_swtr == TIMER_CANCEL) {
if (dmt_tx_frm_diag_physresp_swtr == TIMER_CANCEL)
{
dmt_tx_frm_diag_physresp_swtr = 0;
}
else {
else
{
/* Do nothing */
}
/* Tx frame */
@ -3457,4 +3571,3 @@ static void OsekComTxReqFrmDIAG_PhysResp_SWTR(void)
OsekComTxReqCallbackSWTR();
// ResumeAllInterrupts();
}

View File

@ -823,5 +823,16 @@ void ResetFlagRxSigDiagnosticFuncAddrReq(void);
void OsekComTask(void);
void OsekComTxReqFrmSwtrPrivateDHUCanFr01(void);
void OsekComTxReqFrmSwtrPrivateDHUCanFr02(void);
void OsekComSetFR09data(uint8_t data[]);
void OsekComSetFR0Adata(uint8_t data[]);
void OsekComSetFR0Bdata(uint8_t data[]);
void OsekComSetFR0Cdata(uint8_t data[]);
#endif

View File

@ -2,7 +2,6 @@
#include "RTE.h"
#include <stddef.h> // Defines NULL
#include <stdbool.h> // Defines true
#include <stdlib.h> // Defines EXIT_FAILURE
@ -22,7 +21,6 @@
#include "math.h"
#include "stdlib.h"
#include <stddef.h> // Defines NULL
#include <stdbool.h> // Defines true
#include <stdlib.h> // Defines EXIT_FAILURE
@ -36,9 +34,7 @@
#include "DiagnosticR/UDS/UDS_Services_Common.h"
#include "plib_systick.h"
#include "FunctionState.h"
#include "SysDiagDetect.h"
// #include "Global.h"
#ifndef uint8_t
@ -53,7 +49,7 @@
#define uint32_t unsigned int
#endif
extern uint8 CurrentPosition;
extern uint8_t PressState;
uint16 Fr08_send_flag;
uint8_t Two_Finger_Y_count = 0;
@ -78,7 +74,7 @@ uint16_t Touch_Sensor_Sts00;
uint16_t Touch_Sensor_Sts12;
uint16_t Touch_Sensor_Sts13;
uint16_t Touch_Sensor_Sts14;
uint8_t Allow_Touch_flag = 0;
uint8_t Allow_Touch_flag = 0,Allow_Touch_counter=0;
uint16_t Touch_Sensor_Ref00;
uint16_t Touch_Sensor_Ref01;
@ -96,6 +92,22 @@ uint16_t Touch_Sensor_Ref12;
uint16_t Touch_Sensor_Ref13;
uint16_t Touch_Sensor_Ref14;
uint16_t Touch_Sensor_CC00;
uint16_t Touch_Sensor_CC01;
uint16_t Touch_Sensor_CC02;
uint16_t Touch_Sensor_CC03;
uint16_t Touch_Sensor_CC04;
uint16_t Touch_Sensor_CC05;
uint16_t Touch_Sensor_CC06;
uint16_t Touch_Sensor_CC07;
uint16_t Touch_Sensor_CC08;
uint16_t Touch_Sensor_CC09;
uint16_t Touch_Sensor_CC10;
uint16_t Touch_Sensor_CC11;
uint16_t Touch_Sensor_CC12;
uint16_t Touch_Sensor_CC13;
uint16_t Touch_Sensor_CC14;
uint16_t Touch_Sensor_delta00;
uint16_t Touch_Sensor_delta01;
uint16_t Touch_Sensor_delta02;
@ -112,8 +124,6 @@ uint16_t Touch_Sensor_delta12;
uint16_t Touch_Sensor_delta13;
uint16_t Touch_Sensor_delta14;
// volatile uint8_t TouchBoard_RC;
// volatile uint8_t TouchBoard_Sts;
@ -124,11 +134,6 @@ uint8_t RTE_Get_TouchBoard_CRC(void)
return 0;
}
// Input Sensor
// uint16_t RTE_Get_Power_AD_SNS(void);
@ -136,15 +141,12 @@ uint8_t RTE_Get_TouchBoard_CRC(void)
// Not active,Touch,Touch and Press,invalid from sensor
uint8_t RTE_Get_SldVolCtrlSts(void) // 0 slip idle 1 decrease ,2 increase , 3 decrease double , 4 increase double ,5 decrease third, 6 increase third
{
TP_SlideLevel_Enum UD_SlideLevel = TP_SlideLevel_NONE;
UD_SlideLevel = TouchPanel_SlideUpDownLevelRead();
return (uint8_t)UD_SlideLevel;
}
uint8_t RTE_Get_TouchBoard_Up_Sts(void)
{
/* y:a7, x: e6 */
@ -161,10 +163,6 @@ uint8_t RTE_Get_TouchBoard_Up_Sts(void)
{
Signal = 0;
}
if (PressState == 0)
{
Signal = BUTTON_RELEASE;
}
return Signal;
}
@ -177,15 +175,13 @@ uint8_t RTE_Get_TouchBoard_Down_Sts(void)
Buttons_SignalType Signal = BUTTON_RELEASE;
if (CurrentPosition == 5)
{
Signal = TouchPanel_BtnSignalRead(BTN_DOWN);}
Signal = TouchPanel_BtnSignalRead(BTN_DOWN);
}
if (Allow_Touch_flag == 0)
{
Signal = 0;
}
if (PressState == 0)
{
Signal = BUTTON_RELEASE;
}
return Signal;
}
@ -196,15 +192,13 @@ uint8_t RTE_Get_TouchBoard_Left_Sts(void)
Buttons_SignalType Signal = BUTTON_RELEASE;
if (CurrentPosition == 6)
{
Signal = TouchPanel_BtnSignalRead(BTN_LEFT);}
Signal = TouchPanel_BtnSignalRead(BTN_LEFT);
}
if (Allow_Touch_flag == 0)
{
Signal = 0;
}
if (PressState == 0)
{
Signal = BUTTON_RELEASE;
}
return Signal;
}
@ -216,15 +210,13 @@ uint8_t RTE_Get_TouchBoard_Right_Sts(void)
Buttons_SignalType Signal = BUTTON_RELEASE;
if (CurrentPosition == 7)
{
Signal = TouchPanel_BtnSignalRead(BTN_RIGHT);}
Signal = TouchPanel_BtnSignalRead(BTN_RIGHT);
}
if (Allow_Touch_flag == 0)
{
Signal = 0;
}
if (PressState == 0)
{
Signal = BUTTON_RELEASE;
}
return Signal;
}
@ -239,10 +231,7 @@ uint8_t RTE_Get_TouchBoard_Center_Sts(void)
{
Signal = 0;
}
if (PressState == 0)
{
Signal = BUTTON_RELEASE;
}
return Signal;
}
@ -260,7 +249,9 @@ uint8_t RTE_Get_TouchBoard_VOICE1_Sts(void)//TJP1
{
g_VOICE_Touch_And_Below_1N = 0x01;
Voice_Zero_Count = 0;
}else{
}
else
{
Voice_Zero_Count++;
if (Voice_Zero_Count > 6)
{
@ -272,10 +263,7 @@ uint8_t RTE_Get_TouchBoard_VOICE1_Sts(void)//TJP1
{
Signal = 0;
}
if (PressState == 0)
{
Signal = BUTTON_RELEASE;
}
return Signal;
}
uint8_t RTE_Get_TouchBoard_VOICE2_Sts(void) // TJP2
@ -299,7 +287,9 @@ uint8_t RTE_Get_TouchBoard_MENU1_Sts(void)//Resume1
{
g_MENU_Touch_And_Below_1N = 0x01;
Menu_Zero_Count = 0;
}else{
}
else
{
Menu_Zero_Count++;
if (Menu_Zero_Count > 6)
{
@ -311,10 +301,7 @@ uint8_t RTE_Get_TouchBoard_MENU1_Sts(void)//Resume1
{
Signal = 0;
}
if (PressState == 0)
{
Signal = BUTTON_RELEASE;
}
return Signal;
}
uint8_t RTE_Get_TouchBoard_MENU2_Sts(void) // Resume2
@ -341,7 +328,9 @@ uint8_t RTE_Get_TouchBoard_VOL1_Sts(void)//Cancel1
{
g_VOL_Touch_And_Below_1N = 0x01;
VOL_Zero_Count = 0;
}else{
}
else
{
VOL_Zero_Count++;
if (VOL_Zero_Count > 6)
{
@ -353,10 +342,7 @@ uint8_t RTE_Get_TouchBoard_VOL1_Sts(void)//Cancel1
{
Signal = 0;
}
if (PressState == 0)
{
Signal = BUTTON_RELEASE;
}
return Signal;
}
uint8_t RTE_Get_TouchBoard_VOL2_Sts(void) // Cancel2
@ -367,31 +353,10 @@ uint8_t RTE_Get_TouchBoard_VOL2_Sts(void)//Cancel2
return Signal;
}
// touch borad left/right slide: 0:idle, 1:short slide left 2:short slide right 3:long slide left 4:long slide right
uint8_t RTE_Get_TouchBoard_Left_Right_Slide_Sts(void)
{
uint8_t retval = SIG_SWPLERISTSRI_SWPLERIREQSTS_IDLE;
#if 1
TP_SlideDirection_Enum SlideDir;
SlideDir = TouchPanel_SlideEventRead();
switch(SlideDir)
{
case TP_SlideDirection_ShortLEFT:
retval = SIG_SWPLERISTSRI_SWPLERIREQSTS_SHORTSLIDELEFT;
break;
case TP_SlideDirection_LongLEFT:
retval = SIG_SWPLERISTSRI_SWPLERIREQSTS_LONGSLIDELEFT;
break;
case TP_SlideDirection_ShortRIGHT:
retval = SIG_SWPLERISTSRI_SWPLERIREQSTS_SHORTSLIDERIGHT;
break;
case TP_SlideDirection_LongRIGHT:
retval = SIG_SWPLERISTSRI_SWPLERIREQSTS_LONGSLIDERIGHT;
break;
default: break;
}
#endif
return retval;
}
@ -399,42 +364,17 @@ uint8_t RTE_Get_TouchBoard_Left_Right_Slide_Sts(void)
uint8_t RTE_Get_TouchBoard_Up_Down_Slide_Sts(void)
{
uint8_t retval = SIG_SWPUPDWNSTSRI_SWPUPDWNREQSTS_IDLE;
#if 1
TP_SlideDirection_Enum SlideDir;
SlideDir = TouchPanel_SlideEventRead();
switch(SlideDir)
{
case TP_SlideDirection_ShortUP:
retval = SIG_SWPUPDWNSTSRI_SWPUPDWNREQSTS_SHORTSLIDEUP;
break;
case TP_SlideDirection_LongUP:
retval = SIG_SWPUPDWNSTSRI_SWPUPDWNREQSTS_LONGSLIDEUP;
break;
case TP_SlideDirection_ShortDOWN:
retval = SIG_SWPUPDWNSTSRI_SWPUPDWNREQSTS_SHORTSLIDEDOWN;
break;
case TP_SlideDirection_LongDOWN:
retval = SIG_SWPUPDWNSTSRI_SWPUPDWNREQSTS_LONGSLIDEDOWN;
break;
default: break;
}
#endif
return retval;
}
// uint8_t RTE_Get_INTB_PRSS_SNS(void);
// uint8_t RTE_Get_X1_SNS(void);
// uint8_t RTE_Get_X2_SNS(void);
// uint8_t RTE_Get_X3_SNS(void);
// uint8_t RTE_Get_X4_SNS(void);
// uint8_t RTE_Get_X5_SNS(void);
#define X_Length 6
#define Y_Length 6
@ -456,26 +396,7 @@ uint8_t rtn_Y=0;
uint8_t RTE_Get_X_SNS(void)
{
#if 0
uint8_t count;
uint16_t sum_x=0;
uint8 x_pos;
GetSurface_Position(&x_pos, NULL_PTR);
X_Buf[X_CNT++]=x_pos;
if(X_CNT==X_Length)
{
X_CNT=0;
}
for(count=0;count<X_Length;count++)
{
sum_x+=(uint16_t)X_Buf[count];
}
if(x_pos==0)
{
sum_x=0;
}
return (uint8_t)(sum_x/X_Length);
#endif
#if 1
uint8_t i;
@ -538,12 +459,11 @@ uint8_t RTE_Get_X_SNS(void)
X_Update_Flg = 1;
rtn_X = (X_Buf[X_Length / 2] + X_Buf[X_Length / 2 - 1]) / 2;
}
/*
if(Allow_Touch_flag==0)
{
rtn_X = 0;
}
*/
if (x_pos == 0)
{
rtn_X = 0;
@ -551,37 +471,11 @@ uint8_t RTE_Get_X_SNS(void)
return rtn_X;
#endif
}
//uint8_t RTE_Get_Y1_SNS(void);
//uint8_t RTE_Get_Y2_SNS(void);
//uint8_t RTE_Get_Y3_SNS(void);
//uint8_t RTE_Get_Y4_SNS(void);
//uint8_t RTE_Get_Y5_SNS(void);
uint8_t RTE_Get_Y_SNS(void)
{
#if 0
uint8_t count;
uint16_t sum_y=0;
uint8 y_pos;
GetSurface_Position(NULL_PTR, &y_pos);
Y_Buf[Y_CNT++]=y_pos;
if(Y_CNT==Y_Length)
{
Y_CNT=0;
}
for(count=0;count<Y_Length;count++)
{
sum_y+=(uint16_t)Y_Buf[count];
}
if(y_pos==0)
{
sum_y=0;
}
return (uint8_t)(sum_y/Y_Length);
#endif
#if 1
uint8_t i;
@ -644,28 +538,23 @@ uint8_t RTE_Get_Y_SNS(void)
Y_Update_Flg = 1;
rtn_Y = (Y_Buf[Y_Length / 2] + Y_Buf[Y_Length / 2 - 1]) / 2;
}
/*
if(Allow_Touch_flag==0)
{
rtn_Y = 0;
}
*/
if (y_pos == 0)
{
rtn_Y = 0;
}
return rtn_Y;
#endif
}
uint8_t g_XY_Touch_And_Below_1N = 0;
uint8_t RTE_Get_TouchBoard_XY_Sts(void) // Not active,Touch,Touch and Press,invalid from sensor
{
// PanelPress_LevelType Press_Level;
@ -677,9 +566,15 @@ uint8_t RTE_Get_TouchBoard_XY_Sts(void)//Not active,Touch,Touch and Press,invali
if (TouchSurface_is_TouchActive() == TRUE) // PANEL_PRESS_LEVEL0 == Press_Level &&
{
g_XY_Touch_And_Below_1N = 0x01;
}else{
}
else
{
g_XY_Touch_And_Below_1N = 0x00;
}
if(Allow_Touch_flag==0)
{
XY_Sts = 0;
}
return XY_Sts;
}
@ -691,33 +586,31 @@ uint8_t RTE_Get_TouchBoard_XY_Touch_And_Below_1N(void) // 0 false 1 true
uint16_t Two_Finger_X_data[5] = {};
uint16_t th_x[5], th_y[5];
uint8_t i, m;
Two_Finger_X_data[0] = Touch_Sensor_delta09;
Two_Finger_X_data[1] = Touch_Sensor_delta08;
Two_Finger_X_data[2] = Touch_Sensor_delta07;
Two_Finger_X_data[3] = Touch_Sensor_delta06;
Two_Finger_X_data[4] = Touch_Sensor_delta05;
Two_Finger_Y_data[0]=Touch_Sensor_delta05;
Two_Finger_Y_data[1]=Touch_Sensor_delta06;
Two_Finger_Y_data[2]=Touch_Sensor_delta07;
Two_Finger_Y_data[3]=Touch_Sensor_delta08;
Two_Finger_Y_data[4]=Touch_Sensor_delta09;
Two_Finger_Y_data[0] = Touch_Sensor_delta14;
Two_Finger_Y_data[1] = Touch_Sensor_delta13;
Two_Finger_Y_data[2] = Touch_Sensor_delta12;
Two_Finger_Y_data[3] = Touch_Sensor_delta11;
Two_Finger_Y_data[4] = Touch_Sensor_delta10;
Two_Finger_X_data[0]=Touch_Sensor_delta10;
Two_Finger_X_data[1]=Touch_Sensor_delta11;
Two_Finger_X_data[2]=Touch_Sensor_delta12;
Two_Finger_X_data[3]=Touch_Sensor_delta13;
Two_Finger_X_data[4]=Touch_Sensor_delta14;
th_x[0] = qtlib_key_configs_set1[9].channel_threshold;
th_x[1] = qtlib_key_configs_set1[8].channel_threshold;
th_x[2] = qtlib_key_configs_set1[7].channel_threshold;
th_x[3] = qtlib_key_configs_set1[6].channel_threshold;
th_x[4] = qtlib_key_configs_set1[5].channel_threshold;
th_x[0] = qtlib_key_configs_set1[10].channel_threshold;
th_x[1] = qtlib_key_configs_set1[11].channel_threshold;
th_x[2] = qtlib_key_configs_set1[12].channel_threshold;
th_x[3] = qtlib_key_configs_set1[13].channel_threshold;
th_x[4] = qtlib_key_configs_set1[14].channel_threshold;
th_y[0] = qtlib_key_configs_set1[5].channel_threshold;
th_y[1] = qtlib_key_configs_set1[6].channel_threshold;
th_y[2] = qtlib_key_configs_set1[7].channel_threshold;
th_y[3] = qtlib_key_configs_set1[8].channel_threshold;
th_y[4] = qtlib_key_configs_set1[9].channel_threshold;
th_y[0] = qtlib_key_configs_set1[14].channel_threshold;
th_y[1] = qtlib_key_configs_set1[13].channel_threshold;
th_y[2] = qtlib_key_configs_set1[12].channel_threshold;
th_y[3] = qtlib_key_configs_set1[11].channel_threshold;
th_y[4] = qtlib_key_configs_set1[10].channel_threshold;
@ -728,12 +621,12 @@ uint8_t RTE_Get_TouchBoard_XY_Touch_And_Below_1N(void) // 0 false 1 true
{
Two_Finger_Y_count++;
}
}
i = 0;
Y_count = 0;
while(Two_Finger_Y_data[i]<=th_y[i++] && i<5);
while (Two_Finger_Y_data[i] <= th_y[i++] && i < 5)
;
i--;
for (; i < 5; i++)
{
@ -743,8 +636,6 @@ uint8_t RTE_Get_TouchBoard_XY_Touch_And_Below_1N(void) // 0 false 1 true
Y_count++;
}
Two_Finger_X_count = 0;
for (m = 0; m < 5; m++)
{
@ -752,11 +643,11 @@ uint8_t RTE_Get_TouchBoard_XY_Touch_And_Below_1N(void) // 0 false 1 true
{
Two_Finger_X_count++;
}
}
m = 0;
X_count = 0;
while(Two_Finger_X_data[m]<=th_x[m++] && m<5);
while (Two_Finger_X_data[m] <= th_x[m++] && m < 5)
;
m--;
for (; m < 5; m++)
{
@ -766,20 +657,25 @@ uint8_t RTE_Get_TouchBoard_XY_Touch_And_Below_1N(void) // 0 false 1 true
X_count++;
}
if((Two_Finger_Y_count<=4 && Y_count == Two_Finger_Y_count)&&(Two_Finger_X_count<=4 && X_count == Two_Finger_X_count))
// 触发的通道数量 //连续触发的通道数量
if ((Two_Finger_Y_count > 4 && Two_Finger_X_data[0]>th_x[0]) || Y_count != Two_Finger_Y_count || Two_Finger_X_count > 4 || X_count == Two_Finger_X_count)
{
//满足防误触
Allow_Touch_counter++;
if (Allow_Touch_counter >= 10)//40ms
{
Allow_Touch_counter = 10;
Allow_Touch_flag = 0;
}
}
else
{
Allow_Touch_flag=0;
Allow_Touch_counter = 0;
}
if((Two_Finger_Y_count<=4 && Y_count == Two_Finger_Y_count)&&(Two_Finger_X_count<=4 && X_count == Two_Finger_X_count))
//if(Allow_Touch_flag == 1)
if(Allow_Touch_flag == 1)
{
//Allow_Touch_flag=1;
if (g_XY_Touch_And_Below_1N == TRUE || g_VOICE_Touch_And_Below_1N == TRUE ||
g_MENU_Touch_And_Below_1N == TRUE || g_VOL_Touch_And_Below_1N == TRUE)
{
@ -790,13 +686,12 @@ uint8_t RTE_Get_TouchBoard_XY_Touch_And_Below_1N(void) // 0 false 1 true
}
#endif
uint8_t RTE_Get_Pad_XY_trig(void)
{
Buttons_SignalType XY_Sts = BUTTON_RELEASE;
XY_Sts = TouchSurface_is_TouchActive();
if (PressState == 0)
if(Allow_Touch_flag==0)
{
XY_Sts = 0;
}
@ -806,40 +701,36 @@ uint8_t RTE_Get_Voice_XY_trig(void)
{
Buttons_SignalType Signal;
Signal = k_voice_touch_Sts;
if (PressState == 0)
if(Allow_Touch_flag==0)
{
Signal = 0;
}
return Signal;
}
uint8_t RTE_Get_Menu_XY_trig(void)
{
Buttons_SignalType Signal;
Signal = k_menu_touch_Sts; // TouchButton_is_TouchActive(BTN_MENU1);
if (PressState == 0)
if(Allow_Touch_flag==0)
{
Signal = 0;
}
return Signal;
}
uint8_t RTE_Get_Vol_XY_trig(void)
{
Buttons_SignalType Signal;
Signal = k_vol_touch_Sts; // TouchButton_is_TouchActive(BTN_VOL1);
if (PressState == 0)
if(Allow_Touch_flag==0)
{
Signal = 0;
}
return Signal;
}
uint8_t RTE_Get_ACT_FAULT_OUT_SNS(void)
{
return 0;
@ -849,7 +740,6 @@ uint8_t RTE_Get_ACT_LD_OUT_SNS(void)
return 0;
}
// Input CAN
uint8_t rtn_data = 0;
@ -874,7 +764,6 @@ uint8_t RTE_Get_CAN_TwliBriSts(void)
return rtn_data;
}
uint8_t RTE_Get_CAN_IntrBriSts(void)
{
// uint8_t temp = 0;
@ -1051,12 +940,8 @@ void RTE_Set_illumination_BL_PWM(uint32_t Percent)
// }
}
// void RTE_Set_Power_AD_Ctrl(uint8_t Value);
// ACT control??
uint8_t trigger_ACT = 0;
void RTE_Set_ACT_Vibration(uint8_t Sts)
@ -1068,13 +953,11 @@ void RTE_Set_ACT_Vibration(uint8_t Sts)
trigger_ACT = 1;
// speeker_Tig_Once(50, SA51024_STRENGTH_LEVEL3);
}
}
else
{
trigger_ACT = 0;
}
}
// void RTE_Set_Gain0(uint8_t Value);
// void RTE_Set_Gain1(uint8_t Value);
@ -1177,8 +1060,6 @@ void RTE_Set_CAN_DiagcFailrTouchPanSWTRSnsrFltSts(uint8_t Value)
// InitMessage(SIG_DIAGCFAILRTOUCHPANSWTRSNSRFLTSTS, &Value);
}
void RTE_Set_CAN_SteerWhlTouchBdMenu(uint8_t Value)
{
uint16_t Press_signal = Get_forcedetect_force_value();
@ -1187,11 +1068,8 @@ void RTE_Set_CAN_SteerWhlTouchBdMenu(uint8_t Value)
Value = 0;
}
InitMessage(SIG_STEERWHLTOUCHBDMENU, &Value);
}
void RTE_Set_CAN_SteerWhlTouchBdDn(uint8_t Value)
{
uint16_t Press_signal = Get_forcedetect_force_value();
@ -1205,7 +1083,6 @@ void RTE_Set_CAN_SteerWhlTouchBdDn(uint8_t Value)
void RTE_Set_CAN_SteerWhlTouchBdRiChks(uint8_t Value)
{
InitMessage(SIG_STEERWHLTOUCHBDRICHKS, &Value);
}
void RTE_Set_CAN_SteerWhlTouchBdRiCntr(uint8_t Value)
@ -1214,7 +1091,6 @@ void RTE_Set_CAN_SteerWhlTouchBdRiCntr(uint8_t Value)
// TouchBoard_RC=Value;
}
uint8_t g_last_SteerWhlTouchBdSts = BUTTON_RELEASE;
void RTE_Set_CAN_SteerWhlTouchBdRiSteerWhlTouchBdSts(uint8_t Value)
{
@ -1223,11 +1099,15 @@ void RTE_Set_CAN_SteerWhlTouchBdRiSteerWhlTouchBdSts(uint8_t Value)
{
Value = 0;
}
if (Value != 0 && Touch_Sensor_Fault != Touch_NoFault)
{
Value = 0x03;
}
InitMessage(SIG_STEERWHLTOUCHBDRISTEERWHLTOUCHBDSTS, &Value);
// TouchBoard_Sts=Value;
}
void RTE_Set_CAN_SteerWhlTouchBdRiTouchPosnX(uint8_t Value)
{
uint16_t Press_signal = Get_forcedetect_force_value();
@ -1262,9 +1142,12 @@ void RTE_Set_SEND_CAN_0x309_immediately(uint8_t Value) //called immediately in 1
if (Value == 1)
{
if(Frame_0x309_RC > 14){
if (Frame_0x309_RC > 14)
{
Frame_0x309_RC = 0;
}else{
}
else
{
Frame_0x309_RC++;
}
InitMessage(SIG_STEERWHLTOUCHBDRICNTR, &Frame_0x309_RC);
@ -1285,9 +1168,12 @@ void RTE_Set_SEND_CAN_0x309_immediately(uint8_t Value) //called immediately in 1
InitMessage(SIG_STEERWHLTOUCHBDRISTEERWHLTOUCHBDSTS, &Remain_Y);
if (Remain_cnt < 2)
{
if(Frame_0x309_RC > 14){
if (Frame_0x309_RC > 14)
{
Frame_0x309_RC = 0;
}else{
}
else
{
Frame_0x309_RC++;
}
InitMessage(SIG_STEERWHLTOUCHBDRICNTR, &Frame_0x309_RC);
@ -1300,7 +1186,6 @@ void RTE_Set_SEND_CAN_0x309_immediately(uint8_t Value) //called immediately in 1
Remain_cnt = 0;
}
}
}
void RTE_Set_SEND_CAN_0x307_25ms(uint8_t Value) // when touch,or touch and press in 3 button area,0x305 is sent every 25ms
{
@ -1344,15 +1229,13 @@ InitMessage(SIG_SWTRPARTNOCMPL_UB, &UbInitValue);
InitMessage(SIG_SWTRSERNO_UB, &UbInitValue);
}
#if 1
void RTE_Set_All_Test_Value(void) // 2ms
{
#if 1
uint16_t Press_baseline;
uint16_t Press_signal, Press_preload;
uint8_t i,sensor_state;
uint8_t i,frccdata[8]={0};
static uint32_t Press_reset_counter[16], Press_repeat_counter[16], baseline_error_counter, baseline_error_repeat_counter;
Press_baseline = Get_forcedetect_basline_value();
Press_signal = Get_forcedetect_force_value();
@ -1382,7 +1265,6 @@ void RTE_Set_All_Test_Value(void)//2ms
else
{
touch_reset2times_flag = 1;
}
}
}
@ -1395,8 +1277,6 @@ void RTE_Set_All_Test_Value(void)//2ms
{
Press_repeat_counter[i]--;
}
}
for (i = 0; i < 15; i++)
@ -1419,7 +1299,6 @@ void RTE_Set_All_Test_Value(void)//2ms
}
break;
}
}
if (i == 15)
{
@ -1430,16 +1309,6 @@ void RTE_Set_All_Test_Value(void)//2ms
baseline_error_repeat_counter--;
}
//uint8_t Touch_Sensor_Sts13;
#if 1
//Touch_Sensor_Sts00 = (uint16_t)g_VOICE_Touch_And_Below_1N;
//Touch_Sensor_Sts01 = (uint16_t)g_MENU_Touch_And_Below_1N;
//Touch_Sensor_Sts02= (uint16_t)g_VOL_Touch_And_Below_1N;
Touch_Sensor_Sts00 = get_sensor_node_signal(0U);
Touch_Sensor_Sts01 = get_sensor_node_signal(1U);
Touch_Sensor_Sts02 = get_sensor_node_signal(2U);
@ -1455,23 +1324,9 @@ void RTE_Set_All_Test_Value(void)//2ms
Touch_Sensor_Sts12 = get_sensor_node_signal(12U);
Touch_Sensor_Sts13 = get_sensor_node_signal(13U);
Touch_Sensor_Sts14 = get_sensor_node_signal(14U);
#endif
// get_sensor_state
#if 1
//k_voice_touch_Sts
//Touch_Sensor_Ref00=(uint16_t)k_voice_touch_Sts;
//Touch_Sensor_Ref01=(uint16_t)k_vol_touch_Sts;
//Touch_Sensor_Ref02=(uint16_t)k_menu_touch_Sts;
Touch_Sensor_Ref00 = get_sensor_node_reference(0U);
Touch_Sensor_Ref01 = get_sensor_node_reference(1U);
Touch_Sensor_Ref02 = get_sensor_node_reference(2U);
@ -1487,7 +1342,61 @@ void RTE_Set_All_Test_Value(void)//2ms
Touch_Sensor_Ref12 = get_sensor_node_reference(12U);
Touch_Sensor_Ref13 = get_sensor_node_reference(13U);
Touch_Sensor_Ref14 = get_sensor_node_reference(14U);
#endif
Touch_Sensor_CC00 = get_sensor_cc_val(0U);
Touch_Sensor_CC01 = get_sensor_cc_val(1U);
Touch_Sensor_CC02 = get_sensor_cc_val(2U);
Touch_Sensor_CC03 = get_sensor_cc_val(3U);
Touch_Sensor_CC04 = get_sensor_cc_val(4U);
Touch_Sensor_CC05 = get_sensor_cc_val(5U);
Touch_Sensor_CC06 = get_sensor_cc_val(6U);
Touch_Sensor_CC07 = get_sensor_cc_val(7U);
Touch_Sensor_CC08 = get_sensor_cc_val(8U);
Touch_Sensor_CC09 = get_sensor_cc_val(9U);
Touch_Sensor_CC10 = get_sensor_cc_val(10U);
Touch_Sensor_CC11 = get_sensor_cc_val(11U);
Touch_Sensor_CC12 = get_sensor_cc_val(12U);
Touch_Sensor_CC13 = get_sensor_cc_val(13U);
Touch_Sensor_CC14 = get_sensor_cc_val(14U);
frccdata[0] = (uint8_t)Touch_Sensor_CC00;
frccdata[1] = Touch_Sensor_CC00>>8;
frccdata[2] = (uint8_t)Touch_Sensor_CC01;
frccdata[3] = Touch_Sensor_CC01>>8;
frccdata[4] = (uint8_t)Touch_Sensor_CC02;
frccdata[5] = Touch_Sensor_CC02>>8;
frccdata[6] = (uint8_t)Touch_Sensor_CC03;
frccdata[7] = Touch_Sensor_CC03>>8;
OsekComSetFR09data(frccdata);
frccdata[0] = (uint8_t)Touch_Sensor_CC04;
frccdata[1] = Touch_Sensor_CC04>>8;
frccdata[2] = (uint8_t)Touch_Sensor_CC05;
frccdata[3] = Touch_Sensor_CC05>>8;
frccdata[4] = (uint8_t)Touch_Sensor_CC06;
frccdata[5] = Touch_Sensor_CC06>>8;
frccdata[6] = (uint8_t)Touch_Sensor_CC07;
frccdata[7] = Touch_Sensor_CC07>>8;
OsekComSetFR0Adata(frccdata);
frccdata[0] = (uint8_t)Touch_Sensor_CC08;
frccdata[1] = Touch_Sensor_CC08>>8;
frccdata[2] = (uint8_t)Touch_Sensor_CC09;
frccdata[3] = Touch_Sensor_CC09>>8;
frccdata[4] = (uint8_t)Touch_Sensor_CC10;
frccdata[5] = Touch_Sensor_CC10>>8;
frccdata[6] = (uint8_t)Touch_Sensor_CC11;
frccdata[7] = Touch_Sensor_CC11>>8;
OsekComSetFR0Bdata(frccdata);
frccdata[0] = (uint8_t)Touch_Sensor_CC12;
frccdata[1] = Touch_Sensor_CC12>>8;
frccdata[2] = (uint8_t)Touch_Sensor_CC13;
frccdata[3] = Touch_Sensor_CC13>>8;
frccdata[4] = (uint8_t)Touch_Sensor_CC14;
frccdata[5] = Touch_Sensor_CC14>>8;
OsekComSetFR0Cdata(frccdata);
Touch_Sensor_delta00 = Touch_Sensor_Sts00 > Touch_Sensor_Ref00 ? Touch_Sensor_Sts00 - Touch_Sensor_Ref00 : 0;
Touch_Sensor_delta01 = Touch_Sensor_Sts01 > Touch_Sensor_Ref01 ? Touch_Sensor_Sts01 - Touch_Sensor_Ref01 : 0;
Touch_Sensor_delta02 = Touch_Sensor_Sts02 > Touch_Sensor_Ref02 ? Touch_Sensor_Sts02 - Touch_Sensor_Ref02 : 0;
@ -1574,11 +1483,8 @@ void RTE_Set_All_Test_Value(void)//2ms
g16_DiagTouchPressSenRes[2][1] = Press_signal;
g16_DiagTouchPressSenRes[2][2] = Press_preload;
uint16_t vol_test_sig = (uint16_t)k_vol_touch_Sts;
InitMessage(SIG_SWTRSENSOR16_SIGNAL, &vol_test_sig);
}
#endif

View File

@ -12,6 +12,7 @@ STATE_UINT16 speaker_cycle_u16;
speaker_ctrl_Str speaker_ctrl_buf_str;
static uint8_t DAC_Initialize_status = 0;
static uint8_t DAC_Initialize_RetryCnt = 3;
static uint8_t speaker_fault_status = 0;
/************************************
Get Sw Fifo empty condition
************************************/
@ -225,6 +226,12 @@ void speaker_MainTask(void)
if(speaker_cycle_u16 >= SA51024_WAVE_MAX_NUM)
{
speaker_main_state_str = SPEAKER_STOP;
speaker_fault_status = 0;
}
if (PORT_PinRead(FAULT_OUT_PIN) == false)
{
speaker_main_state_str = SPEAKER_STOP;
speaker_fault_status = 1;
}
break;
@ -283,5 +290,8 @@ Speaker_main_e_typ Get_Speaker_Main_State(void)
}
uint8_t Get_Speaker_Fault(void)
{
return speaker_fault_status;
}

File diff suppressed because it is too large Load Diff

View File

@ -118,63 +118,63 @@ SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
#define NODE_0_PARAMS \
{ \
X_NONE, Y(15), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_32 \
X_NONE, Y(15), 8,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_16 \
}
#define NODE_1_PARAMS \
{ \
X_NONE, Y(16), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_32 \
X_NONE, Y(16), 8,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_16 \
}
#define NODE_2_PARAMS \
{ \
X_NONE, Y(17), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_32 \
X_NONE, Y(17), 8,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_16 \
}
#define NODE_3_PARAMS \
{ \
X_NONE, Y(30), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_32 \
X_NONE, Y(30), 8,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_16 \
}
#define NODE_4_PARAMS \
{ \
X_NONE, Y(31), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_32 \
X_NONE, Y(31), 8,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_16 \
}
#define NODE_5_PARAMS \
{ \
X_NONE, Y(24), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_8), (uint8_t)FILTER_LEVEL_32 \
X_NONE, Y(24), 8,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_8), (uint8_t)FILTER_LEVEL_16 \
}
#define NODE_6_PARAMS \
{ \
X_NONE, Y(25), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_8), (uint8_t)FILTER_LEVEL_32 \
X_NONE, Y(25), 8,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_8), (uint8_t)FILTER_LEVEL_16 \
}
#define NODE_7_PARAMS \
{ \
X_NONE, Y(1), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_8), (uint8_t)FILTER_LEVEL_32 \
X_NONE, Y(1), 8,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_8), (uint8_t)FILTER_LEVEL_16 \
}
#define NODE_8_PARAMS \
{ \
X_NONE, Y(2), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_8), (uint8_t)FILTER_LEVEL_32 \
X_NONE, Y(2), 8,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_8), (uint8_t)FILTER_LEVEL_16 \
}
#define NODE_9_PARAMS \
{ \
X_NONE, Y(3), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_8), (uint8_t)FILTER_LEVEL_32 \
X_NONE, Y(3), 8,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_8), (uint8_t)FILTER_LEVEL_16 \
}
#define NODE_10_PARAMS \
{ \
X_NONE, Y(10), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_32 \
X_NONE, Y(10), 8,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_16 \
}
#define NODE_11_PARAMS \
{ \
X_NONE, Y(11), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_32 \
X_NONE, Y(11), 8,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_16 \
}
#define NODE_12_PARAMS \
{ \
X_NONE, Y(12), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_32 \
X_NONE, Y(12), 8,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_16 \
}
#define NODE_13_PARAMS \
{ \
X_NONE, Y(13), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_32 \
X_NONE, Y(13), 8,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_16 \
}
#define NODE_14_PARAMS \
{ \
X_NONE, Y(14), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_32 \
X_NONE, Y(14), 8,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_16 \
}
/**********************************************************/

View File

@ -53,7 +53,6 @@ uint8_t Test_frame_On = 0;
uint8_t SDZ_init_flag = 0;
uint8_t SDZ_first_delay = 0;
void OS_TimerCallback(uintptr_t context)
{
SysTick_Elapse++;
@ -86,7 +85,8 @@ uint16_t adc[ADC1_CH_MAX] = {0};
void ADC1_ConversionCallback(ADC_STATUS status, uintptr_t context)
{
if(status == ADC_STATUS_RESRDY) {
if (status == ADC_STATUS_RESRDY)
{
adc_result = ADC1_ConversionResultGet();
// adc[adc_ch_sel - 1] = adc_result & 0xFFF;
adc[adc_ch_sel] = adc_result & 0xFFF;
@ -114,7 +114,6 @@ void ADC1_ConversionCallback (ADC_STATUS status, uintptr_t context)
}
}
/* CAN1 */
bool Can1BusErrFlag = false;
uint8_t Can1MessageRAM[CAN1_MESSAGE_RAM_CONFIG_SIZE] __attribute__((aligned(32)));
@ -183,7 +182,8 @@ void CanTx(t_can_handler can_handler, bool notif, uint32_t idtp, uint16_t len, t
CanTxBuffer = (CAN_TX_BUFFER *)canTxBuffer;
CanTxBuffer->id = WRITE_ID(idtp);
CanTxBuffer->dlc = len;
for (loop_count = 0; loop_count < len; loop_count++){
for (loop_count = 0; loop_count < len; loop_count++)
{
CanTxBuffer->data[loop_count] = can_data[loop_count];
}
if (CAN1_MessageTransmitFifo(1, CanTxBuffer) == true)
@ -278,13 +278,6 @@ int main ( void )
{
/* Maintain state machines of all polled MPLAB Harmony modules. */
SYS_Tasks();
//ADC1_ChannelSelect(ADC_POSINPUT_AIN6, ADC_NEGINPUT_GND);
//ADC1_ConversionStart();
if (!(loop_counter % 2))
{
@ -315,37 +308,18 @@ int main ( void )
// SBC VCC2 always on Setting
sbc_write_reg(SBC_M_S_CTRL, 0x18, 0);
}
if (!(loop_counter % 5))
{
FunctionState_Task();
Sys_Diag_Detcet_Task();
}
/* Check CAN Status */
status = CAN1_ErrorGet();
#if 0
if (Can1BusErrFlag == false)
{
WDT_Clear();
}
else
{
Can1BusErrFlag = false;
NVIC_SystemReset();
while(1);
}
#endif
WDT_Clear();
//if(Fuction_State == Function_State_A)
//{
P417_SWTR_App_step();
// }
CyclicTskSchM_TimerSync();
loop_counter++;
}
@ -355,8 +329,6 @@ int main ( void )
return (EXIT_FAILURE);
}
/*******************************************************************************
End of File
*/