Announcement

Collapse
No announcement yet.

Lots of problems with new workshop 2.3 and pmmc1.06

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Lots of problems with new workshop 2.3 and pmmc1.06

    I have a uOLED32024-PMD3 and build a program which parses a catalog file from uSD, displays the information on the screen. The program is controlled by a serial commands.

    With Workshop 2.2 and Pmmc 1.05 all worked fine (with some minor bugs).
    With Workshop 2.3 and pmmc 1.06 and the same 4dg-program no serial communication is possible and the file parsing doesn't work. I will get ???? strings instead of the correct strings from file.
    Screens of both versions and the program is attached.
    The needed files for the uSD are uploaded at rapidshare.
    FAT16Files

    Why does a new 'better?' version shows such a behaviour? Attached files Messier.4dg (20.2 KB)

  • #2


    I accept part of the blame! Some of the code I provided you with had workrounds in for 1.05, and were not commented as such. Now 1.06 is out the workrounds need removing / changing.

    * mem_Copy has changed between 1.05 and 1.06. In 1.05 the source address was a Byte pointer but now it is a Word pointer (as it should be.)

    In GetNextSub() change;

    mem_Copy(bpstr, wpsub, delimpos - 1);
    to;
    mem_Copy(bpstr>>1
    , wpsub, delimpos - 1);

    (Sorry, the mem_Copy workround was not commented)

    * A workround still exists for str_Find, on the line above the mem_Copy change. This one is commented. I've just done a quick check and str_Find() is still broken in 1.06. When it is fixed you can delete the following line;

    delimpos := (delimpos - bpstr + 1);

    Do not delete the line while you are still on v1.06.

    Regards
    Steve

    Comment


    • #3


      Thanks for the answer.
      I will check all the code again.

      Comment


      • #4


        Well, I did the changes and it looks a little bit better.
        Now the sub strings appear but I will get the delimiter ';' as the first character of the sub-strings starting from the second one(first is OK). See Attachment.

        The other problem is the serial communication. My keyboard controller sends 2 bytes per key press to the display. It is the qualifier ':' followed by the key code. Therefore I used the

        com_Init(combuf, 1, ':' ); to initialize the COM.
        This doesn't work in the current release.

        com_Init(combuf, 2, ':' );
        Works, but the first key press is ignored.

        Maybe this is a bug. Attached files

        Comment


        • #5


          I changed my readcom function and this works


          HTML Code:
          func readcom()
          var ch;
          repeat   
          until((com_Count()==1));
          
          c := com_Count();                           // use the count to extract the buffer   
          while(c--)   
          ch := serin();  
          wend 
          com_Init(combuf, 2, ':' );  //Com Buffer initialisieren
          return ch;  
          endfunc

          Comment


          • #6


            mem_Copy() is of no use (in this case) now it's fixed, since it has to to be Word aligned.

            Replace the mem_Copy() line with this;

            ByteCopy(bpstr, wpsub

            Comment


            • #7


              There was a bug in the serial comms on
              Regards,
              Dave

              Comment

              Working...
              X