This is a light-weight cross-platform C++14 API for remote control of the LEGO EV3. The current platform specific implementation files are only iOS. I use this library to remote-control my EV3 from an iOS app. If you find this project useful, please propose any additions/changes.
The following are on the TODO list...
- Variable dereferencing in opcodes.
- There is a sizeof() problem with DirecOpcode and itemized params
- Optionally pushing consexpr string size limits to params
- Finish implementing all direct opcode structures.
- Finish implementing all system opcode structures.
- There is a crash/deadlock with FileUploader
- Fetching extended brick info timeouts in bluetooth
- Create more platform specific connection classes
- iOS Bluetooth device name and serial number are not in accessory
This project is dependent on the ev3 sources with the minor header changes made in the dsjove fork (pull request has been made). I have a fork of both ev3 source trees with the changes. You do NOT need to change the firmware on the EV3. The header files are only for desktop compilation.
The "Jove's Landing" sample app demonstrates usage.
- “AppDelegate.mm" shows how to create the link to the EV3.
- “RailSwitch.mm" shows how to send a command to EV3.
- “DirectoryListingViewController.mm” and “FileViewController.mm” shows how to interact with files