diff options
| author | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2006-01-23 15:21:59 +0000 |
|---|---|---|
| committer | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2006-01-23 15:21:59 +0000 |
| commit | c8e724bf4828077d60b2d969fc210c0c5b722506 (patch) | |
| tree | 291de8784bc52cbaeb192f1c916587bc8cfbce6d /lib/dvb_ci | |
| parent | 82afad7661dffa00f29c80cbe4e9865ace1e0730 (diff) | |
| download | enigma2-c8e724bf4828077d60b2d969fc210c0c5b722506.tar.gz enigma2-c8e724bf4828077d60b2d969fc210c0c5b722506.zip | |
fix non working ENQ fields in CI mmi (PIN inputs and other)
TODO: make MMI global useable (at moment just in the mmi setup)
Diffstat (limited to 'lib/dvb_ci')
| -rw-r--r-- | lib/dvb_ci/dvbci_mmi.cpp | 8 | ||||
| -rw-r--r-- | lib/dvb_ci/dvbci_ui.cpp | 6 | ||||
| -rw-r--r-- | lib/dvb_ci/dvbci_ui.h | 1 |
3 files changed, 12 insertions, 3 deletions
diff --git a/lib/dvb_ci/dvbci_mmi.cpp b/lib/dvb_ci/dvbci_mmi.cpp index 99426d04..d1103c55 100644 --- a/lib/dvb_ci/dvbci_mmi.cpp +++ b/lib/dvb_ci/dvbci_mmi.cpp @@ -189,8 +189,12 @@ int eDVBCIMMISession::answerEnq(char *answer) unsigned int len = strlen(answer); printf("eDVBCIMMISession::answerEnq(%d bytes)\n", len); + unsigned char data[len+1]; + data[0] = 0x01; // answer ok + memcpy(data+1, answer, len); + unsigned char tag[]={0x9f, 0x88, 0x08}; - sendAPDU(tag, (unsigned char*)answer, len); + sendAPDU(tag, data, len+1); return 0; } @@ -200,7 +204,7 @@ int eDVBCIMMISession::cancelEnq() printf("eDVBCIMMISession::cancelEnq()\n"); unsigned char tag[]={0x9f, 0x88, 0x08}; - unsigned char data[]={0x00}; + unsigned char data[]={0x00}; // canceled sendAPDU(tag, data, 1); return 0; diff --git a/lib/dvb_ci/dvbci_ui.cpp b/lib/dvb_ci/dvbci_ui.cpp index 0716f6c8..d36ea6ec 100644 --- a/lib/dvb_ci/dvbci_ui.cpp +++ b/lib/dvb_ci/dvbci_ui.cpp @@ -60,10 +60,14 @@ void eDVBCI_UI::setAppName(int slot, const char *name) appName = name; } +void eDVBCI_UI::setInit(int slot) +{ + eDVBCIInterfaces::getInstance()->sendCAPMT(slot); +} + void eDVBCI_UI::setReset(int slot) { eDVBCIInterfaces::getInstance()->reset(slot); - return; } int eDVBCI_UI::startMMI(int slot) diff --git a/lib/dvb_ci/dvbci_ui.h b/lib/dvb_ci/dvbci_ui.h index abf6173a..4f23974e 100644 --- a/lib/dvb_ci/dvbci_ui.h +++ b/lib/dvb_ci/dvbci_ui.h @@ -32,6 +32,7 @@ public: void setState(int slot, int state); std::string getAppName(int slot); void setAppName(int slot, const char *name); + void setInit(int slot); void setReset(int slot); int initialize(int slot); int startMMI(int slot); |
