/// -*- tab-width: 4; Mode: C++; c-basic-offset: 4; indent-tabs-mode: nil -*- #ifndef AP_ADC_ADS7844_H #define AP_ADC_ADS7844_H #define bit_set(p,m) ((p) |= ( 1< class AP_ADC_ADS7844 : public AP_ADC { public: AP_ADC_ADS7844(); // Constructor void Init( AP_PeriodicProcess * scheduler ); // Read 1 sensor value float Ch(unsigned char ch_num); // Read 6 sensors at once uint32_t Ch6(const uint8_t *channel_numbers, uint16_t *result); // check if Ch6 would block bool new_data_available(const uint8_t *channel_numbers); bool filter_result; private: uint16_t _filter_accel[3][ADC_ACCEL_FILTER_SIZE]; uint16_t _prev_gyro[3]; uint16_t _prev_accel[3]; uint8_t _filter_index_accel; static void read(uint32_t); }; #endif