This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

N2HET SynaptiCAD IDE Installation Issues and N2HET Questions

Other Parts Discussed in Thread: HALCOGEN

Hello,

I have installed the N2HET IDE and have sent the form for the SynaptiCAD License a few days ago; I have no response from SynaptiCAD.  Is this something that should happen automatically?  Do I need to talk to someone at SynaptiCAD?

According to some documentation I found, there should be a tutorial directory in the IDE folder; but I can't find it.  Where should I be able to locate that?

Since I am asking this, may as well ask this too.  I have seen a few posts on this but nothing that was complete.  I need to calculate RPM based on a capture input to the N2HET pin assigned to the sensor.  Worst case I thought I could config as a GPIO and count edges.  But if there is an example; I would appreciate seeing it.

Thanks,

John W.

  • John,

    You don't *need* the synapticad eval license to get started.   Without a license, the HET IDE works with Synapticad's Waveform Viewer Free package and it will let you work with reasonably sized waveforms.    If you want to upgrade to waveforms with larger #s of edges, make documentation, import from a tool like a logic analyzer or scope, interact with a test bench, etc .. that's what the license gets you.

    IMO you're better off getting used to the IDE and then getting the trial license for the advanced features so I wouldn't rush things.

    For the RPM question,  I would need to know more about the sensor output, and what form you want to be able to have the RPM information available.  

    For example if it's just a single pulse width that you need to measure then this is just a PCNT instruction.   If you want to do something like a moving average of the last N sensor readings,  or convert from pulse width to RPM inside the N2HET .. these are things that can be done with increasingly more complex code.   We don't have anything 'canned' that just outputs RPM.

    There are some wizards in the HET IDE for inserting instructions or pieces of algorithms and you could look through the wizards to get started.

    Regarding the documentation - this is probably my mistake.   I updated the installer to be compliant w. our new installer standards and so a lot of the files move to your %PROGRAMDATA% folder which is usually hidden (C:\ProgramData is normal).     

    And I didn't update the links *inside* the HET IDE help menu - my fault on that one.

    There are links in your start menu though...


    The Tutorial and Users Guides are under "View Help And License"

    They are now links you to the download page on TI.com, where the manuals are kept like any other TI manual so we can maintain them more easily.

    and

    Are the docs that are linked to.

  • Hello Anthony,

    OK - when I saw that synapticad dll wasn't found when I tried to start the IDE - I thought that was due to not having the license yet.
    I see that's a path issue and that is fixed now; so I can start the IDE.

    So, even though I have sent in the license request to SynaptiCAD - I shouldn't expect a reply or don't pursue that since it's a dead end unless I want the advanced version? If that's the case I recommend adding a pop-up box to the install stating it isn't necessary to get the license since I thought I needed the eval license to get going.

    For the RPM sensor I am using - Receiver Output. If the receiver output is enabled (RE low) and A–B > 200mV,
    then RO will be high. If A–B < –200mV, then RO will be low. If the receiver
    inputs are open, shorted, or terminated without a signal, RO will be high.

    The input is RS-485. So, this can be considered a pulse. A counter on rising/falling edges should be enough. 4 samples per second to begin with should be fine; so nothing too extraordinary here.

    Thanks,
    John W.

  • Hi John,

    Yes I can imagine the path would be a problem. Synapticad's installer that is called from the HET IDE usually sets this or warns you that you may need to set it yourself.

    You should get a reply on the eval request - but I'm saying that in some ways it'll benefit you if this isnt' so fast because just using the tool in viewer mode will take a little getting used to. The license lets you try out the advanced features and you're probably not at a point now where you are ready for that anyway.

    I'll shoot a mail to Synapticad with this forum post. They usually respond quickly and have great service. They are a fairly small company though so helps to be patient if possible; I believe an actual person processes the requests.

    Thanks and Best Regards
    -Anthony
  • Anthony,

    OK - thanks for following up with Synapticad.

    Regards,
    John W.
  • Anthony,

    Please see the attached.  When I try to send to Halcogen from the IDE - it fails.  I noticed in my Halcogen file I had and array named het1PROGRAM[] - I changed it to hetPROGRAM[] but this step still fails.

    Since right now it is unclear to me how to move forward; I am stuck at this step.

    Thanks,

    John W.

  • John,

    I don't do it that way.

    Instead, I pull it from the HET IDE through HalCoGen.

  • Anthony,

    Hmmm, OK. I will give that a try.

    Thanks,
    John
  • I wanted to thank the person that posted that^^^. 

    In Halcogen where is says to generate IRQ's based on addresses - is that the line address of the program?:

    In the HET IDE it says to generate IRQ's:

    When the reg and data fields are equal - it should generate an IRQ - so how do you match that with what is in Halcogen?

    I am getting IRQ's - but I selected 0/32/64, 1/33/65 and 15/47/79.

    High level IRQ is saying vec = 1.

    Thanks,
    John W.

  • Anthony,

    So, the high level IRQ is going off - it tells me it's vector 1 - I have this as a beginning to my RPM counter:

    void hetNotification(hetBASE_t *het, uint32 offset)
    {
    /* enter user code between the USER CODE BEGIN and USER CODE END. */
    /* USER CODE BEGIN (39) */
    static uint32_t RPM_pulse_counter = 0;
    static uint32_t readData = 0;

    RPM_pulse_counter++;

    readData = hetRAM1->Instruction[0].Data;
    hetRAM1->Instruction[0].Data = 0; // clear data

    /* USER CODE END */
    }

    My HET code:

    ; Input Edge Counter or Pulse Accumulator using ECNT
    ; event={ FALL | RISE |BOTH } ---------> Edge Counter
    ; event={ ACCUHIGH | ACCULOW } -->Pulse Accumulator

    L00 ECNT { pin=15,event=FALL,reg=A,irq=ON,data=500};
    L01 BR { next=L00,cond_addr=L00,event=NOCOND};

    Regards,
    John W.
  • Cool!

    Yes the address is the address of the N2HET instruction that is set to interrupt.

    Since there is a modulo-32 .. for a large HET program you might need to shift the address of an instruction in order to avoid aliasing
    (having two interrupting instructions at the same value when HET Addr %32 is calculated). But since every HET instruction includes a 'next=' field you can always adjust the address of a given instruction.

    Your YouTube Video is getting some nice response here! Thank you for becoming a HET expert !!!
    thought you would be interested too.