UAV::Pilot::WumpusRover::Server::Backend
Role for WumpusRover Backends. A Backend connects directly to the hardware that drives the rover. For instance, the RaspberryPiI2C backend communicates over the Raspberry Pi's I2C interface using a protocol shared by the wumpus_rover Arduino implementation.
Does the UAV::Pilot::Logger role.
UAV::Pilot::Logger
Specifies if this backend has been started yet. Starting it is done by passing a RequestStartupMessage packet to process_packet().
RequestStartupMessage
process_packet()
process_packet( $packet )
Takes the packet and does something with it. Usually, this something is a sensible thing to do.
_packet_request_startup( $packet, $server )
Passed a packet and the server associated with the connection. Handles the initial startup.
_packet_request_trims( $packet, $server )
Passed a packet and the server associated with the connection. Handles the radio trims.
_packet_request_out( $packet, $server )
Passed a packet and the server associated with the connection. Handles the radio outputs, which is the primary way of moving.
Returns the min/max settings for each channel that will be output by this backend. Channels are numbered 1 through 8.
Why do we map the values at this level? For the Arduino output, wouldn't it be better for it to take specified values and convert it to its own output internally? Perhaps. The reason why it was chosen to do the value mapping here is to make the Arduino end as simple-stupid as possible.
To install UAV::Pilot, copy and paste the appropriate command in to your terminal.
cpanm
cpanm UAV::Pilot
CPAN shell
perl -MCPAN -e shell install UAV::Pilot
For more information on module installation, please visit the detailed CPAN module installation guide.