bugs, improvements, and communication

bug007
Date: 2015-11-03
Location(s): cb.php
Problem: An icon that is a bit variable in the CB GUI is not followed by a ", 0" (without quotes) in assembly code and causes an error in MPLABĀ®. Note that bit variables in both the IB GUI and CB GUI use only the 0 bit.
Resolution: 2015-11-03
The problem was corrected so that bit variables are followed by a ", 0" (without quotes) in assembly code.

improvement001
Date: 2015-10-24
Location(s): cb.php, ib.php, common.js
Problem: The following characters are not permitted in IB GUI element names, variable names, and code block names: space, comma, `, ~, !, @, #, $, %, ^, &, *, (, ), -, +, =, [, {, ], }, ", ', <, , >, ., ?, and /. Note that the characters | and \ will be added. This restriction prevents symbols from being added that otherwise cause problems in MPLABĀ®. The character _ is intentionally not included in the list of characters that are not permitted because to do so could cause an unnecessary restriction in that the character is often used. However, _ automatically follows an icon name and is preceded by a variable name of that icon or (as applies to subroutines) code block names and its inclusion may cause confusion. There is no such list of forbidden characters in the CB GUI but one will be added. Regarding the text of icon elements, the following symbols are not permitted: `, ~, @, #, $, %, ^, &, [, {, ], }, ", ', and /. This may be overly precautionary to point that it may be unnecessarily restrictive. The resolution for all these will be stated here when it is implemented.
Resolution: ?

improvement000
Date: 2015-10-24
Location(s): cb.php, ib.php
Problem: Excluding the popup menus, scroll bars will move the objects in the direction opposite that is standard. The intent was for the arrows to point in the direction that the objects will be moved but this method is counter-intuitive. The resolution is to conform the operation of the scroll bars to what is standard.
Resolution: 2015-10-26
The direction that the objects move is now consistent with standard scroll bars in both the CB GUI and IB GUI.

bug006
Date: 2015-10-24
Location(s): cb.php, ib.php
Problem: Not all objects scroll at the rate. The bug is more problematic in the CB GUI because because the elements of the icons will scroll out of their respective icons. Using the larger size of the CB GUI to avoid scrolling instead of relying on scrolling will help to avoid this problem until a resolution is implemented. Regarding the IB GUI, wiring variables to code lines immediately after creating the variables will assist in keeping track of where icons are intended to be wired so that nothing is lost through scrolling. However, this method is contrary to the work-around in bug003 involving wiring a code block last but will not potentially cause errors if the code lines of a code block are completely rewired prior to the final saving of an icon.
Resolution: 2015-10-26
In ib.php (the IB GUI), a variable called SHARPNESSOFFSET was changed from 0.5 to 0 to resolve this bug. In cb.php (the CB GUI), an error existed in the function ScrollIcons and was modified to correct it.

bug005
Date: 2015-10-24
Location(s): cb.php, ib.php
Problem: Scroll bars can be eclipsed by objects in the GUI. Rescrolling in another direction to display the scroll bar arrows until they are visible will work until a resolution is implemented.
Resolution: 2015-10-26
In the ib.php function mbu_c for the IB GUI, as was before the resolution to this problem was implemented and as is still the case after, following a mouse-button-up event, the reason for the mouse-button-up event is checked in code and, if true according to the compared condition, reacted to in this order: (1) a pop-up menu is open, (2) wiring in progress and should stop, (3) dragging a block or variable in progress, (4) clicked on a scroll bar arrow, (5) delete a wire, (6) mouse over a block or variable, and (7) clicked on empty space so open a pop-up menu. This is still appropriate. In the cb.php function mbu_cb for the CB GUI, as was before the resolution to this problem was implemented, following a mouse-button-up event, the reason for the mouse-button-up event is checked in code and, if true according to the compared condition, reacted to in this order: (1) a pop-up menu is open, (2) dragging a block or variable in progress, (3) clicked on an icon, (4) wiring in progress and stopped over empty space, (5) clicked on a scroll bar arrow, (6) clicked on empty space so open a pop-up menu, and (7) delete a wire. This has been re-organized to match the order in ib.php function mbu_c so that a left mouse-button up event (as what clicking on an icon is compared to dragging an icon and wiring) in the scroll bar area will activate the scroll bar code as expected. Regarding the drawing of code blocks, variables, and scroll bars in IB GUI, the ib.php function DrawCanvasC was modified so that scroll bars are drawn after (and, therefore, over) code blocks and variables. In addition, the ib.php function OMM was modified so that moving the mouse over a block or variable will draw the scroll bars over the icons instead of redrawing an icon or variable as highlighted but not drawing the scroll bars. However, the scroll bars will not be drawn immediately after the mouse leaves the area where the code blocks and variables exists, which may result in code blocks and variables eclipsing the scroll bars. This will be corrected immediately after the mouse re-enters the area. Regarding the drawing of icons and scroll bars in the CB GUI, the cb.php function DrawCanvasCb was modified so that scroll bars are drawn after (and, therefore, over) icons. In addition, the cb.php function OMM was modified so that moving the mouse over a block or variable will draw the scroll bars over the icons instead of redrawing an icon or variable as highlighted but not drawing the scroll bars. However, scroll bars will be eclipsed occasionally when the mouse leaves an icon if that icon is over a scroll bar but the scroll bar will re-appear when the mouse is either over that icon again.

