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.
Revision 2:ce4c7e5ab241, committed 2011-12-22
- Comitter:
- daan
- Date:
- Thu Dec 22 09:44:29 2011 +0000
- Parent:
- 1:578d6bbe9f09
- Commit message:
Changed in this revision
diff -r 578d6bbe9f09 -r ce4c7e5ab241 PlayerBase.cpp --- a/PlayerBase.cpp Fri Dec 16 07:14:05 2011 +0000 +++ b/PlayerBase.cpp Thu Dec 22 09:44:29 2011 +0000 @@ -109,7 +109,9 @@ break; // sending a message. length is as strlen: number of characters // preceeding the terminating /0 character - + case olc:: REPORT_BUFFER_IN_SIZE: + reportBufferInSize(); + break; case olc::WAIT: delay = decodeU16(); wait(delay); @@ -138,8 +140,8 @@ y = decodeU16(); point(x,y); break; - case olc::READ_RGB: - readRgb(); + case olc::READ_COLOR: + readColor(); break; case olc::AYT: areYouThere(); @@ -153,7 +155,7 @@ g = get(); b = get(); setLaserPowerRgb(r,g,b); - + break; case olc::LASER_POWER: //std::cout << "laser power" << std::endl; mLaserPower = decodeU16();
diff -r 578d6bbe9f09 -r ce4c7e5ab241 PlayerBase.h --- a/PlayerBase.h Fri Dec 16 07:14:05 2011 +0000 +++ b/PlayerBase.h Thu Dec 22 09:44:29 2011 +0000 @@ -12,13 +12,14 @@ virtual void setGalvo(uint16_t x, uint16_t y); virtual void setLaserPower(uint16_t power); virtual void wait(uint16_t ms); + virtual void reportBufferInSize() {}; // this is for scanning to calibrate camera. virtual void calibrationScan() {}; virtual void point(uint16_t x, uint16_t y) {}; // this is for color scanning - virtual void readRgb() {}; + virtual void readColor() {}; virtual void setLaserPowerRgb(uint8_t red, uint8_t green, uint8_t blue) {}; virtual void ready() {};
diff -r 578d6bbe9f09 -r ce4c7e5ab241 PlayerEmbedded.h --- a/PlayerEmbedded.h Fri Dec 16 07:14:05 2011 +0000 +++ b/PlayerEmbedded.h Thu Dec 22 09:44:29 2011 +0000 @@ -13,7 +13,7 @@ class PlayerEmbedded : public PlayerBase { public: - PlayerEmbedded(fou::RingBuffer2k &aBuffer) : mBuffer(aBuffer) {}; + PlayerEmbedded(fou::RingBuffer8k &aBuffer) : mBuffer(aBuffer) {}; // void setGalvo(uint16_t x, uint16_t y); // void setLaserPower(uint16_t power); @@ -30,7 +30,7 @@ return d; }; - fou::RingBuffer2k& mBuffer; + fou::RingBuffer8k& mBuffer; };
diff -r 578d6bbe9f09 -r ce4c7e5ab241 VectorFormat.h --- a/VectorFormat.h Fri Dec 16 07:14:05 2011 +0000 +++ b/VectorFormat.h Thu Dec 22 09:44:29 2011 +0000 @@ -68,14 +68,21 @@ CALIBRATION_SCAN = 17, // 1 uint8 opcode uint16 top_x, uint16 left_y, uint16 bottom_x, uint16 right_y POINT = 18, // 1 unit8 opcode uint16 x, uint16 y - READ_RGB = 19, // 1 uint8 opcode uint8 + READ_COLOR = 19, // 1 uint8 opcode uint8 MESSAGE = 20, // 3+x uint8 opcode, level, length of message, x bytes BUFFER_LEFT_REPORT = 21, // opcode, uint16_t WAIT = 22, // opcode, uint16t time AYT = 23, // are you there - REPORT_RGB = 25, // 1 + 3 x uint8 + REPORT_COLOR = 25, // 1 + 3 x uint8 + + + REPORT_BUFFER_IN_SIZE = 26, // 1 + uint16 size + BUFFER_IN_SIZE = 27, // 1 + + ACK = 30, + NACK = 31, LINE_TO = PEN_DOWN + MOVE_TO, // 5 uint8 opcode, uint16 x, uint16 y H_LINE_TO = PEN_DOWN + H_MOVE_TO, // 3 uint8 opcode, uint16 x
diff -r 578d6bbe9f09 -r ce4c7e5ab241 WriterBase.cpp --- a/WriterBase.cpp Fri Dec 16 07:14:05 2011 +0000 +++ b/WriterBase.cpp Thu Dec 22 09:44:29 2011 +0000 @@ -74,24 +74,38 @@ return true; } -bool olc::WriterBase::readRgb() +bool olc::WriterBase::readColor() { if (spaceLeft() < 2) return false; - put( (uint8_t)olc::READ_RGB ); + put( (uint8_t)olc::READ_COLOR ); return true; } -bool olc::WriterBase::reportRgb(uint8_t r, uint8_t g, uint8_t b) +bool olc::WriterBase::reportColor(uint8_t c) { if (spaceLeft() < 4) return false; - put( (uint8_t)olc::REPORT_RGB ); - put( r ); - put( g ); - put( b ); + put( (uint8_t)olc::REPORT_COLOR ); + put( c ); return true; } -bool olc::WriterBase::bitmapU8(uint8_t *aData, uint8_t aSize) { +bool olc::WriterBase::reportBufferInSize() +{ + if (spaceLeft() < 2) return false; + put( (uint8_t)olc::REPORT_BUFFER_IN_SIZE ); + return true; +} + +bool olc::WriterBase::bufferInSize(uint16_t aSize) +{ + if (spaceLeft() < 3) return false; + put( (uint8_t)olc::BUFFER_IN_SIZE ); + encodeU16( aSize ); + return true; +} + +bool olc::WriterBase::bitmapU8(uint8_t *aData, uint8_t aSize) +{ if (spaceLeft() < 2) return false; put( (uint8_t)olc::BITMAPU8 ); put( aSize );
diff -r 578d6bbe9f09 -r ce4c7e5ab241 WriterBase.h --- a/WriterBase.h Fri Dec 16 07:14:05 2011 +0000 +++ b/WriterBase.h Thu Dec 22 09:44:29 2011 +0000 @@ -27,8 +27,11 @@ bool ready(); bool message(int aLevel, const char *aString); - bool readRgb(); - bool reportRgb(uint8_t r, uint8_t g, uint8_t b); + bool reportBufferInSize(); + bool bufferInSize(uint16_t aSize); + + bool readColor(); + bool reportColor(uint8_t c); void setData(uint8_t *aData, int aCapacity);