#line 1 "Src\lt89xx_rf.c" /0 #line 1 "Src\hal.h" /0 #line 1 ".\SC92F8003_Lib\Inc\sc92f8003.h" /0 #line 1 "\1.Project\git\SinWave\SC92F8003_Lib\Inc\SC92F8003_C.h" /0 sfr ACC = 0xE0; sfr B = 0xF0; sfr PSW = 0xD0; sfr DPH = 0x83; sfr DPL = 0x82; sfr SP = 0x81; sfr PCON = 0x87; sfr IP1 = 0XB9; sfr IP = 0xB8; sfr IE = 0xA8; sfr IE1 = 0XA9; sfr P2PH = 0xA2; sfr P2CON = 0xA1; sfr P2 = 0xA0; sfr P1PH = 0x92; sfr P1CON = 0x91; sfr P1 = 0x90; sfr P0PH = 0x9B; sfr P0CON = 0x9A; sfr P0 = 0x80; sfr TMCON = 0x8E; sfr TH1 = 0x8D; sfr TH0 = 0x8C; sfr TL1 = 0x8B; sfr TL0 = 0x8A; sfr TMOD = 0x89; sfr TCON = 0x88; sfr T2CON = 0xC8; sfr T2MOD = 0xC9; sfr RCAP2L = 0xCA; sfr RCAP2H = 0xCB; sfr TL2 = 0xCC; sfr TH2 = 0xCD; sfr ADCCFG1 = 0xAA; sfr ADCCFG0 = 0xAB; sfr ADCCON = 0XAD; sfr ADCVL = 0xAE; sfr ADCVH = 0xAF; sfr PWMCFG = 0xD1; sfr PWMCON0 = 0xD2; sfr PWMPRD = 0xD3; sfr PWMDTYA = 0xD4; sfr PWMDTY0 = 0xD5; sfr PWMDTY1 = 0xD6; sfr PWMDTY2 = 0xD7; sfr PWMCON1 = 0xDA; sfr PWMDTYB = 0xDB; sfr PWMDTY3 = 0xDC; sfr PWMDTY4 = 0xDD; sfr PWMDTY5 = 0xDE; sfr PWMDTY6 = 0xDF; sfr BTMCON = 0XCE; sfr WDTCON = 0xCF; sfr OTCON = 0X8F; sfr INT0F = 0XBA; sfr INT0R = 0XBB; sfr INT1F = 0XBC; sfr INT1R = 0XBD; sfr INT2F = 0XC6; sfr INT2R = 0XC7; sfr IAPCTL = 0xF6; sfr IAPDAT = 0xF5; sfr IAPADE = 0xF4; sfr IAPADH = 0xF3; sfr IAPADL = 0xF2; sfr IAPKEY = 0xF1; sfr SCON = 0X98; sfr SBUF = 0X99; sfr SSCON0 = 0X9D; sfr SSCON1 = 0X9E; sfr SSCON2 = 0X95; sfr SSDAT = 0X9F; sfr OPINX = 0XFE; sfr OPREG = 0XFF; sfr CHKSUML = 0XFC; sfr CHKSUMH = 0XFD; sfr OPERCON = 0xEF; sbit CY = PSW^7; sbit AC = PSW^6; sbit F0 = PSW^5; sbit RS1 = PSW^4; sbit RS0 = PSW^3; sbit OV = PSW^2; sbit F1 = PSW^1; sbit P = PSW^0; sbit TF2 = T2CON^7; sbit EXF2 = T2CON^6; sbit RCLK = T2CON^5; sbit TCLK = T2CON^4; sbit EXEN2 = T2CON^3; sbit TR2 = T2CON^2; sbit T2 = T2CON^1; sbit CP = T2CON^0; sbit IPADC = IP^6; sbit IPT2 = IP^5; sbit IPUART = IP^4; sbit IPT1 = IP^3; sbit IPINT1 = IP^2; sbit IPT0 = IP^1; sbit IPINT0 = IP^0; sbit EA = IE^7; sbit EADC = IE^6; sbit ET2 = IE^5; sbit EUART = IE^4; sbit ET1 = IE^3; sbit EINT1 = IE^2; sbit ET0 = IE^1; sbit EINT0 = IE^0; sbit TF1 = TCON^7; sbit TR1 = TCON^6; sbit TF0 = TCON^5; sbit TR0 = TCON^4; sbit SM0 = SCON^7; sbit SM1 = SCON^6; sbit SM2 = SCON^5; sbit REN = SCON^4; sbit TB8 = SCON^3; sbit RB8 = SCON^2; sbit TI = SCON^1; sbit RI = SCON^0; sbit P01 = P0^1; sbit P00 = P0^0; sbit P17 = P1^7; sbit P16 = P1^6; sbit P15 = P1^5; sbit P14 = P1^4; sbit P13 = P1^3; sbit P12 = P1^2; sbit P11 = P1^1; sbit P10 = P1^0; sbit P27 = P2^7; sbit P26 = P2^6; sbit P25 = P2^5; sbit P24 = P2^4; sbit P23 = P2^3; sbit P22 = P2^2; sbit P21 = P2^1; sbit P20 = P2^0; #line 4 ".\SC92F8003_Lib\Inc\sc92f8003.h" /0 #line 1 ".\Task\stdint.h" /0 typedef signed long int32_t; typedef unsigned long uint32_t; typedef signed char int8_t; typedef unsigned char uint8_t; typedef signed int int16_t; typedef unsigned int uint16_t; #line 5 ".\SC92F8003_Lib\Inc\sc92f8003.h" /0 typedef enum {FALSE = 0, TRUE = !FALSE} bool; typedef enum {RESET = 0, SET = !RESET} FlagStatus, ITStatus, BitStatus; typedef enum {DISABLE = 0, ENABLE = !DISABLE} FunctionalState; typedef enum {ERROR = 0, SUCCESS = !ERROR} ErrorStatus; typedef enum {LOW = 0, HIGH = !LOW} PriorityStatus; #line 3 "Src\hal.h" /0 #line 1 ".\SC92F8003_Lib\Inc\sc92f8003_adc.h" /0 #line 1 "\1.Project\git\SinWave\SC92F8003_Lib\Inc\sc92f8003.h" /0 #line 2 "\1.Project\git\SinWave\SC92F8003_Lib\Inc\sc92f8003.h" /1 #line 15 ".\SC92F8003_Lib\Inc\sc92f8003_adc.h" /0 #line 15 ".\SC92F8003_Lib\Inc\sc92f8003_adc.h" /0 typedef enum { ADC_PRESSEL_FHRC_D32 = (uint8_t)0x00, ADC_PRESSEL_FHRC_D24 = (uint8_t)0x01, ADC_PRESSEL_FHRC_D16 = (uint8_t)0x02, ADC_PRESSEL_FHRC_D12 = (uint8_t)0x03, ADC_PRESSEL_FHRC_D8 = (uint8_t)0x04, ADC_PRESSEL_FHRC_D6 = (uint8_t)0x05, ADC_PRESSEL_FHRC_D4 = (uint8_t)0x06, ADC_PRESSEL_FHRC_D3 = (uint8_t)0x07 } ADC_PresSel_TypeDef; typedef enum { ADC_Cycle_6Cycle = (uint8_t)0x00, ADC_Cycle_36Cycle = (uint8_t)0x08 } ADC_Cycle_TypeDef; typedef enum { ADC_CHANNEL_0 = (uint8_t)0x00, ADC_CHANNEL_1 = (uint8_t)0x01, ADC_CHANNEL_2 = (uint8_t)0x02, ADC_CHANNEL_3 = (uint8_t)0x03, ADC_CHANNEL_4 = (uint8_t)0x04, ADC_CHANNEL_5 = (uint8_t)0x05, ADC_CHANNEL_6 = (uint8_t)0x06, ADC_CHANNEL_VDD_D4 = (uint8_t)0x1f } ADC_Channel_TypeDef; void ADC_DeInit(void); void ADC_Init(ADC_PresSel_TypeDef ADC_PrescalerSelection, ADC_Cycle_TypeDef ADC_Cycle); void ADC_ChannelConfig(ADC_Channel_TypeDef ADC_Channel, FunctionalState NewState); void ADC_Cmd(FunctionalState NewState); void ADC_StartConversion(void); uint16_t ADC_GetConversionValue(void); void ADC_ITConfig(FunctionalState NewState, PriorityStatus Priority); FlagStatus ADC_GetFlagStatus(void); void ADC_ClearFlag(void); #line 4 "Src\hal.h" /0 #line 1 ".\SC92F8003_Lib\Inc\sc92f8003_btm.h" /0 #line 1 "\1.Project\git\SinWave\SC92F8003_Lib\Inc\sc92f8003.h" /0 #line 2 "\1.Project\git\SinWave\SC92F8003_Lib\Inc\sc92f8003.h" /1 #line 15 ".\SC92F8003_Lib\Inc\sc92f8003_btm.h" /0 #line 15 ".\SC92F8003_Lib\Inc\sc92f8003_btm.h" /0 typedef enum { BTM_TIMEBASE_15_625MS = (uint8_t)0x00, BTM_TIMEBASE_31_25MS = (uint8_t)0x01, BTM_TIMEBASE_62_5MS = (uint8_t)0x02, BTM_TIMEBASE_125MS = (uint8_t)0x03, BTM_TIMEBASE_250MS = (uint8_t)0x04, BTM_TIMEBASE_500MS = (uint8_t)0x05, BTM_TIMEBASE_1S = (uint8_t)0x06, BTM_TIMEBASE_2S = (uint8_t)0x07, BTM_TIMEBASE_4S = (uint8_t)0x08 } BTM_Timebase_TypeDef; void BTM_DeInit(void); void BTM_Init(BTM_Timebase_TypeDef BTM_Timebase); void BTM_Cmd(FunctionalState NewState); void BTM_ITConfig(FunctionalState NewState, PriorityStatus Priority); FlagStatus BTM_GetFlagStatus(void); void BTM_ClearFlag(void); #line 5 "Src\hal.h" /0 #line 1 ".\SC92F8003_Lib\Inc\SC92F8003_C.h" /0 #line 12 ".\SC92F8003_Lib\Inc\SC92F8003_C.h" /1 #line 6 "Src\hal.h" /0 #line 6 "Src\hal.h" /0 #line 1 ".\SC92F8003_Lib\Inc\sc92f8003_chksum.h" /0 #line 1 "\1.Project\git\SinWave\SC92F8003_Lib\Inc\sc92f8003.h" /0 #line 2 "\1.Project\git\SinWave\SC92F8003_Lib\Inc\sc92f8003.h" /1 #line 15 ".\SC92F8003_Lib\Inc\sc92f8003_chksum.h" /0 #line 15 ".\SC92F8003_Lib\Inc\sc92f8003_chksum.h" /0 void CHKSUM_DeInit(void); void CHKSUM_StartOperation(void); uint16_t CHKSUM_GetCheckValue(void); #line 7 "Src\hal.h" /0 #line 1 ".\SC92F8003_Lib\Inc\sc92f8003_exti.h" /0 #line 1 "\1.Project\git\SinWave\SC92F8003_Lib\Inc\sc92f8003.h" /0 #line 2 "\1.Project\git\SinWave\SC92F8003_Lib\Inc\sc92f8003.h" /1 #line 15 ".\SC92F8003_Lib\Inc\sc92f8003_exti.h" /0 #line 15 ".\SC92F8003_Lib\Inc\sc92f8003_exti.h" /0 typedef enum { EXTI_TRIGGER_RISE_ONLY = (uint8_t)0x01, EXTI_TRIGGER_FALL_ONLY = (uint8_t)0x02, EXTI_TRIGGER_RISE_FALL = (uint8_t)0x03, EXTI_TRIGGER_DISABLE = (uint8_t)0x04 } EXTI_TriggerMode_Typedef; typedef enum { INT0 = (uint8_t)0x00, INT1 = (uint8_t)0x01, INT2 = (uint8_t)0x02 } EXTIx_Typedef; typedef enum { INT00 = (uint8_t)0x01, INT01 = (uint8_t)0x02 } EXTI0x_Typedef; typedef enum { INT10 = (uint8_t)0x01, INT11 = (uint8_t)0x02, INT12 = (uint8_t)0x04, INT13 = (uint8_t)0x08, INT14 = (uint8_t)0x10, INT15 = (uint8_t)0x20, INT16 = (uint8_t)0x40 } EXTI1x_Typedef; typedef enum { INT21 = (uint8_t)0x02, INT22 = (uint8_t)0x04, INT23 = (uint8_t)0x08, INT24 = (uint8_t)0x10, INT25 = (uint8_t)0x20, INT26 = (uint8_t)0x40, INT27 = (uint8_t)0x80 } EXTI2x_Typedef; void EXTI_DeInit(EXTIx_Typedef INTx); void EXTI_SetExtInt0xTriggerMode(uint8_t INT0x,EXTI_TriggerMode_Typedef TriggerMode); void EXTI_SetExtInt1xTriggerMode(uint8_t INT1x,EXTI_TriggerMode_Typedef TriggerMode); void EXTI_SetExtInt2xTriggerMode(uint8_t INT2x,EXTI_TriggerMode_Typedef TriggerMode); void EXTI_ITConfig(EXTIx_Typedef INTx,FunctionalState NewState,PriorityStatus Priority); #line 8 "Src\hal.h" /0 #line 1 ".\SC92F8003_Lib\Inc\sc92f8003_gpio.h" /0 #line 1 "\1.Project\git\SinWave\SC92F8003_Lib\Inc\sc92f8003.h" /0 #line 2 "\1.Project\git\SinWave\SC92F8003_Lib\Inc\sc92f8003.h" /1 #line 14 ".\SC92F8003_Lib\Inc\sc92f8003_gpio.h" /0 #line 14 ".\SC92F8003_Lib\Inc\sc92f8003_gpio.h" /0 typedef enum { GPIO0 = (uint8_t)0x00, GPIO1 = (uint8_t)0x01, GPIO2 = (uint8_t)0x02, }GPIO_TypeDef; typedef enum { GPIO_MODE_IN_HI = (uint8_t)0x00, GPIO_MODE_IN_PU = (uint8_t)0x01, GPIO_MODE_OUT_PP = (uint8_t)0x02 }GPIO_Mode_TypeDef; typedef enum { GPIO_PIN_0 = ((uint8_t)0x01), GPIO_PIN_1 = ((uint8_t)0x02), GPIO_PIN_2 = ((uint8_t)0x04), GPIO_PIN_3 = ((uint8_t)0x08), GPIO_PIN_4 = ((uint8_t)0x10), GPIO_PIN_5 = ((uint8_t)0x20), GPIO_PIN_6 = ((uint8_t)0x40), GPIO_PIN_7 = ((uint8_t)0x80), GPIO_PIN_LNIB = ((uint8_t)0x0F), GPIO_PIN_HNIB = ((uint8_t)0xF0), GPIO_PIN_ALL = ((uint8_t)0xFF) }GPIO_Pin_TypeDef; void GPIO_DeInit(void); void GPIO_Init(GPIO_TypeDef GPIOx, uint8_t PortPins, GPIO_Mode_TypeDef GPIO_Mode); void GPIO_Write(GPIO_TypeDef GPIOx, uint8_t PortVal); void GPIO_WriteHigh(GPIO_TypeDef GPIOx, uint8_t PortPins); void GPIO_WriteLow(GPIO_TypeDef GPIOx, uint8_t PortPins); uint8_t GPIO_ReadPort(GPIO_TypeDef GPIOx); BitStatus GPIO_ReadPin(GPIO_TypeDef GPIOx, GPIO_Pin_TypeDef PortPins); #line 9 "Src\hal.h" /0 #line 1 ".\SC92F8003_Lib\Inc\sc92f8003_iap.h" /0 #line 1 "\1.Project\git\SinWave\SC92F8003_Lib\Inc\sc92f8003.h" /0 #line 2 "\1.Project\git\SinWave\SC92F8003_Lib\Inc\sc92f8003.h" /1 #line 15 ".\SC92F8003_Lib\Inc\sc92f8003_iap.h" /0 #line 15 ".\SC92F8003_Lib\Inc\sc92f8003_iap.h" /0 typedef enum { IAP_MEMTYPE_ROM = (uint8_t)0x00, IAP_MEMTYPE_IFB = (uint8_t)0x01, IAP_MEMTYPE_EEPROM = (uint8_t)0x02 } IAP_MemType_TypeDef; typedef enum { IAP_HOLDTIME_6000US = (uint8_t)0x00, IAP_HOLDTIME_3000US = (uint8_t)0x04, IAP_HOLDTIME_1500US = (uint8_t)0x08 } IAP_HoldTime_TypeDef; void IAP_DeInit(void); void IAP_SetHoldTime(IAP_HoldTime_TypeDef IAP_HoldTime); void IAP_ProgramByte(uint16_t Address,uint8_t Data,IAP_MemType_TypeDef IAP_MemType,uint8_t WriteTimeLimit); uint8_t IAP_ReadByte(uint16_t Address,IAP_MemType_TypeDef IAP_MemType); #line 10 "Src\hal.h" /0 #line 1 ".\SC92F8003_Lib\Inc\sc92f8003_option.h" /0 #line 1 "\1.Project\git\SinWave\SC92F8003_Lib\Inc\sc92f8003.h" /0 #line 2 "\1.Project\git\SinWave\SC92F8003_Lib\Inc\sc92f8003.h" /1 #line 15 ".\SC92F8003_Lib\Inc\sc92f8003_option.h" /0 #line 15 ".\SC92F8003_Lib\Inc\sc92f8003_option.h" /0 typedef enum { SYSCLK_PRESSEL_FOSC_D1 = (uint8_t)0x00, SYSCLK_PRESSEL_FOSC_D2 = (uint8_t)0x10, SYSCLK_PRESSEL_FOSC_D4 = (uint8_t)0x20, SYSCLK_PRESSEL_FOSC_D12 = (uint8_t)0x30 } SYSCLK_PresSel_TypeDef; typedef enum { LVR_INVALID = (uint8_t)0x04, LVR_2_3V = (uint8_t)0x00, LVR_2_9V = (uint8_t)0x01, LVR_3_7V = (uint8_t)0x02, LVR_4_3V = (uint8_t)0x03 } LVR_Config_TypeDef; typedef enum { IAP_OPERATERANGE_ONLY_EEPROM = (uint8_t)0x00, IAP_OPERATERANGE__LAST_0_5K_CODEREGION = (uint8_t)0x04, IAP_OPERATERANGE__LAST_1K_CODEREGION = (uint8_t)0x08, IAP_OPERATERANGE__ALL_CODEREGION = (uint8_t)0x0c } IAP_OperateRange_TypeDef; typedef enum { XTIPLL_HIGHER_THAN_12M = (uint8_t)0x40, XTIPLL_UNDER_12M = (uint8_t)0x00 } XTIPLL_Range_TypeDef; typedef enum { ADC_VREF_VDD = 0x00, ADC_VREF_2_4V = 0x80 } ADC_Vref_TypeDef; void OPTION_WDT_Cmd(FunctionalState NewState); void OPTION_XTIPLL_Cmd(FunctionalState NewState); void OPTION_XTIPLL_SetRange(XTIPLL_Range_TypeDef XTIPLL_Range); void OPTION_SYSCLK_Init(SYSCLK_PresSel_TypeDef SYSCLK_PresSel); void OPTION_RST_PIN_Cmd(FunctionalState NewState); void OPTION_LVR_Init(LVR_Config_TypeDef LVR_Config); void OPTION_ADC_VrefConfig(ADC_Vref_TypeDef ADC_Vref); void OPTION_IAP_SetOperateRange(IAP_OperateRange_TypeDef IAP_OperateRange); #line 11 "Src\hal.h" /0 #line 1 ".\SC92F8003_Lib\Inc\sc92f8003_pwm.h" /0 #line 1 "\1.Project\git\SinWave\SC92F8003_Lib\Inc\sc92f8003.h" /0 #line 2 "\1.Project\git\SinWave\SC92F8003_Lib\Inc\sc92f8003.h" /1 #line 15 ".\SC92F8003_Lib\Inc\sc92f8003_pwm.h" /0 #line 15 ".\SC92F8003_Lib\Inc\sc92f8003_pwm.h" /0 typedef enum { PWM_PRESSEL_FOSC_D1 = (uint8_t)0x00, PWM_PRESSEL_FOSC_D2 = (uint8_t)0x10, PWM_PRESSEL_FOSC_D8 = (uint8_t)0x20, PWM_PRESSEL_FOSC_D32 = (uint8_t)0x30 } PWM_PresSel_TypeDef; typedef enum { PWM0 = (uint8_t)0x01, PWM1 = (uint8_t)0x02, PWM2 = (uint8_t)0x04, PWM3 = (uint8_t)0x08, PWM4 = (uint8_t)0x10, PWM5 = (uint8_t)0x20, PWM6 = (uint8_t)0x40 } PWM_OutputPin_TypeDef; typedef enum { PWM0PWM3 = (uint8_t)0x00, PWM1PWM4 = (uint8_t)0x01, PWM2PWM5 = (uint8_t)0x02 } PWM_ComplementaryOutputPin_TypeDef; typedef enum { PWM_OUTPUTSTATE_DISABLE = ((uint8_t)0x00), PWM_OUTPUTSTATE_ENABLE = ((uint8_t)0x01) } PWM_OutputState_TypeDef; typedef enum { PWM_POLARITY_NON_INVERT = ((uint8_t)0x00), PWM_POLARITY_INVERT = ((uint8_t)0x01) } PWM_Polarity_TypeDef; void PWM_DeInit(void); void PWM_Init(PWM_PresSel_TypeDef PWM_PresSel,uint16_t PWM_Period); void PWM_OutputStateConfig(uint8_t PWM_OutputPin,PWM_OutputState_TypeDef PWM_OutputState); void PWM_PolarityConfig(uint8_t PWM_OutputPin,PWM_Polarity_TypeDef PWM_Polarity); void PWM_IndependentModeConfig(PWM_OutputPin_TypeDef PWM_OutputPin, uint16_t PWM_DutyCycle); void PWM_ComplementaryModeConfig(PWM_ComplementaryOutputPin_TypeDef PWM_ComplementaryOutputPin,uint16_t PWM_DutyCycle); void PWM_DeadTimeConfig(uint8_t PWM012_RisingDeadTime,uint8_t PWM345_fallingDeadTime); void PWM_Cmd(FunctionalState NewState); void PWM_ITConfig(FunctionalState NewState, PriorityStatus Priority); FlagStatus PWM_GetFlagStatus(void); void PWM_ClearFlag(void); #line 12 "Src\hal.h" /0 #line 1 ".\SC92F8003_Lib\Inc\sc92f8003_pwr.h" /0 #line 1 "\1.Project\git\SinWave\SC92F8003_Lib\Inc\sc92f8003.h" /0 #line 2 "\1.Project\git\SinWave\SC92F8003_Lib\Inc\sc92f8003.h" /1 #line 15 ".\SC92F8003_Lib\Inc\sc92f8003_pwr.h" /0 #line 15 ".\SC92F8003_Lib\Inc\sc92f8003_pwr.h" /0 #line 1 "d:\Keil\C51\Inc\intrins.h" /0 #pragma SAVE #line 15 "d:\Keil\C51\Inc\intrins.h" /1 #line 18 "d:\Keil\C51\Inc\intrins.h" /0 extern void _nop_ (void); extern bit _testbit_ (bit); extern unsigned char _cror_ (unsigned char, unsigned char); extern unsigned int _iror_ (unsigned int, unsigned char); extern unsigned long _lror_ (unsigned long, unsigned char); extern unsigned char _crol_ (unsigned char, unsigned char); extern unsigned int _irol_ (unsigned int, unsigned char); extern unsigned long _lrol_ (unsigned long, unsigned char); extern unsigned char _chkfloat_(float); #line 29 "d:\Keil\C51\Inc\intrins.h" /1 #line 32 "d:\Keil\C51\Inc\intrins.h" /0 extern void _push_ (unsigned char _sfr); extern void _pop_ (unsigned char _sfr); #pragma RESTORE #line 16 ".\SC92F8003_Lib\Inc\sc92f8003_pwr.h" /0 void PWR_DeInit(void); void PWR_EnterSTOPMode(void); void PWR_EnterIDLEMode(void); #line 13 "Src\hal.h" /0 #line 1 ".\SC92F8003_Lib\Inc\sc92f8003_ssi.h" /0 #line 1 "\1.Project\git\SinWave\SC92F8003_Lib\Inc\sc92f8003.h" /0 #line 2 "\1.Project\git\SinWave\SC92F8003_Lib\Inc\sc92f8003.h" /1 #line 15 ".\SC92F8003_Lib\Inc\sc92f8003_ssi.h" /0 #line 15 ".\SC92F8003_Lib\Inc\sc92f8003_ssi.h" /0 typedef enum { SSI_PinSelection_P10P27P26 = (uint8_t)0x00, SSI_PinSelection_P21P22P23 = (uint8_t)0x20 } SSI_PinSelection_TypeDef; typedef enum { SPI_FIRSTBIT_MSB = (uint8_t)0x00, SPI_FIRSTBIT_LSB = (uint8_t)0x04 } SPI_FirstBit_TypeDef; typedef enum { SPI_BAUDRATEPRESCALER_4 = (uint8_t)0x00, SPI_BAUDRATEPRESCALER_8 = (uint8_t)0x01, SPI_BAUDRATEPRESCALER_16 = (uint8_t)0x02, SPI_BAUDRATEPRESCALER_32 = (uint8_t)0x03, SPI_BAUDRATEPRESCALER_64 = (uint8_t)0x04, SPI_BAUDRATEPRESCALER_128 = (uint8_t)0x05, SPI_BAUDRATEPRESCALER_256 = (uint8_t)0x06, SPI_BAUDRATEPRESCALER_512 = (uint8_t)0x07 } SPI_BaudRatePrescaler_TypeDef; typedef enum { SPI_MODE_MASTER = (uint8_t)0x20, SPI_MODE_SLAVE = (uint8_t)0x00 } SPI_Mode_TypeDef; typedef enum { SPI_CLOCKPOLARITY_LOW = (uint8_t)0x00, SPI_CLOCKPOLARITY_HIGH = (uint8_t)0x10 } SPI_ClockPolarity_TypeDef; typedef enum { SPI_CLOCKPHASE_1EDGE = (uint8_t)0x00, SPI_CLOCKPHASE_2EDGE = (uint8_t)0x08 } SPI_ClockPhase_TypeDef; typedef enum { SPI_TXE_DISINT = (uint8_t)0x00, SPI_TXE_ENINT = (uint8_t)0x01 } SPI_TXE_INT_TypeDef; typedef enum { UART1_Mode_10B = 0X00, UART1_Mode_11B = 0X80 } UART1_Mode_TypeDef; typedef enum { UART1_RX_ENABLE = 0X10, UART1_RX_DISABLE = 0X00 } UART1_RX_TypeDef; typedef enum { SPI_FLAG_SPIF = (uint8_t)0x80, SPI_FLAG_WCOL = (uint8_t)0x40, SPI_FLAG_TXE = (uint8_t)0x08, TWI_FLAG_TWIF = (uint8_t)0x40, TWI_FLAG_GCA = (uint8_t)0x10, UART1_FLAG_TI = (uint8_t)0x02, UART1_FLAG_RI = (uint8_t)0x01 } SSI_Flag_TypeDef; void SSI_DeInit(void); void SSI_PinSelection(SSI_PinSelection_TypeDef PinSeletion); void SSI_SPI_Init(SPI_FirstBit_TypeDef FirstBit,SPI_BaudRatePrescaler_TypeDef BaudRatePrescaler,SPI_Mode_TypeDef Mode,SPI_ClockPolarity_TypeDef ClockPolarity,SPI_ClockPhase_TypeDef ClockPhase,SPI_TXE_INT_TypeDef SPI_TXE_INT); void SSI_SPI_Cmd(FunctionalState NewState); void SSI_SPI_SendData(uint8_t Data); uint8_t SSI_SPI_ReceiveData(void); void SSI_TWI_Init(uint8_t TWI_Address); void SSI_TWI_AcknowledgeConfig(FunctionalState NewState); void SSI_TWI_GeneralCallCmd(FunctionalState NewState); void SSI_TWI_Cmd(FunctionalState NewState); void SSI_TWI_SendData(uint8_t Data); uint8_t SSI_TWI_ReceiveData(void); void SSI_UART1_Init(uint32_t UART1Fsys, uint32_t BaudRate, UART1_Mode_TypeDef Mode, UART1_RX_TypeDef RxMode); void SSI_UART1_SendData8(uint8_t Data); uint8_t SSI_UART1_ReceiveData8(void); void SSI_UART1_SendData9(uint16_t Data); uint16_t SSI_UART1_ReceiveData9(void); void SSI_ITConfig(FunctionalState NewState, PriorityStatus Priority); FlagStatus SSI_GetFlagStatus(SSI_Flag_TypeDef SSI_FLAG); void SSI_ClearFlag(SSI_Flag_TypeDef SSI_FLAG); #line 14 "Src\hal.h" /0 #line 1 ".\SC92F8003_Lib\Inc\sc92f8003_timer0.h" /0 #line 1 "\1.Project\git\SinWave\SC92F8003_Lib\Inc\sc92f8003.h" /0 #line 2 "\1.Project\git\SinWave\SC92F8003_Lib\Inc\sc92f8003.h" /1 #line 15 ".\SC92F8003_Lib\Inc\sc92f8003_timer0.h" /0 #line 15 ".\SC92F8003_Lib\Inc\sc92f8003_timer0.h" /0 typedef enum { TIM0_PRESSEL_FSYS_D12 = ((uint8_t)0x00), TIM0_PRESSEL_FSYS_D1 = ((uint8_t)0x01) }TIM0_PresSel_TypeDef; typedef enum { TIM0_MODE_TIMER = ((uint8_t)0x01), TIM0_MODE_COUNTER = ((uint8_t)0x02) }TIM0_CountMode_TypeDef; void TIM0_DeInit(void); void TIM0_TimeBaseInit(TIM0_PresSel_TypeDef TIM0_PrescalerSelection,TIM0_CountMode_TypeDef TIM0_CountMode); void TIM0_WorkMode0Config(uint16_t TIM0_SetCounter); void TIM0_WorkMode1Config(uint16_t TIM0_SetCounter); void TIM0_WorkMode2Config(uint8_t TIM0_SetCounter); void TIM0_WorkMode3Config(uint8_t TIM0_SetCounter, uint8_t TIM1_SetCounter); void TIM0_Mode0SetReloadCounter(uint16_t TIM0_SetCounter); void TIM0_Mode1SetReloadCounter(uint16_t TIM0_SetCounter); void TIM0_SetTL0Counter(uint8_t TIM0_SetCounter); void TIM0_SetTH0Counter(uint8_t TIM0_SetCounter); void TIM0_Cmd(FunctionalState NewState); void TIM0_ITConfig(FunctionalState NewState, PriorityStatus Priority); FlagStatus TIM0_GetFlagStatus(void); void TIM0_ClearFlag(void); #line 15 "Src\hal.h" /0 #line 1 ".\SC92F8003_Lib\Inc\sc92f8003_timer1.h" /0 #line 1 "\1.Project\git\SinWave\SC92F8003_Lib\Inc\sc92f8003.h" /0 #line 2 "\1.Project\git\SinWave\SC92F8003_Lib\Inc\sc92f8003.h" /1 #line 15 ".\SC92F8003_Lib\Inc\sc92f8003_timer1.h" /0 #line 15 ".\SC92F8003_Lib\Inc\sc92f8003_timer1.h" /0 typedef enum { TIM1_PRESSEL_FSYS_D12 = ((uint8_t)0x00), TIM1_PRESSEL_FSYS_D1 = ((uint8_t)0x01) }TIM1_PresSel_TypeDef; typedef enum { TIM1_MODE_TIMER = ((uint8_t)0x01), TIM1_MODE_COUNTER = ((uint8_t)0x02) }TIM1_CountMode_TypeDef; void TIM1_DeInit(void); void TIM1_TimeBaseInit(TIM1_PresSel_TypeDef TIM1_PrescalerSelection,TIM1_CountMode_TypeDef TIM1_CountMode); void TIM1_WorkMode0Config(uint16_t TIM1_SetCounter); void TIM1_WorkMode1Config(uint16_t TIM1_SetCounter); void TIM1_WorkMode2Config(uint8_t TIM1_SetCounter); void TIM1_Mode0SetReloadCounter(uint16_t TIM1_SetCounter); void TIM1_Mode1SetReloadCounter(uint16_t TIM1_SetCounter); void TIM1_Cmd(FunctionalState NewState); void TIM1_ITConfig(FunctionalState NewState, PriorityStatus Priority); FlagStatus TIM1_GetFlagStatus(void); void TIM1_ClearFlag(void); #line 16 "Src\hal.h" /0 #line 1 ".\SC92F8003_Lib\Inc\sc92f8003_timer2.h" /0 #line 1 "\1.Project\git\SinWave\SC92F8003_Lib\Inc\sc92f8003.h" /0 #line 2 "\1.Project\git\SinWave\SC92F8003_Lib\Inc\sc92f8003.h" /1 #line 15 ".\SC92F8003_Lib\Inc\sc92f8003_timer2.h" /0 #line 15 ".\SC92F8003_Lib\Inc\sc92f8003_timer2.h" /0 typedef enum { TIM2_PRESSEL_FSYS_D12 = ((uint8_t)0x00), TIM2_PRESSEL_FSYS_D1 = ((uint8_t)0x01) }TIM2_PresSel_TypeDef; typedef enum { TIM2_MODE_TIMER = ((uint8_t)0x01), TIM2_MODE_COUNTER = ((uint8_t)0x02) }TIM2_CountMode_TypeDef; typedef enum { TIM2_COUNTDIRECTION_UP = ((uint8_t)0x00), TIM2_COUNTDIRECTION_DOWN_UP = ((uint8_t)0x10) }TIM2_CountDirection_TypeDef; typedef enum { TIM2_FLAG_TF2 = (uint8_t)0x80, TIM2_FLAG_EXF2 = (uint8_t)0x40 } TIM2_Flag_TypeDef; void TIM2_DeInit(void); void TIM2_TimeBaseInit(TIM2_PresSel_TypeDef TIM2_PrescalerSelection, TIM2_CountMode_TypeDef TIM2_CountMode, TIM2_CountDirection_TypeDef TIM2_CountDirection); void TIM2_WorkMode0Config(uint16_t TIM2_SetCounter); void TIM2_WorkMode1Config(uint16_t TIM2_SetCounter); void TIM2_WorkMode3Config(uint16_t TIM2_SetCounter); void TIM2_SetEXEN2(FunctionalState NewState); void TIM2_Cmd(FunctionalState NewState); void TIM2_ITConfig(FunctionalState NewState, PriorityStatus Priority); FlagStatus TIM2_GetFlagStatus(TIM2_Flag_TypeDef TIM2_Flag); void TIM2_ClearFlag(TIM2_Flag_TypeDef TIM2_Flag); #line 17 "Src\hal.h" /0 #line 1 ".\SC92F8003_Lib\Inc\sc92f8003_uart0.h" /0 #line 1 "\1.Project\git\SinWave\SC92F8003_Lib\Inc\sc92f8003.h" /0 #line 2 "\1.Project\git\SinWave\SC92F8003_Lib\Inc\sc92f8003.h" /1 #line 15 ".\SC92F8003_Lib\Inc\sc92f8003_uart0.h" /0 #line 15 ".\SC92F8003_Lib\Inc\sc92f8003_uart0.h" /0 typedef enum { UART0_PinSelection_P15P16 = (uint8_t)0x00, UART0_PinSelection_P11P20 = (uint8_t)0x10 } UART0_PinSelection_TypeDef; typedef enum { UART0_CLOCK_TIMER1 = (uint8_t)0X00, UART0_CLOCK_TIMER2 = (uint8_t)0X30 } UART0_Clock_Typedef; typedef enum { UART0_Mode_8B = 0X00, UART0_Mode_10B = 0X40, UART0_Mode_11B = 0XC0 } UART0_Mode_Typedef; typedef enum { UART0_RX_ENABLE = 0x10, UART0_RX_DISABLE = 0x00 } UART0_RX_Typedef; typedef enum { UART0_FLAG_RI = 0X01, UART0_FLAG_TI = 0X02 } UART0_Flag_Typedef; void UART0_DeInit(void); void UART0_PinSelection(UART0_PinSelection_TypeDef PinSeletion); void UART0_Init(uint32_t Uart0Fsys, uint32_t BaudRate, UART0_Mode_Typedef Mode, UART0_Clock_Typedef ClockMode, UART0_RX_Typedef RxMode); void UART0_SendData8(uint8_t Data); uint8_t UART0_ReceiveData8(void); void UART0_SendData9(uint16_t Data); uint16_t UART0_ReceiveData9(void); void UART0_ITConfig(FunctionalState NewState, PriorityStatus Priority); FlagStatus UART0_GetFlagStatus(UART0_Flag_Typedef UART0_Flag); void UART0_ClearFlag(UART0_Flag_Typedef UART0_Flag); #line 18 "Src\hal.h" /0 #line 1 ".\SC92F8003_Lib\Inc\sc92f8003_wdt.h" /0 #line 1 "\1.Project\git\SinWave\SC92F8003_Lib\Inc\sc92f8003.h" /0 #line 2 "\1.Project\git\SinWave\SC92F8003_Lib\Inc\sc92f8003.h" /1 #line 15 ".\SC92F8003_Lib\Inc\sc92f8003_wdt.h" /0 #line 15 ".\SC92F8003_Lib\Inc\sc92f8003_wdt.h" /0 typedef enum { WDT_OverflowTime_500MS = (uint8_t)0x00, WDT_OverflowTime_250MS = (uint8_t)0x01, WDT_OverflowTime_125MS = (uint8_t)0x02, WDT_OverflowTime_62_5MS = (uint8_t)0x03, WDT_OverflowTime_31_5MS = (uint8_t)0x04, WDT_OverflowTime_15_75MS = (uint8_t)0x05, WDT_OverflowTime_7_88MS = (uint8_t)0x06, WDT_OverflowTime_3_94MS = (uint8_t)0x07 } WDT_OverflowTime_TypeDef; void WDT_DeInit(void); void WDT_Init(WDT_OverflowTime_TypeDef OverflowTime); void WDT_SetReload(void); #line 19 "Src\hal.h" /0 #line 2 "Src\lt89xx_rf.c" /0 #line 1 "Src\LT89xx_rf.h" /0 #line 1 ".\Task\stdint.h" /0 #line 2 ".\Task\stdint.h" /1 #line 3 "Src\LT89xx_rf.h" /0 #line 3 "Src\LT89xx_rf.h" /0 void InitLT89xxRF(void); uint8_t DecodePackage(uint8_t *pBuf,uint8_t len1); void TaskLT89xx_thread_entry(void *param ); #line 3 "Src\lt89xx_rf.c" /0 #line 1 "Src\LT89xx_def.h" /0 #line 1 ".\Task\stdint.h" /0 #line 2 ".\Task\stdint.h" /1 #line 3 "Src\LT89xx_def.h" /0 #line 3 "Src\LT89xx_def.h" /0 typedef struct { uint8_t RegAddr; uint16_t RegValue; }LT89XX_CFG; typedef struct { uint16_t Sync_Word_15_00; uint16_t Sync_Word_63_48; }Sync_Word; typedef struct { Sync_Word SyncWord; uint16_t Freq; }LT89XX_Sync_Word_Channel; #line 4 "Src\lt89xx_rf.c" /0 #line 1 "Src\LT89xx_rf_cfg.h" /0 #line 5 "Src\lt89xx_rf.c" /0 #line 1 "Src\LT89xx.h" /0 #line 1 ".\Task\stdint.h" /0 #line 2 ".\Task\stdint.h" /1 #line 4 "Src\LT89xx.h" /0 #line 4 "Src\LT89xx.h" /0 void InitLT89xx(void); uint16_t LT_ReadReg2(uint8_t reg); void LT_Readreg(uint8_t reg,uint8_t *RegH,uint8_t *RegL ); void LT_WriteReg(uint8_t reg, uint8_t RegH, uint8_t RegL); void LT_WriteReg2(uint8_t reg, uint16_t regValue); uint8_t LT_ReadBuf(uint8_t reg, uint8_t *pBuf); void LT_WriteBuf(uint8_t reg, uint8_t *pBuf, uint8_t len); void LT8920_Sleep(void); uint8_t LT_GetPKT(void); #line 6 "Src\lt89xx_rf.c" /0 #line 1 "Src\V2RFEncoding.h" /0 #line 1 ".\Task\stdint.h" /0 #line 2 ".\Task\stdint.h" /1 #line 5 "Src\V2RFEncoding.h" /0 #line 5 "Src\V2RFEncoding.h" /0 #line 1 "d:\Keil\C51\Inc\string.h" /0 typedef unsigned int size_t; #pragma SAVE #pragma REGPARMS extern char *strcat (char *s1, const char *s2); extern char *strncat (char *s1, const char *s2, size_t n); extern char strcmp (const char *s1, const char *s2); extern char strncmp (const char *s1, const char *s2, size_t n); extern char *strcpy (char *s1, const char *s2); extern char *strncpy (char *s1, const char *s2, size_t n); extern size_t strlen (const char *); extern char *strchr (const char *s, char c); extern int strpos (const char *s, char c); extern char *strrchr (const char *s, char c); extern int strrpos (const char *s, char c); extern size_t strspn (const char *s, const char *set); extern size_t strcspn (const char *s, const char *set); extern char *strpbrk (const char *s, const char *set); extern char *strrpbrk(const char *s, const char *set); extern char *strstr (const char *s, const char *sub); extern char *strtok (char *str, const char *set); extern char memcmp (const void *s1, const void *s2, size_t n); extern void *memcpy (void *s1, const void *s2, size_t n); extern void *memchr (const void *s, char val, size_t n); extern void *memccpy (void *s1, const void *s2, char val, size_t n); extern void *memmove (void *s1, const void *s2, size_t n); extern void *memset (void *s, char val, size_t n); #pragma RESTORE #line 6 "Src\V2RFEncoding.h" /0 void encodeV2Packet(uint8_t* packet); void decodeV2Packet(uint8_t* packet); uint8_t xorKey(uint8_t key); uint8_t encodeByte(uint8_t byte, uint8_t s1, uint8_t xorKey, uint8_t s2); uint8_t decodeByte(uint8_t byte, uint8_t s1, uint8_t xorKey, uint8_t s2); void TestDecode(void); #line 7 "Src\lt89xx_rf.c" /0 #line 1 ".\Task\pt_thread/pt_header.h" /0 #line 1 "\1.Project\git\SinWave\Task\pt_thread\pt_timer.h" /0 #line 1 "\1.Project\git\SinWave\Task\pt_thread\pt.h" /0 #line 1 "\1.Project\git\SinWave\Task\pt_thread\lc.h" /0 #line 6 "\1.Project\git\SinWave\Task\pt_thread\lc.h" /1 #line 8 "\1.Project\git\SinWave\Task\pt_thread\lc.h" /0 #line 1 "\1.Project\git\SinWave\Task\pt_thread\lc-switch.h" /0 typedef unsigned short lc_t; #line 8 "\1.Project\git\SinWave\Task\pt_thread\lc.h" /0 #line 5 "\1.Project\git\SinWave\Task\pt_thread\pt.h" /0 struct pt { lc_t lc; }; #line 3 "\1.Project\git\SinWave\Task\pt_thread\pt_timer.h" /0 struct timer { unsigned long start; unsigned long interval; }; void timer_set(struct timer *t, unsigned long interval); unsigned char timer_expired(struct timer *t); void delay_ms(unsigned long t_ms); void Delay10us(void); void delay_us(unsigned int t); #line 4 ".\Task\pt_thread/pt_header.h" /0 #line 1 "\1.Project\git\SinWave\Task\pt_thread\pt-sem.h" /0 #line 1 "\1.Project\git\SinWave\Task\pt_thread\pt.h" /0 #line 3 "\1.Project\git\SinWave\Task\pt_thread\pt.h" /1 #line 72 "\1.Project\git\SinWave\Task\pt_thread\pt-sem.h" /0 #line 72 "\1.Project\git\SinWave\Task\pt_thread\pt-sem.h" /0 struct pt_sem { unsigned int count; }; #line 5 ".\Task\pt_thread/pt_header.h" /0 #line 9 "Src\lt89xx_rf.c" /0 #line 1 ".\Task\task.h" /0 #line 1 "\1.Project\git\SinWave\Task\cfg/task_header.h" /0 #line 1 ".\Task\cpu_port\S92F8003A\task_hal.h" /0 #line 1 ".\Task\stdint.h" /0 #line 2 ".\Task\stdint.h" /1 #line 5 ".\Task\cpu_port\S92F8003A\task_hal.h" /0 #line 5 ".\Task\cpu_port\S92F8003A\task_hal.h" /0 #line 1 "d:\Keil\C51\Inc\intrins.h" /0 #line 10 "d:\Keil\C51\Inc\intrins.h" /1 #line 40 "d:\Keil\C51\Inc\intrins.h" /0 #line 6 ".\Task\cpu_port\S92F8003A\task_hal.h" /0 #line 1 "\1.Project\git\SinWave\Task\cpu_port\S92F8003A\task_hal_cfg.h" /0 #line 1 ".\SC92F8003_Lib\Inc\SC92F8003.H" /0 #line 2 ".\SC92F8003_Lib\Inc\SC92F8003.H" /1 #line 5 "\1.Project\git\SinWave\Task\cpu_port\S92F8003A\task_hal_cfg.h" /0 #line 5 "\1.Project\git\SinWave\Task\cpu_port\S92F8003A\task_hal_cfg.h" /0 #line 7 ".\Task\cpu_port\S92F8003A\task_hal.h" /0 #line 1 ".\Task\cfg\al_helper.h" /0 #line 1 ".\Task\stdint.h" /0 #line 2 ".\Task\stdint.h" /1 #line 11 ".\Task\cfg\al_helper.h" /0 #line 11 ".\Task\cfg\al_helper.h" /0 #line 14 ".\Task\cfg\al_helper.h" /1 #line 16 ".\Task\cfg\al_helper.h" /0 enum { false = 0, true =!false }; #line 41 ".\Task\cfg\al_helper.h" /1 #line 43 ".\Task\cfg\al_helper.h" /0 #line 8 ".\Task\cpu_port\S92F8003A\task_hal.h" /0 #line 1 ".\Task\pt_thread\pt_header.h" /0 #line 2 ".\Task\pt_thread\pt_header.h" /1 #line 8 ".\Task\pt_thread\pt_header.h" /0 #line 9 ".\Task\cpu_port\S92F8003A\task_hal.h" /0 #line 1 "Src\LT89xx_rf.h" /0 #line 2 "Src\LT89xx_rf.h" /1 #line 11 ".\Task\cpu_port\S92F8003A\task_hal.h" /0 #line 11 ".\Task\cpu_port\S92F8003A\task_hal.h" /0 #line 1 "Src\key.h" /0 #line 1 ".\Task\pt_thread\pt.h" /0 #line 3 ".\Task\pt_thread\pt.h" /1 #line 3 "Src\key.h" /0 #line 3 "Src\key.h" /0 #line 1 ".\Task\cfg\al_helper.h" /0 #line 9 ".\Task\cfg\al_helper.h" /1 #line 45 ".\Task\cfg\al_helper.h" /0 #line 4 "Src\key.h" /0 void InitKey(void); int8_t TaskScanKey(struct pt *pt1 ) ; #line 10 "Src\key.h" /1 #line 12 "Src\key.h" /0 extern xdata unsigned char gcKey; unsigned char GetKey(void) ; #line 12 ".\Task\cpu_port\S92F8003A\task_hal.h" /0 #line 1 "Src\BulbId.h" /0 #line 1 "Src\BulbId_def.h" /0 #line 1 ".\Task\stdint.h" /0 #line 2 ".\Task\stdint.h" /1 #line 3 "Src\BulbId_def.h" /0 #line 3 "Src\BulbId_def.h" /0 enum MiLightFUT089Command { FUT089_ON = 0x01, FUT089_OFF = 0x01, FUT089_COLOR = 0x02, FUT089_BRIGHTNESS = 0x05, FUT089_MODE = 0x06, FUT089_KELVIN = 0x07, FUT089_SATURATION = 0x07 }; enum MiLightFUT089Arguments { FUT089_MODE_SPEED_UP = 0x12, FUT089_MODE_SPEED_DOWN = 0x13, FUT089_WHITE_MODE = 0x14 }; enum MiLightRemoteType { REMOTE_TYPE_UNKNOWN = 255, REMOTE_TYPE_RGBW = 0, REMOTE_TYPE_CCT = 1, REMOTE_TYPE_RGB_CCT = 2, REMOTE_TYPE_RGB = 3, REMOTE_TYPE_FUT089 = 4, REMOTE_TYPE_FUT091 = 5, REMOTE_TYPE_FUT020 = 6 }; enum BulbMode { BULB_MODE_WHITE, BULB_MODE_COLOR, BULB_MODE_SCENE, BULB_MODE_NIGHT }; enum IncDIR{ INCREASE = 1, DECREASE = -1U }; enum eCommands { UNPAIR , PAIR , SET_WHITE , NIGHT_MODE , LEVEL_UP , LEVEL_DOWN , TEMPERATURE_UP , TEMPERATURE_DOWN, NEXT_MODE , PREVIOUS_MODE , MODE_SPEED_DOWN , MODE_SPEED_UP , TOGGLE , TRANSITION }; enum LEDState { OFF = 0, ON }; struct Result { uint8_t button_id ; uint8_t argument ; uint8_t STATE ; uint8_t STATUS ; uint8_t BRIGHTNESS ; uint8_t LEVEL ; uint8_t HUE ; uint8_t SATURATION ; uint8_t COLOR ; uint8_t MODE ; uint8_t KELVIN ; uint8_t TEMPERATURE ; uint8_t COLOR_TEMP ; uint8_t BULB_MODE ; uint8_t COMPUTED_COLOR ; uint8_t EFFECT ; uint8_t DEVICE_ID ; uint8_t GROUP_ID ; uint8_t DEVICE_TYPE ; uint8_t OH_COLOR ; uint8_t HEX_COLOR ; uint8_t COMMAND ; uint8_t COMMANDS ; uint8_t COLOR_MODE ; }; struct BulbId { enum MiLightRemoteType deviceType; uint8_t groupId; uint16_t deviceId; uint16_t PWM_Value[5]; uint8_t bENPWM :1; uint8_t bInit :1; uint8_t repeatCnt; struct Result result; }; #line 4 "Src\BulbId.h" /0 #line 1 ".\Task\cfg\al_helper.h" /0 #line 9 ".\Task\cfg\al_helper.h" /1 #line 45 ".\Task\cfg\al_helper.h" /0 #line 5 "Src\BulbId.h" /0 #line 1 ".\Task\pt_thread\pt_header.h" /0 #line 2 ".\Task\pt_thread\pt_header.h" /1 #line 8 ".\Task\pt_thread\pt_header.h" /0 #line 6 "Src\BulbId.h" /0 void SetBulbInfo(uint8_t *pBulbInfo,uint8_t len1); void InitOrUninit(void* p); void waitForInitOrUnInit(void); int8_t TaskBlinLed(struct pt * pt1 ) ; #line 17 "Src\BulbId.h" /1 #line 19 "Src\BulbId.h" /0 #line 13 ".\Task\cpu_port\S92F8003A\task_hal.h" /0 typedef void (* func )(void); void Idle(void); void Init(void); void InitWdt(void); void InitPort(void); void SysTick_Handler(void); void Task_SysTick_Handler(void); int8_t TaskWDT(struct pt * pt1 ) ; #line 30 ".\Task\cpu_port\S92F8003A\task_hal.h" /1 #line 32 ".\Task\cpu_port\S92F8003A\task_hal.h" /0 int InitTaskStack(void); int InitTimerStack(void); #line 4 "\1.Project\git\SinWave\Task\cfg/task_header.h" /0 #line 4 ".\Task\task.h" /0 #line 1 "\1.Project\git\SinWave\Task\task_def.h" /0 #line 8 "\1.Project\git\SinWave\Task\task_def.h" /1 #line 10 "\1.Project\git\SinWave\Task\task_def.h" /0 #line 15 "\1.Project\git\SinWave\Task\task_def.h" /1 #line 17 "\1.Project\git\SinWave\Task\task_def.h" /0 #line 20 "\1.Project\git\SinWave\Task\task_def.h" /1 #line 22 "\1.Project\git\SinWave\Task\task_def.h" /0 #line 25 "\1.Project\git\SinWave\Task\task_def.h" /1 #line 27 "\1.Project\git\SinWave\Task\task_def.h" /0 #line 5 ".\Task\task.h" /0 #line 8 ".\Task\task.h" /1 #line 10 ".\Task\task.h" /0 enum TASK_ID { TASK_ID_TaskTimer, #line 1 "\1.Project\git\SinWave\Task\cfg/taskid.h" /0 TASK_ID_TaskBlinLed, TASK_ID_TaskWDT, TASK_ID_TaskScanKey, #line 15 ".\Task\task.h" /0 }; enum TASK_MODE { TASK_MODE_ONCE, TASK_MODE_PERIOD }; enum TIMER_MODE { TIMER_MODE_TIMER = 0, TIMER_MODE_ONCEROUTINE, TIMER_MODE_CYCROUTINE }; void InitT0(void); void InitTask(void); void TaskProc(void) ; int8_t ActiveTask(int8_t cTaskID, int32_t lPeriod); int8_t SuspendTask(int8_t cTaskID); void ActiveTaskNow(int8_t cTaskID, int32_t lPeriod); int8_t SetTaskLastTime(int8_t cTaskID,int32_t lLastTime); int8_t StartTimer2(int8_t *TimerID,int8_t cMode,uint32_t lPeriod,void (* routine)(void * Param1),void * Param1); int8_t StartTimer( int8_t cMode,int32_t lPeriod,void (* routine)(void * Param1),void * Param1); int8_t StopTimer ( int8_t * pcTimerNumber ); void StopAllTimer(void); uint32_t get_system_ms(void); void ResetTimer(void); int8_t TaskTimer(struct pt *pt1 ); #line 60 ".\Task\task.h" /1 #line 62 ".\Task\task.h" /0 #line 64 ".\Task\task.h" /1 #line 66 ".\Task\task.h" /0 #line 10 "Src\lt89xx_rf.c" /0 #line 1 "Src\BulbId.h" /0 #line 2 "Src\BulbId.h" /1 #line 12 "Src\lt89xx_rf.c" /0 #line 12 "Src\lt89xx_rf.c" /0 code Sync_Word Tx_Sync_Word = { 0x7236, 0x1809, }; code uint16_t Tx_Freq[] = {2402UL+0x0F,2402UL+0x23, 2402UL+0x37}; code LT89XX_Sync_Word_Channel Rx_Sync_Word_Channel[] = { { 0x7236, 0x1809, 2402UL+0x88-0x80 }, { 0x147A, 0x258B, 2402UL+0x89-0x80 }, { 0x7236, 0x1809, 2402UL+0xA7-0x80 }, { 0x147A, 0x258B, 2402UL+0xA8-0x80 }, { 0x7236, 0x1809, 2402UL+0xC6-0x80 }, { 0x147A, 0x258B, 2402UL+0xC7-0x80 }, }; void StartTaskLT89XX(void); void SetSyncWord(uint16_t Sync_word_High,uint16_t Sync_word_Low) { LT_WriteReg2(0x24,Sync_word_Low); LT_WriteReg2(0x27,Sync_word_High); } void Reset_FIFO_PTR(void) { LT_WriteReg(0x34, 0x80, 0x80); } void LT8920_TxData(uint8_t* pBuf,uint8_t len ,uint16_t FreqChannel) { FreqChannel-=2402UL; LT_WriteReg(0x07, 0x00, 00); Reset_FIFO_PTR(); LT_WriteBuf(0x32,pBuf,len); LT_WriteReg(0x07, 0x01, FreqChannel); } void StartRxData(LT89XX_Sync_Word_Channel *Key) { uint16_t FreqChannel = Key->Freq; uint16_t Sync_word_High = Key->SyncWord.Sync_Word_63_48; uint16_t Sync_word_Low = Key->SyncWord.Sync_Word_15_00; FreqChannel-=2402UL; LT_WriteReg(0x07, 0x00, 00); SetSyncWord(Sync_word_High,Sync_word_Low); Reset_FIFO_PTR(); LT_WriteReg(0x07, 0x00, FreqChannel|0x80); } void StopTxRxData(void) { LT_WriteReg(0x07, 0x00, 00); } uint8_t LT8920_RxData(uint8_t* pBuf,uint8_t *len ) { uint8_t RegH,RegL; int result = LT_GetPKT(); if(result) { LT_Readreg(48,&RegH,&RegL); if((RegH&0x80)==0) { result = LT_ReadBuf(0x32,pBuf); *len = result; _nop_(); } } return result; } xdata uint8_t RxData[16] = {0xEE, 0xB9, 0x81, 0x21, 0x9E, 0x7c, 0x5a, 0x60, 0x0d }; #line 152 "Src\lt89xx_rf.c" /0 int8_t TaskLT89xxRxData(struct pt *pt1, LT89XX_Sync_Word_Channel *key, uint8_t* pBuf, uint8_t *len1, uint8_t TimeOut ) { static idata uint8_t Rx_TimeOut = 0; _nop_(); { int8_t PT_YIELD_FLAG = 1; switch((pt1)->lc) { case 0:; Rx_TimeOut = 0; while(1) { _nop_(); StartRxData(key); *len1 = 0; while(1) { _nop_(); delay_us(200); if(LT_GetPKT()) { uint8_t RegH,RegL; LT_Readreg(48,&RegH,&RegL); if((RegH&0x80)==0) { *len1 = LT_ReadBuf(0x32,pBuf); DecodePackage(pBuf,*len1); } do { (pt1)->lc = 0;; return 2; } while(0); } Rx_TimeOut++; if(Rx_TimeOut>TimeOut) { do { (pt1)->lc = 0;; return 2; } while(0); } else { Delay10us( ); } } } }; PT_YIELD_FLAG = 0; (void)(PT_YIELD_FLAG); (pt1)->lc = 0;; return 3; }; } void Broadcast(uint8_t* pBuf,uint8_t len) { uint16_t j = 0; uint16_t count = 0; uint16_t freq = 0; uint16_t sync_word_high = 0; uint16_t sync_word_low = 0; StopTxRxData(); sync_word_high = Tx_Sync_Word.Sync_Word_63_48; sync_word_low = Tx_Sync_Word.Sync_Word_15_00; SetSyncWord(sync_word_high,sync_word_low); StopTxRxData(); Reset_FIFO_PTR(); do { for(j=0;jlc) { case 0:; i = 0; for(i=0;ilc = 0;; do { (((pt1)))->lc = 253; case 253:; if(!(!(((TaskLT89xxRxData(&ptRxData,&Rx_Sync_Word_Channel[i],RxData,&len,100)) < 2)))) { return 0; } } while(0); Delay10us( ); if(len>0) { Broadcast(RxData,len); } _nop_(); } }; PT_YIELD_FLAG = 0; (void)(PT_YIELD_FLAG); (pt1)->lc = 0;; return 3; }; } #line 267 "Src\lt89xx_rf.c" /1 #line 269 "Src\lt89xx_rf.c" /0 void TaskLT89xx_thread_entry(void *param ) { struct pt *pt1 ; {static idata struct pt pt_hide ;pt1 = &pt_hide;}; TaskLT89xx_thread(pt1); (void)(param); } xdata int8_t TimerLT89xxRX = -1; void StartTaskLT89XX(void) { if(TimerLT89xxRX==-1) StartTimer2(&TimerLT89xxRX,TIMER_MODE_CYCROUTINE,1,TaskLT89xx_thread_entry,((void *)0)); } void InitLT89xxRF(void) { InitLT89xx(); StartTaskLT89XX(); } uint8_t DecodePackage(uint8_t *pBuf,uint8_t len1) { uint8_t i; if(len1==9) { xdata uint8_t Package[9]; memcpy(Package, pBuf, len1); decodeV2Packet(Package); SetBulbInfo(Package,len1); _nop_(); } (void)(i); return len1 ; }