This commit backs out most of commit b4747286b19d3b15193b2a5e8a0fe48fa0a8638c. That change was added because sem_wait() would sometimes cause cancellation points inappropriated. But with these recent changes, nxsem_wait() is used instead and it is not a cancellation point. In the OS, all calls to sem_wait() changed to nxsem_wait(). nxsem_wait() does not return errors via errno so each place where nxsem_wait() is now called must not examine the errno variable. In all OS functions (not libraries), change sem_wait() to nxsem_wait(). This will prevent the OS from creating bogus cancellation points and from modifying the per-task errno variable. sched/semaphore: Add the function nxsem_wait(). This is a new internal OS interface. It is functionally equivalent to sem_wait() except that (1) it is not a cancellation point, and (2) it does not set the per-thread errno value on return.
ADXL345 ======= The ADXL345 accelerometer can operate in I2C or SPI mode. To operate in I2C mode just connect the CS pin to Vddi/o. In order to operate in SPI mode CS need to use connected to microcontroller, it cannot leave unconnected. In SPI mode it works with clock polarity (CPOL) = 1 and clock phase (CPHA) = 1. MPL115A ======= This driver has support only for MPL115A1 (SPI), but support to MPL115A2 (I2C) can be added easily.