Brother TC-225 Retrofit and Robot integration

More
5 years 6 months ago #204736 by andypugh
Here is a debian package of the latest build.

You can install with
Code:
sudo apt-get install ./mesaflash_3.4.0~pre1-1_amd64.deb
The ./ in front of the file name is a hint to apt-get to look for a local file rather than look on the repositories.

Please Log in to join the conversation.

More
5 years 6 months ago #204737 by andypugh

timfaber wrote: Now i think this shouldn't stop me from continuing. Tried to make myself familiar with the hal and ini concept. if i understand correctly the hal file connects certain components with signals and the ini file has your parameters stored which the hal file references. Now are these two file in the most basic form all you need to run linuxcnc?


You don't even need those.

You can get a basic connection to your card with
Code:
halrun loadrt hostmot2 loadrt hm2_eth board_ip=10.10.10.10 show pin

That won't actually do anything without a realtime thread running. (which you can also do from the command line)

Please Log in to join the conversation.

More
5 years 6 months ago #204746 by timfaber

andypugh wrote: Here is a debian package of the latest build.

You can install with

Code:
sudo apt-get install ./mesaflash_3.4.0~pre1-1_amd64.deb
The ./ in front of the file name is a hint to apt-get to look for a local file rather than look on the repositories.


That didn't work for me
Code:
timfaber@Brother:~$ sudo apt-get install /mesaflash_3.4.0~pre1-1_amd64.deb Reading package lists... Done E: Unsupported file /mesaflash_3.4.0~pre1-1_amd64.deb given on commandline

Used this instead, dont know if it did the trick?
Code:
timfaber@Brother:~$ sudo dpkg -i ./mesaflash_3.4.0~pre1-1_amd64.deb (Reading database ... 93359 files and directories currently installed.) Preparing to unpack .../mesaflash_3.4.0~pre1-1_amd64.deb ... Unpacking mesaflash (3.4.0~pre1-1) over (3.4.0~pre1-1) ... Setting up mesaflash (3.4.0~pre1-1) ... Processing triggers for man-db (2.8.5-2) ...

Please Log in to join the conversation.

