#include "AnalogChannelCtrl_2d5g_base.h"
#include "Probe_MSO7000X_2d5g.h"
#include "sys.h"
#include "IIC_Base.h"
#include "PCA9548.h"
#include "PCA9536.h"
void ICPowerCtrl(u8 on)
{
		if(on==1)
		{
			 GPIO_SetBits(GPIOE,GPIO_Pin_2);
		}
		else
		{
			 GPIO_ResetBits(GPIOE,GPIO_Pin_2);
		}
}
void AnalogChCtrl_ICPower_GPIO_Init(void)
{
		GPIO_InitTypeDef  GPIO_InitStructure;
		RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOE, ENABLE); 
		GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;//��ͨ���ģʽ
    GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//�������
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//50MHz
    GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//����
    GPIO_Init(GPIOE, &GPIO_InitStructure); 
	  
		ICPowerCtrl(1);
}


void AnalogChCtrl_GPIO_Init(void)
{
	
		IIC_Init();
		//SwitchIICRoadByPCA9548(1);
		//PCA9536_Init();
	
    GPIO_InitTypeDef  GPIO_InitStructure;
    RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA|RCC_AHB1Periph_GPIOB|RCC_AHB1Periph_GPIOC|RCC_AHB1Periph_GPIOD|RCC_AHB1Periph_GPIOE, ENABLE);//ʹ��GPIOA~Eʱ��
    //RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB|RCC_AHB1Periph_GPIOC|RCC_AHB1Periph_GPIOD|RCC_AHB1Periph_GPIOE, ENABLE);
    //GPIO ��ʼ������
    GPIO_InitStructure.GPIO_Pin = (GPIO_Pin_1| GPIO_Pin_2);//��ʼ�� �������ģʽ
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;//��ͨ���ģʽ
    GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//�������
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//50MHz
    GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//����
    GPIO_Init(GPIOA, &GPIO_InitStructure);//��ʼ�

    GPIO_InitStructure.GPIO_Pin = (GPIO_Pin_8| GPIO_Pin_9| GPIO_Pin_11| GPIO_Pin_12| GPIO_Pin_13| GPIO_Pin_14| GPIO_Pin_15);//��ʼ��B11~15��Ϊ�������ģʽ
    GPIO_Init(GPIOB, &GPIO_InitStructure);
//	GPIO_SetBits(GPIOB,GPIO_Pin_15|GPIO_Pin_14|GPIO_Pin_13|GPIO_Pin_12);

    GPIO_InitStructure.GPIO_Pin = (GPIO_Pin_1 |GPIO_Pin_10|GPIO_Pin_11|GPIO_Pin_12);//��ʼ��C10~12��Ϊ�������ģʽ
    GPIO_Init(GPIOC, &GPIO_InitStructure);


    GPIO_InitStructure.GPIO_Pin = ( GPIO_Pin_0| GPIO_Pin_10| GPIO_Pin_11|GPIO_Pin_12| GPIO_Pin_13);//��ʼ��C10~12��Ϊ�������ģʽ
    GPIO_Init(GPIOD, &GPIO_InitStructure);


    GPIO_InitStructure.GPIO_Pin = (GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_10|GPIO_Pin_12);//��ʼ��C10~12��Ϊ�������ģʽ
    GPIO_Init(GPIOE, &GPIO_InitStructure);
    //GPIO_SetBits(GPIOF,GPIO_Pin_9 | GPIO_Pin_10);//GPIOF9,F10���øߣ�����

    GPIO_SetBits(GPIOA,GPIO_Pin_2);
    GPIO_SetBits(GPIOB,GPIO_Pin_13);
    GPIO_SetBits(GPIOD,GPIO_Pin_0);

    GPIO_SetBits(GPIOD,GPIO_Pin_12);
    GPIO_SetBits(GPIOE,GPIO_Pin_12);
    GPIO_SetBits(GPIOA,GPIO_Pin_1);
    GPIO_SetBits(GPIOE,GPIO_Pin_4);
		
		High8HC595 = 2;
    CD_4094(2,1);
    CD_4094(0,4);
		ExterDACPostion(EXTER_DAC_POSTION_DEFAULT);
		ExterDACSensit(EXTER_DAC_SENSIT_DEFAULT);
		AnalogChProtect_GPIO_Init();
		IIC5675_Init();
}
/* ֱ��ƫ�� ���ơ�===*/
/*   whichChStartWith_1:�ĸ�ͨ������1��ʼ */
/*   dac16bitValue:16λDAC��ֵ */
void AnalogChCtrlBias(short whichChStartWith_1,unsigned short dac16bitValue)
{
}

/* Offset ���ơ�==== */
/*   whichChStartWith_1:�ĸ�ͨ������1��ʼ */
/*   dac16bitValue:16λDAC��ֵ */
void AnalogChCtrlOffset(short whichChStartWith_1,unsigned short dac16bitValue)
{
}

/* �ֵ����� ���ơ�==== */
/*   whichChStartWith_1:�ĸ�ͨ������1��ʼ */
/*   value:�����֣���Ӳ���ɽ��ܵ�ֵΪ��׼ */
void AnalogChCtrlCoarse(short whichChStartWith_1,unsigned char value)
{
}
/* �迹���������ơ�˥�����ʡ��Ŵ��� ���ơ�==== */
/*   ImpedanceBitSetting:��bit0��ʼ���α�ʾ����ͨ����bitֵԼ���� 0=���裬1=���� */
/*   pBandwithLimitBitSetting:��������,���飬ÿ��ͨ���Ĵ���ֵ����MHzΪ��λ */
/*   pAttenuatorFactor1:ÿ��ͨ���ĵ�һ��˥�����ʣ�ʵ������������˥��Ϊ1*/
/*   pAttenuatorFactor2:ÿ��ͨ���ĵ�һ��˥�����ʣ�ʵ��������������˥��Ϊ1*/
/*   pAmplifierFactor1:ÿ��ͨ���ķŴ��ʣ�ʵ�������������޷Ŵ�Ϊ1*/
/*   pAmplifierFactor2:ÿ��ͨ���ķŴ��ʣ�ʵ�������������޷Ŵ�Ϊ1*/
void AnalogChCtrlStateSwitch(unsigned char ImpedanceBitSetting,unsigned short *pBandwithLimitBitSetting,unsigned short *pAttenuatorFactor1,unsigned char *pAttenuatorFactor2,unsigned char *pAmplifierFactor1,unsigned char *pAmplifierFactor2)
{
}
/* ��Դ���� */
/* Power_1EQ_ON:1=�򿪵�Դ��0���رյ�Դ*/ 
void AnalogChCtrlPowerCtrl(unsigned char Power_1EQ_ON)
{
	
}
