mangOH / Heartbeat

A simple Legato app with an LED heartbeat
Mozilla Public License 2.0
0 stars 2 forks source link

Seems to not working n MangOH Red on Legato 18 and wp7702 #1

Open LalunePierr0t opened 5 years ago

LalunePierr0t commented 5 years ago

Hi,

i ve tried this on a mangOH Red With Legato and wp7702 :

root@swi-mdm9x28-wp:~# legato version
18.09.0-1-g8350546a_05025499e71b1dbb905fd75d6f797c3a_modified

I ve added a Makefile like :

Heartbeat$ cat Makefile 
TARGETS := $(MAKECMDGOALS)

.PHONY: all $(TARGETS)
all: $(TARGETS)

$(TARGETS):
    mkapp -v -t $@ \
        heartbeatRed.adef

clean:
    rm -rf _build_* *.update

Then I ve update it to the mangOH board. I ve the following apps:

root@swi-mdm9x28-wp:~# app status
[running] atService
[running] audioService
[running] avcService
[running] battery
[running] cellNetService
[running] dataConnectionService
[running] dataHub
[stopped] dataPushTest
[running] dataRouter
[running] devMode
[stopped] drTool
[running] fwupdateService
[running] gpioService
[running] ledService
[running] modemService
[running] portService
[running] positioningService
[running] powerMgr
[stopped] redSensorToCloud
[running] secStore
[stopped] smsInboxService
[running] socialService
[stopped] spiService
[stopped] tools
[stopped] voiceCallService
[stopped] wifi
[stopped] wifiApTest
[stopped] wifiClientTest
[running] wifiService
[stopped] wifiWebAp
[running] mqttClient
[running] helloWorld
[running] heartbeatRed

And logs are :


