#define IMU1_R PGout(13)
#define IMU1_G PGout(12)
#define IMU5_R PFout(12) //5
#define IMU5_G PFout(11)
#define IMU9_R PGout(9)
#define IMU9_G PDout(5)
#define IMU13_R PDout(6)
#define IMU13_G PDout(3)
#define IMU17_R PEout(11)
#define IMU17_G PEout(12)
#define IMU21_R PDout(1)
#define IMU21_G PDout(4)
#define IMU25_R PBout(13) //7
#define IMU25_G PEout(15)
#define IMU29_R PCout(8)
#define IMU29_G PAout(12)
///USART3
#define IMU2_R PFout(1) //9
#define IMU2_G PFout(0)
#define IMU6_R PEout(1) //6
#define IMU6_G PCout(13)
#define IMU10_R PCout(5)
#define IMU10_G PBout(0)
#define IMU14_R PGout(0)
#define IMU14_G PGout(1)
#define IMU18_R PEout(9) //13
#define IMU18_G PEout(8)
#define IMU22_R PGout(6)
#define IMU22_G PGout(5)
#define IMU26_R PDout(12)
#define IMU26_G PDout(15)
#define IMU30_R PGout(2)
#define IMU30_G PGout(4) //16
//USART4
#define IMU3_R PFout(5) //17
#define IMU3_G PFout(4)
#define IMU7_R PFout(10)
#define IMU7_G PCout(0)
#define IMU11_R PBout(8)
#define IMU11_G PBout(7)
#define IMU15_R PGout(14) //20
#define IMU15_G PGout(15)
#define IMU19_R PFout(14)
#define IMU19_G PFout(13)
#define IMU23_R PBout(14)
#define IMU23_G PDout(9)
#define IMU27_R PGout(8)
#define IMU27_G PGout(7)
#define IMU31_R PCout(3) //24
#define IMU31_G PCout(2)
//USART5
#define IMU4_R PFout(7) //25
#define IMU4_G PFout(8)
#define IMU8_R PFout(3)
#define IMU8_G PFout(2)
#define IMU12_R PEout(0)
#define IMU12_G PBout(9)
#define IMU16_R PBout(6) ///28
#define IMU16_G PBout(5)
#define IMU20_R PGout(11)
#define IMU20_G PGout(10)
#define IMU24_R PAout(11)
#define IMU24_G PDout(0)
#define IMU28_R PDout(11)
#define IMU28_G PDout(8)
#define IMU32_R PCout(7)
#define IMU32_G PCout(6)
volatile unsigned long *IMUxG_buff[32] = {
&IMU1_G,&IMU2_G,&IMU3_G,&IMU4_G,&IMU5_G, \
&IMU6_G,&IMU7_G,&IMU8_G,&IMU9_G,&IMU10_G, \
&IMU11_G,&IMU12_G,&IMU13_G,&IMU14_G,&IMU15_G, \
&IMU16_G,&IMU17_G,&IMU18_G,&IMU19_G,&IMU20_G, \
&IMU21_G,&IMU22_G,&IMU23_G,&IMU24_G,&IMU25_G, \
&IMU26_G,&IMU27_G,&IMU28_G,&IMU29_G,&IMU30_G, \
&IMU31_G,&IMU32_G
};
volatile unsigned long *IMUxR_buff[32] = {
&IMU1_R,&IMU2_R,&IMU3_R,&IMU4_R,&IMU5_R, \
&IMU6_R,&IMU7_R,&IMU8_R,&IMU9_R,&IMU10_R, \
&IMU11_R,&IMU12_R,&IMU13_R,&IMU14_R,&IMU15_R, \
&IMU16_R,&IMU17_R,&IMU18_R,&IMU19_R,&IMU20_R, \
&IMU21_R,&IMU22_R,&IMU23_R,&IMU24_R,&IMU25_R, \
&IMU26_R,&IMU27_R,&IMU28_R,&IMU29_R,&IMU30_R, \
&IMU31_R,&IMU32_R
};
static u8 IMUxR_Offnumber[32] = {0};
void imuStateLED(u8 *stateLED1)
{
u8 imuStateLED_i = 0;
for(imuStateLED_i = 0;imuStateLED_i<32;imuStateLED_i++)
{
*IMUxG_buff[imuStateLED_i] = stateLED1[imuStateLED_i]&0x01;
// *IMUxR_buff[imuStateLED_i] = (~stateLED1[imuStateLED_i])&0x01;
if((~stateLED1[imuStateLED_i])&0x01)
{
if(IMUxR_Offnumber[imuStateLED_i] < 5)
IMUxR_Offnumber[imuStateLED_i]++;
else
{
*IMUxR_buff[imuStateLED_i] = (~stateLED1[imuStateLED_i])&0x01;
}
}
else
{
*IMUxR_buff[imuStateLED_i] = 0;
IMUxR_Offnumber[imuStateLED_i] = 0;
}
}
}