AC_WRITE
AC_WRITE(ac, POWER_CTL, 0);
AC_WRITE(ac, POWER_CTL, ac->pdata.power_mode | PCTL_MEASURE);
AC_WRITE(ac, OFSX, (s8) ac->hwcal.x);
AC_WRITE(ac, OFSY, (s8) ac->hwcal.y);
AC_WRITE(ac, OFSZ, (s8) ac->hwcal.z);
AC_WRITE(ac, BW_RATE,
AC_WRITE(ac, POWER_CTL, ac->pdata.power_mode | PCTL_MEASURE);
AC_WRITE(ac, val >> 8, val & 0xFF);
AC_WRITE(ac, POWER_CTL, 0);
AC_WRITE(ac, OFSX, pdata->x_axis_offset);
AC_WRITE(ac, OFSY, pdata->y_axis_offset);
AC_WRITE(ac, OFSZ, pdata->z_axis_offset);
AC_WRITE(ac, THRESH_TAP, pdata->tap_threshold);
AC_WRITE(ac, DUR, pdata->tap_duration);
AC_WRITE(ac, LATENT, pdata->tap_latency);
AC_WRITE(ac, WINDOW, pdata->tap_window);
AC_WRITE(ac, THRESH_ACT, pdata->activity_threshold);
AC_WRITE(ac, THRESH_INACT, pdata->inactivity_threshold);
AC_WRITE(ac, TIME_INACT, pdata->inactivity_time);
AC_WRITE(ac, THRESH_FF, pdata->free_fall_threshold);
AC_WRITE(ac, TIME_FF, pdata->free_fall_time);
AC_WRITE(ac, TAP_AXES, pdata->tap_axis_control);
AC_WRITE(ac, ACT_INACT_CTL, pdata->act_axis_control);
AC_WRITE(ac, BW_RATE, RATE(ac->pdata.data_rate) |
AC_WRITE(ac, DATA_FORMAT, pdata->data_range);
AC_WRITE(ac, FIFO_CTL, FIFO_MODE(pdata->fifo_mode) |
AC_WRITE(ac, INT_MAP, ac->int_mask | OVERRUN);
AC_WRITE(ac, INT_MAP, 0);
AC_WRITE(ac, ORIENT_CONF,
AC_WRITE(ac, INT_ENABLE, ac->int_mask | OVERRUN);