3.4 Designing a BeeSoft Program
A BeeSoft program consists of a collection of modules, some written by you and some provided in BeeSoft itself. BeeSoft modules offer you a way to collect information from the robots sensors and direct the robot to perform specific actions without worrying about interfacing directly with each sensor, servo or motor. In addition, BeeSoft modules take care of managing robot resources and communicating among all onboard programs and processors.
The general form of a BeeSoft program is:
1. Initialize any predefined BeeSoft modules.
2. Initialize your own modules.
3. Start the BeeSoft Scheduler.
4. Operate the robot as desired, performing tasks, etc.
5. Invoke the BeeSoft shutdown procedure.
The BeeSoft Scheduler calls the functions specified in your modules. As they are invoked, your modules functions might both use data provided by BeeSoft modules, and invoke BeeSoft module functions to instruct the robot to perform particular actions.
When one of your modules is ready to shut down the system, it need simply call raiShutdown(), which shuts down the BeeSoft Scheduler and gives each active module a chance to clean up. Note: You ignore cleanup tasks.-- such as making sure the robot is halted before exiting the program -- at your peril!