Nov 20 11:33:10 swi-mdm9x28-wp user.info Legato:  INFO | supervisor[804]/supervisor T=main | app.c app_Stop() 3502 | Stopping app 'heartbeatRed'
Nov 20 11:33:10 swi-mdm9x28-wp user.warn Legato: -WRN- | _appStopClient[8744]/framework T=main | LE_FILENAME CreateSocket() 550 | Socket opened as standard i/o file descriptor 2!
Nov 20 11:33:10 swi-mdm9x28-wp user.info Legato:  INFO | supervisor[804]/supervisor T=main | app.c app_StopComplete() 4643 | app 'heartbeatRed' has stopped.
Nov 20 11:33:10 swi-mdm9x28-wp user.info Legato:  INFO | supervisor[804]/supervisor T=main | apps.c DeactivateAppContainer() 374 | Application 'heartbeatRed' has stopped.
Nov 20 11:33:10 swi-mdm9x28-wp user.info Legato:  INFO | supervisor[804]/supervisor T=main | app.c app_Start() 3377 | Starting app 'heartbeatRed'
Nov 20 11:33:10 swi-mdm9x28-wp user.info Legato:  INFO | supervisor[804]/supervisor T=main | app.c CreateFileLink() 1991 | Skipping file link '/dev/log' to '/legato/systems/current/appsWriteable/heartbeatRed/dev/log': Already exists
Nov 20 11:33:10 swi-mdm9x28-wp user.info Legato:  INFO | supervisor[804]/supervisor T=main | app.c CreateFileLink() 1991 | Skipping file link '/dev/null' to '/legato/systems/current/appsWriteable/heartbeatRed/dev/null': Already exists
Nov 20 11:33:10 swi-mdm9x28-wp user.info Legato:  INFO | supervisor[804]/supervisor T=main | app.c CreateFileLink() 1991 | Skipping file link '/dev/zero' to '/legato/systems/current/appsWriteable/heartbeatRed/dev/zero': Already exists
Nov 20 11:33:10 swi-mdm9x28-wp user.info Legato:  INFO | supervisor[804]/supervisor T=main | app.c CreateFileLink() 1991 | Skipping file link '/legato/systems/current/lib/liblegato.so' to '/legato/systems/current/appsWriteable/heartbeatRed/lib/liblegato.so': Already exists
Nov 20 11:33:10 swi-mdm9x28-wp user.info Legato:  INFO | supervisor[804]/supervisor T=main | app.c CreateFileLink() 1991 | Skipping file link '/lib/ld-linux.so.3' to '/legato/systems/current/appsWriteable/heartbeatRed/lib/ld-linux.so.3': Already exists
Nov 20 11:33:10 swi-mdm9x28-wp user.info Legato:  INFO | supervisor[804]/supervisor T=main | app.c CreateFileLink() 1991 | Skipping file link '/lib/libc.so.6' to '/legato/systems/current/appsWriteable/heartbeatRed/lib/libc.so.6': Already exists
Nov 20 11:33:10 swi-mdm9x28-wp user.info Legato:  INFO | supervisor[804]/supervisor T=main | app.c CreateFileLink() 1991 | Skipping file link '/lib/libpthread.so.0' to '/legato/systems/current/appsWriteable/heartbeatRed/lib/libpthread.so.0': Already exists
Nov 20 11:33:10 swi-mdm9x28-wp user.info Legato:  INFO | supervisor[804]/supervisor T=main | app.c CreateFileLink() 1991 | Skipping file link '/lib/librt.so.1' to '/legato/systems/current/appsWriteable/heartbeatRed/lib/librt.so.1': Already exists
Nov 20 11:33:10 swi-mdm9x28-wp user.info Legato:  INFO | supervisor[804]/supervisor T=main | app.c CreateFileLink() 1991 | Skipping file link '/lib/libdl.so.2' to '/legato/systems/current/appsWriteable/heartbeatRed/lib/libdl.so.2': Already exists
Nov 20 11:33:10 swi-mdm9x28-wp user.info Legato:  INFO | supervisor[804]/supervisor T=main | app.c CreateFileLink() 1991 | Skipping file link '/lib/libgcc_s.so.1' to '/legato/systems/current/appsWriteable/heartbeatRed/lib/libgcc_s.so.1': Already exists
Nov 20 11:33:10 swi-mdm9x28-wp user.info Legato:  INFO | supervisor[804]/supervisor T=main | app.c CreateFileLink() 1991 | Skipping file link '/lib/libm.so.6' to '/legato/systems/current/appsWriteable/heartbeatRed/lib/libm.so.6': Already exists
Nov 20 11:33:10 swi-mdm9x28-wp user.info Legato:  INFO | supervisor[804]/supervisor T=main | app.c CreateFileLink() 1991 | Skipping file link '/usr/lib/libstdc++.so.6' to '/legato/systems/current/appsWriteable/heartbeatRed/lib/libstdc++.so.6': Already exists
Nov 20 11:33:10 swi-mdm9x28-wp user.info Legato:  INFO | supervisor[804]/supervisor T=main | app.c CreateFileLink() 1991 | Skipping file link '/legato/systems/current/apps/heartbeatRed/read-only/lib/libComponent_heartbeatComponent.so' to '/legato/systems/current/appsWriteable
Nov 20 11:33:10 swi-mdm9x28-wp user.info Legato:  INFO | supervisor[804]/supervisor T=main | app.c CreateFileLink() 1991 | Skipping file link '/legato/systems/current/apps/heartbeatRed/read-only/bin/heartbeat' to '/legato/systems/current/appsWriteable/heartbeatRed/bin/heartbe
Nov 20 11:33:10 swi-mdm9x28-wp user.info Legato:  INFO | supervisor[804]/supervisor T=main | app.c CreateTmpFs() 1695 | Mounted tmpfs at /legato/systems/current/appsWriteable/heartbeatRed/tmp.
Nov 20 11:33:10 swi-mdm9x28-wp user.info Legato:  INFO | supervisor[804]/supervisor T=main | app.c CreateFileLink() 2061 | Created file link '/tmp/legato/serviceDirectoryServer' to '/legato/systems/current/appsWriteable/heartbeatRed/tmp/legato/serviceDirectoryServer'.
Nov 20 11:33:10 swi-mdm9x28-wp user.info Legato:  INFO | supervisor[804]/supervisor T=main | app.c CreateFileLink() 2061 | Created file link '/tmp/legato/serviceDirectoryClient' to '/legato/systems/current/appsWriteable/heartbeatRed/tmp/legato/serviceDirectoryClient'.
Nov 20 11:33:10 swi-mdm9x28-wp user.info Legato:  INFO | supervisor[804]/supervisor T=main | resourceLimits.c SetRLimitValue() 282 | Setting resource limit maxCoreDumpFileBytes to value 102400.
Nov 20 11:33:10 swi-mdm9x28-wp user.info Legato:  INFO | supervisor[804]/supervisor T=main | resourceLimits.c SetRLimitValue() 282 | Setting resource limit maxFileBytes to value 102400.
Nov 20 11:33:10 swi-mdm9x28-wp user.info Legato:  INFO | supervisor[804]/supervisor T=main | resourceLimits.c SetRLimitValue() 282 | Setting resource limit maxLockedMemoryBytes to value 8192.
Nov 20 11:33:10 swi-mdm9x28-wp user.info Legato:  INFO | supervisor[804]/supervisor T=main | resourceLimits.c SetRLimitValue() 282 | Setting resource limit maxFileDescriptors to value 256.
Nov 20 11:33:10 swi-mdm9x28-wp user.info Legato:  INFO | supervisor[804]/supervisor T=main | resourceLimits.c SetRLimitValue() 282 | Setting resource limit maxMQueueBytes to value 512.
Nov 20 11:33:10 swi-mdm9x28-wp user.info Legato:  INFO | supervisor[804]/supervisor T=main | resourceLimits.c SetRLimitValue() 282 | Setting resource limit maxThreads to value 20.
Nov 20 11:33:10 swi-mdm9x28-wp user.info Legato:  INFO | supervisor[804]/supervisor T=main | resourceLimits.c SetRLimitValue() 282 | Setting resource limit maxQueuedSignals to value 100.
Nov 20 11:33:10 swi-mdm9x28-wp user.info Legato:  INFO | supervisor[804]/supervisor T=main | proc.c proc_Start() 1389 | Starting process 'heartbeat' with pid 8750
Nov 20 11:33:10 swi-mdm9x28-wp user.info Legato:  INFO | supervisor[804]/supervisor T=main | supervisor.c SigChildHandler() 784 | Reaping unconfigured child process 8749.
Nov 20 11:33:10 swi-mdm9x28-wp user.info Legato:  INFO | supervisor[8750]/supervisor T=main | proc.c proc_Start() 1354 | Execing 'heartbeat'
Nov 20 11:33:13 swi-mdm9x28-wp user.err kernel: [ 3475.472522] i2c-msm-v2 78b8000.i2c: NACK: slave not responding, ensure its powered: msgs(n:1 cur:0 tx) bc(rx:0 tx:14) mode:FIFO slv_addr:0x3a MSTR_STS:0x0c1300c8 OPER:0x00000090
Nov 20 11:33:13 swi-mdm9x28-wp user.info kernel: [ 3475.491919] gpio_check_and_wake: wake-n_gpio26 STATE=WAKEUP
Nov 20 11:33:13 swi-mdm9x28-wp user.info kernel: [ 3475.506500] gpio_check_and_wake: wake-n_gpio26 STATE=SLEEP
Nov 20 11:33:13 swi-mdm9x28-wp user.info Legato:  INFO | mqttClient[1456] | Publishing data on dev/data : {"s":"starterkit!timer", "m":"lightV1", "v": {"count":53, "lightlevel": 276,"pressure":100.066609,"temp":35.140000}, "loc":[0,0], "t":["lightlevel", "count"]} ... 
Nov 20 11:33:13 swi-mdm9x28-wp user.info Legato:  INFO | mqttClient[1456] | OK

