61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsynctypedef struct {
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync CARD8 hardware_version, major_revision, product_code, rom_version;
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync Bool recheck; /*reinitialization needed after channel change */
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync CARD16 c_standard; /*current state of standard register */
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync CARD8 c_source; /*current state of source register */
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync CARD8 c_matrix; /*current state of matrix register */
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync CARD8 c_fmmatrix; /*current state of fmmatrix register */
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync int c_mode; /* current state of mode for autoswitchimg */
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync#define MSP3430_CONNECTOR_1 1 /* tuner on AIW cards */
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync#define MSP3430_CONNECTOR_2 2 /* SVideo on AIW cards */
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync#define MSP3430_CONNECTOR_3 3 /* composite on AIW cards */
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync/* a handy volume transform function, -1000..1000 -> 0x01..0x7F */
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync#define MSP3430_VOLUME(value) (0x01+(0x7F-0x01)*log(value+1001)/log(2001))
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync/*----------------------------------------------------------*/
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync/* MSP chip families */
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync/* values for MSP standard */
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync/* values for MSP format */
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync/* values for MSP mode */
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync/* automatic modes */
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync/* forced modes */
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync/*----------------------------------------------------------*/
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT MSP3430Ptr DetectMSP3430(I2CBusPtr b, I2CSlaveAddr addr);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT void MSP3430SetVolume(MSP3430Ptr m, CARD8 value);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT void MSP3430SetSAP(MSP3430Ptr m, int mode);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync "InitMSP3430", \
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync "DetectMSP3430", \
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync "ResetMSP3430", \
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync "MSP3430SetVolume", \
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync "MSP3430SetSAP"