On 10/28/2016 2:46 PM, John Kasunich wrote:
>
> On Fri, Oct 28, 2016, at 01:31 PM, andy pugh wrote:
>
>> Perhaps the trick is for you to not load the HAL file, but for you
>> code to parse the HAL file.
> Yes!
I am going to add this functionality in addition to reading the current 
running configuration.

I have been able to modify the parsing logic to correctly read the 
current running configuration.

Since the current functionality reads a running configuration, I would 
like to be able to read the .ini file that is currently loaded to get 
access to the .hal files that make up the current running configuration. 
I will need to at least know what information is in regular .hal files 
and what is in the postgui.hal files. I will have to writhe the data out 
to the .hal and postgui.hal files as applicable. To do this I will need 
to know what components and pins are in the postgui.hal file. Is there a 
way to know this by looking at the halcmd show output?

I would like to use the halcmd save command to save the current .hal 
file, but I don't think this is going to work if there is a postgui.hal 
file. Using this command with a running configuration makes sure the 
syntax is correct without having to write a bunch of additional code to 
write out the configuration.

I could do a halcmd save command on the entire configuration. Then I 
could remove the components that are supposed to be in the postgui.hal 
file and run the halcmd save command again. This would be the regular 
.hal file. Then I could parse through full configuration file and remove 
lines that are equal to lines in the regular.hal file this would leave 
me with the postgui.hal file entries. Does this make sense? I could also 
just write the code to make the files from scratch instead of using 
halcmd save.
>   
>> You can fairly readily "loadrt" each component using the parameters
>> from the HAL file, make a note of the pins, then "unloadrt" it.
>> The net commands can be read directly, and your code can highlight broken 
>> nets.
>>
>> I don't think that there is a unloadusr (the command is accepted, but
>> the pins remain)
>>
>> One special case: loadrt hm2_pci (etc) for a Mesa card won't work
>> without a previous "loadrt hostmot2"
>>
> The lack of unload, and the dependency problem can both be
> overcome by not bothering to unload.
>
> Load the first comp, capture the list of pins.  Load another, capture the
> list of pins again.  The ones that weren't there before must belong to the
> new comp.  Repeat till all are loaded.  Then halcmd quit to cleanup.
>
>
it appears that this issue mentioned here may cause issue with the 
process I outlined above. Postgui components like gmoccapy are userspace 
components, so I will not be able to unload them without the above 
mentioned issue.


So as it stands right now I have fixed the parsing issue and crapahalic 
will load the currently running configuration. The program has a 
rearrange function that attempts to improve the layout of components and 
signals, but it causes the load time of the program to be unacceptable 
for large configurations. Either I will have to optimize this code, not 
sure about this, or I will just disable this function as I have for 
development purposes right now.

I have added cad like middle mouse button panning function to the design 
area. I am going to work on scroll wheel zoom functionality for the 
design area next. My thought process is that I will make the design area 
a scaled area equal to a user selected printable page size. I am not 
sure that I can print this area correctly. I am investigating this now. 
Then you can work on the layout within the bounds of a printable page.

Currently the program shows all pins for all components at all times. It 
also keeps all input pins located on the left side of a component and 
all output pins on the right side of a component. I plan on making it so 
that specific locations of pins can be edited and saved so an input pin 
can be on either side and so can output pins. I am thinking about adding 
three different pin view options. All pins, connected pins, and a user 
selected list of pins.

Let me know what you think about the above options. I will continue to 
work on this project in my spare time.

Thanks,

Jim




------------------------------------------------------------------------------
The Command Line: Reinvented for Modern Developers
Did the resurgence of CLI tooling catch you by surprise?
Reconnect with the command line and become more productive. 
Learn the new .NET and ASP.NET CLI. Get your free copy!
http://sdm.link/telerik
_______________________________________________
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to