A library with drivers for different peripherals on the LPC4088 QuickStart Board or related add-on boards.
Dependencies: FATFileSystem
Fork of EALib by
AR1021.h
- Committer:
- embeddedartists
- Date:
- 2013-10-18
- Revision:
- 4:b32cf4ef45c5
- Child:
- 5:3290d7b766d5
File content as of revision 4:b32cf4ef45c5:
#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); bool init(uint16_t width, uint16_t height); bool read(touchCoordinate_t &coord); bool calibrateStart(); bool getNextCalibratePoint(uint16_t* x, uint16_t* y); 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