From 999905037cc62770ca111e24ac36e76b59ee7a20 Mon Sep 17 00:00:00 2001 From: austriancoder Date: Wed, 15 Sep 2004 22:02:48 +0000 Subject: added functions to read and write registers directly --- HISTORY | 3 ++- dxr3interface.c | 35 +++++++++++++++++++++++++++++++++++ dxr3interface.h | 7 +++++++ 3 files changed, 44 insertions(+), 1 deletion(-) diff --git a/HISTORY b/HISTORY index daf9c25..a48ddb8 100644 --- a/HISTORY +++ b/HISTORY @@ -241,4 +241,5 @@ NOTE: I havent found time to include all of the languages, will be done in pre2 - added many comments into source - using doxygen for docs - cDxr3Interface::ConfigureDevice(): we get now videomode from driver and set only a - new one, if the wanted one is different to the driver defaults one. \ No newline at end of file + new one, if the wanted one is different to the driver defaults one. +- added functions to read and write registers directly with the plugin \ No newline at end of file diff --git a/dxr3interface.c b/dxr3interface.c index 6562a3c..25abc77 100644 --- a/dxr3interface.c +++ b/dxr3interface.c @@ -1162,5 +1162,40 @@ void cDxr3Interface::SetSaturation(int value) } } +// access registers +// ================================== +//! read a register +long cDxr3Interface::ReadRegister(int registernum) +{ + em8300_register_t reg; + + reg.microcode_register = 0; + reg.reg = registernum; + reg.val = 0; + + ioctl(m_fdControl, EM8300_IOCTL_READREG, ®); + return (reg.val); +} + +// ================================== +//! write a register +void cDxr3Interface::WriteRegister(int registernum, int val) +{ + em8300_register_t reg; + + reg.microcode_register = 0; + reg.reg = registernum; + reg.val = val; + ioctl(m_fdControl, EM8300_IOCTL_WRITEREG, ®); +} + +// maybe we should copy this routine into em8300 driver +// ================================== +// +void cDxr3Interface::Dxr3CopyYUVData(int pos, int *dst, int length) +{ + +} + // ================================== cMutex* cDxr3Interface::m_pMutex = new cMutex; diff --git a/dxr3interface.h b/dxr3interface.h index 6c592dd..cfd69ca 100644 --- a/dxr3interface.h +++ b/dxr3interface.h @@ -136,6 +136,13 @@ private: void ResampleVolume(short* pcmbuf, int size); void Resuscitation(); + // access registers + long ReadRegister(int registernum); + void WriteRegister(int registernum, int val); + + // maybe we should copy this routine into em8300 driver + void Dxr3CopyYUVData(int pos, int *dst, int length); + protected: static cMutex* m_pMutex; ///< mutex for dxr3interface -- cgit v1.2.3