!7 module SensoryStatus > DynModule { transient L panels; transient volatile bool online, cam, mic; transient ReliableSingleThread rst = dm_rst(this, r actualUpdate); visualize { ret hgrid(panels = repF singleComponentPanel(3)); } start { doEvery(10000, rst); dm_afterVisualize(rst); } void actualUpdate { temp enter(); online = main.areWeOnline(); cam = dm_isWebCamLive(); mic = dm_inputVolumeLevel() != 0; if (nempty(panels)) { first(panels).setComponent(jimage(online ? #1101406 : #1101405)); second(panels).setComponent(jimage(cam ? #1101410 : null)); } } }