More
5 years 6 months ago #204747 by timfaber
Any idea what im doing wrong trying the start linuxcnc
Code:
timfaber@Brother:~$ linuxcnc /home/timfaber/linuxcnc/configs/brother/basic7i97.ini LINUXCNC - 2.8.1 Machine configuration directory is '/home/timfaber/linuxcnc/configs/brother' Machine configuration file is 'basic7i97.ini' Starting LinuxCNC... emc/iotask/ioControl.cc 702: can't load tool table. Found file(REL): ./basic7i97.hal Note: Using POSIX realtime hm2: loading Mesa HostMot2 driver version 0.15 hm2_eth: loading Mesa AnyIO HostMot2 ethernet driver version 0.2 hm2_eth: 10.10.10.10: INFO: Hardware address (MAC): 00:60:1b:17:00:0f hm2_eth: discovered 7I97 hm2/hm2_7i97.0: Low Level init 0.15 hm2/hm2_7i97.0: Smart Serial Firmware Version 43 hm2/hm2_7i97.0: 51 I/O Pins used: hm2/hm2_7i97.0: IO Pin 000 (TB3-04): PWMGen #0, pin Out0 (PWM or Up) (Output) hm2/hm2_7i97.0: IO Pin 001 (TB3-08): PWMGen #1, pin Out0 (PWM or Up) (Output) hm2/hm2_7i97.0: IO Pin 002 (TB3-12): PWMGen #2, pin Out0 (PWM or Up) (Output) hm2/hm2_7i97.0: IO Pin 003 (TB3-16): PWMGen #3, pin Out0 (PWM or Up) (Output) hm2/hm2_7i97.0: IO Pin 004 (TB3-20): PWMGen #4, pin Out0 (PWM or Up) (Output) hm2/hm2_7i97.0: IO Pin 005 (AN_ENA4): PWMGen #4, pin Not-Enable (Output) hm2/hm2_7i97.0: IO Pin 006 (TB3-24): PWMGen #5, pin Out0 (PWM or Up) (Output) hm2/hm2_7i97.0: IO Pin 007 (AN_ENA5): PWMGen #5, pin Not-Enable (Output) hm2/hm2_7i97.0: IO Pin 008 (AN-ENA0..3): PWMGen #0, pin Not-Enable (Output) hm2/hm2_7i97.0: IO Pin 009 (TB1-01/TB1-09): Muxed Encoder #0, pin Muxed A (Input) hm2/hm2_7i97.0: IO Pin 010 (TB1-04/TB1-12): Muxed Encoder #0, pin Muxed B (Input) hm2/hm2_7i97.0: IO Pin 011 (TB1-07/TB1-15): Muxed Encoder #0, pin Muxed Index (Input) hm2/hm2_7i97.0: IO Pin 012 (TB1-17/TB2-01): Muxed Encoder #1, pin Muxed A (Input) hm2/hm2_7i97.0: IO Pin 013 (TB1-20/TB2-04): Muxed Encoder #1, pin Muxed B (Input) hm2/hm2_7i97.0: IO Pin 014 (TB1-23/TB2-07): Muxed Encoder #1, pin Muxed Index (Input) hm2/hm2_7i97.0: IO Pin 015 (TB2-09/TB2-17): Muxed Encoder #2, pin Muxed A (Input) hm2/hm2_7i97.0: IO Pin 016 (TB2-12/TB2-20): Muxed Encoder #2, pin Muxed B (Input) hm2/hm2_7i97.0: IO Pin 017 (TB2-15/TB2-23): Muxed Encoder #2, pin Muxed Index (Input) hm2/hm2_7i97.0: IO Pin 018 (Internal EncMux): Muxed Encoder Select #0, pin Mux Select 0 (Output) hm2/hm2_7i97.0: IO Pin 019 (TB5-13/TB5-14): SSR #0, pin Out-00 (Output) hm2/hm2_7i97.0: IO Pin 020 (TB5-15/TB5-16): SSR #0, pin Out-01 (Output) hm2/hm2_7i97.0: IO Pin 021 (TB5-17/TB5-18): SSR #0, pin Out-02 (Output) hm2/hm2_7i97.0: IO Pin 022 (TB5-19/TB5-20): SSR #0, pin Out-03 (Output) hm2/hm2_7i97.0: IO Pin 023 (TB5-21/TB5-22): SSR #0, pin Out-04 (Output) hm2/hm2_7i97.0: IO Pin 024 (TB5-23/TB5-24): SSR #0, pin Out-05 (Output) hm2/hm2_7i97.0: IO Pin 025 (Internal InMux0): SSR #0, pin AC Ref (internal) (Output) hm2/hm2_7i97.0: IO Pin 026 (Internal InMux1): InMux Input Mux #0, pin addr0 (Output) hm2/hm2_7i97.0: IO Pin 027 (Internal InMux2): InMux Input Mux #0, pin addr1 (Output) hm2/hm2_7i97.0: IO Pin 028 (Internal InMux3): InMux Input Mux #0, pin addr2 (Output) hm2/hm2_7i97.0: IO Pin 029 (Internal InMuxData): InMux Input Mux #0, pin addr3 (Output) hm2/hm2_7i97.0: IO Pin 030 (TB4-15/TB4-16): InMux Input Mux #0, pin muxdata (Input) hm2/hm2_7i97.0: IO Pin 031 (TB4-17/TB4-18): IOPort hm2/hm2_7i97.0: IO Pin 032 (TB4-17/TB4-18): IOPort hm2/hm2_7i97.0: IO Pin 033 (P1-01): IOPort hm2/hm2_7i97.0: IO Pin 034 (P1-02): IOPort hm2/hm2_7i97.0: IO Pin 035 (P1-03): IOPort hm2/hm2_7i97.0: IO Pin 036 (P1-04): IOPort hm2/hm2_7i97.0: IO Pin 037 (P1-05): IOPort hm2/hm2_7i97.0: IO Pin 038 (P1-06): IOPort hm2/hm2_7i97.0: IO Pin 039 (P1-07): IOPort hm2/hm2_7i97.0: IO Pin 040 (P1-08): IOPort hm2/hm2_7i97.0: IO Pin 041 (P1-09): IOPort hm2/hm2_7i97.0: IO Pin 042 (P1-11): IOPort hm2/hm2_7i97.0: IO Pin 043 (P1-13): IOPort hm2/hm2_7i97.0: IO Pin 044 (P1-15): IOPort hm2/hm2_7i97.0: IO Pin 045 (P1-17): IOPort hm2/hm2_7i97.0: IO Pin 046 (P1-19): IOPort hm2/hm2_7i97.0: IO Pin 047 (P1-21): IOPort hm2/hm2_7i97.0: IO Pin 048 (P1-23): IOPort hm2/hm2_7i97.0: IO Pin 049 (P1-25): IOPort hm2/hm2_7i97.0: registered ./basic7i97.hal:225: Unknown command '3600' Shutting down and cleaning up LinuxCNC... Running HAL shutdown script Could not open command file 'shutdown.hal' hm2_eth: in hm2_eth_reset hm2_eth: HostMot2 ethernet driver unloaded hm2: unloading Note: Using POSIX realtime LinuxCNC terminated with an error. You can find more information in the log: /home/timfaber/linuxcnc_debug.txt and /home/timfaber/linuxcnc_print.txt as well as in the output of the shell command 'dmesg' and in the terminal

