CUSBCECAdapterCommunication(CCECProcessor *processor, const char *strPort, uint16_t iBaudRate = 38400);
virtual ~CUSBCECAdapterCommunication();
- virtual bool Open(IAdapterCommunicationCallback *cb, uint32_t iTimeoutMs = 10000);
+ virtual bool Open(IAdapterCommunicationCallback *cb, uint32_t iTimeoutMs = 10000, bool bSkipChecks = false);
virtual void Close(void);
virtual bool IsOpen(void);
virtual CStdString GetError(void) const;
virtual bool PingAdapter(void);
virtual uint16_t GetFirmwareVersion(void);
virtual bool SetControlledMode(bool controlled);
- virtual bool PersistConfiguration(libcec_configuration * UNUSED(configuration)) { return false; } // TODO
+ virtual bool PersistConfiguration(libcec_configuration *configuration);
virtual CStdString GetPortName(void);
virtual uint16_t GetPhysicalAddress(void) { return 0; }
void *Process(void);
private:
+ bool SendCommand(cec_adapter_messagecode msgCode, CCECAdapterMessage ¶ms, bool bExpectAck = true, bool bIsTransmission = false, bool bSendDirectly = true);
+
+ bool SetAutoEnabled(bool enabled);
+ bool SetDeviceType(cec_device_type type);
+ bool SetDefaultLogicalAddress(cec_logical_address address);
+ bool SetLogicalAddressMask(uint16_t iMask);
+ bool SetPhysicalAddress(uint16_t iPhysicalAddress);
+ bool SetCECVersion(cec_version version);
+ bool SetOSDName(const char *strOSDName);
+ bool WriteEEPROM(void);
+
bool SetAckMaskInternal(uint16_t iMask, bool bWriteDirectly = false);
bool CheckAdapter(uint32_t iTimeoutMs = 10000);
bool m_bGotStart;
IAdapterCommunicationCallback * m_callback;
CUSBCECAdapterProcessor * m_messageProcessor;
+ bool m_bInitialised;
};
};