Elma
An event loop manager for embedded systems
Public Member Functions | List of all members
driving_example::Car Class Reference

Example: Another car simulation process. See examples/driving.cc. More...

+ Inheritance diagram for driving_example::Car:
+ Collaboration diagram for driving_example::Car:

Public Member Functions

 Car (std::string name)
 
void init ()
 Nothing to do to initialize.
 
void start ()
 
void update ()
 
void stop ()
 Nothing to do to stop.
 
- Public Member Functions inherited from elma::Process
 Process (int n=0)
 Default constructor. Names process "no name".
 
 Process (std::string name, int n=0)
 Constructor that takes a name for the process. More...
 
string name ()
 
void set_name (std::string str)
 
status_type status ()
 
high_resolution_clock::duration period ()
 
int num_updates ()
 
time_point< high_resolution_clock > start_time ()
 
high_resolution_clock::duration last_update ()
 
high_resolution_clock::duration previous_update ()
 
Channelchannel (string name)
 Access a channel with the given name. More...
 
double milli_time ()
 The time since the last update in millisconds, as a double. More...
 
double delta ()
 The most recent amount of time between updates. More...
 
void watch (string event_name, std::function< void(Event &)> handler)
 
void emit (const Event &event)
 
void http_get (std::string url, std::function< void(json &)> handler)
 
void halt ()
 
void set_manager (Manager *m_ptr)
 

Additional Inherited Members

- Public Types inherited from elma::Process
enum  status_type { UNINITIALIZED, STOPPED, RUNNING }
 
- Protected Attributes inherited from elma::Process
Manager_manager_ptr
 

Detailed Description

Example: Another car simulation process. See examples/driving.cc.

See the file examples/driving.cc for usage.

Definition at line 16 of file driving.cc.

Constructor & Destructor Documentation

◆ Car()

driving_example::Car::Car ( std::string  name)
inline

Wrap the base process class

Parameters
nameThe name of the car

Definition at line 21 of file driving.cc.

Member Function Documentation

◆ start()

void driving_example::Car::start ( )
inlinevirtual

To start a new simulation, this process sets the car's velocity to zero kph.

Implements elma::Process.

Definition at line 28 of file driving.cc.

◆ update()

void driving_example::Car::update ( )
inlinevirtual

The update method gets the latest force from the Throttle Channel, if any. Then it updates the car's velocity, and sends it out on the Velocity Channel.

Implements elma::Process.

Definition at line 36 of file driving.cc.


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