Interacting with the sensors bypassing the EV3 brick?

HomeForumsMonoBrick Communication LibraryInteracting with the sensors bypassing the EV3 brick?

This topic contains 2 replies, has 2 voices, and was last updated by Author Image Bo Yuan 3 years, 8 months ago.

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #3181
    Author Image
    Bo Yuan
    Participant

    Hello, I was referred to your work by a friend. Mostly interesting indeed. Pardon me for my lack of knowledge of Lego EV3. I have yet to buy one and test it out. However, I want to first congratulate you on a nice piece of work! From the lib I saw how you put together various 3rd party apis (hi, libusb etc) and wrap it nicely with a dot net project. This will be a lot developer friendly than Lego’s own dev framework.

    The ability to remotely control a brick robot by either a computer or a smart phone is fascinating. That opens the door to some truly autonomous applications that are beyond what the brick CPU can handle.

    After reviewing some samples I did have two question (so far). It seems you are able to (through the remote api) send commands directly to the sensors/motors and bypassing the brick CPU itself? Or I am mistaken?

    Second question would be that do you have access to a Lego command specification, or you have reverse engineered all of that?

    I hope more people can discover and use your project. I also want to help you to spread the word and any marketing if you want.

    Thanks a lot and keep up the good work!

    #3186
    Author Image
    Anders Søborg
    Key Master

    Hi Bo

    It seems you are able to (through the remote api) send commands directly to the sensors/motors and bypassing the brick CPU itself? Or I am mistaken?

    When you send commands to EV3 the standard firwmare interpret the command and communicated with a set of low level “kernel” modules that controls the hardware (LCD, motor, sensors etc.). The firmware also takes care of sending the appropriate reply. When sending a command it is possible to “bypass” the running program. Say that your program has told the motor to run forward at speed 50 it is in fact possible afterwards to send a command to stop the motor without the running program knowing about it. This might give unexpected behaviour if you don’t know what you are doing.

    Second question would be that do you have access to a Lego command specification, or you have reverse engineered all of that?

    A LEGO command specification does not exist – but the source code for the EV3 firmware has some nice comments that will get you a long way. The source code is open source and can be downloaded at Github.

    I hope this answers all your questions…

    Anders

    #3241
    Author Image
    Bo Yuan
    Participant

    Anders,

    Thank you very much for the reply. It helps a lot.

    Let me confirm this library will not function without a Mindstorm Brick CPU (NXT or EV3). For example, Lego has an older package called WEDO that contains only motors, led lights, and a USB hub through which Lego’s own software would send command and power without NXT/EV3 in between. Thank you.

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

You must be logged in to reply to this topic.

Posted in

Make a donation