Public Types | Signals | Public Member Functions | Protected Member Functions | Friends
Aseba::Target Class Reference

The interface to an aseba network. Used to interact with the nodes. More...

#include <Target.h>

Inheritance diagram for Aseba::Target:
Inheritance graph
[legend]

List of all members.

Public Types

enum  ExecutionMode { EXECUTION_STOP, EXECUTION_RUN, EXECUTION_STEP_BY_STEP, EXECUTION_UNKNOWN }
 Mode of execution of target. More...

Signals

void arrayAccessOutOfBounds (unsigned node, unsigned line, unsigned size, unsigned index)
 A node did an access out of array bounds exception.
void bootloaderAck (unsigned errorCode, unsigned errorAddress)
 We received an ack from the bootloader.
void breakpointSetResult (unsigned node, unsigned line, bool success)
 The result of a set breakpoint call.
void divisionByZero (unsigned node, unsigned line)
 A node did a division by zero exception.
void eventExecutionKilled (unsigned node, unsigned line)
 A new event was run and the current killed on a node.
void executionModeChanged (unsigned node, Target::ExecutionMode mode)
 The mode of execution of a node (stop, run, step by step) has changed.
void executionPosChanged (unsigned node, unsigned line)
 The program counter of a node has changed, causing a change of position in source code.
void networkDisconnected ()
 The network connection has been cut: all nodes have disconnected.
void nodeConnected (unsigned node)
 A new node has connected to the network.
void nodeDisconnected (unsigned node)
 A node has disconnected from the network.
void nodeSpecificError (unsigned node, unsigned line, const QString &message)
 A node has produced an error specific to it.
void userEvent (unsigned id, const VariablesDataVector data)
 A user event has arrived from the network.
void userEventsDropped (unsigned amount)
 Some user events have been dropped, i.e. not sent to the gui.
void variablesMemoryChanged (unsigned node, unsigned start, const VariablesDataVector &variables)
 The content of the variables memory of a node has changed.
void variablesMemoryEstimatedDirty (unsigned node)
 The execution state logic thinks variables might need a refresh.

Public Member Functions

virtual void broadcastGetDescription ()=0
 Request descriptions from the aseba network.
virtual void clearBreakpoint (unsigned node, unsigned line)=0
 Remove the breakpoint in a node at a specific line.
virtual void clearBreakpoints (unsigned node)=0
 Remove all breakpoints in a node.
virtual const
TargetDescription *const 
getDescription (unsigned node) const =0
 Return a constant description of a node. Returned value is always valid if node exists.
virtual QString getLanguage () const =0
 Return the language that we choosen for this connection.
const QString getName (unsigned node) const
 Return the name of a node. Returned value is always valid if node exists.
virtual void getVariables (unsigned node, unsigned start, unsigned length)=0
 Get part of variables memory.
virtual void next (unsigned node)=0
 Run bytecode on a node until next source line.
virtual void pause (unsigned node)=0
 Interrupt (pause, go to step by step) the execution on a node.
virtual void reboot (unsigned node)=0
 Reboot (restart the whole microcontroller, not just reset the aseba VM)
virtual void reset (unsigned node)=0
 Reset the execution of a node, do not clear bytecode nor breakpoints.
virtual void run (unsigned node)=0
 Run the execution on a node.
virtual void sendEvent (unsigned id, const VariablesDataVector &data)=0
 Send an event to the aseba network.
virtual void setBreakpoint (unsigned node, unsigned line)=0
 Set a breakpoint in a node at a specific line.
virtual void setVariables (unsigned node, unsigned start, const VariablesDataVector &data)=0
 Set part of variables memory.
virtual void stop (unsigned node)=0
 Stop the execution on a node.
virtual void uploadBytecode (unsigned node, const BytecodeVector &bytecode)=0
 Upload bytecode to target.
virtual void writeBytecode (unsigned node)=0
 Save the bytecode currently on target.
virtual ~Target ()
 Virtual destructor.

Protected Member Functions

virtual void blockWrite ()=0
 Block all write operations, used by invasive plugins when they do something hacky with the underlying data stream.
virtual void unblockWrite ()=0
 Unblock write operatinos, used by invasive plugins when they do something hacky with the underlying data stream.

Friends

class ThymioBootloaderDialog
class ThymioVisualProgramming

Detailed Description

The interface to an aseba network. Used to interact with the nodes.

Definition at line 36 of file Target.h.


Member Enumeration Documentation

Mode of execution of target.

Enumerator:
EXECUTION_STOP 

Stop execution.

EXECUTION_RUN 

Run the event until a breakpoint or a stop.

EXECUTION_STEP_BY_STEP 

Wait step command.

EXECUTION_UNKNOWN 

Execution mode of target is unknown.

Definition at line 42 of file Target.h.


Constructor & Destructor Documentation

virtual Aseba::Target::~Target ( ) [inline, virtual]

Virtual destructor.

Definition at line 94 of file Target.h.


Member Function Documentation

void Aseba::Target::arrayAccessOutOfBounds ( unsigned  node,
unsigned  line,
unsigned  size,
unsigned  index 
) [signal]

A node did an access out of array bounds exception.

virtual void Aseba::Target::blockWrite ( ) [protected, pure virtual]

Block all write operations, used by invasive plugins when they do something hacky with the underlying data stream.

Implemented in Aseba::DashelTarget.

void Aseba::Target::bootloaderAck ( unsigned  errorCode,
unsigned  errorAddress 
) [signal]