it seems to stop at

./basic7i97.hal:225: Unknown command '3600'

Please Log in to join the conversation.

More
5 years 6 months ago #204750 by timfaber
Went around back to my control cabinet where the mesa card is, found that CR11 (init) was red (yellow according to the manual). " in normal operation CR11 and CR12 will be off. If either is on after power-up thereis a problem with configuring the FPGA" Maybe this is the reason why mesaflash cant find the board. Now to figure out what the problem is

Please Log in to join the conversation.

More
5 years 6 months ago #204752 by andypugh

timfaber wrote:

Code:
sudo apt-get install ./mesaflash_3.4.0~pre1-1_amd64.deb
Code:
timfaber@Brother:~$ sudo apt-get install /mesaflash_3.4.0~pre1-1_amd64.deb


Not the same command. You missed out the dot in the dot-slash

Please Log in to join the conversation.

More
5 years 6 months ago #204754 by andypugh

timfaber wrote: it seems to stop at

./basic7i97.hal:225: Unknown command '3600'


What does line 225 of basic7i97.hal say? (At a guess, there is a spurious linefeed)

Please Log in to join the conversation.

More
5 years 6 months ago #204761 by timfaber
Yes there was, I can run axis now. Its very slow.
Next step will be to let a led blink or something, also I made a quick video about my machine. If anyone is interested:

Please Log in to join the conversation.

More
5 years 6 months ago #204777 by tommylight

timfaber wrote: That didn't work for me

Code:
timfaber@Brother:~$ sudo apt-get install /mesaflash_3.4.0~pre1-1_amd64.deb

Used this instead, dont know if it did the trick?
Code:
timfaber@Brother:~$ sudo dpkg -i ./mesaflash_3.4.0~pre1-1_amd64.deb

Missing . in front of the / in the apt-get line.
Use of dpkg is not advised as it does not check for dependencies in some cases.

Please Log in to join the conversation.

