Amiga SDK Examples
CircuitPython Examples​
These are the examples for developing programs for the farm-ng microcontroller kit.
Before attempting any of these examples make sure you have
already cloned the amiga-dev-kit
repository, If you have not
follow the instructions listed
here
Hello World Auto-mode (hello_main_loop)​
Link to hello_main_loop/code.py
It's recommended to start with this example before proceeding to any of the others.
This introductory example covers getting set up, interacting with the Amiga, and using auto-control mode to drive your Amiga from a computer using the farm-ng microcontroller kit.
This example enables driving the Amiga by entering simple fwd / rev / left / right keyboard commands the serial port, which the app sends over the CAN bus.
Topics:
- Serial port 101
- Auto-mode control
Cansniffer​
This basic example covers a simple tool for listening to all CAN Id's streaming on the bus and measuring simple statistics about the streamed messages. The example is inspired by the cansniffer command line tool from can-utils.
Topics:
- CAN introduction
FPV​
This example shows how to connect off the shelf FPV equipment to your Amiga to enable realtime video streaming and teleoperation through remote control. This makes the Amiga remotely operable from the comfort of your office (or cab of your truck) and we're pretty psyched by how low cost and practical FPV control of the Amiga is.
Topics:
- Hardware integration
- Auto-mode control
Other examples​
Bumpers​
The bumpers example shows how to use the experimental safety device API on the Amiga dashboard. Since this is still experimental, it's not documented as a full example until the safety devices API is released as a stable feature in the dashboard firmware.
NOTE: We're targeting the
v0.1.9
release for this feature, with a planned date in April 2023.
In the meantime, we'll still link the README and code for the bumpers example to get you inspired about how easy it will be for you to develop your own safety devices to add them to your Amiga!
Brain ADK Examples​
These are the examples that run on your personal computer for interacting with recorded logs and active services running on the Amiga Brain.
Before getting started with any brain examples, you should install the farm-ng Brain ADK package.
Record and Access data​
This tutorial walks you through recording field data and offloading it to your local machine.
File Reader​
This example reads log files and plays their contents.
File Reader CAN​
This example reads the Can data from recorded logs and prints it out.
Camera Client​
This example acts as an OakCameraClient
in a standalone Python
script.
Brain App Tutorials​
These are the examples for ready-to-run apps and learning how you can develop your own custom applications for the farm-ng Brain.
The tutorials build off of one another and are better when followed in order.
00 - Tutorial Introduction​
This tutorial introduces necessary background knowledge and walks
you through the
amiga-app-template
.
The topics covered in this tutorial include:
- Creating kivy applications
- GRPC / asyncio application development
01 - Camera Streamer Tutorial​
This tutorial is designed to teach you to implement the
OakCameraClient
in a GUI application using
Kivy following along the
camera-streamer
example application built using the
amiga-app-template
.
The topics covered in this tutorial include:
- Creating kivy applications
- GRPC / asyncio application development
- Streaming an Oak camera with the camera client
02 - Virtual Joystick Tutorial​
This tutorial is designed to enable you to develop your own
custom applications that uses camera streams and controls your
Amiga over the CAN bus following along the
virtual-joystick
example application built using the
amiga-app-template
.
The topics covered in this tutorial include:
- Creating kivy applications
- GRPC / asyncio application development
- Streaming an Oak camera with the camera client
- Streaming Amiga state information with the canbus client
- Auto control mode of Amiga robot with the canbus client
Developing Custom Applications​
This takes you through the steps of creating your own app with the use of an app template and deploying and testing it on the Amiga.