view projects/d-box/I2c_TouchKey.h @ 269:ac8eb07afcf5

Oxygen text added to each render.cpp file for the default projects. Text includes project explanation from Wiki, edited in places. Empty project added as a default project. Doxyfile updated. Each of the project locations added to INPUT configuration option. Consider just watching the whole project file so all new projects are automatically pulled through.
author Robert Jack <robert.h.jack@gmail.com>
date Tue, 17 May 2016 15:40:16 +0100
parents 59edd5780fef
children
line wrap: on
line source
/*
 * I2c.h
 *
 *  Created on: Oct 14, 2013
 *      Author: Victor Zappi
 */

#ifndef I2CTK_H_
#define I2CTK_H_

#include <I2c.h>

// #define NUM_BYTES_OLD 9
// #define NUM_BYTES_NEW 13

#define MAX_SENSOR_BYTES 20

enum {
	kSensorTypeTouchKey = 0,
	kSensorTypeDBox1 = 1,
	kSensorTypeDBox2 = 2
};

static const int kSensorBytes[3] = {9, 13, 20};

class I2c_TouchKey : public I2c
{
private:
	bool isReady;
	int sensorType;
	int numBytesToRead;

	// read NUM_BYTES bytes, which have to be properly parsed
	char dataBuffer[MAX_SENSOR_BYTES];
	int bytesRead;

	int rawSliderPosition[5];
	int rawSliderPositionH;

	int touchCount;
	float sliderSize[5];
	float sliderPosition[5];
	float sliderPositionH;


public:
	int initTouchKey(int sensorTypeToUse = kSensorTypeTouchKey);
	int readI2C();
	int getTouchCount();
	float * getSlidersize();
	float * getSliderPosition();
	float getSliderPositionH();

	bool ready() { return isReady; }

	I2c_TouchKey();
	~I2c_TouchKey();

};

inline int I2c_TouchKey::getTouchCount()
{
	return touchCount;
}

inline float * I2c_TouchKey::getSlidersize()
{
	return sliderSize;
}

inline float * I2c_TouchKey::getSliderPosition()
{
	return sliderPosition;
}

inline float I2c_TouchKey::getSliderPositionH()
{
	return sliderPositionH;
}





#endif /* I2CTK_H_ */