Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for LocalEV3 #771

Open
13 of 20 tasks
jabrena opened this issue Dec 29, 2020 · 0 comments
Open
13 of 20 tasks

Add support for LocalEV3 #771

jabrena opened this issue Dec 29, 2020 · 0 comments

Comments

@jabrena
Copy link
Member

jabrena commented Dec 29, 2020

Steps:

  • Identify Interfaces & classes from LeJOS
  • Implement a prototype
  • Implement a stable solution
  • Develop tests
  • Move to LeJOS commons the missing interfaces & classes
  • Review on internet the majority of Use cases from Users
  • Review how to include the concept about BrickPi

Motivation:

Many users use the library to build software for robots in Mindstorms ecosystem, but in order to go further with the idea to have robots based on multiple bricks, it is necessary to implement the concept about LocalEV3.

In LeJOS ecosystem, LocalEV3 is a recent concept appeared in EV3:
http://www.lejos.org/ev3/docs/lejos/hardware/ev3/LocalEV3.html

Note: If you are going to use only one Brick, you could use directly the objects that you need to use in your program, but if you are going to use Remote capabilities, RemoveEV3 is necessary. In order to begin that journey, it is necessary to provide a LocalEV3 support.

Some examples using LocalEV3

Brick brick = BrickFinder.getLocal();
Audio sound = brick.getAudio();
sound.systemSound(0);

RegulatedMotor left = new EV3LargeRegulatedMotor(brick.getPort("B"));
RegulatedMotor right = new EV3LargeRegulatedMotor(brick.getPort("C"));

// get a port instance
Port port = LocalEV3.get().getPort("S2");

// Get an instance of the Ultrasonic EV3 sensor
EV3UltrasonicSensor sensor = new EV3UltrasonicSensor(port);

GraphicsLCD g = LocalEV3.get (). GetGraphicsLCD ();

BrickInfo[] bricks = BrickFinder.discover();

for(BrickInfo info: bricks) {
   Brick brick = new RemoteEV3(info.getIPAddress());
   brick.getAudio().systemSound(0);
}

Article:
https://sourceforge.net/p/lejos/wiki/Remote%20access%20to%20an%20EV3/

Related issue:
#524

References:

Brick Capabilities:

Wifi capabilities:


Offtopic examples:


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant