Я программирую в Arduino Land. используя библиотеку AccelStepper.h с классом AccelStepper
Я создал экземпляр следующим образом:
AccelStepper panStepper(AccelStepper::DRIVER, PAN_STEP_PIN, PAN_DIR_PIN);
AccelStepper tiltStepper(AccelStepper::DRIVER, TILT_STEP_PIN, TILT_DIR_PIN);
AccelStepper dollyStepper(AccelStepper::DRIVER, DOLLY_STEP_PIN, DOLLY_DIR_PIN);
Я хочу иметь возможность передать ссылку на один из экземпляров и иметь возможность измените параметры этого экземпляра.
Я использую следующее, чтобы создать функцию для работы с одним из экземпляров следующим образом:
void CalibrateAxis(AccelStepper& stepper, int min_pin, int max_pin) {
это испортило компилятор arduino, вызывая это выдвигать объявления для этой и других функций в середине прагмы в главном файле ino следующим образом:
// RemoteXY configurate
#pragma pack(push, 1)
//
//
void CalibrateAxis(AccelStepper& stepper, int min_pin, int max_pin);
void CalibrateAll();
void StepperSetup();
void StepperLoop();
void writeProgram();
boolean readProgram();
void stepPan(int d);
void stepTilt(int d);
void stepDolly(int d);
void Run(int s);
void dumpProgram();
void dumpTest();
void PTDSetup();
void PTDLoop();
void StateMachineLoop();
#line 38 "C:\\Users\\chris\\OneDrive\\Documents\\Arduino\\RemoteXY Stuff\\PanTiltDollyVersion2\\PanTiltDollyVersion2.ino"
uint8_t RemoteXY_CONF[] =
{ 255,16,0,27,0,89,1,10,16,0,
130,1,8,1,84,7,29,130,1,8,
44,84,17,29,130,1,46,23,46,19,
не уверен, что я делаю неправильно .....