Closed sadr0b0t closed 7 years ago
/**
* Количество шагов в текущей серии (если non_stop=false).
*
* Для мотора с приводом шаг 7.5мкм, 1000мкс минимальная задержка между шагами мотора.
*
* для 32битного знакового целого:
* макс расстояние за серию=
* (2^31-1)*7.5мкм=(2147483648-1)*7.5мкм=16106127360мкм=16106127мм=16106м=16км
* макс время при движении с макс скоростью=
* (2^31-1)*1000мкс=(2147483648-1)*1000мкс=2147483сек=35791мин=596ч=24дня
*
* для 16битного знакового целого:
* макс расстояние за серию=
* (2^15-1)*7.5мкм=(32768-1)*7.5мкм=245752мкм=245мм=24см
* макс время при движении с макс скоростью=
* (2^15-1)*1000мкс=(32768-1)*1000мкс=32сек
*
* В PIC32 int и long - 32 бит.
* В Arduino long - 32 бит, int - 16 бит.
*
* итого: нам нужны 32 бит, для PIC32+Arduino без лишних макросов - это long.
*/
long step_count;
https://github.com/1i7/stepper_h/commit/57fac223de5ec517ad7c029dad7cf5a6edb9d084
1) Заменить тип данных для параметра prepare_steps:step_count (и всех сопутствующих местах) с int на long.
Для совместимости между разными архитектурами: на PIC32 int 32 бит, на Arduino - 16 бит; зато long - 32 бит и на PIC32 и на Arduino
2) Посчитать, какое максимальное расстояние мы можем пройти с таким количеством шагов (например, если шаг=7.5мкм, как на Ррапторе) и за какое время (на максимальной скорости). Это для полноты картины в документацию.