summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraustriancoder <austriancoder>2004-09-15 22:02:48 +0000
committeraustriancoder <austriancoder>2004-09-15 22:02:48 +0000
commit999905037cc62770ca111e24ac36e76b59ee7a20 (patch)
treeeed7e8b5b6a503fb1f33b97ff8d8255ea4a69c21
parentf25c9f4ffe76f451ac0d591d6e70176cb2882fa5 (diff)
downloadvdr-plugin-dxr3-999905037cc62770ca111e24ac36e76b59ee7a20.tar.gz
vdr-plugin-dxr3-999905037cc62770ca111e24ac36e76b59ee7a20.tar.bz2
added functions to read and write registers directly
-rw-r--r--HISTORY3
-rw-r--r--dxr3interface.c35
-rw-r--r--dxr3interface.h7
3 files changed, 44 insertions, 1 deletions
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, &reg);
+ 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, &reg);
+}
+
+// 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