import nddsJava.*;
import Realtime.*;
import tools.*;

public class rtAmpStateCallback extends nddsCallback {
  // This constructor is required for any class that extends nddsCallback
  public rtAmpStateCallback(rtAmpState msg) {
    super(msg);
  }

  public void exec(Object o) {
    rtAmpState m = (rtAmpState) msg;
    NomadFrame nframe = (NomadFrame)o;

    nframe.setAmps(1 == ((int)m.rtAmpEnables & 1),   // upper right enable
		   2 == ((int)m.rtAmpEnables & 2),   // upper left enable
		   4 == ((int)m.rtAmpEnables & 4),   // lower right enable
		   8 == ((int)m.rtAmpEnables & 8),   // lower left enable
		   16 == ((int)m.rtAmpEnables & 16), // steer right enable
		   32 == ((int)m.rtAmpEnables & 32), // steer left enable
		   1 == ((int)m.rtAmpFaults & 1),    // upper right fault
		   2 == ((int)m.rtAmpFaults & 2),    // upper left fault
		   4 == ((int)m.rtAmpFaults & 4),    // lower right fault
		   8 == ((int)m.rtAmpFaults & 8),    // lower left fault
		   16 == ((int)m.rtAmpFaults & 16),  // steer right fault
		   32 == ((int)m.rtAmpFaults & 32)); // steer left fault
  }
}
