X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Flib%2Fadapter%2FUSBCECAdapterCommunication.h;h=8d8476ab235e44b0e3ac130cefc0d054d32a4403;hb=99aeafb929fa132a096c236c4ae1eb78c2a595ec;hp=9d125a7b1080fd1de958f5827d8cd8bb4e2ab39b;hpb=64d46f80cc6f34f531ae26e8677f2f0b0c1f74bb;p=deb_libcec.git diff --git a/src/lib/adapter/USBCECAdapterCommunication.h b/src/lib/adapter/USBCECAdapterCommunication.h index 9d125a7..8d8476a 100644 --- a/src/lib/adapter/USBCECAdapterCommunication.h +++ b/src/lib/adapter/USBCECAdapterCommunication.h @@ -61,21 +61,24 @@ namespace CEC * @param strPort The name of the com port to use. * @param iBaudRate The baudrate to use on the com port connection. */ - CUSBCECAdapterCommunication(IAdapterCommunicationCallback *callback, const char *strPort, uint16_t iBaudRate = 38400); + CUSBCECAdapterCommunication(IAdapterCommunicationCallback *callback, const char *strPort, uint16_t iBaudRate = CEC_SERIAL_DEFAULT_BAUDRATE); virtual ~CUSBCECAdapterCommunication(void); /** @name IAdapterCommunication implementation */ ///{ - bool Open(uint32_t iTimeoutMs = 10000, bool bSkipChecks = false, bool bStartListening = true); + bool Open(uint32_t iTimeoutMs = CEC_DEFAULT_CONNECT_TIMEOUT, bool bSkipChecks = false, bool bStartListening = true); void Close(void); bool IsOpen(void); CStdString GetError(void) const; - cec_adapter_message_state Write(const cec_command &data, uint8_t iMaxTries, uint8_t iLineTimeout = 3, uint8_t iRetryLineTimeout = 3); + cec_adapter_message_state Write(const cec_command &data, bool &bRetry, uint8_t iLineTimeout = 3); bool StartBootloader(void); bool SetAckMask(uint16_t iMask); + uint16_t GetAckMask(void); bool PingAdapter(void); uint16_t GetFirmwareVersion(void); + uint32_t GetFirmwareBuildDate(void); + bool IsRunningLatestFirmware(void); bool PersistConfiguration(libcec_configuration *configuration); bool GetConfiguration(libcec_configuration *configuration); CStdString GetPortName(void); @@ -90,7 +93,7 @@ namespace CEC * @brief Clear all input bytes. * @param iTimeout Timeout when anything was received. */ - void ClearInputBytes(uint32_t iTimeout = 1000); + void ClearInputBytes(uint32_t iTimeout = CEC_CLEAR_INPUT_DEFAULT_WAIT); /*! * @brief Change the current CEC line timeout. @@ -124,7 +127,7 @@ namespace CEC * @param iTimeoutMs The timeout after which this fails if no proper data was received. * @return True when the checks passed, false otherwise. */ - bool CheckAdapter(uint32_t iTimeoutMs = 10000); + bool CheckAdapter(uint32_t iTimeoutMs = CEC_DEFAULT_CONNECT_TIMEOUT); /*! * @brief Handle a poll message inside the adapter message (checks if one is present). @@ -163,6 +166,7 @@ namespace CEC CAdapterPingThread * m_pingThread; /**< ping thread, that pings the adapter every 15 seconds */ CUSBCECAdapterCommands * m_commands; /**< commands that can be sent to the adapter */ CCECAdapterMessageQueue * m_adapterMessageQueue; /**< the incoming and outgoing message queue */ + uint16_t m_iAckMask; }; class CAdapterPingThread : public PLATFORM::CThread