robotics/examples/motor/esos_motor_example.c File Reference

#include "esos_motor_example_config.h"

Go to the source code of this file.

Functions

static ESOS_USER_TASK (heartbeat)
 ESOS_USER_TASK (motor_demo)
void user_init (void)


Detailed Description

Author:
Thomas Donaldson
This file contains example code for the ESOS motor library. See ESOS_USER_TASK(motor_demo).

Definition in file esos_motor_example.c.


Function Documentation

ESOS_USER_TASK ( motor_demo   ) 

Precondition:
This function must be registered with ESOS in user_init()
This task implements a simple state machine which steps through all the five possible motor states at three second intervals. The seven-state machine's states, in order: 75% speed forward, 100% speed forward, coast, 75% speed backwards, 100% speed backwards, 75% brake high, and 75% brake low.

Definition at line 33 of file esos_motor_example.c.

static ESOS_USER_TASK ( heartbeat   )  [static]

Precondition:
This function must be registered with ESOS in user_init()
This task flashes the heartbeat LED (HEARTBEAT) at a rate specified by HALF_HEARTBEAT_PERIOD (in ms).

Definition at line 16 of file esos_motor_example.c.

void user_init ( void   ) 

User-provided function to initialize user's hardware configuration register user tasks.

Note:
All ESOS applications MUST provide this function.

This function MUST register at least one ESOS task.

user_init() is a centralized initialization routine where the user can setup their application. It is called automagically by ES_OS during the operating system initialization.

User should set up any state machines and init all application variables. They can also turn on any needed peripherals here.

User shall not mess with the interrupt hardware directly!!! The ESOS must be aware of the interrupts and provides esos_XXXXXXX functions for the user to use. Using these ESOS-provided functions, the user may (and probably should) initialize, register, and enable interrupts in this routine.

Furthermore, the user should register AT LEAST one user application task here via esos_RegisterTask or the ES_OS scheduler will have nothing to schedule to run when this function returns.

Definition at line 72 of file esos_motor_example.c.


Generated on Sun Mar 15 11:14:22 2009 for PIC24 Support Libraries by  doxygen 1.5.8