From d79286ebba589a2e2a14235f33eb087e3fe8bfbb Mon Sep 17 00:00:00 2001 From: Godzil Date: Thu, 17 Nov 2022 21:07:34 +0000 Subject: [PATCH] Updating the README file - Adding some output example from the tools - Reformating a bit to add a Known bug section listing all the found buf up so far. --- README.md | 58 ++++++++++++++++++++++++++++++++++++------- samples/P0002_18.gif | Bin 0 -> 471143 bytes samples/P0002_18.png | Bin 0 -> 2440 bytes 3 files changed, 49 insertions(+), 9 deletions(-) create mode 100644 samples/P0002_18.gif create mode 100644 samples/P0002_18.png diff --git a/README.md b/README.md index 6270f84..c472acb 100644 --- a/README.md +++ b/README.md @@ -14,29 +14,69 @@ executing your own code. An effort to find how the Bluetooth is workind is also underway but too early to document it. Up so far all I can say is that it use BLE. -The [update_files](update_files) folder include all the known update file released by MinBay. - +The [update_files](update_files) folder include all the known update file released by MinBay. The [sample_tools](sample_tools) folder include sample application in python handling the different type of file related to the MB701. -### Quick note about updating your MB701 -About update, **DO NOT** try to update the MB701 using anything else than a PC under windows, and -potentially linux. The way they handle FAT is weird and Mac OS seems to have issues with saving -the update file properly leading the board to crash in weird way. +### Output example + +![P0002_18.png](samples/P0002_18.png) ![P0002_18.gif](samples/P0002_18.gif) +P0002_18 - Artist: Unknown (Minbay?) ### TODO - [ ] Documenting the update file format - [ ] Documenting the BLE protocol - [X] Creating a sample tool to create animated an gif from a .dat file - - [ ] Finish the pixb2img to crop image if wanted (it only show imaged in their full 32x32 format) + - [ ] Finish the pixb2img to crop image if wanted (it only shows imaged in their full 32x32 format) - [ ] Hardware documentation, there is definitely a serial port and other port on the board. - [ ] Maybe add datasheet of the components used on the board. - [ ] Find how they draw straigh lines and circle to have an exact match. ## Note -This repository is obviously not related in anyway with MinBay the creators of the MB701. +This repository is obviously not related in any way with MinBay the creators of the MB701. For more information about the MB701 and MinBay go do their website: https://minbay.com If you have any information missing in this repository, feel free to contact me, especially if you have firmware that -I did not manage to save from their website and saved here. \ No newline at end of file +I did not manage to save from their website and saved here. + +## MB701 known bugs + + ### 1 - Pixel tool overflow + +#### Explanation + +Using the normal pixel drawing tool, drawing too many pixels in a single stroke can lead to at least two possible outcome +1. the artboard will crash and force you to power cycle it +2. the history will not work properly, and you will not be able to properly undo/redo the stroke. + +#### Reason + +Considering how is made the current version of the PTCR format, it can only store 255 pixel per stroke, so having more +pixel than this number may generate a buffer overflow at some point, this need to be confirmed with the reverse +engineering of the main software, but with really long stroke crash has been consistent. +Smaller but more than ~200 pixels stroke do lead to problem with the history. + +Also considering that some history files provided with the artboard do have error in the pixel count on some long +stroke, it is likely they also store this number with a non 8bit cap and the value do roll-over and create counting issues. + +| Discoverd | Affected firmware | Fixed on Version | +|------------|-------------------|------------------| +| 17/11/2022 | All known | N/A | + + ### 2 - Update not working properly with Mac OS + +#### Explanation + +Copying an update file to the MB701 from a Mac OS based system will not work, properly the file copy finish without any error +but the artboard will crash when it is ejected. +Doing the same thing from a windows system do not crash the board. + +#### Reason + +Unclear at the moment, but probably linked with the way show a FAT filesystem to the USB as I think it does not use a +native FAT internally. + +| Discoverd | Affected firmware | Fixed on Version | +|------------|-------------------|------------------| +| 01/11/2022 | All known | N/A | \ No newline at end of file diff --git a/samples/P0002_18.gif b/samples/P0002_18.gif new file mode 100644 index 0000000000000000000000000000000000000000..7d3502f761061776fc289fb735679a4d37ef50ab GIT binary patch literal 471143 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�SOaJz0G^e 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

