Finally did some testing on 29-bit identifier messages. They show up in the log when no filters are applied (030101), but do not show up when filters are applied (03010108XXXXXXXX). I think the problem is down in CANBus.cpp/setFilter(), maybe in how I'm writing the registers or setting up the mask? If anybody knows how the MCP2515 works, please feel free to debug or make suggestions for how to fix it.
Forked and committed my modifications which support 29-bit messages, and added a pull request (https://github.com/CANBus-Triple/CANBus-Triple/pulls) . From commit log: "Modify preprocessor def SUPPORTS_29BIT to 1 to enable. Not extensively tested yet, but filtering 11-bit messages under 29-bit mode works. Check out the new docs in SerialCommand.h for serial API usage."
I have modified the firmware to support 29-bit messages. I deliberated between making everyone use 32-bit longs in the serial API and so forth or keeping it a choice in the code. For now it is a choice is the code determined by a SUPPORTS_29BIT preprocessor definition. Can I commit this back to github so others can also use it?