Prusa MINI Firmware overview
|
#include <stdint.h>
Go to the source code of this file.
Classes | |
struct | ServoPin_t |
struct | ServoInfo_t |
Macros | |
#define | MIN_PULSE_WIDTH 544 |
#define | MAX_PULSE_WIDTH 2400 |
#define | DEFAULT_PULSE_WIDTH 1500 |
#define | REFRESH_INTERVAL 20000 |
#define | SERVOS_PER_TIMER 12 |
#define | MAX_SERVOS (_Nbr_16timers * SERVOS_PER_TIMER) |
#define | INVALID_SERVO 255 |
#define | usToTicks(_us) (clockCyclesPerMicrosecond() * (_us) / (SERVO_TIMER_PRESCALER)) |
#define | ticksToUs(_ticks) (unsigned(_ticks) * (SERVO_TIMER_PRESCALER) / clockCyclesPerMicrosecond()) |
#define | SERVO_INDEX_TO_TIMER(_servo_nbr) ((timer16_Sequence_t)(_servo_nbr / (SERVOS_PER_TIMER))) |
#define | SERVO_INDEX_TO_CHANNEL(_servo_nbr) (_servo_nbr % (SERVOS_PER_TIMER)) |
#define | SERVO_INDEX(_timer, _channel) ((_timer*(SERVOS_PER_TIMER)) + _channel) |
#define | SERVO(_timer, _channel) (servo_info[SERVO_INDEX(_timer,_channel)]) |
Functions | |
void | initISR (timer16_Sequence_t timer) |
void | finISR (timer16_Sequence_t timer) |
Variables | |
uint8_t | ServoCount |
ServoInfo_t | servo_info [MAX_SERVOS] |
#define MIN_PULSE_WIDTH 544 |
Marlin 3D Printer Firmware Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
Based on Sprinter and grbl. Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/. servo_private.h - Interrupt driven Servo library for Arduino using 16 bit timers- Version 2 Copyright (c) 2009 Michael Margolis. All right reserved.
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#define MAX_PULSE_WIDTH 2400 |
#define DEFAULT_PULSE_WIDTH 1500 |
#define REFRESH_INTERVAL 20000 |
#define SERVOS_PER_TIMER 12 |
#define MAX_SERVOS (_Nbr_16timers * SERVOS_PER_TIMER) |
#define INVALID_SERVO 255 |
#define usToTicks | ( | _us | ) | (clockCyclesPerMicrosecond() * (_us) / (SERVO_TIMER_PRESCALER)) |
#define ticksToUs | ( | _ticks | ) | (unsigned(_ticks) * (SERVO_TIMER_PRESCALER) / clockCyclesPerMicrosecond()) |
#define SERVO_INDEX_TO_TIMER | ( | _servo_nbr | ) | ((timer16_Sequence_t)(_servo_nbr / (SERVOS_PER_TIMER))) |
#define SERVO_INDEX_TO_CHANNEL | ( | _servo_nbr | ) | (_servo_nbr % (SERVOS_PER_TIMER)) |
#define SERVO_INDEX | ( | _timer, | |
_channel | |||
) | ((_timer*(SERVOS_PER_TIMER)) + _channel) |
#define SERVO | ( | _timer, | |
_channel | |||
) | (servo_info[SERVO_INDEX(_timer,_channel)]) |
void initISR | ( | timer16_Sequence_t | timer | ) |
void finISR | ( | timer16_Sequence_t | timer | ) |
uint8_t ServoCount |
ServoInfo_t servo_info[MAX_SERVOS] |