|
From: <ad...@us...> - 2003-04-07 16:28:09
|
Update of /cvsroot/bdadev/NovaTDriver
In directory sc8-pr-cvs1:/tmp/cvs-serv2829
Modified Files:
l64781.cpp l64781.h
Log Message:
Added registry setting of defaults and changed register setting order
Index: l64781.cpp
===================================================================
RCS file: /cvsroot/bdadev/NovaTDriver/l64781.cpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** l64781.cpp 7 Apr 2003 07:00:49 -0000 1.10
--- l64781.cpp 7 Apr 2003 16:28:05 -0000 1.11
***************
*** 101,106 ****
}
! // Functions for use by other parts
NTSTATUS L64781_Init(PKSDEVICE device)
{
--- 101,161 ----
}
! DWORD L64781_GetRegistryEntry(PKSDEVICE device, LPWSTR RegistryEntry, DWORD Default)
! {
! DWORD RetVal = Default;
! NTSTATUS Status = STATUS_SUCCESS;
! HANDLE hRegistry;
! UNICODE_STRING KeyName;
! ULONG rgulValueInfo[10];
! ULONG ulcbValueInfo;
! PKEY_VALUE_PARTIAL_INFORMATION pPartialValueInfo;
! PULONG pulData;
!
! pPartialValueInfo=(PKEY_VALUE_PARTIAL_INFORMATION) rgulValueInfo;
! pulData=(PULONG)pPartialValueInfo->Data;
!
! // Open the registry key for this device.
! Status=IoOpenDeviceRegistryKey(device->PhysicalDeviceObject,
! PLUGPLAY_REGKEY_DRIVER,
! STANDARD_RIGHTS_ALL,
! &hRegistry
! );
!
! if(!NT_SUCCESS(Status)){
! _DbgPrintF( DEBUGLVL_ERROR, ("Can't open device registry key %S.", RegistryEntry));
! return RetVal;
! }
! // Get the I2C address of the tuner chip.
! RtlInitUnicodeString(&KeyName, RegistryEntry);
!
! Status=ZwQueryValueKey(hRegistry,
! &KeyName,
! KeyValuePartialInformation,
! (PVOID)rgulValueInfo,
! sizeof(rgulValueInfo),
! &ulcbValueInfo
! );
!
! if(!NT_SUCCESS(Status)){
! _DbgPrintF(DEBUGLVL_ERROR, ("Item %s is not in registry returning default %d.", RegistryEntry, Default));
! return RetVal;
! }
+ // Make sure the date is of the correct type.
+ if(((pPartialValueInfo->Type != REG_DWORD) &&
+ (pPartialValueInfo->Type != REG_BINARY)) ||
+ (pPartialValueInfo->DataLength != sizeof(DWORD))){
+ _DbgPrintF(DEBUGLVL_ERROR, ("Item %s is wrong type returning default %d.", RegistryEntry, Default));
+ return RetVal;
+ }
+ RetVal=(DWORD)(*pulData);
+
+ ZwClose(hRegistry);
+
+ return RetVal;
+ }
+
+
+ // Functions for use by other parts
NTSTATUS L64781_Init(PKSDEVICE device)
{
***************
*** 109,123 ****
_DbgPrintF(DEBUGLVL_TERSE, ("L64781 initialise"));
// Initialise tuner structures to default
! data->tuner.frequency=481833;
data->tuner.freq_mult=1000;
! data->tuner.bandwidth=8;
data->tuner.ChangeOutstanding=FALSE;
! data->demodulator.LP_coderate=BDA_BCC_RATE_NOT_SET;
! data->demodulator.HP_coderate=BDA_BCC_RATE_2_3;
! data->demodulator.modulation=BDA_MOD_64QAM;
! //data->demodulator.HP_coderate=BDA_BCC_RATE_3_4;
! //data->demodulator.modulation=BDA_MOD_16QAM;
! data->demodulator.transmit_mode=BDA_XMIT_MODE_2K;
! data->demodulator.guard_interval=BDA_GUARD_1_32;
data->demodulator.inversion=BDA_SPECTRAL_INVERSION_NORMAL;
data->demodulator.HierarchyInformation=HIERARCHY_NONE;
--- 164,176 ----
_DbgPrintF(DEBUGLVL_TERSE, ("L64781 initialise"));
// Initialise tuner structures to default
! data->tuner.frequency=L64781_GetRegistryEntry(device, L"DefaultFreq", 481833);
data->tuner.freq_mult=1000;
! data->tuner.bandwidth=L64781_GetRegistryEntry(device, L"Bandwidth", 8);
data->tuner.ChangeOutstanding=FALSE;
! data->demodulator.LP_coderate=(BinaryConvolutionCodeRate)L64781_GetRegistryEntry(device, L"LP_CodeRate", BDA_BCC_RATE_NOT_SET);
! data->demodulator.HP_coderate=(BinaryConvolutionCodeRate)L64781_GetRegistryEntry(device, L"HP_CodeRate", BDA_BCC_RATE_2_3);
! data->demodulator.modulation=(ModulationType)L64781_GetRegistryEntry(device, L"Modulation", BDA_MOD_64QAM);
! data->demodulator.transmit_mode=(TransmissionMode)L64781_GetRegistryEntry(device, L"TransmitMode", BDA_XMIT_MODE_2K);
! data->demodulator.guard_interval=(GuardInterval)L64781_GetRegistryEntry(device, L"Guard", BDA_GUARD_1_32);
data->demodulator.inversion=BDA_SPECTRAL_INVERSION_NORMAL;
data->demodulator.HierarchyInformation=HIERARCHY_NONE;
***************
*** 316,319 ****
--- 369,374 ----
break;
}
+ p_inverted=(data->demodulator.inversion==BDA_SPECTRAL_INVERSION_INVERTED);
+
_DbgPrintF(DEBUGLVL_TERSE, ("L64781 Values: bandwidth(%i), constellation(%i), transmission(%i), HPcoderate(%i), LPcoderate(%i), GuardInterval(%i)",data->tuner.bandwidth,data->demodulator.modulation,data->demodulator.transmit_mode,data->demodulator.HP_coderate,data->demodulator.LP_coderate,data->demodulator.guard_interval));
***************
*** 330,341 ****
_DbgPrintF(DEBUGLVL_TERSE, ("L64781 Write TPS %02x %02x %02x", val0x04, val0x05, val0x06));
- p_inverted=(data->demodulator.inversion==BDA_SPECTRAL_INVERSION_INVERTED);
-
- L64781_Apply_TPS(device);
L64781_Reset_AFC(device);
- // setup demod paramters that don't depend on the TPS settings
-
// From Linux source - Technical manual section 2.6.1, TIM_IIR_GAIN optimal values
L64781_WriteRegister(device,0x15,data->demodulator.transmit_mode==BDA_XMIT_MODE_2K?1:3);
--- 385,391 ----
***************
*** 353,358 ****
L64781_WriteRegister(device,0x18,(init_freq>>16)&0xFF);
- // setup demod paramters that do depend on the TPS settings
-
L64781_UpdateSPIBias(device,p_bandwidth,p_constellation,p_transmissionmode,p_hp_coderate,p_guardinterval,p_inverted);
--- 403,406 ----
***************
*** 365,368 ****
--- 413,418 ----
L64781_ReadRegister(device,0x01); // DTO
+ L64781_Apply_TPS(device);
+
data->demodulator.ChangeOutstanding = FALSE;
***************
*** 415,418 ****
--- 465,471 ----
/*****************************************************************************\
* $Log$
+ * Revision 1.11 2003/04/07 16:28:05 adcockj
+ * Added registry setting of defaults and changed register setting order
+ *
* Revision 1.10 2003/04/07 07:00:49 adcockj
* Synced to linux driver
Index: l64781.h
===================================================================
RCS file: /cvsroot/bdadev/NovaTDriver/l64781.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** l64781.h 7 Mar 2003 08:04:14 -0000 1.5
--- l64781.h 7 Apr 2003 16:28:05 -0000 1.6
***************
*** 35,38 ****
--- 35,39 ----
void L64781_UpdateParameters(PKSDEVICE device);
BOOL L64781_CheckForTPSUpdate(PKSDEVICE device);
+ DWORD L64781_GetRegistryEntry(PKSDEVICE device, LPWSTR RegistryEntry, DWORD Default);
#define L64781_HasSignal(device) (_L64781_SignalStrength(device)>5)
|