update the thread_radio based on latest definition of SpinelInterface
OpenThread has changed the functions of SpinelInterface, which causes the build errors of the Thread HAL service. This commit updates the thread_radio based on the latest definition of SpinelInterface. Bug: b/304914440 Test: Build and run Thread stack on cuttlefish. Change-Id: Ie92aedc925c771748424bdbae0ae1d340b154bb2
This commit is contained in:
parent
b8c23a8a7d
commit
5cc95e3373
2 changed files with 11 additions and 13 deletions
|
@ -32,23 +32,19 @@ namespace hardware {
|
|||
namespace threadnetwork {
|
||||
|
||||
ThreadChip::ThreadChip(char* url) : mUrl(), mRxFrameBuffer(), mCallback(nullptr) {
|
||||
static const char kHdlcProtocol[] = "spinel+hdlc";
|
||||
static const char kSpiProtocol[] = "spinel+spi";
|
||||
const char* protocol;
|
||||
const char* interfaceName;
|
||||
|
||||
CHECK_EQ(mUrl.Init(url), 0);
|
||||
|
||||
protocol = mUrl.GetProtocol();
|
||||
CHECK_NE(protocol, nullptr);
|
||||
interfaceName = mUrl.GetProtocol();
|
||||
CHECK_NE(interfaceName, nullptr);
|
||||
|
||||
if (memcmp(protocol, kSpiProtocol, strlen(kSpiProtocol)) == 0) {
|
||||
mSpinelInterface = std::make_shared<ot::Posix::SpiInterface>(handleReceivedFrameJump, this,
|
||||
mRxFrameBuffer);
|
||||
} else if (memcmp(protocol, kHdlcProtocol, strlen(kHdlcProtocol)) == 0) {
|
||||
mSpinelInterface = std::make_shared<ot::Posix::HdlcInterface>(handleReceivedFrameJump, this,
|
||||
mRxFrameBuffer);
|
||||
if (ot::Posix::SpiInterface::IsInterfaceNameMatch(interfaceName)) {
|
||||
mSpinelInterface = std::make_shared<ot::Posix::SpiInterface>(mUrl);
|
||||
} else if (ot::Posix::HdlcInterface::IsInterfaceNameMatch(interfaceName)) {
|
||||
mSpinelInterface = std::make_shared<ot::Posix::HdlcInterface>(mUrl);
|
||||
} else {
|
||||
ALOGE("The protocol \"%s\" is not supported", protocol);
|
||||
ALOGE("The interface \"%s\" is not supported", interfaceName);
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
|
@ -106,7 +102,8 @@ ndk::ScopedAStatus ThreadChip::initChip(const std::shared_ptr<IThreadChipCallbac
|
|||
if (in_callback == nullptr) {
|
||||
return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_ARGUMENT);
|
||||
} else if (mCallback == nullptr) {
|
||||
if (mSpinelInterface->Init(mUrl) != OT_ERROR_NONE) {
|
||||
if (mSpinelInterface->Init(handleReceivedFrameJump, this, mRxFrameBuffer) !=
|
||||
OT_ERROR_NONE) {
|
||||
return errorStatus(ERROR_FAILED, "Failed to initialize the interface");
|
||||
}
|
||||
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
#include <aidl/android/hardware/threadnetwork/IThreadChipCallback.h>
|
||||
|
||||
#include "lib/spinel/spinel_interface.hpp"
|
||||
#include "lib/url/url.hpp"
|
||||
#include "mainloop.hpp"
|
||||
|
||||
#include <android/binder_auto_utils.h>
|
||||
|
|
Loading…
Reference in a new issue