I press the generic button and no log appear.

What should be done ?

dpfrey commented 5 years ago

Try running sdir list on the target to examine the bindings. I suspect that you will find that there is a missing binding to the gpioExpanderService because that service is no longer installed as part of the mangOH.sdef for mangOH Red. The comments in the SDEF explain why.

LalunePierr0t commented 5 years ago

Hi thks for your concern Here it is

root@swi-mdm9x28-wp:~# sdir list

BINDINGS

        <root>.sdirTool -> <root>.sdirTool
        <root>.LogClient -> <root>.LogClient
        <root>.LogControl -> <root>.LogControl
        <root>.le_appCtrl -> <root>.le_appCtrl
        <root>.le_framework -> <root>.le_framework
        <root>.wdog -> <root>.wdog
        <root>.le_wdog -> <root>.le_wdog
        <root>.le_cfg -> <root>.le_cfg
        <root>.le_cfgAdmin -> <root>.le_cfgAdmin
        <root>.le_update -> <root>.le_update
        <root>.le_updateCtrl -> <root>.le_updateCtrl
        <root>.le_appRemove -> <root>.le_appRemove
        <root>.le_instStat -> <root>.le_instStat
        <root>.le_appInfo -> <root>.le_appInfo
        <root>.le_appProc -> <root>.le_appProc
        <root>.le_ima -> <root>.le_ima
        <root>.appSmack -> <root>.appSmack
        <root>.logFd -> <root>.logFd
        <root>.configTreeWdog -> <root>.configTreeWdog
        <root>.logDaemonWdog -> <root>.logDaemonWdog
        <root>.updateDaemonWdog -> <root>.updateDaemonWdog
        <root>.supervisorWdog -> <root>.supervisorWdog
        <root>.le_sup_ctrl -> <root>.le_sup_ctrl
        <root>.le_fwupdate -> <root>.le_fwupdate
        <root>.atClientDaemon.watchdogChain.le_wdog -> <root>.le_wdog
        <root>.atServerDaemon.watchdogChain.le_wdog -> <root>.le_wdog
        <root>.atServerDaemon.atServer.le_atClient -> <root>.le_atClient
        <root>.audioDaemon.watchdogChain.le_wdog -> <root>.le_wdog
        <root>.audioDaemon.audio.le_pm -> <root>.le_pm
        <root>.avcDaemon.appCfg.le_cfg -> <root>.le_cfg
        <root>.avcDaemon.watchdogChain.le_wdog -> <root>.le_wdog
        <root>.avcDaemon.avcDaemon.le_instStat -> <root>.le_instStat
        <root>.avcDaemon.avcDaemon.le_appRemove -> <root>.le_appRemove
        <root>.avcDaemon.avcDaemon.le_appCtrl -> <root>.le_appCtrl
        <root>.avcDaemon.avcDaemon.le_cfg -> <root>.le_cfg
        <root>.avcDaemon.avcDaemon.le_data -> <root>.le_data
        <root>.avcDaemon.avcDaemon.le_ulpm -> <root>.le_ulpm
        <root>.avcDaemon.avcDaemon.le_info -> <root>.le_info
        <root>.avcDaemon.avcDaemon.le_ips -> <root>.le_ips
        <root>.avcDaemon.avcDaemon.le_mdc -> <root>.le_mdc
        <root>.avcDaemon.avcDaemon.le_mrc -> <root>.le_mrc
        <root>.avcDaemon.avcDaemon.le_sim -> <root>.le_sim
        <root>.avcDaemon.avcDaemon.le_sms -> <root>.le_sms
        <root>.avcDaemon.avcDaemon.le_temp -> <root>.le_temp
        <root>.avcDaemon.avcDaemon.le_gnss -> <root>.le_gnss
        <root>.avcDaemon.avcDaemon.le_pos -> <root>.le_pos
        <root>.avcDaemon.avcDaemon.le_appInfo -> <root>.le_appInfo
        <root>.avcDaemon.avcDaemon.le_fwupdate -> <root>.le_fwupdate
        <root>.avcDaemon.avcDaemon.le_update -> <root>.le_update
        <root>.avcDaemon.avcDaemon.le_framework -> <root>.le_framework
        <root>.avcDaemon.avcDaemon.le_secStore -> <root>.le_secStore
        <root>.avcDaemon.avcDaemon.le_cellnet -> <root>.le_cellnet
        <root>.battery.batteryComponent.le_cfg -> <root>.le_cfg
        <root>.battery.batteryComponent.dhubIO -> <root>.io
        <root>.cellNetService.watchdogChain.le_wdog -> <root>.le_wdog
        <root>.cellNetService.cellNetService.le_sim -> <root>.le_sim
        <root>.cellNetService.cellNetService.le_mrc -> <root>.le_mrc
        <root>.cellNetService.cellNetService.le_secStore -> <root>.le_secStore
        <root>.dcsDaemon.watchdogChain.le_wdog -> <root>.le_wdog
        <root>.dcsDaemon.dcsDaemon.le_mdc -> <root>.le_mdc
        <root>.dcsDaemon.dcsDaemon.le_mrc -> <root>.le_mrc
        <root>.dcsDaemon.dcsDaemon.le_cfg -> <root>.le_cfg
        <root>.dcsDaemon.dcsDaemon.le_wifiClient -> <root>.le_wifiClient
        <root>.dhubToolAdmin -> <root>.admin
        <root>.dhubToolQuery -> <root>.query
        <root>.dhubToolIo -> <root>.io
        <root>.devMode.devMode.le_pm -> <root>.le_pm
        <root>.devMode.devMode.le_updateCtrl -> <root>.le_updateCtrl
        <root>.devMode.devMode.le_instStat -> <root>.le_instStat
        <root>.devMode.devMode.le_framework -> <root>.le_framework
        <root>.dr.drTool.dataRouter -> dataRouter.dataRouter
        <root>.fwupdateDaemon.watchdogChain.le_wdog -> <root>.le_wdog
        <root>.gpioService.watchdogChain.le_wdog -> <root>.le_wdog
        <root>.gpioService.sysfsGpio.le_cfg -> <root>.le_cfg
        <root>.modemDaemon.watchdogChain.le_wdog -> <root>.le_wdog
        <root>.modemDaemon.modemDaemon.le_cfg -> <root>.le_cfg
        <root>.modemDaemon.modemDaemon.le_pm -> <root>.le_pm
        <root>.rSimDaemon.watchdogChain.le_wdog -> <root>.le_wdog
        <root>.portDaemon.watchdogChain.le_wdog -> <root>.le_wdog
        <root>.portDaemon.portDaemon.le_atServer -> <root>.le_atServer
        <root>.posDaemon.watchdogChain.le_wdog -> <root>.le_wdog
        <root>.posDaemon.posDaemon.le_cfg -> <root>.le_cfg
        <root>.powerManagerService.watchdogChain.le_wdog -> <root>.le_wdog
        <root>.powerManagerService.powerMgr.le_framework -> <root>.le_framework
        <root>.secStore.appCfg.le_cfg -> <root>.le_cfg
        <root>.secStore.watchdogChain.le_wdog -> <root>.le_wdog
        <root>.secStore.secStoreDaemon.le_appInfo -> <root>.le_appInfo
        <root>.secStore.secStoreDaemon.le_update -> <root>.le_update
        <root>.smsInboxService.smsInboxService.le_sim -> <root>.le_sim
        <root>.smsInboxService.smsInboxService.le_sms -> <root>.le_sms
        <root>.smsInboxService.smsInboxService.le_cfg -> <root>.le_cfg
        <root>.cm.cm.le_cfg -> <root>.le_cfg
        <root>.cm.cm.le_ulpm -> <root>.le_ulpm
        <root>.cm.cm.le_mrc -> <root>.le_mrc
        <root>.cm.cm.le_mdc -> <root>.le_mdc
        <root>.cm.cm.le_sim -> <root>.le_sim
        <root>.cm.cm.le_sms -> <root>.le_sms
        <root>.cm.cm.le_info -> <root>.le_info
        <root>.cm.cm.le_adc -> <root>.le_adc
        <root>.cm.cm.le_temp -> <root>.le_temp
        <root>.cm.cm.le_ips -> <root>.le_ips
        <root>.cm.cm.le_rtc -> <root>.le_rtc
        <root>.cm.cm.le_cellnet -> <root>.le_cellnet
        <root>.fwupdate.fwupdate.le_fwupdate -> <root>.le_fwupdate
        <root>.gnss.gnss.le_gnss -> <root>.le_gnss
        <root>.gnss.gnss.le_pos -> <root>.le_pos
        <root>.gnss.gnss.le_posCtrl -> <root>.le_posCtrl
        <root>.kmod.moduleLoad.le_kernelModule -> <root>.le_kernelModule
        <root>.pmtool.pmtool.le_ulpm -> <root>.le_ulpm
        <root>.pmtool.pmtool.le_bootReason -> <root>.le_bootReason
        <root>.pmtool.pmtool.le_pm -> <root>.le_pm
        <root>.secstore.secstore.secStoreAdmin -> <root>.secStoreAdmin
        <root>.voiceCallService.watchdogChain.le_wdog -> <root>.le_wdog
        <root>.voiceCallService.voiceCallService.le_mcc -> <root>.le_mcc
        <root>.voiceCallService.voiceCallService.le_audio -> <root>.le_audio
        <root>.wifi.wifi.le_wifiClient -> <root>.le_wifiClient
        <root>.wifi.wifi.le_wifiAp -> <root>.le_wifiAp
        <root>.wifiApTest.wifiApTestComponent.le_wifiAp -> <root>.le_wifiAp
        <root>.wifiClientTest.wifiClientTestComponent.le_wifiClient -> <root>.le_wifiClient
        <root>.wifiWebAp.wifiWebApComponent.le_wifiAp -> <root>.le_wifiAp
        <root>.mqttClient.mqttClientApiComponent.le_info -> <root>.le_info
        <root>.OrangeStarterKit.smsClient.le_sms -> <root>.le_sms
        <root>.OrangeStarterKit.OrangeStarterKitComponent.le_mdc -> <root>.le_mdc
        <root>.OrangeStarterKit.OrangeStarterKitComponent.le_info -> <root>.le_info
        <root>.OrangeStarterKit.OrangeStarterKitComponent.le_adc -> <root>.le_adc
        <root>.OrangeStarterKit.OrangeStarterKitComponent.ma_led -> <root>.ma_led
        <root>.OrangeStarterKit.dataProfileComponent.le_data -> <root>.le_data
        <root>.OrangeStarterKit.dataProfileComponent.le_mdc -> <root>.le_mdc
        <root>.OrangeStarterKit.LiveObjects.mqttClient -> <root>.mqttClient
        <root>.OrangeStarterKit.LiveObjects.le_data -> <root>.le_data
        dataRouter.LogClient -> <root>.LogClient
        dataRouter.dataRouter.routerComponent.mqtt -> <root>.mqtt
        dataRouter.dataRouter.routerComponent.le_appInfo -> <root>.le_appInfo
        dataRouter.dataRouter.routerComponent.le_avdata -> <root>.le_avdata
        dataRouter.dataRouter.routerComponent.le_secStore -> <root>.le_secStore
        dataRouter.dataRouter.routerComponent.le_cfg -> <root>.le_cfg
        heartbeatRed.LogClient -> <root>.LogClient
        heartbeatRed.heartbeat.heartbeatComponent.mangoh_button -> <root>.mangoh_gpioExpPin14
        heartbeatRed.heartbeat.heartbeatComponent.mangoh_led -> <root>.le_gpioPin34
        dataPushTest.LogClient -> <root>.LogClient
        dataPushTest.dataPushTest.avPublisherComponent.le_avdata -> <root>.le_avdata
        redSensorToCloud.LogClient -> <root>.LogClient
        redSensorToCloud.redSensorToCloud.sensorsComponent.le_adc -> <root>.le_adc
        redSensorToCloud.redSensorToCloud.sensorsComponent.le_posCtrl -> <root>.le_posCtrl
        redSensorToCloud.redSensorToCloud.sensorsComponent.le_pos -> <root>.le_pos
        redSensorToCloud.redSensorToCloud.avPublisherComponent.le_avdata -> <root>.le_avdata
        redSensorToCloud.redSensorToCloud.avPublisherComponent.ma_led -> <root>.ma_led
        socialService.LogClient -> <root>.LogClient
        socialService.socialService.social.le_cfg -> <root>.le_cfg
        socialService.twitterClient.twitterClient.serviceConfig -> socialService.socialService.social.serviceConfig
        socialService.twitterClient.twitterClient.twitter -> socialService.twitter
        spiService.LogClient -> <root>.LogClient
        spiService.spiService.watchdogChain.le_wdog -> <root>.le_wdog
        helloWorld.LogClient -> <root>.LogClient
        gpioCf3Demo.LogClient -> <root>.LogClient
        gpioCf3Demo.gpioCf3Demo.gpioCf3PinComponent.le_gpioPin21 -> <root>.le_gpioPin21
        gpioCf3Demo.gpioCf3Demo.gpioCf3PinComponent.le_gpioPin22 -> <root>.le_gpioPin22

