|
Elma
An event loop manager for embedded systems
|
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 () |
| Channel & | channel (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 |
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.
|
inline |
Wrap the base process class
| name | The name of the car |
Definition at line 21 of file driving.cc.
|
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.
|
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.