struct _IMGPARA
{
char sSensorRes[16]; //like "640x480"or"1280x720", use to decide sensor mode
unsigned char ucMode; //set sensor mode,[0,n], old interface
unsigned char ucFlipmirror; //[0,3], 0:flip&mirror,1:mirror,2:flip,3:normal
unsigned char ucBrightness; //[0,100]
unsigned char ucSaturation; //[0,100]
unsigned char ucContrast; //[0,100]
unsigned char ucSharpness; //[0,100]
unsigned char ucHue; //[0,100]
unsigned char ucAWB; //[0,1], 0:manual or OFF, 1:auto or ON
unsigned char ucBLC; //[0,1], 0:OFF, 1:ON
unsigned char ucBLCLevel; //[0,100]
unsigned char ucAGC; //[0,1], 0:OFF, 1:ON
unsigned char ucGainLevel; //[0,100]
unsigned char ucAES; //Exposure mode,[0,1],0:manual, 1:auto, 2:fixed.
unsigned char ucWhiteBalance; //[0,5],AWB/MWB/Indoor(3200K)/Indoor(4200K)/Outdoor(4800K)/Outdoor(6700K)
unsigned char ucRGain; //[0,255]
unsigned char ucBGain; //[0,255]
unsigned char ucIris; //[0,2], 0:manual, 1:auto, 2:fixed
unsigned char ucIrisLevel; //[0,100]
unsigned char ucFlickerless; //[0,1], 0:OFF, 1:ON
unsigned char ucPowerFrequency; //[0,1],0:50hzPAL,1:60hzNTSC
unsigned char ucMaxExposureTime; //[0,n]
unsigned char ucMinExposureTime; //[0,n]
unsigned char ucShutterMode; //[0,1], 0:manual, 1:auto
unsigned char ucExpPrio; //exposure priority,[0,1]
unsigned char ucShutterSpeed; //speed level,[0,n]
unsigned char ucSlowShutterMode; //[0,1], 0:manual or OFF, 1:auto or ON
unsigned char ucSlowShutterSpeed; //speed level,[0,n]
unsigned char ucFocusMode; //[0,1], 0:manual or OFF, 1:auto or ON
unsigned char ucFocusSpeed; //[0,n]
unsigned short usNearLimit; //[0,n]
unsigned short usFarLimit; //[0,n]
unsigned char ucIrCutFilter; //[0,2],0:off, 1:on, 2:auto
unsigned char ucWDRMode; //[0,1], 0:OFF, 1:ON
unsigned long ulWDRLevel; //
unsigned char ucNoiseFilter; //[0,100]
unsigned char ucAESLevel; //[0,n] add on 2010-1216
}__attribute__((packed,aligned(1)));
typedef struct _IMGPARA IMGSENSOR_PARA;
两个AP都用这了个数据结构,结果按不同的结果进行解析,于是会出现错误。为了解决这个问题,新增的item放在数据结构的末尾,这样就可以做到兼容。只是要用到新的item,就必须要两个AP同时更新数据结构并编译生成。