SERVICES

        <root>.sdirTool  (protocol ID = 'sdirTool', max message size = 268 bytes)
        <root>.logFd  (protocol ID = 'f871a40b4c7617a93b47f874956f1e69', max message size = 118 bytes)
        <root>.logDaemonWdog  (protocol ID = '5f75fa14e4d6040284a6d7f2ca05dade', max message size = 24 bytes)
        <root>.LogClient  (protocol ID = 'LogControlProtocol', max message size = 300 bytes)
        <root>.LogControl  (protocol ID = 'LogControlProtocol', max message size = 300 bytes)
        <root>.le_cfg  (protocol ID = '26b40ad3a107d48e4227dff8903b9601', max message size = 1565 bytes)
        <root>.le_cfgAdmin  (protocol ID = '2aac298e89c905c985fd3b9437fb9f53', max message size = 1052 bytes)
        <root>.configTreeWdog  (protocol ID = '5f75fa14e4d6040284a6d7f2ca05dade', max message size = 24 bytes)
        <root>.le_update  (protocol ID = '17cd65c5c26efb8f22650432980df70f', max message size = 56 bytes)
        <root>.le_appRemove  (protocol ID = '13c5300b39cc08587796fd4b47183f92', max message size = 67 bytes)
        <root>.le_instStat  (protocol ID = 'e160a983e92b4310ae8af3fbeff75a1b', max message size = 63 bytes)
        <root>.le_updateCtrl  (protocol ID = '2068715d5da737c096cc7146ce5f1df6', max message size = 17 bytes)
        <root>.updateDaemonWdog  (protocol ID = '5f75fa14e4d6040284a6d7f2ca05dade', max message size = 24 bytes)
        <root>.le_atClient  (protocol ID = 'ef7be0a431448f583f2e7a2ec83a5680', max message size = 4119 bytes)
        <root>.ma_led  (protocol ID = '91c870ebd3551834d9731e5d0681a038', max message size = 16 bytes)
        <root>.le_atServer  (protocol ID = '2527056ddcf5218c3a18f8b922a25fd2', max message size = 4123 bytes)
        <root>.le_port  (protocol ID = 'c7135da061a6a38d810159fff5799177', max message size = 70 bytes)
        <root>.le_rsim  (protocol ID = 'b09e1d24fc5dc8036c1bf572dbd40b21', max message size = 300 bytes)
        <root>.le_wifiClient  (protocol ID = '49eb962b16889a72c83872700e06f2da', max message size = 223 bytes)
        <root>.le_wifiAp  (protocol ID = '461e6b8f546beb192a8645fb0d26e89d', max message size = 94 bytes)
        <root>.le_sup_ctrl  (protocol ID = 'bb17ec49ba32b1f1cfa05c1fa0000719', max message size = 68 bytes)
        <root>.le_appCtrl  (protocol ID = 'bbc8a1041b89cad83df1e4bfb1c9a067', max message size = 541 bytes)
        <root>.le_framework  (protocol ID = '28525bdc36d66247ae720424d0b28b51', max message size = 17 bytes)
        <root>.wdog  (protocol ID = '80408175972a85f9cd0abf02df19f2f3', max message size = 16 bytes)
        <root>.supervisorWdog  (protocol ID = '5f75fa14e4d6040284a6d7f2ca05dade', max message size = 24 bytes)
        <root>.le_appInfo  (protocol ID = '092c2f7994c22cecc1e5a2608e1595b0', max message size = 118 bytes)
        <root>.le_appProc  (protocol ID = '3a750db42e253ea2307d75519c48afeb', max message size = 633 bytes)
        <root>.le_ima  (protocol ID = '32b128a43637f60e028aba17f6513daa', max message size = 531 bytes)
        <root>.le_kernelModule  (protocol ID = 'b9a021649e1b6d35ccdd0293014c964b', max message size = 80 bytes)
        <root>.le_wdog  (protocol ID = '572ba176b790548eed89b7ba6f9f4b14', max message size = 24 bytes)
        <root>.io  (protocol ID = '2521df9c34619280d5712f58693a0ac8', max message size = 238 bytes)
        <root>.admin  (protocol ID = 'e825b12f3c6c38e778065318ec4bb76c', max message size = 234 bytes)
        <root>.query  (protocol ID = 'ce058d01527d4eb46f3b3fff76784fa6', max message size = 246 bytes)
        <root>.le_pm  (protocol ID = '39f21a4932ef87d302a8f31dfe5a0af7', max message size = 55 bytes)
        <root>.le_ulpm  (protocol ID = 'fdb586a476e5e0e19b60614aa1ea5d7a', max message size = 40 bytes)
        <root>.le_bootReason  (protocol ID = '2d79668511adea4d675f5d77b9f2d3ea', max message size = 17 bytes)
        <root>.le_fwupdate  (protocol ID = 'a8f730857c018907842f8ee02858e26f', max message size = 276 bytes)
        <root>.le_dualsys  (protocol ID = '69539775d6f1358ade33034c2fa222c4', max message size = 20 bytes)
        <root>.le_flash  (protocol ID = 'a36a81bca852297786086f08a8884cda', max message size = 262172 bytes)
        <root>.le_audio  (protocol ID = '6a8550b129317ef436c4894129509c7c', max message size = 132 bytes)
        <root>.ma_battery  (protocol ID = '438130cada0d5ac2f4a3245f58f5ba31', max message size = 152 bytes)
        <root>.ma_adminbattery  (protocol ID = 'c914c29c3c0f31fc2b8641c409866acb', max message size = 152 bytes)
        <root>.le_secStore  (protocol ID = '98c2a4dd482018a94c642390891be24f', max message size = 8471 bytes)
        <root>.secStoreGlobal  (protocol ID = '98c2a4dd482018a94c642390891be24f', max message size = 8471 bytes)
        <root>.secStoreAdmin  (protocol ID = '4995e42beb8aa21c2fabf4414840024d', max message size = 8727 bytes)
        <root>.le_gnss  (protocol ID = 'ac786c9bdfedf53fb1ab99476841610f', max message size = 2023 bytes)
        <root>.le_pos  (protocol ID = 'c9b4a5b877bfe3915d5029d8393d9566', max message size = 36 bytes)
        <root>.le_posCtrl  (protocol ID = 'd47cc30512e69387f546399a44c565e4', max message size = 16 bytes)
        <root>.le_gpioPin1  (protocol ID = 'eb4b6dc575d64f27484e7657275f11fd', max message size = 28 bytes)
        <root>.le_gpioPin2  (protocol ID = 'eb4b6dc575d64f27484e7657275f11fd', max message size = 28 bytes)
        <root>.le_gpioPin3  (protocol ID = 'eb4b6dc575d64f27484e7657275f11fd', max message size = 28 bytes)
        <root>.le_gpioPin4  (protocol ID = 'eb4b6dc575d64f27484e7657275f11fd', max message size = 28 bytes)
        <root>.le_gpioPin5  (protocol ID = 'eb4b6dc575d64f27484e7657275f11fd', max message size = 28 bytes)
        <root>.le_gpioPin7  (protocol ID = 'eb4b6dc575d64f27484e7657275f11fd', max message size = 28 bytes)
        <root>.le_gpioPin8  (protocol ID = 'eb4b6dc575d64f27484e7657275f11fd', max message size = 28 bytes)
        <root>.le_gpioPin9  (protocol ID = 'eb4b6dc575d64f27484e7657275f11fd', max message size = 28 bytes)
        <root>.le_gpioPin10  (protocol ID = 'eb4b6dc575d64f27484e7657275f11fd', max message size = 28 bytes)
        <root>.le_gpioPin11  (protocol ID = 'eb4b6dc575d64f27484e7657275f11fd', max message size = 28 bytes)
        <root>.le_gpioPin12  (protocol ID = 'eb4b6dc575d64f27484e7657275f11fd', max message size = 28 bytes)
        <root>.le_gpioPin14  (protocol ID = 'eb4b6dc575d64f27484e7657275f11fd', max message size = 28 bytes)
        <root>.le_gpioPin15  (protocol ID = 'eb4b6dc575d64f27484e7657275f11fd', max message size = 28 bytes)
        <root>.le_gpioPin16  (protocol ID = 'eb4b6dc575d64f27484e7657275f11fd', max message size = 28 bytes)
        <root>.le_gpioPin17  (protocol ID = 'eb4b6dc575d64f27484e7657275f11fd', max message size = 28 bytes)
        <root>.le_gpioPin18  (protocol ID = 'eb4b6dc575d64f27484e7657275f11fd', max message size = 28 bytes)
        <root>.le_gpioPin19  (protocol ID = 'eb4b6dc575d64f27484e7657275f11fd', max message size = 28 bytes)
        <root>.le_gpioPin20  (protocol ID = 'eb4b6dc575d64f27484e7657275f11fd', max message size = 28 bytes)
        <root>.le_gpioPin21  (protocol ID = 'eb4b6dc575d64f27484e7657275f11fd', max message size = 28 bytes)
        <root>.le_gpioPin22  (protocol ID = 'eb4b6dc575d64f27484e7657275f11fd', max message size = 28 bytes)
        <root>.le_gpioPin23  (protocol ID = 'eb4b6dc575d64f27484e7657275f11fd', max message size = 28 bytes)
        <root>.le_gpioPin24  (protocol ID = 'eb4b6dc575d64f27484e7657275f11fd', max message size = 28 bytes)
        <root>.le_gpioPin25  (protocol ID = 'eb4b6dc575d64f27484e7657275f11fd', max message size = 28 bytes)
        <root>.le_gpioPin26  (protocol ID = 'eb4b6dc575d64f27484e7657275f11fd', max message size = 28 bytes)
        <root>.le_gpioPin27  (protocol ID = 'eb4b6dc575d64f27484e7657275f11fd', max message size = 28 bytes)
        <root>.le_gpioPin28  (protocol ID = 'eb4b6dc575d64f27484e7657275f11fd', max message size = 28 bytes)
        <root>.le_gpioPin29  (protocol ID = 'eb4b6dc575d64f27484e7657275f11fd', max message size = 28 bytes)
        <root>.le_gpioPin30  (protocol ID = 'eb4b6dc575d64f27484e7657275f11fd', max message size = 28 bytes)
        <root>.le_gpioPin31  (protocol ID = 'eb4b6dc575d64f27484e7657275f11fd', max message size = 28 bytes)
        <root>.le_gpioPin32  (protocol ID = 'eb4b6dc575d64f27484e7657275f11fd', max message size = 28 bytes)
        <root>.le_gpioPin33  (protocol ID = 'eb4b6dc575d64f27484e7657275f11fd', max message size = 28 bytes)
        <root>.le_gpioPin34  (protocol ID = 'eb4b6dc575d64f27484e7657275f11fd', max message size = 28 bytes)
        <root>.le_gpioPin35  (protocol ID = 'eb4b6dc575d64f27484e7657275f11fd', max message size = 28 bytes)
        <root>.le_gpioPin36  (protocol ID = 'eb4b6dc575d64f27484e7657275f11fd', max message size = 28 bytes)
        <root>.le_gpioPin37  (protocol ID = 'eb4b6dc575d64f27484e7657275f11fd', max message size = 28 bytes)
        <root>.le_gpioPin38  (protocol ID = 'eb4b6dc575d64f27484e7657275f11fd', max message size = 28 bytes)
        <root>.le_gpioPin39  (protocol ID = 'eb4b6dc575d64f27484e7657275f11fd', max message size = 28 bytes)
        <root>.le_gpioPin40  (protocol ID = 'eb4b6dc575d64f27484e7657275f11fd', max message size = 28 bytes)
        <root>.le_gpioPin41  (protocol ID = 'eb4b6dc575d64f27484e7657275f11fd', max message size = 28 bytes)
        <root>.le_gpioPin42  (protocol ID = 'eb4b6dc575d64f27484e7657275f11fd', max message size = 28 bytes)
        <root>.le_gpioPin43  (protocol ID = 'eb4b6dc575d64f27484e7657275f11fd', max message size = 28 bytes)
        <root>.le_gpioPin44  (protocol ID = 'eb4b6dc575d64f27484e7657275f11fd', max message size = 28 bytes)
        <root>.le_gpioPin45  (protocol ID = 'eb4b6dc575d64f27484e7657275f11fd', max message size = 28 bytes)
        <root>.le_gpioPin46  (protocol ID = 'eb4b6dc575d64f27484e7657275f11fd', max message size = 28 bytes)
        <root>.le_info  (protocol ID = '975257ab76b4bd700b883f96a47b6508', max message size = 276 bytes)
        <root>.le_sms  (protocol ID = '6e36b32bb82b37b44288335e8dec164e', max message size = 205 bytes)
        <root>.le_mrc  (protocol ID = '9050243ec820d5521bcc635c52691835', max message size = 124 bytes)
        <root>.le_sim  (protocol ID = 'a0eebdf2681bff48efc6d76ad002fd10', max message size = 540 bytes)
        <root>.le_mdc  (protocol ID = '5110946da2c3c40cf6a28792bb0cf4ef', max message size = 196 bytes)
        <root>.le_mcc  (protocol ID = 'bf43202a0369b12bb827e1bc4724bb41', max message size = 41 bytes)
        <root>.le_ecall  (protocol ID = '9ca2a687836cbb0fe7a26c7519fc2637', max message size = 164 bytes)
        <root>.le_ips  (protocol ID = '90ad953c761aa71f85c44f94ee91aff1', max message size = 24 bytes)
        <root>.le_temp  (protocol ID = '01650568439a3a9c47468069df5a7783', max message size = 128 bytes)
        <root>.le_antenna  (protocol ID = 'c6ad7def5425943d0e3b97ad84593ed5', max message size = 24 bytes)
        <root>.le_riPin  (protocol ID = 'aafbc3c57eec1350fdae5eb6fe083e5a', max message size = 17 bytes)
        <root>.le_adc  (protocol ID = 'cca082d3d4d6b9c7c11466ab2ea74e4f', max message size = 54 bytes)
        <root>.le_rtc  (protocol ID = '88750cf71cdf94a8a7d68de367465558', max message size = 24 bytes)
        <root>.le_mdmCfg  (protocol ID = 'fcf3b5cece06794472fb938f2c621c50', max message size = 16 bytes)
        <root>.le_lpt  (protocol ID = 'ddfabab9b938cdcb7564dbd7632f76bc', max message size = 24 bytes)
        <root>.mqttClient  (protocol ID = 'cfa0257f5f505e5a5cb045d0e9846322', max message size = 1204 bytes)
        <root>.le_cellnet  (protocol ID = 'd635d930065e3c3f1e7f12c3b1ec3c41', max message size = 32 bytes)
        <root>.le_data  (protocol ID = '301e0f957699e656d25d93021f0f5a77', max message size = 117 bytes)
        <root>.le_avc  (protocol ID = '7a818d1ee00573303dc3b4f87c43e029', max message size = 541 bytes)
        <root>.le_avdata  (protocol ID = 'd042ee9f795ba3ff64aacf91d970b8fc', max message size = 802 bytes)

WAITING CLIENTS

        [pid  1368] dataRouter.dataRouter.routerComponent.mqtt WAITING for <root>.mqtt  (protocol ID = 'bdc248f37f95194d469945e6f5b23d11')
        [pid  1465] heartbeatRed.heartbeat.heartbeatComponent.mangoh_button WAITING for <root>.mangoh_gpioExpPin14  (protocol ID = 'eb4b6dc575d64f27484e7657275f11fd')

root@swi-mdm9x28-wp:~# 
dpfrey commented 5 years ago

You can see that the heartbeat app is waiting for a GPIO binding that should be provided by the mangOH GPIO expander service.

WAITING CLIENTS

[pid  1465] heartbeatRed.heartbeat.heartbeatComponent.mangoh_button WAITING for 
<root>.mangoh_gpioExpPin14  (protocol ID = 'eb4b6dc575d64f27484e7657275f11fd')

So this isn't really a problem with the heartbeat app, but it's an issue of not having the GpioExpander app installed. Of course, as mentioned in the mangOH.sdef, and on the mangOH forum in a few different posts, there is an issue with modifications made by Sierra Wireless to the core Linux GPIO infrastructure which make it difficult for us to provide good support for the GPIOs on the GPIO expander. I'm hoping that they will address this issue soon.