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. 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. 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. 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) > > > > 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 > > Peter Wallace > Mesa Electronics > > (\__/) > (='.'=) This is Bunny. Copy and paste bunny into your > (")_(") signature to help him gain world domination. > > > > _______________________________________________ > Emc-users mailing list > Emc-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/emc-users 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