euhlmann
11-12-2016, 15:45
Is it possible? I know there's some endpoint on the roboRIO's webserver that does it, but it shouldn't have to be so complicated.
There's also the library function FRC_NetworkCommunication_CANSessionMux_receiveMess age (https://github.com/wpilibsuite/allwpilib/blob/master/ni-libraries/include/FRC_NetworkCommunication/CANSessionMux.h#L56) but I'm not sure how to use it. in PDP.cpp and PCM.cpp (https://github.com/wpilibsuite/allwpilib/tree/master/hal/lib/athena/ctre) it's given an arbitration ID and kFullMessageIDMask (0x1fffffff) which appears to filter out only messages with that arbitration ID. Is there a way to instead get all messages and check the arbitration IDs to see which devices are present? Or is the only way to spam the function with all possible combinations of arbitration IDs? And will doing so disrupt normal usage of CANTalon, PowerDistributionPanel, and Compressor?
There's also the library function FRC_NetworkCommunication_CANSessionMux_receiveMess age (https://github.com/wpilibsuite/allwpilib/blob/master/ni-libraries/include/FRC_NetworkCommunication/CANSessionMux.h#L56) but I'm not sure how to use it. in PDP.cpp and PCM.cpp (https://github.com/wpilibsuite/allwpilib/tree/master/hal/lib/athena/ctre) it's given an arbitration ID and kFullMessageIDMask (0x1fffffff) which appears to filter out only messages with that arbitration ID. Is there a way to instead get all messages and check the arbitration IDs to see which devices are present? Or is the only way to spam the function with all possible combinations of arbitration IDs? And will doing so disrupt normal usage of CANTalon, PowerDistributionPanel, and Compressor?