|
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] |