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?