I'm finally continuing my work on building a new gui and switching this in progress work from linuxcnc to machinekit. I'm using my ACRA milling machine as a test bed which I do need to be able to use normally while this work progresses. It runs on linuxcnc 2.8pre with gmoccapy.
The interface board between the machine is a Mesa 7i80hd board with a custom pre-reloaded and stored bit file file. Linuxcnc has no problem reading the internal programming of the Mesa board and runs mill just fine. Machine kit on the other hand appears to be a little confused as to handle the programming of the board. This to me is strange since the driver that was developed for this board is known to very reliable. So I suspect that machine kit may read and write to this card in a slightly different manner. There does appear to be some differences in the hm_eth driver files used by machinekit and linuxcnc which could be causing a incompatibility issue. As I recall coping the hm_eth driver .c and .h files and recompiling causes a make to fail. I'm thinking that this may be a problem with differences in the way machinekit and linuxcnc communicate with the Mesa card. Something appears to get lost between the TCP network functiosn and the cards input and outputs. I'm open to any suggestions. If it turns out that machine kit needs to load the bit file on each power up it will make things more difficult for compatibility between using and developing for awhile since linuxcnc is not designed to do that to the best of my knowledge. Machinekit's ability to tie into raspberry pi and others makes machine kit very attractive to me. Just for additional info I have attached a file that lists the actual 7i80 pin out. Here are my configurations. >From .INI file HOSTMOT2] # BOARD=7i80hd #board_mac="00:60:1b:11:80:23" DRIVER = hm2_eth board_ip="10.10.10.2" BOARD_IP="10.10.10.2" BOARD=7i80 CONFIG="num_encoders=6 num_stepgens=5 num_pwmgens=1 sserial_port_0=20xxxxxx" >From .HAL file loadrt [KINS]KINEMATICS loadrt tp loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES tp=tp kins=trivkins loadrt pid count=7 loadrt hostmot2 loadrt [HOSTMOT2](DRIVER) config=[HOSTMOT2](CONFIG) setp hm2_[HOSTMOT2](BOARD).0.watchdog.timeout_ns 30000000 Part of the debug printout. Starting Machinekit... rtapi_msgd command: /home/cnc/cnc-mk1.1/libexec/rtapi_msgd --instance=0 --rtmsglevel=5 --usrmsglevel=5 --halsize=524288 rtapi_app command: /home/cnc/cnc-mk1.1/libexec/rtapi_app_posix --instance=0 io started <commandline>:0: Component 'iocontrol' ready <commandline>:0: Program 'io' started halcmd loadusr io started <commandline>:0: Component 'halui' ready <commandline>:0: Program 'halui' started cnc1.hal:5: Realtime module 'trivkins' loaded cnc1.hal:8: Realtime module 'tp' loaded cnc1.hal:9: Realtime module 'motmod' loaded cnc1.hal:10: Realtime module 'pid' loaded cnc1.hal:11: Realtime module 'hostmot2' loaded cnc1.hal:12: Realtime module 'hm2_eth' loaded cnc1.hal:13: setting parameter 'hm2_7i80.0.watchdog.timeout_ns' to '30000000' cnc1.hal:13: Parameter 'hm2_7i80.0.watchdog.timeout_ns' set to 30000000 cnc1.hal:50: Function 'hm2_7i80.0.read' added to thread 'servo-thread', rmb=0 wmb=0 cnc1.hal:51: Function 'hm2_7i80.0.write' added to thread 'servo-thread', rmb=0 wmb=0 -- website: http://www.machinekit.io blog: http://blog.machinekit.io github: https://github.com/machinekit --- You received this message because you are subscribed to the Google Groups "Machinekit" group. To unsubscribe from this group and stop receiving emails from it, send an email to machinekit+unsubscr...@googlegroups.com. Visit this group at https://groups.google.com/group/machinekit. For more options, visit https://groups.google.com/d/optout.
hm2/hm2_7i80.0: 72 I/O Pins used: hm2/hm2_7i80.0: IO Pin 000 (P1-01): Encoder #0, pin B (Input) hm2/hm2_7i80.0: IO Pin 001 (P1-03): Encoder #0, pin A (Input) hm2/hm2_7i80.0: IO Pin 002 (P1-05): Encoder #0, pin Index (Input) hm2/hm2_7i80.0: IO Pin 003 (P1-07): StepGen #0, pin Step (Output) hm2/hm2_7i80.0: IO Pin 004 (P1-09): StepGen #0, pin Direction (Output) hm2/hm2_7i80.0: IO Pin 005 (P1-11): IOPort * pin Servo Error hm2/hm2_7i80.0: IO Pin 006 (P1-13): Encoder #1, pin B (Input) hm2/hm2_7i80.0: IO Pin 007 (P1-15): Encoder #1, pin A (Input) hm2/hm2_7i80.0: IO Pin 008 (P1-17): Encoder #1, pin Index (Input) hm2/hm2_7i80.0: IO Pin 009 (P1-19): StepGen #1, pin Step (Output) hm2/hm2_7i80.0: IO Pin 010 (P1-21): StepGen #1, pin Direction (Output) hm2/hm2_7i80.0: IO Pin 011 (P1-23): IOPort * pin Manual Mode hm2/hm2_7i80.0: IO Pin 012 (P1-25): Encoder #2, pin B (Input) hm2/hm2_7i80.0: IO Pin 013 (P1-27): Encoder #2, pin A (Input) hm2/hm2_7i80.0: IO Pin 014 (P1-29): Encoder #2, pin Index (Input) hm2/hm2_7i80.0: IO Pin 015 (P1-31): StepGen #2, pin Step (Output) hm2/hm2_7i80.0: IO Pin 016 (P1-33): StepGen #2, pin Direction (Output) hm2/hm2_7i80.0: IO Pin 017 (P1-35): IOPort * pin Move Out of Limits hm2/hm2_7i80.0: IO Pin 018 (P1-37): Encoder #3, pin B (Input) hm2/hm2_7i80.0: IO Pin 019 (P1-39): Encoder #3, pin A (Input) hm2/hm2_7i80.0: IO Pin 020 (P1-41): Encoder #3, pin Index (Input) hm2/hm2_7i80.0: IO Pin 021 (P1-43): StepGen #3, pin Step (Output) hm2/hm2_7i80.0: IO Pin 022 (P1-45): StepGen #3, pin Direction (Output) hm2/hm2_7i80.0: IO Pin 023 (P1-47): IOPort * pin Axis A Clamp activation ** not wired yet hm2/hm2_7i80.0: IO Pin 024 (P2-01): Encoder #4, pin B (Input) hm2/hm2_7i80.0: IO Pin 025 (P2-03): Encoder #4, pin A (Input) hm2/hm2_7i80.0: IO Pin 026 (P2-05): Encoder #4, pin Index (Input) hm2/hm2_7i80.0: IO Pin 027 (P2-07): StepGen #4, pin Step (Output) hm2/hm2_7i80.0: IO Pin 028 (P2-09): StepGen #4, pin Direction (Output) hm2/hm2_7i80.0: IO Pin 029 (P2-11): IOPort * Pin Spare ---------------------*** Not Used *** hm2/hm2_7i80.0: IO Pin 030 (P2-13): Encoder #5, pin B (Input) hm2/hm2_7i80.0: IO Pin 031 (P2-15): Encoder #5, pin A (Input) hm2/hm2_7i80.0: IO Pin 032 (P2-17): Encoder #5, pin Index (Input) hm2/hm2_7i80.0: IO Pin 033 (P2-19): PWMGen #0, pin Out0 (PWM or Up) (Output) hm2/hm2_7i80.0: IO Pin 034 (P2-21): PWMGen #0, pin Out1 (Dir or Down) (Output) hm2/hm2_7i80.0: IO Pin 035 (P2-23): PWMGen #0, pin Not-Enable (Output) hm2/hm2_7i80.0: IO Pin 036 (P2-25): IOPort * Pin X + Limit switch hm2/hm2_7i80.0: IO Pin 037 (P2-27): IOPort * Pin X - Limit switch hm2/hm2_7i80.0: IO Pin 038 (P2-29): IOPort * Pin Y + Limit switch hm2/hm2_7i80.0: IO Pin 039 (P2-31): IOPort * Pin Y - Limit switch hm2/hm2_7i80.0: IO Pin 040 (P2-33): IOPort * Pin Z + Limit switch hm2/hm2_7i80.0: IO Pin 041 (P2-35): IOPort * Pin Z - Limit switch hm2/hm2_7i80.0: IO Pin 042 (P2-37): IOPort * Pin A + Limit switch------------*** Not Used *** hm2/hm2_7i80.0: IO Pin 043 (P2-39): IOPort * Pin A - Limit switch------------*** Not Used *** hm2/hm2_7i80.0: IO Pin 044 (P2-41): IOPort * Pin U + Limit switch hm2/hm2_7i80.0: IO Pin 045 (P2-43): IOPort * Pin U - Limit switch hm2/hm2_7i80.0: IO Pin 046 (P2-45): IOPort * Pin Estop out to control panel indicator hm2/hm2_7i80.0: IO Pin 047 (P2-47): IOPort * Pin Estop in from control panel hm2/hm2_7i80.0: IO Pin 048 (P3-01): IOPort * Pin Home X hm2/hm2_7i80.0: IO Pin 049 (P3-03): IOPort * Pin Home Y hm2/hm2_7i80.0: IO Pin 050 (P3-05): IOPort * Pin Home Z hm2/hm2_7i80.0: IO Pin 051 (P3-07): IOPort * Pin Home A hm2/hm2_7i80.0: IO Pin 052 (P3-09): IOPort * Pin Home U hm2/hm2_7i80.0: IO Pin 053 (P3-11): IOPort * Pin Index X hm2/hm2_7i80.0: IO Pin 054 (P3-13): IOPort * Pin Index Y hm2/hm2_7i80.0: IO Pin 055 (P3-15): IOPort * Pin Index Z hm2/hm2_7i80.0: IO Pin 056 (P3-17): IOPort * Pin Index A hm2/hm2_7i80.0: IO Pin 057 (P3-19): IOPort * Pin Index U hm2/hm2_7i80.0: IO Pin 058 (P3-21): IOPort * Pin Spindle On hm2/hm2_7i80.0: IO Pin 059 (P3-23): IOPort * Pin Spindle Fwd hm2/hm2_7i80.0: IO Pin 060 (P3-25): IOPort * Pin Spindle Rev hm2/hm2_7i80.0: IO Pin 061 (P3-27): IOPort * Pin Probe1 - Conn on servo box hm2/hm2_7i80.0: IO Pin 062 (P3-29): IOPort * Pin Probe2 - Conn on Z axis box, for spindle use hm2/hm2_7i80.0: IO Pin 063 (P3-31): IOPort * Pin Probe Spindle Disable, used with probe2 hm2/hm2_7i80.0: IO Pin 064 (P3-33): IOPort * Pin Relay 3, Servo reset. (Reset SW on control panel) hm2/hm2_7i80.0: IO Pin 065 (P3-35): IOPort * Pin Relay 4, In Limits. (Control panel led) hm2/hm2_7i80.0: IO Pin 066 (P3-37): IOPort * Pin Relay 5 -----------------------*** Not Used *** hm2/hm2_7i80.0: IO Pin 067 (P3-39): IOPort * Pin Relay 6, Coolant flood hm2/hm2_7i80.0: IO Pin 068 (P3-41): IOPort * Pin Relay 7, Coolant mist hm2/hm2_7i80.0: IO Pin 069 (P3-43): IOPort * Pin Relay 8, Spindle power hm2/hm2_7i80.0: IO Pin 070 (P3-45): IOPort * Pin ------------------------------*** Not Used *** hm2/hm2_7i80.0: IO Pin 071 (P3-47): IOPort * Pin ------------------------------*** Not Used ***