Hi guys ,
can someone show me some code on how to set a different length of bytes in to the string for the Shiftout command

the device on the SPI needs LSB to MSB , the number of bytes changes depending on the command sent and then the following amount of data bytes for that command

I only want to have 1 write command routine for all SPI writes and reads

was thinking something like this but cant seem to get the code right in my head to allow for the command to have changing number of bytes lengths in routine

the sample code here will only just add values of data_out(x) which is not going to work

need to have [data_out(0) , data_out(1) , data_out(2), etc ] format for the command to work correctly

cheers


Code:
' ------ Rx Address for Pipe 0 ------
data_out[0]=Write_reg+Rx_addr_p0 'Rx address for pipe0
data_out[1]= $4E ' "N" '5 byte address
data_out[2]= $45 ' "E"
data_out[3]= $54 ' "T"
data_out[4]= $01 ' "1"
data_out[5]= $04  '"4"
num_byte=5
gosub SPI_write


SPI_write: 
   CSN = 0                                                           ' Chip enable 
    For  x = 0 to Num_byte                                     '   loop for # byte
       temp_data_out = data_out(x) + temp_data_out   
    next x   
  Shiftout SI, SCK, MSBFIRST, [temp_data_out]  ' Send write enable command
  CS = 1               ' Disable to execute command
return