IO Config Editor
NOTICE: This page consists of information on a feature currently in Beta. Information is liable to change or be incomplete.
The IO Configuration Editor page is the page where you can edit the physical IO configuration of the RoboPad board by configuring IO Units. You can, for instance, set one of the external pins to output a digital electronic signal, which can be controlled via the nodegraph. It is accessible via the Management Page.
Each IO Unit has a number of settings and will add it's own input and output ports to the Chip Node in the nodegraph. Importantly, for actuators, you are able to specify safe values - these are the values that the IO Unit will default to when the RoboPad looses connection to your phone or you are on any screen other than the controller screen (it's emergency stop state). It is very important that you understand how your safe values and IO Units in general interact with the physical circuitry you have added to your RoboPad - for instance, if you are adding an additional motor to your robot using a Generic PWM IO Unit, you will most likely want to ensure that it's safe value is set to 0 so that it will turn off in an emergency situation. Some IO Units do not have safe value settings (such as HBridge motors and unidirectional brushless motors) as all of these configurations are configured to turn off by default.
Changing the physical configuration of the RoboPad and the behaviour of it's pins using the IO Configuration Editor should be considered an advanced topic - ensure that you have read and fully understand everything on this wiki page and everything you are doing before attempting to change these settings.
Emergency Stop Behaviour When Changing IO Unit Configuration
It is also important to understand that IO Unit safe values remain configured on the pins they are set to, even when removed (using the red "x") until either another IO Unit is configured to use that pin or the device is reset. This has been done because it is not recommended, expected or suggested that a user would change the physical configuration of their RoboPad circuit without first powering it down. Therefore, the firmware assumes that the safest thing to do is retain the last set safe value for any given pin until it is told otherwise (or the device is power cycled, at which point unconfigured pins remain at a high-impedance state).
"Advanced Pins"
Some Pins - namely all pins that are not External 1 and External 2 (marked E1 and E2 respectively on the board) are considered Advanced Pins. This is because they may behave in a way outside of expected behaviour. For instance, many of these pins will output arbitrary signals within the first 500 milliseconds of RoboPad boot and as such should not be used for actuators that may cause harm if they were to unexpectedly move. Others (particularly the "Internal" pins) are already connected to some internal electronics on the RoboPad, such as the built-in HBridge that drives the default M1 and M2 outputs. In order to use these pins, you would have to remove the HBridge from the device (which is not advised and will void the product's guarantee).
Pins
All pins are capable of driving a small current at 3.3v to external circuitry, below is a list of the different pin names and how they might be used.
Pin Name | ID on Board | Information |
---|---|---|
External 1 | E1 | |
External 2 | E2 | |
TX | T | |
RX | R | |
Safeboot | SB | |
Program Enable | PE | |
Unset | ||
Drive Enable | ||
Drive Pin 1
Forward |
||
Drive Pin 1
Backward |
||
Drive Pin 2
Forward |
||
Drive Pin 2
Backward |
IO Units
Here will be a list of IO Units, their configuration options and some example usages.