Files
TempControl/user.H
2025-10-21 21:25:35 +08:00

177 lines
6.3 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifndef _user_H_
#define _user_H_
#define DF_SwTx 6
#define DF_SwRx 7
#define DF_RXTIME 11
#define DF_SwTxKGF1 8
#define DF_SwTxKGF2 10
#define DF_SwTxTemp 12
#define DF_SwRxPwm 8
#define dfCmd_01 UnInfCan_1.BitData.D21 //KGF1
#define dfCmd_02 UnInfCan_1.BitData.D22 //KGF2
#define dfCmd_03 UnInfCan_1.BitData.D23 //KGF3
#define dfCmd_04 UnInfCan_1.BitData.D24 //KGF4
#define dfCmd_05 UnInfCan_1.BitData.D25 //KGF5
#define dfCmd_06 UnInfCan_1.BitData.D26 //KGF6
#define dfCmd_07 UnInfCan_1.BitData.D27 //KGF7
#define dfCmd_08 UnInfCan_1.BitData.D28 //KGF8
#define dfCmd_09 UnInfCan_1.BitData.D29 //KGF9
#define dfCmd_10 UnInfCan_1.BitData.D30 //KGF10
#define dfCmd_11 UnInfCan_1.BitData.D31 //KGF11
#define dfCmd_12 UnInfCan_1.BitData.D32 //KGF12
#define dfCmd_13 UnInfCan_1.BitData.D33 //KGF13
#define dfCmd_14 UnInfCan_1.BitData.D34 //KGF14
#define dfCmd_15 UnInfCan_1.BitData.D35 //KGF15
#define dfCmd_16 UnInfCan_1.BitData.D36 //KGF16
#define dfOut_01 SwOut09 //KGF1
#define dfOut_02 SwOut10 //KGF2
#define dfOut_03 SwOut04 //KGF3
#define dfOut_04 SwOut03 //KGF4
#define dfOut_05 SwOut06 //KGF5
#define dfOut_06 SwOut05 //KGF6
#define dfOut_07 SwOut15 //KGF7
#define dfOut_08 SwOut16 //KGF8
#define dfOut_09 SwOut13 //KGF9
#define dfOut_10 SwOut14 //KGF10
#define dfOut_11 SwOut08 //KGF11
#define dfOut_12 SwOut07 //KGF12
#define dfOut_13 SwOut02 //KGF13
#define dfOut_14 SwOut01 //KGF14
#define dfOut_15 SwOut11 //KGF15
#define dfOut_16 SwOut12 //KGF16
#define dfPwmH 10 //PWM<57>ĸߵ<C4B8>ƽʱ<C6BD>䣬10<31><30>10ms<6D><73><EFBFBD>ң<EFBFBD><D2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>20181227
#define WAKE_UP_PIN P1_5 //<2F><>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define KGF_PIN P0_0 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define CAN_PIN P1_6 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define STOP_PIN P3_6 //<2F><>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define ON 0 //<2F><><EFBFBD><EFBFBD>
#define OFF 1 //<2F>ɿ<EFBFBD>
#define FAULT 0
#define NORMAL 1
#define HERTER_CMD(A) dfOut_05 = A;dfOut_06 = A;dfOut_07 = A;dfOut_08 = A
#define PC_CMD(A) dfOut_09 = A;dfOut_10 = A
// ״̬<D7B4><CCAC><EFBFBD><EFBFBD><E5A3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>״̬<D7B4><CCAC>
typedef enum {
STATE_INIT_CHECK, // <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD>ж<EFBFBD><D0B6>Ƿ<EFBFBD><0<><30>C<EFBFBD><43>
STATE_HEATING, // <20><><EFBFBD><EFBFBD>״̬
STATE_COOLING, // ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD>״̬
STATE_INIT_HEATING
} SystemState;
// <20><><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҳ1<D2B3>Ƽ<EFBFBD><C6BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD>
#define TEMP_HYSTERESIS 0.5f // <20>ز<EFBFBD><D8B2><EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD>[1,3](@ref)
#define INIT_THRESHOLD 0.0f // <20><>ʼ״̬<D7B4><CCAC>ֵ 0
#define HEATING_STOP 10.0f // ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 10
#define COOLING_RESTART 5.0f // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 5
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ״̬ö<CCAC><C3B6>
typedef enum {
POWER_STANDBY,
POWER_WORKING,
POWER_EMERGENCY,
POWER_PRE_CHARGE,
POWER_NEUTRAL,
POWER_SLEEP
} PowerState;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD>ģ<EFBFBD><C4A3>
typedef struct _StrInfCanKGFOutput
{
//----------<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0x11000002 --------------------------------------------
unsigned int KGF01 : 1; // ͨ<><CDA8>1
unsigned int KGF02 : 1; // ͨ<><CDA8>2
unsigned int KGF03 : 1; // ͨ<><CDA8>3
unsigned int KGF04 : 1; // ͨ<><CDA8>4
unsigned int KGF05 : 1; // ͨ<><CDA8>5
unsigned int KGF06 : 1; // ͨ<><CDA8>6
unsigned int KGF07 : 1; // ͨ<><CDA8>7
unsigned int KGF08 : 1; // ͨ<><CDA8>8
unsigned int KGF09 : 1; // ͨ<><CDA8>9
unsigned int KGF10 : 1; // ͨ<><CDA8>10
unsigned int KGF11 : 1; // ͨ<><CDA8>11
unsigned int KGF12 : 1; // ͨ<><CDA8>12
unsigned int KGF13 : 1; // ͨ<><CDA8>13
unsigned int KGF14 : 1; // ͨ<><CDA8>14
unsigned int KGF15 : 1; // ͨ<><CDA8>15
unsigned int KGF16 : 1; // ͨ<><CDA8>16
unsigned int can_rx2 : 8; // <20><><EFBFBD><EFBFBD>
unsigned int can_rx3 : 8; // <20><><EFBFBD><EFBFBD>
unsigned int can_rx4 : 8; // <20><><EFBFBD><EFBFBD>
unsigned int can_rx5 : 8; // <20><><EFBFBD><EFBFBD>
unsigned int can_period_h : 8; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD>λ
unsigned int can_period_l : 8; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD>λ
//----------<2D><><EFBFBD><EFBFBD>0x11000003 ---------------------------------------------------
unsigned int pwm_01 : 4; // PWMͨ<4D><CDA8>1
unsigned int pwm_02 : 4; // PWMͨ<4D><CDA8>2
unsigned int pwm_03 : 4; // PWMͨ<4D><CDA8>3
unsigned int pwm_04 : 4; // PWMͨ<4D><CDA8>4
unsigned int pwm_05 : 4; // PWMͨ<4D><CDA8>5
unsigned int pwm_06 : 4; // PWMͨ<4D><CDA8>6
unsigned int pwm_07 : 4; // PWMͨ<4D><CDA8>7
unsigned int pwm_08 : 4; // PWMͨ<4D><CDA8>8
unsigned int pwm_09 : 4; // PWMͨ<4D><CDA8>9
unsigned int pwm_10 : 4; // PWMͨ<4D><CDA8>10
unsigned int pwm_11 : 4; // PWMͨ<4D><CDA8>11
unsigned int pwm_12 : 4; // PWMͨ<4D><CDA8>12
unsigned int pwm_13 : 4; // PWMͨ<4D><CDA8>13
unsigned int pwm_14 : 4; // PWMͨ<4D><CDA8>14
unsigned int pwm_15 : 4; // PWMͨ<4D><CDA8>15
unsigned int pwm_16 : 4; // PWMͨ<4D><CDA8>16
} StrInfCanKGFOutput;
typedef union _UnInfCanKGFOutput
{
StrInfCanKGFOutput bit_data; // ʹ<>ö<EFBFBD><C3B6><EFBFBD><EFBFBD>Ľṹ<C4BD><E1B9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ubyte arr[sizeof(StrInfCanKGFOutput)]; // ͨ<><CDA8><EFBFBD><EFBFBD><E1B9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD>С
} UnInfCanKGFOutput;
//---<2D>ⲿҪʹ<D2AA>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>---------------------------------------------------------------------
extern UnSwOut UnSwOut_1;
extern UnInfCan UnInfCan_1;
extern uword CntCan_1;
extern bit FlgCan_1;
extern ubyte RestartDataFlg1;
extern ubyte RestartDataFlg2;
extern uword RestartDataKGF;
extern UnInfCanKGFOutput un_inf_can_kgf_output1;//kgf<67><66><EFBFBD><EFBFBD>
void CanRXTX(void);
void SwSample(void);
void LedDr(void);
void RTCProcess(void);
void CanErrorProcess(void);
void CanTransmit(void);
void canSendTo(ubyte index, ubyte *buff);
#endif