Proficio Client (C#)
A client program using CoAP/UDP to talk to the BURT robot.
The program is a console application which reads in keypress mapped commands to send basic requests to the robot, e.g. home, enable, disable and prints out any debug information sent from the firmware.
Requirements
To install the dependencies on Ubuntu 14.04 or 16.04:
$ ./scripts/install-dependencies.sh
To see the specific dependencies/packages please look at scripts/install-dependencies.sh
Library Dependencies
- [msgpack-cli](https://github.com/msgpack/msgpack-cli) version [0.8.0](https://github.com/msgpack/msgpack-cli/releases/tag/0.8.0). We use the unit binary.
- mysql.data version 6.3.9.0 from Oracle
- CoAPSharp version 0.3.1.0 from EXILANT
- Newtonsoft.Json version 9.0.0.0 from Newtonsoft
Building
Project MonoDevelop Configurations
- Launch MonoDevelop application or open project directly by double-clicking the .csproj project file: File > Open > <project-directory>.csproj
- Attempt building the project: Build > Build All (F8)
- if the build succeeds without errors, continue with Usage (Console Application) below.
- if a build error exists:
- Open Project Options
- Project > <project-name> Options
- Build -> General -> target Framework -> Mono / .Net 3.5 or
- Build -> General -> target Framework -> Mono / .Net 4.0
- Project > <project-name> Options
- Add Missing References
- Click References -> Edit References
- Find the following system references using the Search Bar and click "Add" to add the selected references to the project.
- System.Data
- System.Xml.*, e.g. System.Xml, System.Xml.Linq
- Open .Net Assemblies Tab
- Browse to the-project-directory/dll
- Add all .dll files
- Browse to the-project-directory/dll
- Click OK to close the dialog
- Find the following system references using the Search Bar and click "Add" to add the selected references to the project.
- Click References -> Edit References
- Open Project Options
Building Unit Tests from MonoDevelop
View -> Pads -> Unit Tests
And then double click on proficio-client-lib-cs which will run all unit tests contained in the solution.
Building from MonoDevelop
Build -> Build ALL F8
Project Execution from MonoDevelop
Run -> Start Debugging F5
Building From The Command Line
To build the project (including examples and tests):
$ ./scripts/build.sh
To run the unit tests:
$ ./scripts/run-tests.sh
Installation
Installing as a Unity Plugin
To install to a new game you can use the copy script, which copies all required dlls into the game's Assets/Scripts folder:
$ ./scripts/copy.sh PATH/TO/UNITY_GAME
Usage (Console Application)
Connecting to the robot
- Open Ubuntu Network Manager
- Add a new Wired Connection.
<img src="./doc/assets/img/network-manager-1.png" width="400"/>
- Edit IPv4 Settings Tab
<img src="./doc/assets/img/network-manager-2.png" width="400"/>
- Save and close dialog.
- Change connection:
- click the Ubuntu Network Manager icon to show the dropdown menu of available connections.
- select (connect to) the new Wired connection e.g. Fake 192.168.100.100
- disconnect from any other Ethernet connections which are not connected to the robot, e.g. Wired Connection 1.
Keyboard Control:
Key | Action |
h | sets robot home position (motor encoder offset) at preset values |
e | 'enables' the robot (sets pucks to torque mode) |
d | 'disables' the robot (sets pucks to resistive braking mode) |
Adding Packages (optional)
- open mono project, double click on *.csproj file
- Right-click references folder
- Search for System.Data
- Add, close Dialog
Resources
- Unity DLL specifics: https://docs.unity3d.com/Manual/UsingDLL.html
- Unity unit test: https://docs.unity3d.com/Manual/testing-editortestsrunner.html