#include <SPI_MSTransfer.h>
SPI_MSTransfer slave = SPI_MSTransfer("SLAVE", "STANDALONE");
void setup() {
Serial.begin(115200);
slave.begin( );
}
void loop() {
slave.events();
}
#include <SPI_MSTransfer.h>
SPI_MSTransfer W0 = SPI_MSTransfer("Wire", 43, &SPI2, 30000000 );
void setup() {
Wire.begin();
Serial.begin(115200);
while (!Serial && millis() < 2000 );
W0.onDetect([](AsyncMST info) {
W0.begin(I2C_SLAVE, 0x22, I2C_PINS_18_19, I2C_PULLUP_EXT, 100000);
Wire.beginTransmission(0x22);
Wire.write("Hello Master!", 13);
Wire.sendTransmission();
W0.onReceive(hello);
});
}
void hello(size_t count, AsyncMST info) {
Serial.print("Size: "); Serial.print(count);
Serial.print(" Slave: "); Serial.print(info.slave);
Serial.print(" Port: "); Serial.println(info.port);
uint8_t buf[count] = { 0 };
W0.read(buf, count);
for ( uint16_t i = 0; i < count; i++ ) {
Serial.print((char)buf[i]);
} Serial.println();
}
void loop() {
W0.events(0);
static uint32_t wire_write_timer = millis();
if ( millis() - wire_write_timer >= 2000 ) {
wire_write_timer = millis();
Wire.beginTransmission(0x22);
char text[] = "Hello Mike, this is a test... ";
Wire.write(text, sizeof(text));
char text1[] = "From SPI_MSTransfer...";
Wire.write(text1, sizeof(text1));
Wire.sendTransmission();
}
}
[ATTACH]13602._xfImport[/ATTACH]
void hello(size_t count, AsyncMST info) {
Serial.print("Size: "); Serial.print(count);
Serial.print(" Slave: "); Serial.print(info.slave);
Serial.print(" Port: "); Serial.println(info.port);
for ( uint16_t i = 0; i < count; i++ ) {
Serial.print((char)W0.read());
} Serial.println();
}
51777
Size: 50 Slave: 43 Port: 0
Hello World over I2C & SPI from SPI_MSTransfer....
52284
Size: 50 Slave: 43 Port: 0
Hello World over I2C & SPI from SPI_MSTransfer....
52794
Size: 50 Slave: 43 Port: 0
Hello World over I2C & SPI from SPI_MSTransfer....
53301
Size: 50 Slave: 43 Port: 0
Hello World over I2C & SPI from SPI_MSTransfer....
53816
Size: 50 Slave: 43 Port: 0
Hello World over I2C & SPI from SPI_MSTransfer....
54326
Size: 50 Slave: 43 Port: 0
Hello World over I2C & SPI from SPI_MSTransfer....
54835
Size: 50 Slave: 43 Port: 0
Hello World over I2C & SPI from SPI_MSTransfer....
55343
Size: 50 Slave: 43 Port: 0
Hello World over I2C & SPI from SPI_MSTransfer....
55856
Size: 50 Slave: 43 Port: 0
Hello World over I2C & SPI from SPI_MSTransfer....
56376
Size: 50 Slave: 43 Port: 0
Hello World over I2C & SPI from SPI_MSTransfer....
56886
Size: 50 Slave: 43 Port: 0
Hello World over I2C & SPI from SPI_MSTransfer....
57402
Size: 50 Slave: 43 Port: 0
Hello World over I2C & SPI from SPI_MSTransfer....
57912
Size: 50 Slave: 43 Port: 0
Hello World over I2C & SPI from SPI_MSTransfer....
58424
Size: 50 Slave: 43 Port: 0
Hello World over I2C & SPI from SPI_MSTransfer....
58940
Size: 50 Slave: 43 Port: 0
Hello World over I2C & SPI from SPI_MSTransfer....
dded new!
Added new!
Added new!
Added new!
Added new!
Prevented double!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Prevented double!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
Added new!
void SPI_MSTransfer::receiveEvent0(size_t count) {
uint16_t data[6], checksum = 0, data_pos = 0;
data[data_pos] = 0xAA55; checksum ^= data[data_pos]; data_pos++; // HEADER
data[data_pos] = sizeof(data) / 2; checksum ^= data[data_pos]; data_pos++; // DATA SIZE
data[data_pos] = 0x0002; checksum ^= data[data_pos]; data_pos++; // SUB SWITCH STATEMENT
data[data_pos] = 0x0000; checksum ^= data[data_pos]; data_pos++; // I2C PORT
data[data_pos] = count; checksum ^= data[data_pos]; data_pos++;
data[data_pos] = checksum;
[COLOR="#FF0000"] if ( !_slave_pointer->SPI_MSTransfer::stmca.replace(data,5,1,2,3) ) _slave_pointer->SPI_MSTransfer::stmca.push_back((const uint16_t*)data,(uint16_t)data[1]);
[/COLOR] _slave_pointer->SPI_MSTransfer::_i2c_slave_isr_triggered |= 1 << 0;
}
void SPI_MSTransfer::receiveEvent1(size_t count) {
uint16_t data[6], checksum = 0, data_pos = 0;
data[data_pos] = 0xAA55; checksum ^= data[data_pos]; data_pos++; // HEADER
data[data_pos] = sizeof(data) / 2; checksum ^= data[data_pos]; data_pos++; // DATA SIZE
data[data_pos] = 0x0002; checksum ^= data[data_pos]; data_pos++; // SUB SWITCH STATEMENT
data[data_pos] = 0x0001; checksum ^= data[data_pos]; data_pos++; // I2C PORT
data[data_pos] = count; checksum ^= data[data_pos]; data_pos++;
data[data_pos] = checksum;
[COLOR="#FF0000"] if ( !_slave_pointer->SPI_MSTransfer::stmca.replace(data,5,1,2,3) ) _slave_pointer->SPI_MSTransfer::stmca.push_back((const uint16_t*)data,(uint16_t)data[1]);
[/COLOR] _slave_pointer->SPI_MSTransfer::_i2c_slave_isr_triggered |= 1 << 1;
}
void SPI_MSTransfer::receiveEvent2(size_t count) {
uint16_t data[6], checksum = 0, data_pos = 0;
data[data_pos] = 0xAA55; checksum ^= data[data_pos]; data_pos++; // HEADER
data[data_pos] = sizeof(data) / 2; checksum ^= data[data_pos]; data_pos++; // DATA SIZE
data[data_pos] = 0x0002; checksum ^= data[data_pos]; data_pos++; // SUB SWITCH STATEMENT
data[data_pos] = 0x0002; checksum ^= data[data_pos]; data_pos++; // I2C PORT
data[data_pos] = count; checksum ^= data[data_pos]; data_pos++;
data[data_pos] = checksum;
[COLOR="#FF0000"] if ( !_slave_pointer->SPI_MSTransfer::stmca.replace(data,5,1,2,3) ) _slave_pointer->SPI_MSTransfer::stmca.push_back((const uint16_t*)data,(uint16_t)data[1]);
[/COLOR] _slave_pointer->SPI_MSTransfer::_i2c_slave_isr_triggered |= 1 << 2;
}
void SPI_MSTransfer::receiveEvent3(size_t count) {
uint16_t data[6], checksum = 0, data_pos = 0;
data[data_pos] = 0xAA55; checksum ^= data[data_pos]; data_pos++; // HEADER
data[data_pos] = sizeof(data) / 2; checksum ^= data[data_pos]; data_pos++; // DATA SIZE
data[data_pos] = 0x0002; checksum ^= data[data_pos]; data_pos++; // SUB SWITCH STATEMENT
data[data_pos] = 0x0003; checksum ^= data[data_pos]; data_pos++; // I2C PORT
data[data_pos] = count; checksum ^= data[data_pos]; data_pos++;
data[data_pos] = checksum;
[COLOR="#FF0000"] if ( !_slave_pointer->SPI_MSTransfer::stmca.replace(data,5,1,2,3) ) _slave_pointer->SPI_MSTransfer::stmca.push_back((const uint16_t*)data,(uint16_t)data[1]);
[/COLOR] _slave_pointer->SPI_MSTransfer::_i2c_slave_isr_triggered |= 1 << 3;
}
case 0x9712: {
switch ( data[2] ) {
case 0x0000: {
if ( _slave_pointer->SPI_MSTransfer::stmca.size() > 0 ) { // IF QUEUES EXIST, ONE WILL BE DEQUEUED TO MASTER
uint16_t buf_pos = 0;
while ( !(GPIOD_PDIR & 0x01) ) {
if ( SPI0_SR & 0xF0 ) {
SPI0_PUSHR_SLAVE = _slave_pointer->SPI_MSTransfer::stmca.front()[ ( buf_pos > _slave_pointer->SPI_MSTransfer::stmca.front()[1] ) ? buf_pos = 0 : buf_pos++];
if ( SPI0_POPR == 0xD0D0 ) {
[COLOR="#FF0000"] if ( _slave_pointer->SPI_MSTransfer::stmca.front()[2] == 0x0002 ) {
if ( _slave_pointer->SPI_MSTransfer::stmca.front()[3] == 0x0000 ) _slave_pointer->SPI_MSTransfer::_i2c_slave_isr_triggered = _slave_pointer->SPI_MSTransfer::_i2c_slave_isr_triggered & 0b11111110;
else if ( _slave_pointer->SPI_MSTransfer::stmca.front()[3] == 0x0001 ) _slave_pointer->SPI_MSTransfer::_i2c_slave_isr_triggered = _slave_pointer->SPI_MSTransfer::_i2c_slave_isr_triggered & 0b11111101;
else if ( _slave_pointer->SPI_MSTransfer::stmca.front()[3] == 0x0002 ) _slave_pointer->SPI_MSTransfer::_i2c_slave_isr_triggered = _slave_pointer->SPI_MSTransfer::_i2c_slave_isr_triggered & 0b11111011;
else if ( _slave_pointer->SPI_MSTransfer::stmca.front()[3] == 0x0003 ) _slave_pointer->SPI_MSTransfer::_i2c_slave_isr_triggered = _slave_pointer->SPI_MSTransfer::_i2c_slave_isr_triggered & 0b11110111; }
}[/COLOR]
_slave_pointer->SPI_MSTransfer::stmca.pop_front();
break;
}
}
}
SPI0_SR |= SPI_SR_RFDF; return;
}
1085925
1086025
Size: 53 Slave: 43 Port: 0
.....................................................
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
1086125
1086225
Size: 53 Slave: 43 Port: 0
.....................................................
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
1086325
1086426
Size: 53 Slave: 43 Port: 0
.....................................................
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
1086526
1086627
Size: 53 Slave: 43 Port: 0
.....................................................
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
1086727
1086828
Size: 53 Slave: 43 Port: 0
.....................................................
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
1086928
1087028
Size: 53 Slave: 43 Port: 0
.....................................................
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
1087128
1087229
Size: 53 Slave: 43 Port: 0
.....................................................
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
1087329
1087430
Size: 53 Slave: 43 Port: 0
.....................................................
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
1087530
1087631
Size: 53 Slave: 43 Port: 0
.....................................................
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
1087731
1087832
Size: 53 Slave: 43 Port: 0
.....................................................
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
1087932
1088033
1088133
Size: 53 Slave: 43 Port: 0
.....................................................
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
1088233
1088334
Size: 53 Slave: 43 Port: 0
.....................................................
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
1088434
1088535
Size: 53 Slave: 43 Port: 0
.....................................................
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
1088635
1088736
Size: 53 Slave: 43 Port: 0
.....................................................
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
1088836
1088937
Size: 53 Slave: 43 Port: 0
.....................................................
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
1089037
1089137
Size: 53 Slave: 43 Port: 0
.....................................................
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
1089237
1089338
Size: 53 Slave: 43 Port: 0
.....................................................
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
1089438
1089539
Size: 53 Slave: 43 Port: 0
.....................................................
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
1089639
1089739
Size: 53 Slave: 43 Port: 0
.....................................................
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
1089839
1089940
Size: 53 Slave: 43 Port: 0
.....................................................
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
1090040
1090141
Size: 53 Slave: 43 Port: 0
.....................................................
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
1090241
1090342
Size: 53 Slave: 43 Port: 0
.....................................................
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
1090442
1090543
Size: 53 Slave: 43 Port: 0
.....................................................
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
1090643
1090744
Size: 53 Slave: 43 Port: 0
.....................................................
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
1090844
1090944
Size: 53 Slave: 43 Port: 0
.....................................................
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
1091044
1091145
Size: 53 Slave: 43 Port: 0
.....................................................
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
1091245
1091345
Size: 53 Slave: 43 Port: 0
.....................................................
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
41038
41238
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
41438
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
41638
41838
42038
42238
42438
42638
42838
43038
43238
43438
43638
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
43838
44038
44238
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
44438
44638
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
44838
45038
45238
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
45438
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
45638
45838
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
46038
46238
46438
46638
46838
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
47038
47238
47438
47638
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
47838
48038
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
48238
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
48438
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
48638
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
48838
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
49038
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
49238
49438
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
49638
49838
50038
50238
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
50438
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
50638
50838
51038
51238
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
51438
51638
51838
52038
52238
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
52438
52638
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
52838
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
53038
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
53238
53438
53638
53838
54038
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
54238
54438
54638
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
54838
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
55038
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
55238
55438
55638
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
55838
56038
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
56238
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
56438
56638
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
56838
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
57038
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
57238
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
57438
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
57638
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
57838
58038
58238
Size: 53 Slave: 43 Port: 0
Hello World this is a test of long string -- SPI_MST.
W0.read(buf, count);
else if ( buf[2] == 0x0002 ) {
spi_port->transfer16(0xD0D0); // send confirmation
SPI_deassert();
if ( _wire_onReceivefunc != nullptr ) {
AsyncMST info; info.slave = chip_select; info.port = buf[3];
[COLOR="#FF0000"] _wire_callback_active = 1;
mtsca.push_front(buf,buf[1]);
_wire_onReceivefunc(buf[4],info);
mtsca.pop_front();
_wire_callback_active = 0;[/COLOR]
}
}
size_t SPI_MSTransfer::read(uint8_t* buffer, size_t size) {
if ( _slave_access ) return 0;
if ( wire_port != -1 ) {
[COLOR="#FF0000"] if ( _wire_callback_active ) {
for ( uint16_t i = 0; i < size; i++ ) buffer[i] = (uint8_t)mtsca.peek_front()[i+5];
return 0;
}[/COLOR]
uint16_t data[7], checksum = 0, data_pos = 0;
data[data_pos] = 0x66AA; checksum ^= data[data_pos]; data_pos++; // HEADER
uint8_t buf[count] = { 0 };
W0.read(buf, count);
for ( uint16_t i = 0; i < count; i++ ) {
Serial.print((char)buf[i]);
} Serial.println();
for ( uint16_t i = 0; i < count[COLOR="#FF0000"]+2[/COLOR]; i++ ) {
Serial.print(W0.read()); Serial.print(" ");
} Serial.println();
if ( wire_port != -1 ) {
if ( _wire_callback_active ) {
[COLOR="#FF0000"]if ( _wire_callback_readpos >= mtsca.peek_front()[4] ) return -1;[/COLOR]
uint8_t value = (uint8_t)mtsca.peek_front()[_wire_callback_readpos+5];
_wire_callback_readpos++;
return value;
}
72 101 108 108 111 32 87 111 114 108 100 32 116 104 105 115 32 105 115 32 97 32 116 101 115 116 32 111 102 32 108 111 110 103 32 115 116 114 105 110 103 32 45 45 32 83 80 73 95 77 83 84 0 [COLOR="#FF0000"]-1 -1 [/COLOR]
Hello World this is a test of long string -- SPI_MST
if ( _wire_callback_active ) {
if ( _wire_callback_readpos >= mtsca.peek_front()[4] ) return -1;
return (uint8_t)mtsca.peek_front()[_wire_callback_readpos+5];
}
Serial.print((char)W0.[COLOR="#FF0000"]peek[/COLOR]()); Serial.print(" ");
Serial.print((char)W0.[COLOR="#FF0000"]peek[/COLOR]());Serial.print(" ");
Serial.print((char)W0.[COLOR="#008000"]read[/COLOR]());Serial.print(" ");
Serial.print((char)W0.[COLOR="#FF0000"]peek[/COLOR]());Serial.println(" ");
[COLOR="#FF0000"]H H[/COLOR] [COLOR="#008000"]H[/COLOR] [COLOR="#FF0000"]e[/COLOR]
Hello World this is a test of long string -- SPI_MST
if ( _wire_callback_active ) return mtsca.peek_front()[4] - _wire_callback_readpos;
#include <SPI_MSTransfer.h>
SPI_MSTransfer W0 = SPI_MSTransfer("Wire", 43, &SPI2, 30000000 );
void setup() {
Wire.begin(I2C_MASTER, 0, 0, 0, 0, I2C_PULLUP_EXT, 100000, I2C_OP_MODE_IMM);
Serial.begin(115200);
while (!Serial && millis() < 2000 );
W0.onDetect([](AsyncMST info) {
W0.begin(I2C_SLAVE, 0x22, I2C_PINS_18_19, I2C_PULLUP_EXT, 100000);
Wire.beginTransmission(0x22);
Wire.write("Hello Master!", 13);
Wire.endTransmission();
W0.onReceive(hello);
});
}
void hello(size_t count, AsyncMST info) {
Serial.print("Size: "); Serial.print(count);
Serial.print(" Slave: "); Serial.print(info.slave);
Serial.print(" Port: "); Serial.println(info.port);
if ( count > 10 ) {
uint8_t buf[count] = { 0 };
W0.read(buf, count);
for ( uint16_t i = 0; i < count; i++ ) {
Serial.print((char)buf[i]);
} Serial.println();
}
else {
Serial.print("Count: "); Serial.println(W0.read());
}
Serial.println();
}
void loop() {
W0.events(1);
static uint32_t wire_write_timer = millis();
if ( millis() - wire_write_timer >= 1000 ) {
wire_write_timer = millis();
Wire.beginTransmission(0x22);
char text1[] = "Yellow World -- SPI_MST";
Wire.write(text1, sizeof(text1));
Wire.sendTransmission();
static uint8_t t = 1;
Wire.beginTransmission(0x22);
t++;
Wire.write(t);
Wire.sendTransmission();
}
}
#include <SPI_MSTransfer.h>
SPI_MSTransfer slave = SPI_MSTransfer("SLAVE", "STANDALONE");
void setup() {
Serial.begin(115200);
slave.begin( );
// slave.debug(Serial);
}
void loop() {
slave.events();
}
[ATTACH]13605._xfImport[/ATTACH]