No announcement yet.


  • Filter
  • Time
  • Show
Clear All
new posts

  • Versions

    If there isn't already, I'd like to request a function in the next PMMC that would return the PMMC version and perhaps also the silicon version as well. This would be a great help for service and troubleshooting departments. Thanks.

  • #2

    If you hover over the traffic light in Workshop you will see a display of the current PmmC version.


    • #3

      I'm sorry, I should be more specific. I meant, I'd like to be able to access version info from within my 4DGL program. In my current application, The first thing displayed will be a POST screen and I'd like to have PMMC and silicon version info along with my code versions and power up test results. I just noticed the version display in the new workshop so I guess the version info isn't lost after loading a program into flash. Is there an address that can be accessed with peekW() to return this info? Thanks.


      • #4

        Sorry, no, oddly enough the 4DGL code inside the PmmC doesn't have access to the PmmC revision.

        Workshop gets it by talking to the program loader, which, of course, can't be reached by a normal program.

        It's been on our wish list for a while, but there isn't enough space to add such a function


        • #5

          Hmm, could a user program talk to the loader through the extra UART? Just wire one to the other? That could be interesting.


          • #6

            No, can't be done


            • #7

              Ah, because you need to assert reset to access the loader program. Ah, but another MCU could apply reset, query the picasso, save the version info, and then send the version info back to the screen when normal program execution begins.


              • #8

                So in case anyone is interested, If you have a separate microcontroller in your system that can control picassos reset line and is connected to UART0, here's what to do to get device and PMMC version info:

                Set up the UART in your microcontroller for 115200 baud 8 N 1.
                Set up the pin driving the reset line as an open drain output.

                -Hold reset low for 100ms
                -Let reset go high for 1000ms
                -Send '4dgl' on UART
                (At this point the picasso will stay in reset)
                -Receive 'P'
                -Send '@V'
                -Receive Model, Resolution, PMMC version, and I believe the total and available flash memory?
                -Send '@DE'
                -Receive some data which I believe holds the size of the uSD card in some format?
                (After sending '@DE' the picasso will exit reset and begin executing normally)

                No doubt screwing around with UART0 in the reset state carries some risk of bricking the chip.
                Mods: for those of us wishing to throw caution to the wind, are there any other interesting commands that the picasso will respond to while its in the reset state?

                EDIT: If you fail to receive 'P' after sending '4dgl' the reset time may need to be longer than 1000 ms.