We received an ack from the bootloader.

void Aseba::Target::breakpointSetResult ( unsigned  node,
unsigned  line,
bool  success 
) [signal]

The result of a set breakpoint call.

virtual void Aseba::Target::broadcastGetDescription ( ) [pure virtual]

Request descriptions from the aseba network.

Implemented in Aseba::DashelTarget.

virtual void Aseba::Target::clearBreakpoint ( unsigned  node,
unsigned  line 
) [pure virtual]

Remove the breakpoint in a node at a specific line.

Implemented in Aseba::DashelTarget.

virtual void Aseba::Target::clearBreakpoints ( unsigned  node) [pure virtual]

Remove all breakpoints in a node.

Implemented in Aseba::DashelTarget.

void Aseba::Target::divisionByZero ( unsigned  node,
unsigned  line 
) [signal]

A node did a division by zero exception.

void Aseba::Target::eventExecutionKilled ( unsigned  node,
unsigned  line 
) [signal]

A new event was run and the current killed on a node.

void Aseba::Target::executionModeChanged ( unsigned  node,
Target::ExecutionMode  mode 
) [signal]

The mode of execution of a node (stop, run, step by step) has changed.

void Aseba::Target::executionPosChanged ( unsigned  node,
unsigned  line 
) [signal]

The program counter of a node has changed, causing a change of position in source code.

virtual const TargetDescription* const Aseba::Target::getDescription ( unsigned  node) const [pure virtual]

Return a constant description of a node. Returned value is always valid if node exists.

Implemented in Aseba::DashelTarget.

virtual QString Aseba::Target::getLanguage ( ) const [pure virtual]

Return the language that we choosen for this connection.

Implemented in Aseba::DashelTarget.

virtual void Aseba::Target::getVariables ( unsigned  node,
unsigned  start,
unsigned  length 
) [pure virtual]

Get part of variables memory.

Implemented in Aseba::DashelTarget.

The network connection has been cut: all nodes have disconnected.

virtual void Aseba::Target::next ( unsigned  node) [pure virtual]

Run bytecode on a node until next source line.

Implemented in Aseba::DashelTarget.

void Aseba::Target::nodeConnected ( unsigned  node) [signal]

A new node has connected to the network.

void Aseba::Target::nodeDisconnected ( unsigned  node) [signal]

A node has disconnected from the network.

void Aseba::Target::nodeSpecificError ( unsigned  node,
unsigned  line,
const QString &  message 
) [signal]

A node has produced an error specific to it.

virtual void Aseba::Target::pause ( unsigned  node) [pure virtual]

Interrupt (pause, go to step by step) the execution on a node.

Implemented in Aseba::DashelTarget.

virtual void Aseba::Target::reboot ( unsigned  node) [pure virtual]

Reboot (restart the whole microcontroller, not just reset the aseba VM)

Implemented in Aseba::DashelTarget.

virtual void Aseba::Target::reset ( unsigned  node) [pure virtual]

Reset the execution of a node, do not clear bytecode nor breakpoints.

Implemented in Aseba::DashelTarget.

virtual void Aseba::Target::run ( unsigned  node) [pure virtual]

Run the execution on a node.

Implemented in Aseba::DashelTarget.

virtual void Aseba::Target::sendEvent ( unsigned  id,
const VariablesDataVector data 
) [pure virtual]

Send an event to the aseba network.

Implemented in Aseba::DashelTarget.

virtual void Aseba::Target::setBreakpoint ( unsigned  node,
unsigned  line 
) [pure virtual]

Set a breakpoint in a node at a specific line.

Implemented in Aseba::DashelTarget.

virtual void Aseba::Target::setVariables ( unsigned  node,
unsigned  start,
const VariablesDataVector data 
) [pure virtual]

Set part of variables memory.

Implemented in Aseba::DashelTarget.

virtual void Aseba::Target::stop ( unsigned  node) [pure virtual]

Stop the execution on a node.

Implemented in Aseba::DashelTarget.

virtual void Aseba::Target::unblockWrite ( ) [protected, pure virtual]

Unblock write operatinos, used by invasive plugins when they do something hacky with the underlying data stream.

Implemented in Aseba::DashelTarget.

virtual void Aseba::Target::uploadBytecode ( unsigned  node,
const BytecodeVector bytecode 
) [pure virtual]

Upload bytecode to target.

Implemented in Aseba::DashelTarget.

void Aseba::Target::userEvent ( unsigned  id,
const VariablesDataVector  data 
) [signal]

A user event has arrived from the network.

void Aseba::Target::userEventsDropped ( unsigned  amount) [signal]

Some user events have been dropped, i.e. not sent to the gui.

void Aseba::Target::variablesMemoryChanged ( unsigned  node,
unsigned  start,
const VariablesDataVector variables 
) [signal]

The content of the variables memory of a node has changed.

void Aseba::Target::variablesMemoryEstimatedDirty ( unsigned  node) [signal]

The execution state logic thinks variables might need a refresh.

virtual void Aseba::Target::writeBytecode ( unsigned  node) [pure virtual]

Save the bytecode currently on target.

Implemented in Aseba::DashelTarget.


Friends And Related Function Documentation

friend class ThymioBootloaderDialog [friend]

Definition at line 162 of file Target.h.

friend class ThymioVisualProgramming [friend]

Definition at line 163 of file Target.h.


The documentation for this class was generated from the following files:


aseba
Author(s): Stéphane Magnenat
autogenerated on Thu Jan 2 2014 11:17:17