File tree Expand file tree Collapse file tree 2 files changed +68
-0
lines changed Expand file tree Collapse file tree 2 files changed +68
-0
lines changed Original file line number Diff line number Diff line change @@ -491,6 +491,73 @@ void MCP2515Class::setClockFrequency(long clockFrequency)
491491 _clockFrequency = clockFrequency;
492492}
493493
494+ void MCP2515Class::dumpImportantRegisters (Stream& out) {
495+ out.print (" TEC: " );
496+ out.println (readRegister (0x1C ), HEX);
497+ out.print (" REC: " );
498+ out.println (readRegister (0x1D ), HEX);
499+ out.print (" CANINTE: " );
500+ out.println (readRegister (0x2B ), HEX);
501+
502+ out.print (" CANINTF: " );
503+ uint8_t regCANINTF = readRegister (0x2C );
504+ out.print (regCANINTF, HEX);
505+ if (regCANINTF & 0x80 ) {
506+ out.print (" MERRF" );
507+ }
508+ if (regCANINTF & 0x40 ) {
509+ out.print (" WAKIF" );
510+ }
511+ if (regCANINTF & 0x20 ) {
512+ out.print (" ERRIF" );
513+ }
514+ if (regCANINTF & 0x10 ) {
515+ out.print (" TX2IF" );
516+ }
517+ if (regCANINTF & 0x08 ) {
518+ out.print (" TX1IF" );
519+ }
520+ if (regCANINTF & 0x04 ) {
521+ out.print (" TX0IF" );
522+ }
523+ if (regCANINTF & 0x02 ) {
524+ out.print (" RX1IF" );
525+ }
526+ if (regCANINTF & 0x01 ) {
527+ out.print (" RX0IF" );
528+ }
529+ out.println ();
530+
531+ out.print (" EFLG: " );
532+ uint8_t regEFLG = readRegister (0x2D );
533+ out.print (regEFLG, HEX);
534+ if (regEFLG & 0x80 ) {
535+ out.print (" RX1OVR" );
536+ }
537+ if (regEFLG & 0x40 ) {
538+ out.print (" RX0OVR" );
539+ }
540+ if (regEFLG & 0x20 ) {
541+ out.print (" TXBO" );
542+ }
543+ if (regEFLG & 0x10 ) {
544+ out.print (" TXEP" );
545+ }
546+ if (regEFLG & 0x08 ) {
547+ out.print (" RXEP" );
548+ }
549+ if (regEFLG & 0x04 ) {
550+ out.print (" TXWAR" );
551+ }
552+ if (regEFLG & 0x02 ) {
553+ out.print (" RXWAR" );
554+ }
555+ if (regEFLG & 0x01 ) {
556+ out.print (" EWARN" );
557+ }
558+ out.println ();
559+ }
560+
494561void MCP2515Class::dumpRegisters (Stream& out)
495562{
496563 for (int i = 0 ; i < 128 ; i++) {
Original file line number Diff line number Diff line change @@ -63,6 +63,7 @@ class MCP2515Class : public CANControllerClass {
6363 void setSPIFrequency (uint32_t frequency);
6464 void setClockFrequency (long clockFrequency);
6565
66+ void dumpImportantRegisters (Stream& out);
6667 void dumpRegisters (Stream& out);
6768
6869private:
You can’t perform that action at this time.
0 commit comments