Le_temp -> modemServices.le_temp Binding Issue

Hi,
I tried to use temperature based modem services for reading module temp but it is poping as binding issue.

My adef file for reference

executables:
{
tempreading = ( TempReadingComponent )
}
bindings:
{
tempreading.TempReadingComponent.le_temp → modemServices.le_temp
}
start: auto
processes:
{
envVars:
{
LE_LOG_LEVEL = DEBUG
}

run:
{
	( tempreading )
}

maxCoreDumpFileBytes: 512K
maxFileBytes: 512K

}
sandboxed:false
version: 1.0.0
maxFileSystemBytes: 512K

c def
sources:
{
TempReadingComponent.c
}

requires:
{
api:
{
modemServices/le_temp.api
}
}

when i type command: sdir list in terminal
Waiting clients:
[pid 1037] .tempreading.TempReadingComponent.le_temp UNBOUND (protocol ID = '01650568439a3a9c47468069df.

Please let me know if i miss anything

Hi @karthikR,

The legato documentation for interface binding to this api is incorrect (minor typo) - Temperature Monitoring - Legato Docs

Since the application is called modemService (not modemServices), you should bind using that name. In fact, you can see the integration test app for the temperature api does just that - see here.

Try this instead.

.adef file

Use modemService rather than modemServices, I.E., without the s.

bindings:
{
  tempreading.TempReadingComponent.le_temp -> modemService.le_temp
}

.cdef file

It should work as you have it but it is enough to just specify the api file without a path in this instance.

requires:
{
  api:
  {
    le_temp.api
  }
}

Cheers,
Raf

Thanks for your response …I followed above steps,Now its working fine