@@ -418,13 +418,11 @@ void MCP2515Class::dumpRegisters(Stream& out)
418418
419419void MCP2515Class::reset ()
420420{
421- digitalWrite (_csPin, LOW);
422-
423421 SPI.beginTransaction (_spiSettings);
422+ digitalWrite (_csPin, LOW);
424423 SPI.transfer (0xc0 );
425- SPI.endTransaction ();
426-
427424 digitalWrite (_csPin, HIGH);
425+ SPI.endTransaction ();
428426
429427 delayMicroseconds (10 );
430428}
@@ -444,44 +442,38 @@ uint8_t MCP2515Class::readRegister(uint8_t address)
444442{
445443 uint8_t value;
446444
447- digitalWrite (_csPin, LOW);
448-
449445 SPI.beginTransaction (_spiSettings);
446+ digitalWrite (_csPin, LOW);
450447 SPI.transfer (0x03 );
451448 SPI.transfer (address);
452449 value = SPI.transfer (0x00 );
453- SPI.endTransaction ();
454-
455450 digitalWrite (_csPin, HIGH);
451+ SPI.endTransaction ();
456452
457453 return value;
458454}
459455
460456void MCP2515Class::modifyRegister (uint8_t address, uint8_t mask, uint8_t value)
461457{
462- digitalWrite (_csPin, LOW);
463-
464458 SPI.beginTransaction (_spiSettings);
459+ digitalWrite (_csPin, LOW);
465460 SPI.transfer (0x05 );
466461 SPI.transfer (address);
467462 SPI.transfer (mask);
468463 SPI.transfer (value);
469- SPI.endTransaction ();
470-
471464 digitalWrite (_csPin, HIGH);
465+ SPI.endTransaction ();
472466}
473467
474468void MCP2515Class::writeRegister (uint8_t address, uint8_t value)
475469{
476- digitalWrite (_csPin, LOW);
477-
478470 SPI.beginTransaction (_spiSettings);
471+ digitalWrite (_csPin, LOW);
479472 SPI.transfer (0x02 );
480473 SPI.transfer (address);
481474 SPI.transfer (value);
482- SPI.endTransaction ();
483-
484475 digitalWrite (_csPin, HIGH);
476+ SPI.endTransaction ();
485477}
486478
487479void MCP2515Class::onInterrupt ()
0 commit comments