The HiTechnic Sensor Multiplexer (SMUX) is a complex sensor that requires a fair amount of intimate knowledge of its operation in order to use it.  The tutorial has both ROBOTC and NXC examples.  Please note that error checking for all the I2C calls is outside the scope of this tutorial.  This was done so as to not clutter the code and take away from the essence; to show how the SMUX works.

Table of contents:

  • The HiTechnic Sensor Multiplexer
    • Introduction
    • Operational states
  • Multiplexer Operation
    • How does it do what it does?
    • Programming examples
    • Putting it all together
    • Advanced operations
    • Dealing with the unexpected
  • 3rd Party ROBOTC Driver Suite
  • Appendix A Register Layout + Function
  • Appendix B: SMUX Status
  • Appendix C: Channel Mode
  • Appendix D: Channel Type
  • Appendix E: Supported Sensors

I hope you enjoy reading it and learning from it as much I enjoyed writing it.

You can download the tutorial here: [LINK].

Edited: 23-11-2009, updated tutorial to v1.0
Edited: 25-11-2009, updated tutorial to v1.0.1