bug004
Date: 2015-10-24
Location(s): ib.php
Problem: When deleting a code block that has more than one wire wired into its code block link, not all wires will be deleted. The problem is obvious as the wires are visible and, until a resolution is implemented, the remaining wires should be deleted manually when they are observed.
Resolution: 2015-11-03
The problem was corrected so that all the wires that are wired into a code block's link are deleted when that code block is deleted.

bug003
Date: 2015-10-24
Location(s): ib.php
Problem: On occasion (as in, does not always occur), the wires of code lines and will not reflect their wired code line when a code line is altered by moving it or inserting or deleting another code line. The problem is evident when the code is organized in the CB GUI. Until a resolution is implemented, a work-around is to either completely rewire all code lines of a code block when any one code line is deleted, moved, or inserted or perform wiring last (compared to devoloping a code block by adding a code line, wiring it, adding another code line, wiring it, and continuing this way).
Resolution: ?

bug002
Date: 2015-08-19
Location(s): cb.php
Problem: Wiring problems are experienced when loading code where more than variable icon of the same name exist due the method that matching wires to variable icon uses. This problem is similar to bug000 and the resolution will be similar. This solution will require a change to the way that codes are saved, which will make current saved codes obsolete. Therefore, it is recommended that all users save all codes by copying the string that represents a saved code to their computers so that the strings can be edited for future use after modification instructions are provided.
Resolution: 2015-08-28
All icons are given unique names that are saved between {26} and {27} (note that the {27} will need to be added). The unique name of the start icon is saved with the wire in the place of the start icon name (prior to {0}). The unique name of the end icon is saved with the wire in the place of the end icon name (between {6} and {7}). Any unique name consisting of letters and numbers and a reasonable length can be given as a unique name to any icons existing prior to this modification. However, note that the unique name of any new icon is "UNID" (without quotes) followed by an automatically incremented number. Unique names that follow this method should be avoided so as not to cause problems.

bug001
Date: 2015-08-05
Location(s): cb.php and ib.php
Problem: Errors are experienced when deleting one of multiple icons or codes that prevent access to other icons and codes. If the text file that comprises the work is copied and pasted from the GUI and saved locally, no work is completely lost and the problem is only an inconvenience. In addition, the method that icons and codes are currently saved to the database prevents using fully the PHP tools for queries. Therefore, a database modification is in order that will eliminate the problem encountered when deleting icons and codes as well as allow for searching the database of users' icons and codes. Saving work is advised, as always, but especially while this modification is occurring.
Resolution: 2015-08-19
A database modification was performed that allows for improved data organization and searching. Any work that made prior to the modification that was saved outside the www.microcgl.com database as a text file can be copied and pasted into the appropriate field to add the icon or code to a user's profile.

survey000
Give initial values after saving an icon or a code - a good idea or annoying?
Take the survey here: https://www.surveymonkey.com/r/96SVX9Z

bug000
Date: 2015-08-03
Location(s): IB GUI CDS GUI / ib.php
Problem: Variable icons, ilink address icons, and vlink address icons, when loaded from a saved icon, will not connect to their original wire in the situation where there are more than one copy of that variable icon, ilink address icon, and vlink address icon. This does not appear to prevent the icon from being used in the CB GUI but is an inconvenience if the user wants to edit a saved icon. The solution will involve a more robust matching method. This solution will require a change to the way that icons are saved, which will make current saved icons obsolete. Therefore, it is recommended that all users save all icons by copying the string that represents a saved icon to their computers so that the strings can be edited for future use after modification instructions are provided.
Resolution: Resolved 2015-08-05.
Instead of a unique name, the wire name will be saved with the information specific to what is wired and being saved for matching when loading.
Icon link address icons: insert between the text following {5} and {END_SINGLE_CB_CONSTRUCTOR_VARIABLES}: "{6}" without quotes and the wire name.
Variable link address icons: insert between the text following {5} and {END_SINGLE_CB_CONSTRUCTOR_VARIABLES}: "{6}" without quotes and the wire name.
Code lines: insert between the text following {22} and {END_SINGLE_CLINE_CONSTRUCTOR_VARIABLES}: "{23}" without quotes followed by the wire name for the first input followed by "{24}" without quotes followed by the wire name for the second input. If an input is not wired, then leave blank the space where the wire name would go.
Variable arrays: insert between the text following {9} and {END_SINGLE_CB_CONSTRUCTOR_VARIABLES}: "{10}" without quotes followed by the wire name.
Variable bytes: insert between the text following {8} and {END_SINGLE_CB_CONSTRUCTOR_VARIABLES}: "{9}" without quotes followed by the wire name.
Variable bits: insert between the text following {7} and {END_SINGLE_CB_CONSTRUCTOR_VARIABLES}: "{8}" without quotes followed by the wire name.

Zachary Montgomery © 2017
>