#include "compiler.h"
Data Structures | |
struct | Avr32_acc_t |
struct | xyz_t |
All 3-axis values from ADC conversion. More... | |
Macros | |
#define | ACC_1G (205 >> ACC_SHIFT) |
#define | ACC_CALIB_X 0 |
#define | ACC_CALIB_Y 0 |
#define | ACC_CALIB_Z 0 |
#define | ACC_MAX ( ACC_ZERO + ACC_1G ) |
#define | ACC_MIN ( ACC_ZERO - ACC_1G ) |
#define | ACC_QUIET_HI (int) ( 1.4 * ACC_1G * ACC_1G ) |
#define | ACC_QUIET_LO (int) ( 0.6 * ACC_1G * ACC_1G ) |
#define | ACC_SHIFT 2 |
#define | ACC_TRIG_X0 (int) ( ACC_ZERO_X - SIN15 * ACC_1G ) |
#define | ACC_TRIG_X1 (int) ( ACC_ZERO_X + SIN15 * ACC_1G ) |
#define | ACC_TRIG_Y0 (int) ( ACC_ZERO_Y - SIN15 * ACC_1G ) |
#define | ACC_TRIG_Y1 (int) ( ACC_ZERO_Y + SIN15 * ACC_1G ) |
#define | ACC_TRIG_Z_BOT (int) ( ACC_ZERO_Z + SIN60 * ACC_1G ) |
#define | ACC_TRIG_Z_TOP (int) ( ACC_ZERO_Z - SIN75 * ACC_1G ) |
#define | ACC_ZERO (512 >> ACC_SHIFT) |
#define | ACC_ZERO_X ( ACC_ZERO + ACC_CALIB_X ) |
#define | ACC_ZERO_Y ( ACC_ZERO + ACC_CALIB_Y ) |
#define | ACC_ZERO_Z ( ACC_ZERO + ACC_CALIB_Z ) |
#define | SIN0 0 |
#define | SIN10 0.174 |
#define | SIN15 0.259 |
#define | SIN20 0.342 |
#define | SIN25 0.423 |
#define | SIN30 0.5 |
#define | SIN35 0.574 |
#define | SIN40 0.643 |
#define | SIN45 0.707 |
#define | SIN5 0.087 |
#define | SIN50 0.766 |
#define | SIN55 0.819 |
#define | SIN60 0.866 |
#define | SIN65 0.906 |
#define | SIN70 0.94 |
#define | SIN75 0.966 |
#define | SIN80 0.985 |
#define | SIN85 0.996 |
#define | SIN90 1 |
Functions | |
void | accelerometer_init () |
Init the accelerometer driver. More... | |
void | accelerometer_measure (U32 angle, char *buf) |
Measures the accelerometer values and converts them to X and Y angles. More... | |
#define ACC_1G (205 >> ACC_SHIFT) |
Referenced by is_acc_abs_angle_x(), and is_acc_abs_angle_y().
#define ACC_CALIB_X 0 |
#define ACC_CALIB_Y 0 |
#define ACC_CALIB_Z 0 |
Referenced by acc_slow(), and is_acc_slow().
Referenced by acc_slow(), and is_acc_slow().
#define ACC_SHIFT 2 |
Referenced by acc_get_value().
#define ACC_TRIG_X0 (int) ( ACC_ZERO_X - SIN15 * ACC_1G ) |
Referenced by is_acc_right().
#define ACC_TRIG_X1 (int) ( ACC_ZERO_X + SIN15 * ACC_1G ) |
Referenced by is_acc_left().
#define ACC_TRIG_Y0 (int) ( ACC_ZERO_Y - SIN15 * ACC_1G ) |
Referenced by is_acc_up().
#define ACC_TRIG_Y1 (int) ( ACC_ZERO_Y + SIN15 * ACC_1G ) |
Referenced by is_acc_down().
#define ACC_TRIG_Z_BOT (int) ( ACC_ZERO_Z + SIN60 * ACC_1G ) |
Referenced by is_acc_meuh(), and is_acc_topdown().
#define ACC_TRIG_Z_TOP (int) ( ACC_ZERO_Z - SIN75 * ACC_1G ) |
Referenced by is_acc_meuh().
#define ACC_ZERO (512 >> ACC_SHIFT) |
#define ACC_ZERO_X ( ACC_ZERO + ACC_CALIB_X ) |
Referenced by print_mouse().
#define ACC_ZERO_Y ( ACC_ZERO + ACC_CALIB_Y ) |
Referenced by print_mouse().
#define ACC_ZERO_Z ( ACC_ZERO + ACC_CALIB_Z ) |
#define SIN0 0 |
#define SIN10 0.174 |
#define SIN15 0.259 |
#define SIN20 0.342 |
#define SIN25 0.423 |
#define SIN30 0.5 |
#define SIN35 0.574 |
#define SIN40 0.643 |
#define SIN45 0.707 |
#define SIN5 0.087 |
#define SIN50 0.766 |
#define SIN55 0.819 |
#define SIN60 0.866 |
#define SIN65 0.906 |
#define SIN70 0.94 |
#define SIN75 0.966 |
#define SIN80 0.985 |
#define SIN85 0.996 |
#define SIN90 1 |
void accelerometer_init | ( | ) |
Init the accelerometer driver.
References adc, adc_configure(), and gpio_enable_module_pin().
Referenced by device_full_custom_task_init().
void accelerometer_measure | ( | U32 | angle, |
char * | buf | ||
) |
Measures the accelerometer values and converts them to X and Y angles.
angle | Boolean (0 for X-angle, 1 for Y-angle) |
buf | char buffer in which the light sensor value is stored. |
References acc_get_value(), accelerometer_action_x(), accelerometer_action_y(), adc, adc_channel_x, adc_channel_y, adc_channel_z, Avr32_acc_t::ak, Avr32_acc_t::ak2, Avr32_acc_t::g, Avr32_acc_t::k, Avr32_acc_t::m, sprintf(), xyz_t::x, xyz_diff(), xyz_sumsq(), xyz_t::y, and xyz_t::z.
Referenced by device_full_custom_task().