More
5 years 6 months ago #204778 by timfaber
Been digging a bit more in the docs and my hal file, came up with some things still a bit unclear to me.
readhmi gave me the following:
Code:
timfaber@Brother:~$ mesaflash --device ethernet --addr 10.10.10.10 --readhmid Configuration Name: HOSTMOT2 General configuration information: BoardName : MESA7I97 FPGA Size: 9 KGates FPGA Pins: 144 Number of IO Ports: 3 Width of one I/O port: 17 Clock Low frequency: 100.0000 MHz Clock High frequency: 200.0000 MHz IDROM Type: 3 Instance Stride 0: 4 Instance Stride 1: 64 Register Stride 0: 256 Register Stride 1: 256 Modules in configuration: Module: DPLL There are 1 of DPLL in configuration Version: 0 Registers: 7 BaseAddress: 7000 ClockFrequency: 100.000 MHz Register Stride: 256 bytes Instance Stride: 4 bytes Module: WatchDog There are 1 of WatchDog in configuration Version: 0 Registers: 3 BaseAddress: 0C00 ClockFrequency: 100.000 MHz Register Stride: 256 bytes Instance Stride: 4 bytes Module: IOPort There are 3 of IOPort in configuration Version: 0 Registers: 5 BaseAddress: 1000 ClockFrequency: 100.000 MHz Register Stride: 256 bytes Instance Stride: 4 bytes Module: MuxedQCount There are 6 of MuxedQCount in configuration Version: 3 Registers: 5 BaseAddress: 3600 ClockFrequency: 100.000 MHz Register Stride: 256 bytes Instance Stride: 4 bytes Module: MuxedQCountSel There are 1 of MuxedQCountSel in configuration Version: 0 Registers: 0 BaseAddress: 0000 ClockFrequency: 100.000 MHz Register Stride: 256 bytes Instance Stride: 4 bytes Module: SSerial There are 1 of SSerial in configuration Version: 0 Registers: 6 BaseAddress: 5B00 ClockFrequency: 100.000 MHz Register Stride: 256 bytes Instance Stride: 64 bytes Module: PWM There are 6 of PWM in configuration Version: 0 Registers: 5 BaseAddress: 4100 ClockFrequency: 200.000 MHz Register Stride: 256 bytes Instance Stride: 4 bytes Module: SSR There are 1 of SSR in configuration Version: 0 Registers: 2 BaseAddress: 7D00 ClockFrequency: 100.000 MHz Register Stride: 256 bytes Instance Stride: 4 bytes Module: InMux There are 1 of InMux in configuration Version: 0 Registers: 5 BaseAddress: 8000 ClockFrequency: 100.000 MHz Register Stride: 256 bytes Instance Stride: 4 bytes Module: LED There are 1 of LED in configuration Version: 0 Registers: 1 BaseAddress: 0200 ClockFrequency: 100.000 MHz Register Stride: 256 bytes Instance Stride: 4 bytes Configuration pin-out: IO Connections for TB1/TB2/TB3 Pin# I/O Pri. func Sec. func Chan Pin func Pin Dir TB3-4 0 IOPort PWM 0 PWM (Out) TB3-8 1 IOPort PWM 1 PWM (Out) TB3-12 2 IOPort PWM 2 PWM (Out) TB3-16 3 IOPort PWM 3 PWM (Out) TB3-20 4 IOPort PWM 4 PWM (Out) TB3-20 5 IOPort PWM 4 /Enable (Out) TB3-24 6 IOPort PWM 5 PWM (Out) TB3-24 7 IOPort PWM 5 /Enable (Out) TB3-4,8,12,16 8 IOPort PWM 0 /Enable (Out) TB1-1,2,9,10 9 IOPort MuxedQCount 0 MuxQ-A (In) TB1-4,5,12,13 10 IOPort MuxedQCount 0 MuxQ-B (In) TB1-7,8,15,16 11 IOPort MuxedQCount 0 MuxQ-IDX (In) TB1-17,18,TB2 1,2 12 IOPort MuxedQCount 1 MuxQ-A (In) TB1-20,21,TB2-4,5 13 IOPort MuxedQCount 1 MuxQ-B (In) TB1-23,24,TB2-7,8 14 IOPort MuxedQCount 1 MuxQ-IDX (In) TB2-9,10,17,18 15 IOPort MuxedQCount 2 MuxQ-A (In) TB2-12,13,20,21 16 IOPort MuxedQCount 2 MuxQ-B (In) IO Connections for TB4/TB5 Pin# I/O Pri. func Sec. func Chan Pin func Pin Dir TB2-15,16,23,24 17 IOPort MuxedQCount 2 MuxQ-IDX (In) Internal 18 IOPort MuxedQCountSel 0 MuxSel0 (Out) TB5-13,14 19 IOPort SSR 0 Out-00 (Out) TB5-15,16 20 IOPort SSR 0 Out-01 (Out) TB5-17,18 21 IOPort SSR 0 Out-02 (Out) TB5-19,20 22 IOPort SSR 0 Out-03 (Out) TB5-21,22 23 IOPort SSR 0 Out-04 (Out) TB5-23,24 24 IOPort SSR 0 Out-05 (Out) Internal 25 IOPort SSR 0 AC Ref (Out) Internal 26 IOPort InMux 0 Addr0 (Out) Internal 27 IOPort InMux 0 Addr1 (Out) Internal 28 IOPort InMux 0 Addr2 (Out) Internal 29 IOPort InMux 0 Addr3 (Out) Internal 30 IOPort InMux 0 Data0 (In) TB4-15,16 31 IOPort SSerial 0 RXData0 (In) TB4-17,18 32 IOPort SSerial 0 TXData0 (Out) Internal 33 IOPort SSerial 0 TXEn0 (Out) IO Connections for P1 Pin# I/O Pri. func Sec. func Chan Pin func Pin Dir P1-01/DB25-01 34 IOPort None P1-02/DB25-14 35 IOPort None P1-03/DB25-02 36 IOPort None P1-04/DB25-15 37 IOPort None P1-05/DB25-03 38 IOPort None P1-06/DB25-16 39 IOPort None P1-07/DB25-04 40 IOPort None P1-08/DB25-17 41 IOPort None P1-09/DB25-05 42 IOPort None P1-11/DB25-06 43 IOPort None P1-13/DB25-07 44 IOPort None P1-15/DB25-08 45 IOPort None P1-17/DB25-09 46 IOPort None P1-19/DB25-10 47 IOPort None P1-21/DB25-11 48 IOPort None P1-23/DB25-12 49 IOPort None P1-25/DB25-13 50 IOPort None
and now inparticular:
Code:
Pin# I/O Pri. func Sec. func Chan Pin func Pin Dir TB3-4 0 IOPort PWM 0 PWM (Out) TB3-8 1 IOPort PWM 1 PWM (Out) TB3-12 2 IOPort PWM 2 PWM (Out) TB3-16 3 IOPort PWM 3 PWM (Out) TB3-20 4 IOPort PWM 4 PWM (Out) TB3-20 5 IOPort PWM 4 /Enable (Out) TB3-24 6 IOPort PWM 5 PWM (Out) TB3-24 7 IOPort PWM 5 /Enable (Out) TB3-4,8,12,16 8 IOPort PWM 0 /Enable (Out) TB1-1,2,9,10 9 IOPort MuxedQCount 0 MuxQ-A (In) TB1-4,5,12,13 10 IOPort MuxedQCount 0 MuxQ-B (In) TB1-7,8,15,16 11 IOPort MuxedQCount 0 MuxQ-IDX (In) TB1-17,18,TB2 1,2 12 IOPort MuxedQCount 1 MuxQ-A (In) TB1-20,21,TB2-4,5 13 IOPort MuxedQCount 1 MuxQ-B (In) TB1-23,24,TB2-7,8 14 IOPort MuxedQCount 1 MuxQ-IDX (In) TB2-9,10,17,18 15 IOPort MuxedQCount 2 MuxQ-A (In) TB2-12,13,20,21 16 IOPort MuxedQCount 2 MuxQ-B (In)
Now does IO 0 get referenced in here(below)? and why are there 4 pins on IO 8 and how are they enabled idividually in the hal file?
Code:
# ---PWM Generator signals/setup--- setp [HMOT](CARD0).pwmgen.00.output-type 1 #PWM pin0 setp [HMOT](CARD0).pwmgen.00.offset-mode 1 # offset mode so 50% = 0 setp [HMOT](CARD0).pwmgen.00.scale [JOINT_0]OUTPUT_SCALE net x-output => [HMOT](CARD0).pwmgen.00.value net x-pos-cmd <= joint.0.motor-pos-cmd net x-enable <= joint.0.amp-enable-out # enable first 4 PWMGens on x-enable net x-enable => [HMOT](CARD0).pwmgen.00.enable

Please Log in to join the conversation.

Time to create page: 2.911 seconds
Powered by Kunena Forum