"Available commands:" << endl <<
endl <<
"tx {bytes} transfer bytes over the CEC line." << endl <<
- "txn {bytes} transfer bytes and don't wait for an ACK reply." << endl <<
+ "txn {bytes} transfer bytes but don't wait for transmission ACK." << endl <<
"[tx 40 00 FF 11 22 33] sends bytes 0x40 0x00 0xFF 0x11 0x22 0x33" << endl <<
endl <<
"on {address} power on the device with the given logical address." << endl <<
"ver {addr} get the CEC version of the specified device." << endl <<
"[ver 0] get the CEC version of the TV" << endl <<
endl <<
- "lang {addr get the menu language of the specified device." << endl <<
+ "ven {addr} get the vendor ID of the specified device." << endl <<
+ "[ven 0] get the vendor ID of the TV" << endl <<
+ endl <<
+ "lang {addr} get the menu language of the specified device." << endl <<
"[lang 0] get the menu language of the TV" << endl <<
endl <<
+ "pow {addr} get the power status of the specified device." << endl <<
+ "[pow 0] get the power status of the TV" << endl <<
+ endl <<
"[mon] {1|0} enable or disable CEC bus monitoring." << endl <<
"[log] {1 - 31} change the log level. see cectypes.h for values." << endl <<
"[ping] send a ping command to the CEC adapter." << endl <<
return 1;
}
CStdString strLog;
- strLog.Format("CEC Parser created - libcec version %d", parser->GetLibVersion());
+ strLog.Format("CEC Parser created - libcec version %d.%d", parser->GetLibVersion(), parser->GetLibVersionMinor());
cout << strLog.c_str() << endl;
//make stdin non-blocking
bytes.push_back(ivalue);
if (command == "txn")
- bytes.ack_timeout = 0;
+ bytes.transmit_timeout = 0;
parser->Transmit(bytes);
}
}
}
}
+ else if (command == "ven")
+ {
+ CStdString strDev;
+ if (GetWord(input, strDev))
+ {
+ int iDev = atoi(strDev);
+ if (iDev >= 0 && iDev < 15)
+ {
+ uint64_t iVendor = parser->GetDeviceVendorId((cec_logical_address) iDev);
+ CStdString strLog;
+ strLog.Format("vendor id: %06x", iVendor);
+ cout << strLog.c_str() << endl;
+ }
+ }
+ }
else if (command == "ver")
{
CStdString strDev;
}
}
}
+ else if (command == "pow")
+ {
+ CStdString strDev;
+ if (GetWord(input, strDev))
+ {
+ int iDev = atoi(strDev);
+ if (iDev >= 0 && iDev < 15)
+ {
+ cec_power_status iPower = parser->GetDevicePowerStatus((cec_logical_address) iDev);
+ switch (iPower)
+ {
+ case CEC_POWER_STATUS_ON:
+ cout << "powered on" << endl;
+ break;
+ case CEC_POWER_STATUS_IN_TRANSITION_ON_TO_STANDBY:
+ cout << "on -> standby" << endl;
+ break;
+ case CEC_POWER_STATUS_IN_TRANSITION_STANDBY_TO_ON:
+ cout << "standby -> on" << endl;
+ break;
+ case CEC_POWER_STATUS_STANDBY:
+ cout << "standby" << endl;
+ break;
+ default:
+ cout << "unknown power status" << endl;
+ break;
+ }
+ }
+ }
+ }
else if (command == "r")
{
cout << "closing the connection" << endl;