Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: FATFileSystem
Fork of EALib by
AR1021.h
- Committer:
- embeddedartists
- Date:
- 2014-01-10
- Revision:
- 10:f2409dc07e49
- Parent:
- 5:3290d7b766d5
- Child:
- 12:15597e45eea0
File content as of revision 10:f2409dc07e49:
#ifndef AR1021_H
#define AR1021_H
#include "TouchPanel.h"
/**
* Microchip Touch Screen Controller (AR1021).
*
* Please note that this touch panel has an on-board storage for
* calibration data. Once a successful calibration has been performed
* it is not needed to do additional calibrations since the stored
* calibration data will be used.
*/
class AR1021 : public TouchPanel {
public:
/**
* Constructor
*
* @param mosi SPI MOSI pin
* @param miso SPI MISO pin
* @param sck SPI SCK pin
* @param cs chip-select pin
* @param siq interrupt pin
*/
AR1021(PinName mosi, PinName miso, PinName sck, PinName cs, PinName siq);
virtual bool init(uint16_t width, uint16_t height);
virtual bool read(touchCoordinate_t &coord);
virtual bool calibrateStart();
virtual bool getNextCalibratePoint(uint16_t* x, uint16_t* y);
virtual bool waitForCalibratePoint(bool* morePoints, uint32_t timeout);
private:
SPI _spi;
DigitalOut _cs;
DigitalIn _siq;
InterruptIn _siqIrq;
bool _initialized;
int32_t _x;
int32_t _y;
int32_t _pen;
uint16_t _width;
uint16_t _height;
uint8_t _inset;
int _calibPoint;
int cmd(char cmd, char* data, int len, char* respBuf, int* respLen, bool setCsOff=true);
int waitForCalibResponse(uint32_t timeout);
void readTouchIrq();
};
#endif
