123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243 |
- //==================================================================
- //
- // Filename: mapp_ami.c
- // Description: Entainment Car CAN BUS data process.
- //
- //------------------------------------------------------------------
- //
- // version:
- // data: 21:28pm, 14.Mar.2013, written by Sirius
- // Description:
- //
- //------------------------------------------------------------------
- //==================================================================
- /*------------------------------------------------------------------------------
- * I N C L U D E
- *------------------------------------------------------------------------------*/
- #include "stm32f0xx.h"
- #include "general.h"
- #include "mapp_ami.h"
- #include "mapp_msg.h"
- #include "mapp_ext.h"
- #include "main.h"
- #include "mapp_arm.h"
- #include "mapp_can.h"
- #include "mapp_gpio.h"
- #include "mapp_tp_buick.h"
- /*------------------------------------------------------------------------------
- * D E F I N E
- *------------------------------------------------------------------------------*/
- /* Macro define for start or sleep wait timer */
- /*------------------------------------------------------------------------------
- * S T R U C T
- *------------------------------------------------------------------------------*/
- /*------------------------------------------------------------------------------
- * S T A T I C - V A R I A B L E S
- *------------------------------------------------------------------------------*/
- static VU16 s_vu16Car1Tmr = 0;
- static VU16 s_vu16Car2Tmr = 0;
- static VU16 s_vu16Car3Tmr = 0;
- static VU16 s_vu16Car4Tmr = 0;
- /*------------------------------------------------------------------------------
- * E X T E R N
- *------------------------------------------------------------------------------*/
- /*------------------------------------------------------------------------------
- * P R O T O T Y P E
- *------------------------------------------------------------------------------*/
- static void s_frmCarTxNull(U16 prm);
- static void s_frmCarTxSwtich(U16 prm);
- static void s_frmCarTxLight(U16 prm) ;
- static void s_frmCarTxFodLight(U16 prm) ;
- static void s_frmCarTxGMLight(U16 prm) ;
- //------------------------------------------------------------------
- // array for data group transmit ON CAN BUS.
- // 15:09pm, 14.Jun.2013, modified by Charlie
- //------------------------------------------------------------------
- static fp_prm arryCarTxTbl[NumOfAmiMsg] = {
- s_frmCarTxNull,
- s_frmCarTxSwtich,
- s_frmCarTxLight,
- s_frmCarTxFodLight,
- s_frmCarTxGMLight,
- };
- /*----------------------------------------------------------------------
- // Function name : CarVarInit
- // Input parameter :
- // Output parameter :
- // Use Function : Init Car module variables.
- // Reserve date : 21:35pm, 14.Mar.2013, written by Sirius
- ----------------------------------------------------------------------*/
- void AmiVarInit(void)
- {
- s_vu16Car1Tmr=0;
- s_vu16Car2Tmr =0;
- s_vu16Car3Tmr =0;
- s_vu16Car4Tmr =0;
-
- }
- /*----------------------------------------------------------------------
- // Function name : CanAppLayerActive
- // Input parameter :
- // Output parameter :
- // Use Function :
- // Reserve date : 09:16am, 12.May.2014, written by Charlie
- ----------------------------------------------------------------------*/
- BOOL CanAppLayerActive(void)
- {
- if (s_tCanState != CAN_STATE_RUN) {
- return (FALSE);
- }
- if (!gtAmi.basic.ignit) {
- return (FALSE);
- }
- return (TRUE);
- }
- /*----------------------------------------------------------------------
- // Function name : CarTxTask
- // Input parameter :
- // Output parameter :
- // Use Function :
- // Reserve date : 15:35pm, 14.Jun.2013, written by Charlie
- ----------------------------------------------------------------------*/
- void AmiTxTask(void)
- {
- T_MESSAGE *pmsg;
- // if (!CanAppLayerActive()) {
- // OSQFlush(AmiMsgQueue);
- // return;
- // }
-
- pmsg = OSQGet(AmiMsgQueue);
- if ((pmsg->id) &&(pmsg->id < NumOfAmiMsg)) {
- arryCarTxTbl[pmsg->id](pmsg->prm);
- }
- }
- /*----------------------------------------------------------------------
- // Function uses : AmiTaskTmr
- // Input parameter :
- // Output parameter :
- // Use Function :
- // Reserve date : 09:11am, 30.Aug.2012, written by Sirius
- ----------------------------------------------------------------------*/
- void AmiTaskTmr(void)
- {
- if (s_vu16Car1Tmr) { s_vu16Car1Tmr--; }
- if (s_vu16Car2Tmr) { s_vu16Car2Tmr--; }
- if (s_vu16Car3Tmr) { s_vu16Car3Tmr--; }
- if (s_vu16Car4Tmr) { s_vu16Car4Tmr--; }
-
- }
- static void s_frmCarTxNull(U16 prm) {
- U08 cnt =0;
- cnt =cnt;
- }
- static void s_frmCarTxSwtich(U16 prm) {
- if (prm ) {
- s_vu16Car1Tmr = prm;
- }
- if (s_vu16Car1Tmr ==0x00) {
- if(!gtAmi.basic.ignit){
- GpioLvdsSwitchCfg(SRC_TYPE_ORIG);
- return;
- }
- /*进入倒车和AVM界面,源信息不变*/
- if (gtAmi.basic.avm ) {
- if (gtArm.slaver.cursrc ==SRC_TYPE_ORIG) {
- GpioLvdsSwitchCfg(SRC_TYPE_CANADD);
- }
- return;
- }
- if (gtAmi.basic.rev ) {
- if ((gtArm.facset.camera ==CAM_TYPE_CAN) || (gtArm.facset.camera ==CAM_TYPE_CANVGA)) {
- if (gtArm.slaver.cursrc == SRC_TYPE_ORIG) {
- GpioLvdsSwitchCfg(SRC_TYPE_CANADD);
- }
- return;
- } else if((gtArm.facset.camera ==CAM_TYPE_AVM) ||(gtArm.facset.camera ==CAM_TYPE_AVMVGA)){
- // if( gtCarType.CarType == CARTYPE_BUICK) {
- // if (gtArm.slaver.cursrc == SRC_TYPE_ORIG) {
- // GpioLvdsSwitchCfg(SRC_TYPE_CANADD);
- // }
- // }
- } else {
- if (gtArm.slaver.cursrc != SRC_TYPE_ORIG) {
- GpioLvdsSwitchCfg(SRC_TYPE_ORIG);
- }
- return;
- }
-
- }
-
- /*原车源和加装源,切换LVDS*/
- if (gtArm.slaver.cursrc == SRC_TYPE_ORIG) {
- GpioLvdsSwitchCfg(SRC_TYPE_ORIG);
- } else {
- GpioLvdsSwitchCfg(SRC_TYPE_CANADD);
- }
- } else {
- OSQPost(AmiMsgQueue, AMI_MSG_SWTICH, 0);
- }
- }
- static void s_frmCarTxLight(U16 prm) {
- if (prm ) {
- s_vu16Car2Tmr = prm;
- GpioBackLightCfg(SET); //关屏
- }
- if (s_vu16Car2Tmr ==0x00) {
- GpioBackLightCfg(RESET); //开屏
- gtArm.screenoffflag =1;
- } else {
- OSQPost(AmiMsgQueue, AMI_MSG_HONDALIGHT, 0);
- }
- }
- static void s_frmCarTxFodLight(U16 prm) {
- if (prm ) {
- s_vu16Car3Tmr = prm;
- GpioFodGm8LcmCfg(SET); //福特关屏
- }
- if (s_vu16Car3Tmr ==0x00) {
- GpioFodGm8LcmCfg(RESET); //福特 开屏
- } else {
- OSQPost(AmiMsgQueue, AMI_MSG_FODLIGHT, 0);
- }
- }
- static void s_frmCarTxGMLight(U16 prm) {
- if (prm ) {
- s_vu16Car3Tmr = prm;
- }
- if (s_vu16Car3Tmr ==0x00) {
- TpBackLightOn();
- } else {
- OSQPost(AmiMsgQueue, AMI_MSG_GMLIGHT, 0);
- }
- }
- /*------------------------------- E O F ----------------------------------------*/
|