 // misc
 #define OPS 16 // Action 1-10, stage, gear, light, rcs, brake, abort
 
-// helm
-#define RAMP_MAX 65
+// helm, with velocity ramping
+#define RAMP_MAX 100
 #define RAMP_MIN -RAMP_MAX
-#define DIR_MAX 2000
+#define DIR_MAX 6000
 #define DIR_MIN -DIR_MAX
 
 

  return (Wire.requestFrom(IO_ADDR_BASE | address, len) == len); // returns success fail
}

uint16_t i2cReadData() // get the data bytes and stuff them into a 16-bit unsigned value
{
  return (~(Wire.read() | (Wire.read() << 8)));
}


    for (col = PIN_HELM_MAT_COL; col < PIN_HELM_MAT_COLS; col++)
    {
      // get inverted result (matrix is active low) and shift it onto the matrix
      matrix = (matrix << 1) | !digitalRead(col); // wish there was <<=
    }

