Committer:
daan
Date:
Fri Dec 16 07:14:05 2011 +0000
Revision:
1:578d6bbe9f09
Child:
2:ce4c7e5ab241

        

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 1:578d6bbe9f09 30 bool readRgb();
daan 1:578d6bbe9f09 31 bool reportRgb(uint8_t r, uint8_t g, uint8_t b);
daan 1:578d6bbe9f09 32
daan 1:578d6bbe9f09 33 void setData(uint8_t *aData, int aCapacity);
daan 1:578d6bbe9f09 34
daan 1:578d6bbe9f09 35
daan 1:578d6bbe9f09 36 // overload this for different buffer type.
daan 1:578d6bbe9f09 37 virtual int size() {
daan 1:578d6bbe9f09 38 return mPlayHead;
daan 1:578d6bbe9f09 39 }
daan 1:578d6bbe9f09 40 virtual int spaceLeft() {
daan 1:578d6bbe9f09 41 return mCapacity - mPlayHead;
daan 1:578d6bbe9f09 42 }
daan 1:578d6bbe9f09 43
daan 1:578d6bbe9f09 44 protected:
daan 1:578d6bbe9f09 45
daan 1:578d6bbe9f09 46 // overload this for different buffer type.
daan 1:578d6bbe9f09 47 virtual void put(uint8_t aData) {
daan 1:578d6bbe9f09 48 mData[mPlayHead] = aData;
daan 1:578d6bbe9f09 49 mPlayHead++;
daan 1:578d6bbe9f09 50 }
daan 1:578d6bbe9f09 51
daan 1:578d6bbe9f09 52 void encodeU16(uint16_t u) {
daan 1:578d6bbe9f09 53 put( (uint8_t)(u >> 8) );
daan 1:578d6bbe9f09 54 put( (uint8_t)(u & 0xFF) );
daan 1:578d6bbe9f09 55 }
daan 1:578d6bbe9f09 56
daan 1:578d6bbe9f09 57 uint8_t *mData;
daan 1:578d6bbe9f09 58 int mPlayHead;
daan 1:578d6bbe9f09 59 int mCapacity;
daan 1:578d6bbe9f09 60
daan 1:578d6bbe9f09 61 bool mPenDown;
daan 1:578d6bbe9f09 62 uint16_t mLaserPower;
daan 1:578d6bbe9f09 63 uint16_t mGalvoX;
daan 1:578d6bbe9f09 64 uint16_t mGalvoY;
daan 1:578d6bbe9f09 65 };
daan 1:578d6bbe9f09 66
daan 1:578d6bbe9f09 67
daan 1:578d6bbe9f09 68 } // end namespace ol
daan 1:578d6bbe9f09 69
daan 1:578d6bbe9f09 70 #endif // WRITER_BASE_H