scottalford75/Remora

Questions about Remora's up to eight axes

Opened this issue · 2 comments

I am considering some extreme cases, adding degrees of freedom and multi-material solutions at the head of the printer.
I would like to know how many stepper motors the current Remora supports in theory. My solution requires nine stepper motors.

I read remora.h just now, it says Max 8 joints,

Is it because the communication message is 32 bits, like int32_t jointFreqCmd[JOINTS];

Where should I start if I want to modify the 9-axis version? LinuxCNC HAL compenent, FirmwareBin, anything else?

uint8_t jointEnable;

for (i = 0; i < JOINTS; i++)
{
if (*(data->stepperEnable[i]) == 1)
{
txData.jointEnable |= (1 << i);
}
else
{
txData.jointEnable &= ~(1 << i);
}
}

//change
//uint8_t jointEnable;
uint16_t jointEnable;

//change
//#define JOINTS 8 // Number of joints - set this the same as LinuxCNC HAL compenent. Max 8 joints
#define JOINTS 9
//change
//#define VARIABLES 6 // Number of command values - set this the same as the LinuxCNC HAL compenent
#define VARIABLES 5

//change
//volatile uint8_t *ptrJointEnable;
volatile uint16_t *ptrJointEnable;

After modifying these items, the nine-axis movement can basically be realized.

It is worth mentioning that in order to ensure
#define SPIBUFSIZE 64 //(4+4JOINTS+4COMMANDS+1) //(MAX_MSG*4) //20 SPI buffer size ......FIFO buffer size is 64 bytes?

I modified the VARIABLES from 6 to 5, will this have any effect?