/* =========================================================================
; Project: 6220_Rx
; File: Main.c
; Description:
; Author: wrx
; Version: C2.0
; Date: 2022/04/27
=========================================================================*/
//#include <at8.h>
//#include <AT8_romaccess.h>
//#include “at8_constant.h”
#include <ny8.h>
#include <stdint.h>
#include “NY8_constant.h”
#include “type.h”
#include “hs6220.h”
#include “misc.h”
#include “App_user.h”
//=//
//宏定义区
//=//
#define C_TM0_VAULE 163//163//162–100us 163–99.75us
//=//
//全局变量
//=//
//定时器
uint16_t R_TEMP;
uint16_t R_TEMP_buf;
__at(0x20) uint8_t R_TEMP1;
//uint8_t R_TEMP2;
//uint8_t R_TEMP3;
uint8_t INT_TIME_CNT1;
uint8_t INT_TIME_CNT2;
//uint8_t INT_TIME_CNT3;
//uint8_t INT_TIME_CNT4;
uint8_t INT_TIME_CNT5=0;
uint8_t R_4ms_Cnt=0;
uint8_t R_20ms_Cnt=0;
uint8_t R_DJ_PWMcnt=0;
uint8_t R_US_CNT=0;
uint8_t R_2m5s_Cnt=0;
uint8_t R_ch_20ms_Cnt = 0;
uint8_t R_temp;
const uint8_t CHANNEL[4] = { C_RF_CH_1, C_RF_CH_2, C_RF_CH_3, C_RF_CH_4};
uint8_t i=0;
uint8_t cnt=0;
uint8_t spi_data=0;
uint8_t reg_addr=0;
uint8_t reg_data=0;
uint8_t tx_data[RF_TX_LENGTH];
uint8_t rx_data[RF_RX_LENGTH];
uint16_t delay_cnt=0;
uint8_t rf_addr[5];
uint8_t rf_time;
//uint8_t pairing_done;
uint8_t rf_reinit_cnt=0;
uint8_t rf_lost_cnt=0;
uint8_t channel_cnt=0;
uint8_t RF_EXIT_cnt=0;
//用户自定义
//RF相关寄存器
uint8_t RF_FLAG=0;
__sbit RF_xMS_FLAG = RF_FLAG : 0;
__sbit RX_DATA_OK = RF_FLAG : 1;
__sbit B_RF_RESET_LOSS = RF_FLAG : 2;
__sbit pairing_done = RF_FLAG : 3;
__sbit XOR_flag = RF_FLAG : 4;
uint8_t R_SYS_FLAG=0;
__sbit B_NewKey_Flag = R_SYS_FLAG : 0;
__sbit B_LED_Flag = R_SYS_FLAG : 1;
__sbit B_LV_Flag = R_SYS_FLAG : 2;
__sbit lost_flag = R_SYS_FLAG : 3;
__sbit B_DEMO_FLAG = R_SYS_FLAG : 4;
__sbit B_SPRAY_FLAG = R_SYS_FLAG : 5;
__sbit stop_flag = R_SYS_FLAG : 6;
//__sbit key_music_flag = R_SYS_FLAG : 7;
uint8_t R_USE_FLAG=0;
__sbit key_LED_flag1 = R_USE_FLAG : 0;
__sbit key_LED_flag2 = R_USE_FLAG : 1;
__sbit key_LED_flag3 = R_USE_FLAG : 2;
__sbit key_LED_flag4 = R_USE_FLAG : 3;
__sbit key_pw_flag = R_USE_FLAG : 4;
__sbit key_LED_flag5 = R_USE_FLAG : 5;
__sbit key_auto_flag = R_USE_FLAG : 6;
__sbit key_LED_flag6 = R_USE_FLAG : 7;
uint8_t R_USE_FLAG2=0;
__sbit key_flag_1 = R_USE_FLAG2 : 0;
__sbit key_flag_2 = R_USE_FLAG2 : 1;
__sbit key_flag_3 = R_USE_FLAG2 : 2;
__sbit key_flag_4 = R_USE_FLAG2 : 3;
__sbit key_flag_5 = R_USE_FLAG2 : 4;
__sbit key_flag_6 = R_USE_FLAG2 : 5;
__sbit key_flag_7 = R_USE_FLAG2 : 6;
__sbit key_flag_8 = R_USE_FLAG2 : 7;
//music
uint8_t R_music_F=0;
__sbit key_music_flag = R_music_F : 0;
__sbit music_dataWf = R_music_F : 1;
__sbit music_hearh = R_music_F : 2;
__sbit key_music_flag2 = R_music_F : 3;
//__sbit key_flag_4 = R_music_F : 3;
//__sbit key_flag_5 = R_music_F : 4;
//__sbit key_flag_6 = R_music_F : 5;
//__sbit key_flag_7 = R_music_F : 6;
//__sbit key_flag_8 = R_music_F : 7;
//__sbit key_music_flag = R_SYS_FLAG : 7;
//led
uint8_t R_LED_STARE=0,R_LED_DEL=0,R_LED_STEP_CNT=0;
//uint8_t R_LED_SLEEP;
//key
//uint8_t R_KEY_BUF,R_KEY_DEBOUNCE,R_KEY_Value;
//sleep
uint16_t R_SLEEP_CNT=0;
//motor
uint8_t R_MOTOR_FLAG=0,R_MOTOR_CHANGE=0,R_MOTOR_STARE=0;
//uint8_t R_MOTOR_DEL1;
//uint8_t R_MOTOR_CYCLE1,R_MOTOR_DUTY1;
//uint8_t R_Slow_Cnt;
uint8_t PWM_CNT=0;
//demo
//uint8_t R_DEMO_DEL,R_DEMO_STEP,R_DEMO_LOOP;
//uint8_t R_DEMO_Song_CNT;
//uint8_t MOTOR_PROPORTION;
//lv
//uint8_t R_LV_CNT;
//uint8_t R_LV_TEMP;
//Spray
uint8_t R_SPRAY_CLOSE_DEL=0;
//LineTx
//uint8_t R_LineTxDelayTime,R_Line_Tx_Time,R_Line_Tx_Step,R_LineTestBit,R_Line_Loop,R_Tx_DATA,R_Tx_DATA_BUF;
//uint8_t R_LineTxStare;
//uint8_t R_Tx_DATA_TEMP;
//uint8_t R_Music_Closed_DEL;
//uint8_t R_MatchFirst;
uint8_t music_time = 0;
uint8_t music_data = 0;
uint8_t music_data_cnt = 0;
uint8_t music_interval_time = 0;//音乐间隔时间
uint8_t R_music_buffer = 0;
uint8_t MOTOR_MUSIC_STARE = 0;
uint8_t music_order = 0;
uint8_t key_voice_cnt= 0;
//data
//uint8_t data_buf15=0;
uint8_t R_MOTOR_value=0;
uint8_t R_MOTOR_STARE_buf=0;
//moto
uint8_t C_PWM_buf=0;
//uint8_t XOR_flag;
//AUTO
uint8_t auto_list = 0;
uint8_t R_Motor_time = 0;
//uint8_t R_MOTOR_STARE_BUF = 0;
uint8_t R_Motor_time_BUF = 0;
uint8_t R_MOTOR_auto_BUF = 0;
uint8_t R_MOTOR_DELAY_TIME = 0;
uint8_t auto_cnt = 0;
//uint8_t key_auto_flag = 0;
uint8_t R_PWM_DUTY= 0;
uint8_t R_PWM_DUTYB= 0;
uint8_t R_PWM_DUTYF= 0;
uint8_t R_ms_Cnt= 0;
uint8_t R_PWM_F= 0;
uint8_t R_PWM_B= 0;
uint8_t R_stop_moto= 0;
uint8_t R_DJ_PWMcnt2= 0;
uint8_t R_DJ_RLbuf= 0;
uint8_t R_DJ_buf5= 0;
uint16_t div_src2= 0;
uint8_t value_temp = 0;
uint8_t R_LV_sleep_CNT = 0;
//uint8_t music_dataWf=0;
void sleep_server_init(void)
{
R_SLEEP_CNT = C_SLEEP_CNT; //10分钟
}
//=//
//函数声明
//=//
void F_Sleep_Deal(void);
void ddr_setting(void)
{
rf_addr[0] = rx_data[6];
rf_addr[1] = rx_data[7];
rf_addr[2] = rx_data[8];
rf_addr[3] = rx_data[9];
rf_addr[4] = rx_data[10];
spi_data = HS6220_W_REGISTER | HS6220_BANK0_RX_ADDR_P0;
hs6220_Write_LocalAddr();
spi_data = HS6220_W_REGISTER | HS6220_BANK0_TX_ADDR;
hs6220_Write_LocalAddr();
// music_data =0x20; //
// delay_cnt = 8000;
// delay_nops();
R_music_buffer = 0x02; //
//music_play_time = 166;//88;
pairing_done = 1;
}
//void pwm_inti(void)<