Skip to content

Commit

Permalink
Update bridge app to init network commissioning (project-chip#29612)
Browse files Browse the repository at this point in the history
* Update bridge app to init network commissioning

This change modifies the linux bridge app to initialize the Network
Commissioning cluster, so that the FeatureMap of the cluster is set to
ethernet.
In other Linux example apps, the FeatureMap of the Network Commissioning
cluster is set to ethernet, but in the bridge app, the cluster is not
initialized, so the FeatureMap is set to thread. The default value of
the FeatureMap is thread in zap file of example apps.

Signed-off-by: Youngho Yoon <[email protected]>

* Move the setup code into ApplicationInit

Signed-off-by: Youngho Yoon <[email protected]>

---------

Signed-off-by: Youngho Yoon <[email protected]>
  • Loading branch information
yhoyoon authored and HunsupJung committed Oct 23, 2023
1 parent ab478dd commit d6e7cde
Showing 1 changed file with 11 additions and 29 deletions.
40 changes: 11 additions & 29 deletions examples/bridge-app/linux/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -739,10 +739,6 @@ bool emberAfActionsClusterInstantActionCallback(app::CommandHandler * commandObj
return true;
}

void ApplicationInit() {}

void ApplicationShutdown() {}

const EmberAfDeviceType gBridgedOnOffDeviceTypes[] = { { DEVICE_TYPE_LO_ON_OFF_LIGHT, DEVICE_VERSION_DEFAULT },
{ DEVICE_TYPE_BRIDGED_NODE, DEVICE_VERSION_DEFAULT } };

Expand Down Expand Up @@ -891,7 +887,7 @@ void * bridge_polling_thread(void * context)
return nullptr;
}

int main(int argc, char * argv[])
void ApplicationInit()
{
// Clear out the device database
memset(gDevices, 0, sizeof(gDevices));
Expand Down Expand Up @@ -934,26 +930,6 @@ int main(int argc, char * argv[])
ComposedTempSensor2.SetChangeCallback(&HandleDeviceTempSensorStatusChanged);
ComposedPowerSource.SetChangeCallback(&HandleDevicePowerSourceStatusChanged);

if (ChipLinuxAppInit(argc, argv) != 0)
{
return -1;
}

// Init Data Model and CHIP App Server
static chip::CommonCaseDeviceServerInitParams initParams;
(void) initParams.InitializeStaticResourcesBeforeServerInit();

#if CHIP_DEVICE_ENABLE_PORT_PARAMS
// use a different service port to make testing possible with other sample devices running on same host
initParams.operationalServicePort = LinuxDeviceOptions::GetInstance().securedDevicePort;
#endif

initParams.interfaceId = LinuxDeviceOptions::GetInstance().interfaceId;
chip::Server::GetInstance().Init(initParams);

// Initialize device attestation config
SetDeviceAttestationCredentialsProvider(Examples::GetExampleDACProvider());

// Set starting endpoint id where dynamic endpoints will be assigned, which
// will be the next consecutive endpoint id after the last fixed endpoint.
gFirstDynamicEndpointId = static_cast<chip::EndpointId>(
Expand Down Expand Up @@ -1022,11 +998,17 @@ int main(int argc, char * argv[])
}
}

// Run CHIP

ApplicationInit();
registerAttributeAccessOverride(&gPowerAttrAccess);
chip::DeviceLayer::PlatformMgr().RunEventLoop();
}

void ApplicationShutdown() {}

int main(int argc, char * argv[])
{
if (ChipLinuxAppInit(argc, argv) != 0)
{
return -1;
}
ChipLinuxAppMainLoop();
return 0;
}

0 comments on commit d6e7cde

Please sign in to comment.