|
Paparazzi UAS
v5.12_stable-4-g9b43e9b
Paparazzi is a free software Unmanned Aircraft System.
|
Efficient driving of MAT0.1 (SERVO_CLOCK_PIN) using TIMER0 to produce PPM for a R/C receiver which has a microcontroller to drive the servos (not a 4015 or 4017 decade counter chip). More...
Include dependency graph for servos_ppm_hw.h:Go to the source code of this file.
Macros | |
| #define | SERVOS_TICS_OF_USEC(s) cpu_ticks_of_usec(s) |
| #define | ChopServo(x, a, b) Chop(x, a, b) |
| #define | _PPM_NB_CHANNELS 8 |
| #define | ActuatorPpmSet(_i, _v) { servos_values[_i] = SERVOS_TICS_OF_USEC(_v); } |
| #define | ActuatorsPpmCommit() {} |
| #define | ActuatorsPpmInit() actuators_ppm_init() |
| #define | SERVO_REFRESH_TICS SERVOS_TICS_OF_USEC(22000) |
| #define | PPM_WIDTH SERVOS_TICS_OF_USEC(550) |
| #define | ACTUATORS_IT TIR_MR1I |
| #define | ServosPPMMat_ISR() |
Functions | |
| void | actuators_ppm_init (void) |
Variables | |
| uint16_t | servos_values [_PPM_NB_CHANNELS] |
| uint8_t | servos_PPM_idx |
| uint32_t | servos_delay |
| uint8_t | ppm_pulse |
Efficient driving of MAT0.1 (SERVO_CLOCK_PIN) using TIMER0 to produce PPM for a R/C receiver which has a microcontroller to drive the servos (not a 4015 or 4017 decade counter chip).
Definition in file servos_ppm_hw.h.
| #define _PPM_NB_CHANNELS 8 |
Definition at line 43 of file servos_ppm_hw.h.
Referenced by actuators_ppm_init().
| #define ActuatorPpmSet | ( | _i, | |
| _v | |||
| ) | { servos_values[_i] = SERVOS_TICS_OF_USEC(_v); } |
Definition at line 45 of file servos_ppm_hw.h.
| #define ACTUATORS_IT TIR_MR1I |
Definition at line 59 of file servos_ppm_hw.h.
| #define ActuatorsPpmCommit | ( | ) | {} |
Definition at line 48 of file servos_ppm_hw.h.
| #define ActuatorsPpmInit | ( | ) | actuators_ppm_init() |
Definition at line 49 of file servos_ppm_hw.h.
| #define ChopServo | ( | x, | |
| a, | |||
| b | |||
| ) | Chop(x, a, b) |
Definition at line 41 of file servos_ppm_hw.h.
| #define PPM_WIDTH SERVOS_TICS_OF_USEC(550) |
Definition at line 57 of file servos_ppm_hw.h.
| #define SERVO_REFRESH_TICS SERVOS_TICS_OF_USEC(22000) |
Definition at line 55 of file servos_ppm_hw.h.
| #define SERVOS_TICS_OF_USEC | ( | s | ) | cpu_ticks_of_usec(s) |
Definition at line 40 of file servos_ppm_hw.h.
| #define ServosPPMMat_ISR | ( | ) |
Definition at line 60 of file servos_ppm_hw.h.
Referenced by TIMER0_ISR().
| void actuators_ppm_init | ( | void | ) |
Definition at line 41 of file servos_ppm_hw.c.
References _PPM_NB_CHANNELS, SERVO_CLOCK_PINSEL, SERVO_CLOCK_PINSEL_BIT, SERVO_CLOCK_PINSEL_VAL, SERVO_REFRESH_TICS, servos_delay, servos_PPM_idx, SERVOS_TICS_OF_USEC, servos_values, START_TIMEOUT, T0EMR, T0MCR, T0MR1, TEMR_EM1, TEMR_EMC1_2, and TMCR_MR1_I.
| uint8_t ppm_pulse |
Definition at line 36 of file servos_ppm_hw.c.
| uint32_t servos_delay |
Definition at line 33 of file servos_4015_MAT_hw.c.
Referenced by actuators_4015_init(), and actuators_ppm_init().
| uint8_t servos_PPM_idx |
Definition at line 35 of file servos_ppm_hw.c.
Referenced by actuators_ppm_init().
| uint16_t servos_values[_PPM_NB_CHANNELS] |
Definition at line 29 of file servos_4015_hw.c.
Referenced by actuators_4015_init(), actuators_4017_init(), actuators_ppm_init(), and PWM_ISR().