0

Multiple Units Working Together



Is it possible to have one unit (master) that controls a touch monitor and sends commands to another unit (slave) that is providing video to a HD display?

If so, which units are recommended for this configuration?

Dave

8 comments

  • 0
    Avatar
    RokuLyndon


    Yes, you can do this. For the touchscreen, you would use the HD1010 or HD810 since both have USB for touch input.



    For the slave, you could use the 410, 810, or 1010 if you had the 810 as master.



    Or, you could use the 210, 410, 810, or 1010 if you had the 1010 as master.



    Your connection to the slave could be serial (410, 810, and 1010), GPIO (410, 810, and 1010) or ethernet (210 or 1010).



    This can be done using an interactive playlist on the master that accepts touch input and uses either GPIO commands turn on and off gpio outputs, UDPSEND to send strings via ethernet, or SERIALSEND to send strings over RS232.
  • 0
    Avatar
    dhbrown


    I too would like to control one BrightSign from another.  I have 2 HD810's.  Unit#1 will be connected to a small elo touch monitor and will display a menu of 16 video clips.  It will be connected via serial line to Unit#2, which will drive a large monitor.   I am assuming that I can use the "Serial or UDP control Script" (which I have)  on unit#2 to process command strings from unit#1.  I would use a .csv file to designate the active regions of the elo and associate active regions with the appropriate command of the form  sendserial: playcl clipx.mpg.  It is not clear to me what is the correct syntax for issuing the sendserial command in a csv.  Are there some examples that I could look at or some documentation about how to have one unit control another?  

    -Dave
  • 0
    Avatar
    RokuLyndon


    Instead of using a CSV file, it's easier to send the commands from BrightAuthor. If you look at the controls video on the tutorials page, it shows how you can send serial commands from an interactive project.

    Sending Serial Commands
  • 0
    Avatar
    dhbrown


    I am trying to use BrightAuthor to create the necessary files for one BrightSign to control another via serial, both 810s.  The master is connected to an elo and the slave to a separate display.  I am starting with a simple menu on the master with two rectangular touch events.  On a touch event, I display an image on the elo to let me know the touch has been received and I execute a command to send a serial string (no CR) to the slave.  I have a serial null modem cable connecting the master to the slave.  The slave waits for a string and plays the requested movie on the serial input event.

    On the master, as soon as I touch an active region, the error light flashes red, the screen goes black, and the system reboots.  If I remove the serial-send string command, the unit behaves normally, ie. the touch is received and the proper image is displayed on the elo.  I also tried connecting the serial output of the master to my laptop.   Here are the first couple of lines, I can send you the whole log if you want it, as well as the project file.

    =====
    Touch event 0
    sendSerialBlockCommand oldRebel.ts
    [?25h
    The system is going down NOW!

    Sending SIGTERM to all processes
    [17179689.872000] Task 518:klogd got fatal signal 15
    [17179689.876000] Task 755:S99brightsign got fatal signal 9
    [17179689.876000] DFB: (!) [  758:    0.000] --> Caught signal 15<6>DFB:  (sent by pid 1, uid 0) <--
    [17179689.992000] DFB:  (!!!)  *** WARNING [still objects in 'Layer Region Pool'] *** [object.c:241 in fusion_object_pool_destroy()]
    [17179690.004000] DFB:  (!!!)  *** WARNING [still objects in 'Layer Context Pool'] *** [object.c:241 in fusion_object_pool_destroy()]
    [17179690.020000] DFB:  (!!!)  *** WARNING [still objects in 'Surface Pool'] *** [object.c:241 in fusion_object_pool_destroy()]
    [17179690.040000] Task 758:bs got fatal signal 15
    [17179690.040000] do_page_fault() #2: sending SIGSEGV to bs for invalid read access from
    [17179690.040000] 30f2e6e4 (epc == 30f2e6e4, ra == 30f2e6e4)
    [17179690.056000] core_dumped: c0227e5c
    [17179690.056000] User space fault from arch/mips/mm/fault.c:148
    [17179690.056000] Process bs (pid: 766, threadinfo=86868000, task=8abe6840)
    [17179690.056000] Cpu 0

    =====

    Any help would be greatly appreciated.

    -Dave
  • 0
    Avatar
    RokuLyndon


    SOunds like some kind of bug in he autorun script. But, I haven't seen this. So, what version of brightauthor are you using? And, what's the version of your autorun file? If you check the flash card, there's an autorun.brs file that you can open with a text editor, and see the version number.
  • 0
    Avatar
    dhbrown


    Lyndon, thanks for your help, as always.  I am getting closer.  I updated BA ( 2.0.0.23) and the firmware (3.2.67) and now am making some progress.  When the master is connected to my laptop via serial cable, I now see a bunch of verbose feedback in response to touch events, like this:

    Touch event 1
    sendSerialStringCommand russoli.ts
    Preloaded file in DisplayImage: playingRussoli.bmp
    DisplayPreload in DisplayImage: playingRussoli.bmp
    Cursor disabled
    Preloaded file in PreloadImage: mainMenu.bmp

    The master correctly responds to the 'done' command issued by the laptop and reverts to the menu state.

    When the slave is connected to my laptop via serial cable, it correctly responds to text commands (e.g. 'russoli.ts') issued by the laptop to play clips.  When the clip completes, the slave indicates that it is issuing a 'done' command.  The session looks like this:
    Serial Event russoli.ts
    LaunchVideo: play file russoli.ts
    Preloaded file in PreloadImage: mainMenu.bmp
    Video Event 3
    Video Event 8
    VideoFinished
    sendSerialStringCommand done
    Use preloaded file mainMenu.bmp in DisplayImage:
    DisplayPreload in DisplayImage: mainMenu.bmp

    When I connect master to slave, I do not get the desired result.  The touch response time on the master gets incredibly long, and no movies are triggered on the slave.  It seems like maybe there shouldn't be so much chatter on the serial line.  I would expect to see only the serial strings, e.g. 'done' and not 'sendSerialStringCommand done'.  Do I have a setting wrong somewhere?
  • 0
    Avatar
    RokuLyndon


    The issue is that the autorun for your installation probably has debug mode turned on and that's why you're seeing so much output.

    If you go to program files/brightsign/brightauthor/templates, and copy the autoxml.brs file to the desktop. Open it in any text editor, like notepad, and change debugon from TRUE to FALSE. Then, copy it back to that directory replacing the one there.
  • 0
    Avatar
    dhbrown


    Lyndon, that resolved the issue.  Thanks for all of your help.
Please sign in to leave a comment.