static __attribute__((noreturn)) msg_t PollAccelThread(void *arg) { chRegSetThreadName("PollAccel"); (void)arg; while (TRUE) { chThdSleepMilliseconds(20); request_acceleration_data(); } }
static msg_t PollAccelThread(void *arg) { chRegSetThreadName("PollAccel"); (void)arg; while (TRUE) { /*chThdSleepMilliseconds(rand() & 31);*/ chThdSleepMilliseconds(32); request_acceleration_data(); } return 0; }
static void cmd_accel(BaseSequentialStream *chp, int argc, char *argv[]) { #if !USE_I2C_POLL_THD request_acceleration_data(); #endif int8_t accel_x,accel_y,accel_z; chSysLockFromIsr(); accel_x = acceleration_x; accel_y = acceleration_y; accel_z = acceleration_z; chSysUnlockFromIsr(); chprintf(chp, "accel: x:\t%d\ty:\t%d\tz:\t%d\n\r", accel_x,accel_y,accel_z); }