Defines | Functions | Variables

speed.c File Reference

Speed sensor ISR and methods to get tacho information. More...

#include <avr/io.h>
#include <avr/interrupt.h>
#include "xtypes.h"
#include "global.h"
#include "timer.h"
#include "memory.h"
#include "speed.h"
Include dependency graph for speed.c:

Go to the source code of this file.

Defines

#define EXPORT
#define MAX_RELIABLE_SPEED   70U
 This value defines the maximum reliable speed. Used to detect false tacho ticks.
#define SPEED_INT_ENABLE()   EIMSK |= (1<<INT0);
 This macro enables the tacho interrupt.
#define SPEED_INT_DISABLE()   EIMSK &= ~(1<<INT0);
 This macro disables the tacho interrupt.

Functions

 ISR (SIG_INTERRUPT0)
 Service routine for tacho sensor interrupt.
void speed_Init (void)
 Init function for this module.
UINT32 speed_GetRpm (void)
 Get method for mg_u32Rpm.
UINT32 speed_GetDistance (void)
 Get method for mg_u32Distance.
void speed_CheckTimeout (UINT32 u32SystemTime)
 Check and get method for tacho timeout.

Variables

static volatile UINT32 mg_u32TickTime
 Variable to hold a timestamp of the last tacho interrupt.
static volatile UINT32 mg_u32Rpm
 This variable holds the value of wheel revolutions per minute.
static volatile UINT32 mg_u32Distance
 This variable holds the value of trip distance im mm.
static UINT16 mg_u16WheelSize
 This variable holds a copy value of wheel circumference in mm.
static UINT8 mg_u8NumMagnetsTacho = DEFAULT_MAGNET_NUMBER_TACHO
 UINT8 variable to keep the number of tacho reed switch magnets.

Detailed Description

Author:
Philipp Bank
Copyright:
Creative Commons by-nc-sa 3.0 (http://creativecommons.org/licenses/by-nc-sa/3.0/)

This module contains an interrupt service routine for the tacho sensor signal and methods to calculate speed and trip distance.

Definition in file speed.c.