11package ioio .smallbasic ;
22
33import java .io .IOException ;
4+ import java .util .Arrays ;
45
56import ioio .lib .api .IOIO ;
67import ioio .lib .api .SpiMaster ;
@@ -39,10 +40,12 @@ public void open(int miso, int mosi, int clk, int slaveSelect) throws IOExceptio
3940 validatePins ();
4041 }
4142
42- public void write (int address , int data ) {
43+ public void write (int address , final byte [] write , int writeLen ) {
4344 handleError ();
4445 lock .invoke ((i ) -> {
45- byte [] buffer = {(byte ) address , (byte ) data };
46+ byte [] buffer = new byte [writeLen + 1 ];
47+ buffer [0 ] = (byte )address ;
48+ System .arraycopy (write , 0 , buffer , 1 , writeLen );
4649 spiMaster .writeRead (buffer , buffer .length , buffer .length , null , 0 );
4750 });
4851 }
@@ -54,7 +57,7 @@ void loop() throws ConnectionLostException, InterruptedException {
5457
5558 @ Override
5659 void setup (IOIO ioio ) throws ConnectionLostException {
57- Log .i (TAG , "setup entered: " + miso + " " + mosi + " " + clk + " " + slaveSelect );
60+ Log .i (TAG , "setup entered: miso: " + miso + " mosi: " + mosi + " clk: " + clk + " cs: " + slaveSelect );
5861 spiMaster = ioio .openSpiMaster (miso , mosi , clk , slaveSelect , SpiMaster .Rate .RATE_1M );
5962 }
6063
0 commit comments