Wednesday, December 21, 2011

Dec.20+ LMS Nov.29 Code Review status

This post is needed because LMS motors do not work with Nov.29 Code review changes.
Dec.24: Motor Problem cause: changing cyg_bool to bool, which is really int.
Specifically:
  cyg_bool is:   typedef  cyg_halbool            cyg_bool 
  cyg_halbool is:    # define cyg_halbool int
Code that translated cyg_bool=int from int to simple bool was deleted as unnecessary during code review. This broke the motor code.
Oct.28 LMS FBs fully tested
Nov.29 LMS code review Change Summary:
* more naming convention changes
* change from eCos ARM and Forte types to simple types like int where possible
* no return function value if it will never be checked
* one return. set a variable rather than return. This helps the optimizer
* AVR changes to be completed
Nov.30 LMS -O0 and current LMS too large
Dec. 1  prelim LMS with current FORTE tests and current FORTE IDE 
...but current Forte grew and caused forte.bin with -O0 to be too large for LMS and dev Forte IDE had problems
LMS after code review: 
* LED works
* TOUCH doesn't - needs F_GT - bug report written ... can regress to UINT_GT, but....
* BUTTON works
* MOTOR is not consistent... seems to need the power to be large enough to move, if too little power, might not turn at all.   motor  code changes were in AVR.
* LT sensor read needs F_GT to work, too.
* (OFF untested with new code, but assume works - no changes)
Dec. 2  Tested individual Nov.29 FBs with current Forte
* Changed to ../IEC61131-3/Functions/SelectionComparison/Comparison/F_GT from F_GT_UINT for LC_TOUCH
* Motor FB not working with lower power
Dec.14 Finished testing builds of various smaller eCos versions
Dec.20+ with current Forte, IDE 1.0 (and F_GT_UINT)
* -O2 with Oct.28  LMS code unchanged - full regression test works (sensors,motor (10%),buttons, off)
* -O2 with Nov.29 LMS code - Sensor FBs and Off work.  Motor FB does below 40% power and then slow.
* Currently adding the Nov.29 Code Review code to the working Oct.28 code a little at a time - All  FBs work with additions. Last is adding the CL_AVR_ctl changes, because there were so many adding in related changes and testing.

No comments:

Post a Comment