From c0428a99babcca16f1f87d07c6298fed5ca5dc8c Mon Sep 17 00:00:00 2001 From: vanhofen Date: Wed, 14 Jul 2021 23:57:34 +0200 Subject: [PATCH] lcd4l: add camd info Origin commit data ------------------ Commit: https://github.com/neutrino-images/ni-neutrino/commit/b2c46f23333b6881a016bf503163f83c29eb2af5 Author: vanhofen Date: 2021-07-14 (Wed, 14 Jul 2021) Origin message was: ------------------ - lcd4l: add camd info --- src/driver/lcd4l.cpp | 23 +++++++++++++++++++++++ src/driver/lcd4l.h | 1 + 2 files changed, 24 insertions(+) diff --git a/src/driver/lcd4l.cpp b/src/driver/lcd4l.cpp index c6d69e416..bace04a96 100644 --- a/src/driver/lcd4l.cpp +++ b/src/driver/lcd4l.cpp @@ -83,6 +83,7 @@ extern CPictureViewer *g_PicViewer; #define MODE_TSHIFT LCD_DATADIR "mode_tshift" #define MODE_TIMER LCD_DATADIR "mode_timer" #define MODE_ECM LCD_DATADIR "mode_ecm" +#define MODE_CAMD LCD_DATADIR "mode_camd" #define MODE_CAM LCD_DATADIR "mode_cam" #define SERVICE LCD_DATADIR "service" @@ -270,6 +271,7 @@ void CLCD4l::Init() m_ModeTshift = -1; m_ModeTimer = -1; m_ModeEcm = -1; + m_ModeCamd = "n/a"; m_ModeCamPresent = false; m_ModeCam = -1; @@ -637,6 +639,27 @@ void CLCD4l::ParseInfo(uint64_t parseID, bool newID, bool firstRun) /* ----------------------------------------------------------------- */ + std::string ModeCamd = ""; + + const char *camd[] = {"mgcamd","doscam","ncam","osmod","oscam","cccam","gbox"}; + + for (int i=0; i < (int)(sizeof(camd)/sizeof(camd[0])); i++) + { + if (getpidof(camd[i])) + { + ModeCamd += camd[i]; + ModeCamd += "\n"; + } + } + + if (m_ModeCamd != ModeCamd) + { + WriteFile(MODE_CAMD, ModeCamd); + m_ModeCamd = ModeCamd; + } + + /* ----------------------------------------------------------------- */ + if (firstRun) //FIXME; what if module is added/removed while lcd4l is running? { for (unsigned int i = 0; i < cCA::GetInstance()->GetNumberCISlots(); i++) diff --git a/src/driver/lcd4l.h b/src/driver/lcd4l.h index b541384a1..a3d2db323 100644 --- a/src/driver/lcd4l.h +++ b/src/driver/lcd4l.h @@ -115,6 +115,7 @@ class CLCD4l int m_ModeTshift; int m_ModeTimer; int m_ModeEcm; + std::string m_ModeCamd; bool m_ModeCamPresent; int m_ModeCam;