9|?$3#$B7g3G;^ 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 literal 0 HcmV?d00001 diff --git a/samples/P0002_18.png b/samples/P0002_18.png new file mode 100644 index 0000000000000000000000000000000000000000..57b58a6f9fab4cdf5eb97b8753744670fcd769ce GIT binary patch literal 2440 zcmai0dsNbC8n(8!8rN<2&^VnukN&N^a4)pyhtIa!%d$V%zI{3z{!_@= z;1BD*x(S1aj%X&n8$Q41#?!3x#e!6Q-dLM>h+D3gH#ibO&_X-#qdpb{AzG!a-~NO@ zP8*))j-!r-A!iul69r$V&&n>{;n`eIy>adc$MoeC_Lf_~mXxELq5Jz3_P6~=aILxO z=?V}I(21dnhvklKRm81+aON)OoVJ9TAh$o7DA+OQK5Du_< z9g$jdVuvZ1%aqz{^J#mgpbAS72HLMkjKcV-%U5h@KPNk^1S6gsjrTr?tu{U8j0o(2 zWYMJ7u8DlFOx_Wlg9YzB=ugAoYtrRY139sjPUN^5+Pwyi$=EDk8Xqcfo0kHU6kmwq$my{_DOD*HS3x|MF#3e zI4%dR>ih6Hb$~`&B$Lw)%wSR17+@3n2r=CsyHp`3rfwj|oy;u2G$i!2?yKw>{O?># z$@EkS;#sHWx8*=)E04%wP3PH%;bIlBA?rfwI&%I!|JFpSrmwRTBUPhZB<}*-?Lc_EHODZef6?DO9szY47}+BXAmmT zs4(Y?mlp!qee7Q_aj(gxtuFRd4Ufa+a-Q5!^^oKmSDbEDU>7l+;6d!b%8KQ85!FzB z#vIK!$~9E%?9N4>i$6xs+1c6TLh-ub;!>1?DH6p=_T@sTGa^-0+Tm#y#psjk_LvxpANPQZJD z9+5Kw0zYNK6SLJc^(0gto$&2J-Zz`$#US9D^(oz;G#(~K_7BEW#Fe{=s?KZ{sDp$R zcX@KxeZ^((tHwMszhov*gM6`*6z!z_7VZKNV&$bBirIA?112uh%LcfnMyrKu0@>?a zH6)u~;8&a4fFvBs?Pgw-FRzjC7fBkeE%8{j=(Ohla6OzMBTEdEgl5> zLC5MBvc*s{{v$cN+ZdqJUpP_i_?H}9RN--rx8fBML5YJ|I>OhB5czQui6gSFo{>$a z1M@xq*%4m=>@>Ur@{nX zvk?EV(rIC`u_!k{5$D+P8Z)}Rv8v;FbMn=PPs>HYxSK3M^LZGCVxjB7d!&l*Tu z6+X{RiqR|s`Ko6^5!3Z*@+>Tvm+3E0uTn^Vr)K^hS2^}#2~XaASA#B#VBUTo z-M-#S)-;{Nkf(RF#dsI?Jye2hQ!$N1gWoTe?!+sou-BRApWFJsp? zI&{k(lFQsxnTPtha^6dlF3l*-x>|GcH;%NMp;J?$Hn$My>E-=-73jMi8+=VSwGtrt z4oNwhJLs66vQ)@j<35%mSdlnW8al_u$M=lnn%OT``dn|M8jYkm#v-&=Sc|-euSW#v zE%Jqa*AAwZ(BGGJF(O3rhteBho0p4!22czv0