autonomous USB-daisy-chaining ? USB to PC file upload?

HomeForumsMonoBrick EV3 Firmwareautonomous USB-daisy-chaining ? USB to PC file upload?

This topic contains 6 replies, has 2 voices, and was last updated by Author Image Helmut Wunder 3 years, 3 months ago.

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • #4215
    Author Image
    Helmut Wunder
    Participant

    hey,
    what about featuring USB-daisy-chaining like as it is possible with the EV3-G environment for autonomous robots?
    and what is the state of USB to PC connection to transmit (upload) autonomous programs from PC to EV3 using Visual Studio?
    kind regards,
    Helmut

    #4217
    Author Image
    Anders Søborg
    Key Master

    Hi Helmut

    I will just answer your second question first..

    USB to PC connection to transmit (upload) autonomous programs from PC to EV3 using Visual Studio?

    Currently we are testing UBS connection with a new image and everything is working on both Windows and Mac OS. Also we had a contributor that did a very nice plugin for Xamarin Studio that allows you to upload and debug programs within the IDE. This has been tested to work with both WiFi and USB.

    USB-daisy-chaining like as it is possible with the EV3-G environment for autonomous robots?

    Since a USB will be tread as a Ethernet network I am sure this can be done quite easily by creating a “network socket connection” with the attached brick. I haven’t had the change to test this on the new image but I might look at it before we release the next version. But this has more to do with getting the brick to recognise a RNDIS or CDC device.

    Hope this answers your questions

    Anders

    #4220
    Author Image
    Helmut Wunder
    Participant

    Hope this answers your questions….

    ahaaam…. actually …, haha, …. no ;)
    I don’t understand a single word about “network socket connection” or “RNDIS or CDC device”.
    What I mean is to use it simply like with the Lego software –
    just use either I/O of the chained bricks as if they were local.
    Given, e.g.

    Motor motor = new Motor(MotorPort.OutA); // is for the 1st port of the master brick; alternatively: alias Out1
    // then
    Motor motor = new Motor(MotorPort.OutI); // would be for the 1st port of the 3rd slave brick; alternatively: alias Out9

    the same about the sensors:

    var touchSensor = new TouchSensor(SensorPort.In1); // is for the 1st port of the master brick
    // then
    var touchSensor = new TouchSensor(SensorPort.In9); // would be for the 1st port of the 3rd slave brick

    Alternatively you might implement “levels” for brick instances like the Lego fw does (and like your communication lib is supposed to do as far as I see through it) instead of numerating ports from 1 to 16 or whatever….

    • This reply was modified 3 years, 3 months ago by Author Image Helmut Wunder.
    • This reply was modified 3 years, 3 months ago by Author Image Helmut Wunder.
    • This reply was modified 3 years, 3 months ago by Author Image Helmut Wunder.
    #4224
    Author Image
    Helmut Wunder
    Participant

    sorry- in both cases: OutI or In9 for the 3rd brick == 2nd slave brick, of course

    #4225
    Author Image
    Helmut Wunder
    Participant

    …and Lego calls it layers, not levels…

    #4227
    Author Image
    Anders Søborg
    Key Master

    Hi Helmut

    I don’t understand a single word about “network socket connection” or “RNDIS or CDC device”.

    It simply means that the USB connection is “seen” as a ethernet device that you can ping and connect to as you would to any other PC/device on your network. This has a lot of advantages. One of the obvious ones being that it does not matter whether you connect to the brick over a WiFi network or through a USB cable – the same code can be used.

    That is why (for me at least) it does not make any sense to build it into the motor control commands like you suggest. Instead we will add support for a service that allows you to remote control the brick. Hopefully we can make it support some parts of the MonoBrick communication library – but we have not started looking at this yet…

    So I think that the answer to your originally would be:

    USB support: coming very soon
    Daisy-chaining: might also be available with the USB support – but not in the form you posted. Instead you will have to establish a socket connection to communicate with the other brick.

    Anders

    #4236
    Author Image
    Helmut Wunder
    Participant

    Anders,
    thank you for your reply, I’m really looking forward to the solution – hopefully it will be also suitable for really uneducated novice programmers ;)

Viewing 7 posts - 1 through 7 (of 7 total)

You must be logged in to reply to this topic.

Posted in

Make a donation