Yes, the documentation for how to implement the pigeon is a bit light. I think you are correct that the that this is not yet supported in the simulator.
We have not actually run this code yet, but I think you are putting the wrong identifier in.
Here is what we have (but we are using the gadgeteer cable in a Talon).
frontLeftDrive = WPI_TalonSRX(1)
self.pigeon = PigeonIMU(frontLeftDrive)
This did build for the simulator without error.
If you want to run CAN, that line self.PIGEON_IMU_CAN_ID should be an integer. So, you could set it as a variable as I did above, or just define the CAN id of your Pigeon (do not forget to set it with the CTRE lifeboat software).
Either way, your code would look something like this.
self.pigeon = PigeonIMU(5)
We have a build day tomorrow, and I will try to get testing this on the agenda. We are working on this, but have other pieces to focus on first.
Good luck, and let me know if you get this working first. We are just figuring it out ourselves.
~Mr. R^2
[Edit] Once we figure this out for certain, does anyone know how we can update the documentation? Do we just do a pull request on the git? Or do we do something else? You all are doing such an excellent job with keeping robotpy updated, relevant, and running smooth. My team cannot help with too much of the development, but if it would be helpful, we may be able to help update the documentation as we test out new systems, and learn how to program our robot in Python. [/Edit]