3 Replies Latest reply on Jan 9, 2019 11:16 PM by riasc_1660756

    Are these rubbishy ideas?

    riasc_1660756

      I really enjoy working with PSoC and Creator 4.2.  However, being someone who doesn't know when to keep his trap shut, there's a few things I really miss.  Maybe they already exist - I just haven't worked out how to find them yet.

       

      So, anyone think these might be useful additions to PSoC Creator?

       

      1. Separate button for hardware compiler only. So you can quickly see what reassigning pins will do to the (analogue) routing.

           It would be really nice to move pin placement and see what impact it has on the analogue routing but without having to wait for the whole compilation process to complete.

       

      2. Sometime Build does not build all the changed files. You can click debug, see a build but get the old code running.

           If I click 'Debug', it does a quick build and run but doesn't always take into account code changes.  I have to do a 'Clean and Rebuild' to be certain.

       

      3. Have a facility to print out the pin diagram with the assignment table.

           I generally press 'Print Scren' then use mspaint.exe to crop and print.

       

      4. A utility that assesses the design for the lowest-cost part that will accomodate it.

           I'm using a CY8C5888 for this design but maybe I could use a cheaper device in the same package.  Nice to have a utility that finds the most basic part that will hold the design without having to go through them one-by-one.

       

      5. A PDF with all possible connections for programming port configurations and bullet points to help choose.

           Just an app note to make it clear whether pull-ups are needed, which pins are optimal to use, etc.  It's in the datasheet, of course, but a more readily accessible source of debug-specific info.  How about having the debug connection as a 'component' that can be configured on the schematic just like other components with its own datasheet?

       

      6. A debugging 'pause' point. It stops, updates the watches and then continues.

           This I'd really like.  It would be nice not to have to click run or press F5 when you want to run the code but also get regular updates to the watch variables.

       

      7. Add c preprocessor #define as text to schematic page so that enabled pages can activate associated code.

           Writing test programs for hardware peripherals, it would be nice if one could put a text line like '#define TESTTHISPAGE' actually on the schematic page so that if it is disabled, the code bounded by #ifdef TESTTHISPAGE ... #endif elsewhere in the project is also disabled.

       

      Thanks for reading this.  Sorry if I've posted it to the wrong place.

      - Richard.

        • 1. Re: Are these rubbishy ideas?
          BoTa_264741

          I second #7 (a conditional compilation parameter to enable/disable pages). This would be particularly useful for custom component creation, when different hardware configurations can be placed on separate pages inside the component schematic.

          /odissey1

          • 2. Re: Are these rubbishy ideas?
            sccl_2272156

            #1 is implemented today, use generate application under the build menu.

            #2 is a defect, contact Cypress support.

            #3 you get if you generate your project datasheet.  It will create a PDF with the pinout.

            #4 was implemented at one point, but it required recompiling your project so many times (due to how UDBs work) it caused a lot of complaints (took days to run) and didn't really help a lot of people.  We've looked at how to implement it in a better way, but haven't found a solution yet.

            #5 There may be an app note, but I'm not sure.

            #6 There are implications of this, mainly consuming hardware breakpoints.  Given that this is a very limited resource, it is better to give the user control if they want at the breakpoint rather than continuing on.  That said, I can see your use case.

            #7 is implemented today.

             

            Disable a sheet, build an you'll find a file called cydisabledsheets.h

            Here's what it may contain:

            #ifndef INCLUDED_CYDISABLEDSHEETS_H

            #define INCLUDED_CYDISABLEDSHEETS_H

             

             

            #define Page_2__DISABLED 1u /* Page 2 */

             

             

            #endif /* INCLUDED_CYDISABLEDSHEETS_H */

             

            Use ifndef around the code you want to run when it is not disabled.

            1 of 1 people found this helpful
            • 3. Re: Are these rubbishy ideas?
              riasc_1660756

              Really helpful answer!  #7 this very minute in fact!

               

              Your efforts are much appreciated, Kin.