[Home]History of Eagle2HAL

LinuxCNCKnowledgeBase | RecentChanges | PageIndex | Preferences | LinuxCNC.org

Revision 5 . . (edit) January 22, 2012 2:23 pm by CNCDreamer [rebranded]
Revision 4 . . December 25, 2011 8:08 am by Babis
Revision 3 . . November 20, 2011 6:13 am by Ednisley [Add files for EMC 2.4]
Revision 2 . . January 17, 2008 9:49 am by Froderick
  

Difference (from prior major revision) (minor diff, author diff)

Changed: 7c7
With this workaround the EMC hardware abstraction (HAL-) layer can be configured with the aid of Eagle CAD Schematics editor.

With this workaround the LinuxCNC hardware abstraction (HAL-) layer can be configured with the aid of Eagle CAD Schematics editor.


Changed: 10c10
The export script does not check for any errors, so debugging is made by starting emc and checking stdout/stderr-debug-prints
The export script does not check for any errors, so debugging is made by starting LinuxCNC and checking stdout/stderr-debug-prints

Changed: 14c14
* [EMC2] (tested with version 2.2.2)
* [LinuxCNC] (tested with version 2.2.2)

Changed: 18c18,20
* [eagle2hal-2.4] library + export script updated for EMC2 2.4 / Eagle 5.13 -- Ed Nisley [Logitech gamepad schematics]
* [eagle2hal-2.4] library + export script updated for LinuxCNC 2.4 / Eagle 5.13 -- Ed Nisley [Logitech gamepad schematics]

*[upload:eagle2hal.tar.gz] The same with eagle2hal-2.4 with more hal components. I add paragraph 6 for hal component creation in eagle library. Charalampos Alexopoulos

Changed: 38c40
I know of two threads that are running im EMC realtime: BASE-THREAD and SERVO-THREAD (maybe there are more...).
I know of two threads that are running im LinuxCNC realtime: BASE-THREAD and SERVO-THREAD (maybe there are more...).

Changed: 92c94,111

1. Create library components



I spend several hours to understood how to make a library part for a hal-component. In order to help incapable people like me, i wrote some tips.

1.1. Symbol



*Add a text [>Name] on the Names layer
*For each pin set the properties
Name : the name as is in the man page
Visible: Pin

1.2. Device



*Create a device with a name as is in the Name part of man pages. eg. conv_float_u32
*Add the symbol that you create
Name: Live it empty
Add Level: Must
*Add symbol [PIN-FUCTION]
Name: . (Just a dot)
Add level: Must
*add symbol [PIN-PARAMETER] as many as required by the component.
Name: .name(A dot followed by the parameter name)
Add Level: I am not sure what is going here. I use [Must] and works.
*Connect all pins to the DUMMY package.
*Set the Prefix to the component name as is in the Functions part of the man page followed by a dot. e.g. conv-float-u32.
*Add a description from man page. This is optional, but it takes just a few seconds and we have a nice help for the component
Copy the html code from man page.Copy only the part from Name down to Licence.

1.3. Modify the ulp script



In the [hal-write-2.4.ulp[ file add your component name in the [dev_names] array. Thats it.

1.4. Warning



Those are things that i found in a trial and error procedure. It works for me but may contain errors.

LinuxCNCKnowledgeBase | RecentChanges | PageIndex | Preferences | LinuxCNC.org
Search:
Published under a Creative Commons License