Committer:
daan
Date:
Thu Dec 22 09:44:29 2011 +0000
Revision:
2:ce4c7e5ab241
Parent:
1:578d6bbe9f09

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
daan 1:578d6bbe9f09 1 #ifndef WRITER_BASE_H
daan 1:578d6bbe9f09 2 #define WRITER_BASE_H
daan 1:578d6bbe9f09 3
daan 1:578d6bbe9f09 4 #include "stdint.h"
daan 1:578d6bbe9f09 5
daan 1:578d6bbe9f09 6 namespace olc {
daan 1:578d6bbe9f09 7
daan 1:578d6bbe9f09 8 /**
daan 1:578d6bbe9f09 9 * write ol commands to a bytestring.
daan 1:578d6bbe9f09 10 **/
daan 1:578d6bbe9f09 11
daan 1:578d6bbe9f09 12 class WriterBase {
daan 1:578d6bbe9f09 13 public:
daan 1:578d6bbe9f09 14 WriterBase();
daan 1:578d6bbe9f09 15
daan 1:578d6bbe9f09 16 bool penUp();
daan 1:578d6bbe9f09 17 bool penDown();
daan 1:578d6bbe9f09 18 bool wait(uint16_t aWait);
daan 1:578d6bbe9f09 19
daan 1:578d6bbe9f09 20
daan 1:578d6bbe9f09 21 bool moveTo(uint16_t aX, uint16_t aY );
daan 1:578d6bbe9f09 22 bool lineTo(uint16_t aX, uint16_t aY );
daan 1:578d6bbe9f09 23 bool setLaserPower(uint16_t aPower );
daan 1:578d6bbe9f09 24 bool setStepSize(uint16_t aStepSize );
daan 1:578d6bbe9f09 25 bool bitmapU8(uint8_t *aData, uint8_t aSize);
daan 1:578d6bbe9f09 26 bool areYouThere();
daan 1:578d6bbe9f09 27 bool ready();
daan 1:578d6bbe9f09 28 bool message(int aLevel, const char *aString);
daan 1:578d6bbe9f09 29
daan 2:ce4c7e5ab241 30 bool reportBufferInSize();
daan 2:ce4c7e5ab241 31 bool bufferInSize(uint16_t aSize);
daan 2:ce4c7e5ab241 32
daan 2:ce4c7e5ab241 33 bool readColor();
daan 2:ce4c7e5ab241 34 bool reportColor(uint8_t c);
daan 1:578d6bbe9f09 35
daan 1:578d6bbe9f09 36 void setData(uint8_t *aData, int aCapacity);
daan 1:578d6bbe9f09 37
daan 1:578d6bbe9f09 38
daan 1:578d6bbe9f09 39 // overload this for different buffer type.
daan 1:578d6bbe9f09 40 virtual int size() {
daan 1:578d6bbe9f09 41 return mPlayHead;
daan 1:578d6bbe9f09 42 }
daan 1:578d6bbe9f09 43 virtual int spaceLeft() {
daan 1:578d6bbe9f09 44 return mCapacity - mPlayHead;
daan 1:578d6bbe9f09 45 }
daan 1:578d6bbe9f09 46
daan 1:578d6bbe9f09 47 protected:
daan 1:578d6bbe9f09 48
daan 1:578d6bbe9f09 49 // overload this for different buffer type.
daan 1:578d6bbe9f09 50 virtual void put(uint8_t aData) {
daan 1:578d6bbe9f09 51 mData[mPlayHead] = aData;
daan 1:578d6bbe9f09 52 mPlayHead++;
daan 1:578d6bbe9f09 53 }
daan 1:578d6bbe9f09 54
daan 1:578d6bbe9f09 55 void encodeU16(uint16_t u) {
daan 1:578d6bbe9f09 56 put( (uint8_t)(u >> 8) );
daan 1:578d6bbe9f09 57 put( (uint8_t)(u & 0xFF) );
daan 1:578d6bbe9f09 58 }
daan 1:578d6bbe9f09 59
daan 1:578d6bbe9f09 60 uint8_t *mData;
daan 1:578d6bbe9f09 61 int mPlayHead;
daan 1:578d6bbe9f09 62 int mCapacity;
daan 1:578d6bbe9f09 63
daan 1:578d6bbe9f09 64 bool mPenDown;
daan 1:578d6bbe9f09 65 uint16_t mLaserPower;
daan 1:578d6bbe9f09 66 uint16_t mGalvoX;
daan 1:578d6bbe9f09 67 uint16_t mGalvoY;
daan 1:578d6bbe9f09 68 };
daan 1:578d6bbe9f09 69
daan 1:578d6bbe9f09 70
daan 1:578d6bbe9f09 71 } // end namespace ol
daan 1:578d6bbe9f09 72
daan 1:578d6bbe9f09 73 #endif // WRITER_BASE_H