On Thursday 22 October 2020 11:07:19 Gene Heskett wrote: > On Thursday 22 October 2020 09:39:35 Peter C. Wallace wrote: > > On Thu, 22 Oct 2020, Gene Heskett wrote: > > > Date: Thu, 22 Oct 2020 04:41:19 -0400 > > > From: Gene Heskett <ghesk...@shentel.net> > > > Reply-To: "Enhanced Machine Controller (EMC)" > > > <emc-users@lists.sourceforge.net> > > > To: emc-users@lists.sourceforge.net > > > Subject: Re: [Emc-users] Now do I have a bad card? > > > > > > On Wednesday 21 October 2020 23:05:16 Peter C. Wallace wrote: > > >> On Wed, 21 Oct 2020, Gene Heskett wrote: > > >>> Date: Wed, 21 Oct 2020 21:06:06 -0400 > > >>> From: Gene Heskett <ghesk...@shentel.net> > > >>> Reply-To: "Enhanced Machine Controller (EMC)" > > >>> <emc-users@lists.sourceforge.net> > > >>> To: emc-users@lists.sourceforge.net > > >>> Subject: Re: [Emc-users] Now do I have a bad card? > > >>> > > >>> On Wednesday 21 October 2020 20:21:30 Peter C. Wallace wrote: > > >>> [...] > > >>> > > >>>>>>>>>> sudo mesaflash --device 5i25 --readhmid > > >>>>>>>>> > > >>>>>>>>> gene@GO704:~/linuxcnc$ sudo mesaflash --device 5i25 > > >>>>>>>>> --readhmid [sudo] password for gene: > > >>>>>>>>> Configuration Name: HOSTMOT2 > > >>>>>>>>> > > >>>>>>>>> General configuration information: > > >>>>>>>>> > > >>>>>>>>> BoardName : MESA5I25 > > >>>>>>>>> FPGA Size: 9 KGates > > >>>>>>>>> FPGA Pins: 144 > > >>>>>>>>> Number of IO Ports: 2 > > >>>>>>>>> Width of one I/O port: 17 > > >>>>>>>>> Clock Low frequency: 33.3333 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: WatchDog > > >>>>>>>>> There are 1 of WatchDog in configuration > > >>>>>>>>> Version: 0 > > >>>>>>>>> Registers: 3 > > >>>>>>>>> BaseAddress: 0C00 > > >>>>>>>>> ClockFrequency: 33.333 MHz > > >>>>>>>>> Register Stride: 256 bytes > > >>>>>>>>> Instance Stride: 4 bytes > > >>>>>>>>> > > >>>>>>>>> Module: IOPort > > >>>>>>>>> There are 2 of IOPort in configuration > > >>>>>>>>> Version: 0 > > >>>>>>>>> Registers: 5 > > >>>>>>>>> BaseAddress: 1000 > > >>>>>>>>> ClockFrequency: 33.333 MHz > > >>>>>>>>> Register Stride: 256 bytes > > >>>>>>>>> Instance Stride: 4 bytes > > >>>>>>>>> > > >>>>>>>>> Module: QCount > > >>>>>>>>> There are 2 of QCount in configuration > > >>>>>>>>> Version: 2 > > >>>>>>>>> Registers: 5 > > >>>>>>>>> BaseAddress: 3000 > > >>>>>>>>> ClockFrequency: 33.333 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: 33.333 MHz > > >>>>>>>>> Register Stride: 256 bytes > > >>>>>>>>> Instance Stride: 64 bytes > > >>>>>>>>> > > >>>>>>>>> Module: PWM > > >>>>>>>>> There are 2 of PWM in configuration > > >>>>>>>>> Version: 0 > > >>>>>>>>> Registers: 5 > > >>>>>>>>> BaseAddress: 4100 > > >>>>>>>>> ClockFrequency: 200.000 MHz > > >>>>>>>>> Register Stride: 256 bytes > > >>>>>>>>> Instance Stride: 4 bytes > > >>>>>>>>> > > >>>>>>>>> Module: StepGen > > >>>>>>>>> There are 9 of StepGen in configuration > > >>>>>>>>> Version: 2 > > >>>>>>>>> Registers: 10 > > >>>>>>>>> BaseAddress: 2000 > > >>>>>>>>> ClockFrequency: 33.333 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: 33.333 MHz > > >>>>>>>>> Register Stride: 256 bytes > > >>>>>>>>> Instance Stride: 4 bytes > > >>>>>>>>> > > >>>>>>>>> Configuration pin-out: > > >>>>>>>>> > > >>>>>>>>> IO Connections for P3 > > >>>>>>>>> Pin# I/O Pri. func Sec. func Chan Pin > > >>>>>>>>> func Pin Dir > > >>>>>>>>> > > >>>>>>>>> 1 0 IOPort StepGen 0 > > >>>>>>>>> Dir/Table2 (Out) 14 1 IOPort StepGen > > >>>>>>>>> 0 Step/Table1 (Out) 2 2 IOPort StepGen > > >>>>>>>>> 1 Dir/Table2 (Out) 15 3 IOPort StepGen > > >>>>>>>>> 1 Step/Table1 (Out) 3 4 IOPort StepGen 2 > > >>>>>>>>> Dir/Table2 (Out) 16 5 IOPort StepGen 2 > > >>>>>>>>> Step/Table1 (Out) 4 6 IOPort StepGen 3 > > >>>>>>>>> Dir/Table2 (Out) 17 7 IOPort StepGen 3 > > >>>>>>>>> Step/Table1 (Out) 5 8 IOPort StepGen 4 > > >>>>>>>>> Dir/Table2 (Out) 6 9 IOPort StepGen 4 > > >>>>>>>>> Step/Table1 (Out) 7 10 IOPort SSerial 0 > > >>>>>>>>> TXData1 (Out) 8 11 IOPort SSerial 0 > > >>>>>>>>> RXData1 (In) 9 12 IOPort SSerial 0 > > >>>>>>>>> TXData2 (Out) 10 13 IOPort SSerial 0 > > >>>>>>>>> RXData2 (In) 11 14 IOPort QCount 0 > > >>>>>>>>> Quad-IDX (In) 12 15 IOPort QCount 0 > > >>>>>>>>> Quad-B (In) 13 16 IOPort QCount 0 > > >>>>>>>>> Quad-A (In) > > >>>>>>>>> > > >>>>>>>>> IO Connections for P2 > > >>>>>>>>> Pin# I/O Pri. func Sec. func Chan Pin > > >>>>>>>>> func Pin Dir > > >>>>>>>>> > > >>>>>>>>> 1 17 IOPort StepGen 5 > > >>>>>>>>> Dir/Table2 (Out) 14 18 IOPort StepGen > > >>>>>>>>> 5 Step/Table1 (Out) 2 19 IOPort StepGen > > >>>>>>>>> 6 Dir/Table2 (Out) 15 20 IOPort StepGen > > >>>>>>>>> 6 Step/Table1 (Out) 3 21 IOPort StepGen 7 > > >>>>>>>>> Dir/Table2 (Out) 16 22 IOPort StepGen 7 > > >>>>>>>>> Step/Table1 (Out) 4 23 IOPort StepGen 8 > > >>>>>>>>> Dir/Table2 (Out) 17 24 IOPort StepGen 8 > > >>>>>>>>> Step/Table1 (Out) 5 25 IOPort PWM 0 PWM > > >>>>>>>>> (Out) 6 26 IOPort PWM 0 > > >>>>>>>>> /Enable (Out) 7 27 IOPort PWM 0 > > >>>>>>>>> Dir (Out) 8 28 IOPort SSerial 0 TXData3 > > >>>>>>>>> (Out) 9 29 IOPort SSerial 0 TXEn3 > > >>>>>>>>> (Out) 10 30 IOPort SSerial 0 > > >>>>>>>>> RXData3 (In) 11 31 IOPort QCount > > >>>>>>>>> 1 Quad-IDX (In) 12 32 IOPort QCount 1 > > >>>>>>>>> Quad-B (In) 13 33 IOPort QCount 1 > > >>>>>>>>> Quad-A (In) > > >>>>>>>>> > > >>>>>>>>> gene@GO704:~/linuxcnc$ > > >>>>>>>> > > >>>>>>>> Yep that looks like a 7I76+7I78 configuration > > >>>>>>>> with just one PWMGen for the 7I78 on P2 > > >>>>>>> > > >>>>>>> but this is the load line that generated that dmesg: > > >>>>>>> loadrt hm2_pci config="num_encoders=2 num_pwmgens=2 > > >>>>>>> num_stepgens=3" > > >>>>>> > > >>>>>> Thats a pinout file not a dmesg log > > >>>>> > > >>>>> Its the output of the --readhmid command you asked for. I just > > >>>>> copy pasted it all, including the mesaflash command you can > > >>>>> see at the top of the paste. > > >>>>> > > >>>>> the dmesg file shows the 2nd pwmgen, but the dir signal is > > >>>>> permanently grounded. > > >>> > > >>> Thats with the original 5i25_7i76_1px2d.bit file installed. > > >>> > > >>>> Um no, there is only PWM 0 brought out > > >>>> What pin is grounded? > > >>> > > >>> P2-05. With the 5i25_7i76_1px2d.bit bitfile installed, 3 5i25's > > >>> tested. > > >> > > >> Thats expected to be low since its PWM 0 PWM pin > > > > > > Not according to the docs or dmesg, pwm is pin 6 and is the pwm > > > waveform on the scope, pin 5 is supposed to be its dir, and high > > > for a - input. Its stuck on ground regardless of the polarity of > > > pwmgen's input. As of testing yesterday on 3 different 5i25 cards. > > > > OK I though you were still using the 7I76_7I78 config sorry > > The pin file seemed to indicate I could make it work, but failed. > > > > To demo, I just rewrote the 5i25_7i76_1px2d.bit file back into the > > > card, verified it, and reloaded it. Ran linuxcnc -l with this > > > loadrt line: > > > > > > loadrt hm2_pci config="num_encoders=2 num_pwmgens=2 > > > num_stepgens=3" > > > > > > then ran dmesg and got this: > > > hm2: loading Mesa HostMot2 driver version 0.15 > > > hm2_pci: loading Mesa AnyIO HostMot2 driver version 0.7 > > > hm2_pci: discovered 5i25 at 0000:04:00.0 > > > hm2/hm2_5i25.0: Low Level init 0.15 > > > hm2/hm2_5i25.0: Smart Serial Firmware Version 43 > > > Board hm2_5i25.0.7i76.0.0 Hardware Mode 0 = standard > > > Board hm2_5i25.0.7i76.0.0 Software Mode 0 = io_spin > > > Board hm2_5i25.0.7i76.0.0 Software Mode 1 = io_ana_spin > > > Board hm2_5i25.0.7i76.0.0 Software Mode 2 = io_enc_ana_spin_fv > > > hm2/hm2_5i25.0: 34 I/O Pins used: > > > hm2/hm2_5i25.0: IO Pin 000 (P3-01): StepGen #0, pin Direction > > > (Output) hm2/hm2_5i25.0: IO Pin 001 (P3-14): StepGen #0, pin Step > > > (Output) hm2/hm2_5i25.0: IO Pin 002 (P3-02): StepGen #1, pin > > > Direction (Output) hm2/hm2_5i25.0: IO Pin 003 (P3-15): StepGen > > > #1, pin Step (Output) hm2/hm2_5i25.0: IO Pin 004 (P3-03): StepGen > > > #2, pin Direction (Output) hm2/hm2_5i25.0: IO Pin 005 (P3-16): > > > StepGen #2, pin Step (Output) hm2/hm2_5i25.0: IO Pin 006 (P3-04): > > > IOPort hm2/hm2_5i25.0: IO Pin 007 (P3-17): IOPort > > > hm2/hm2_5i25.0: IO Pin 008 (P3-05): PWMGen #0, pin Out1 (Dir or > > > Down) (Output) hm2/hm2_5i25.0: IO Pin 009 (P3-06): PWMGen #0, pin > > > Out0 (PWM or Up) (Output) hm2/hm2_5i25.0: IO Pin 010 (P3-07): > > > Smart Serial Interface #0, pin tx0 (Output) hm2/hm2_5i25.0: IO > > > Pin 011 (P3-08): Smart Serial Interface #0, pin rx0 (Input) > > > hm2/hm2_5i25.0: IO Pin 012 (P3-09): IOPort > > > hm2/hm2_5i25.0: IO Pin 013 (P3-10): IOPort > > > hm2/hm2_5i25.0: IO Pin 014 (P3-11): Encoder #0, pin Index (Input) > > > hm2/hm2_5i25.0: IO Pin 015 (P3-12): Encoder #0, pin B (Input) > > > hm2/hm2_5i25.0: IO Pin 016 (P3-13): Encoder #0, pin A (Input) > > > hm2/hm2_5i25.0: IO Pin 017 (P2-01): IOPort > > > hm2/hm2_5i25.0: IO Pin 018 (P2-14): IOPort > > > hm2/hm2_5i25.0: IO Pin 019 (P2-02): IOPort > > > hm2/hm2_5i25.0: IO Pin 020 (P2-15): IOPort > > > hm2/hm2_5i25.0: IO Pin 021 (P2-03): IOPort > > > hm2/hm2_5i25.0: IO Pin 022 (P2-16): IOPort > > > hm2/hm2_5i25.0: IO Pin 023 (P2-04): IOPort > > > hm2/hm2_5i25.0: IO Pin 024 (P2-17): IOPort > > > hm2/hm2_5i25.0: IO Pin 025 (P2-05): PWMGen #1, pin Out1 (Dir or > > > Down) (Output) hm2/hm2_5i25.0: IO Pin 026 (P2-06): PWMGen #1, pin > > > Out0 (PWM or Up) (Output) hm2/hm2_5i25.0: IO Pin 027 (P2-07): > > > IOPort > > > hm2/hm2_5i25.0: IO Pin 028 (P2-08): IOPort > > > hm2/hm2_5i25.0: IO Pin 029 (P2-09): IOPort > > > hm2/hm2_5i25.0: IO Pin 030 (P2-10): IOPort > > > hm2/hm2_5i25.0: IO Pin 031 (P2-11): Encoder #1, pin Index (Input) > > > hm2/hm2_5i25.0: IO Pin 032 (P2-12): Encoder #1, pin B (Input) > > > hm2/hm2_5i25.0: IO Pin 033 (P2-13): Encoder #1, pin A (Input) > > > hm2/hm2_5i25.0: registered > > > hm2_5i25.0: initialized AnyIO board at 0000:04:00.0 > > > > > > All I want and need is for both of the 2 pwmgen's I can see above > > > to actually work. In my original .hal file, I had to parallel both > > > pwmgens to get enough signals to run the spindle. > > > > > > But now I need both pwmgen's to be independent and fully > > > functional. > > > > > > pwmgen #1 dir on p2-05 doesn't work, welded to ground. In fact > > > neither DIR can be seen to be working on a halmeter. But at 4AM > > > I'm not going out in my fruits to check it with a scope. > > > > If thats the case there is a configuration error or hardware problem > > There is no reason the direction signals should not work > > > > Have you set the PWM mode correctly and tried setting the PWM value > > by hand? > > To make static testing easier, I have ff0=1 on both, have not set a > type on pwmgen.00 I assumed the default was one, but lemme > check.pwmgen.00 is 1, as is pwmgen.01 right now. I can't check outputs > with halmeter, that takes a real meter or a real scope. But with those > presets in FF1 of both pid's, I can get an offset with the keyboard or > mouse. Visible at the chosen pwmgen.xx.value. But I'll have to scope > it to see if either dir is working. Thats about 2 hours away as I > haven't had breakfast yet. And I'm alone now, so all that is up to > me. > > > > I can probably dummy up something in hal to replace it, and I need > > > this machine running to make the rest of the BS-1 motor kit so > > > I'll try as I've got gpio to spare on p2 yet. But if stepgen4 is > > > removed, which I'll not need, then there s/b room to make both > > > pwmgen's work. > > > > Stepgen 4 on P3 is already removed (its replaced by PWMGen 0) > > > > > That would turn 5i25_7i76_1px2d.bit into 5i25_7i76_2px2d.bit by > > > your naming convention. And that would still leave enough > > > stepgens to run my 6040 mill with that same 2px2d bitfile. So in > > > the very helpfull category, would be a .pin file for every .bit > > > file. :) But there is not. > > > > > > Can that bit file mod be done? Take out stepgen #4, and make both > > > pwmgen's work? With pwmgen.00 outputs on the 7i76D tb3 in place > > > of stepgen#4, and pwmgen.01 working on the advertised pins of p2, > > > I'd be a happy camper. > > > > > > The alternative would appear to be a 7i90 ($59) and 3 7i42TA's > > > ($135) plus a bunch of cable connectors for 50 pin ribbon per > > > parport socket since no one has made an actually working spi > > > interface for wintel stuff. That works great on a rpi4 in SPI > > > mode. But thats over $200 too. UNK how well it would work on a > > > parport with 4 feet of input cable. Its spi cable is only 2" > > > including bus adaptor on the pi's. > > > > > >>>>>> It does seem to have a harmless inconsistency > > >>>>>> (2 PWMgen inside but only 1 wired to the output) > > Its not harmless, its a showstopper. One that I have enough gpio's on > p2 to fix with a couple of comp's if I can get all the edits right. > > Thats something I have yet to verify I can make work. I already have > the last 4 set for is_output but something is still stuck. > > Unless you can fix that bitfile and wire it up. > > Thank you Peter.
My next attempt seems to have arrived at a usable config although neither the spindle nor axisA is wired up ATM. But I am getting the desired signals to make it work from the stepgen 3 terminals on tb2, getting the complements pairs out on the 4 terminals labeled as stepgen 3. I will need to go thru the hal file, removing whats no longer used, but I need to make up an interface for the olimex card next, which needs 8 signals, 3 from liuxcnc, pdm and dir+, dir-, which I now have and can actually see with a halmeter. The spindles pdm is on the 2nd pwmgen with the pwd from the bob. And I need to hook the spindle dir back up on stepgen#3 and the A dirs to the olimex stamp on the other stepgen#3 pins on the 7i76D. I think that might be Progress! Spose? Time to rest my back. Getting old is unavoidable unless you die Junge. Considering the alternative, I rather like it. ;p) This olimex card has so low an R for the on gates that it doesn't even come with a heat sink for a 30 amp rated load, the whole card is about the size of an airmail stamp. If I think it needs cooling, I'll mount it in the psu's exhaust port air stream. Or I've some bigger heat sink stock. Thank you Peter. Cheers, Gene Heskett -- "There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order." -Ed Howdershelt (Author) If we desire respect for the law, we must first make the law respectable. - Louis D. Brandeis Genes Web page <http://geneslinuxbox.net:6309/gene> _______________________________________________ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users