7i90 in SPI mode, bitfiles from http://www.mesanet.com/software/parallel/7i90.zi

More
10 Apr 2017 21:18 - 10 Apr 2017 21:19 #91150 by rmu
I just got my brand-new 7i90s and managed to hook it up to a raspberry pi via SPI. Secondary config came pre-flashed with SPI config. Compiled mesaflash (got it from github), downloaded www.mesanet.com/software/parallel/7i90.zip (the link is from the store). I noticed that the configuration is for a stepper, I need servo, plus smart serial, so I tried to flash another firmware in the primary location. That seems to have worked, but output from readhmid did not change!

So I tried some different firmware files (justio, the dual 7i48 config etc...) only to find that I always seem to get the same readhmid.

Next thing I diffed the bitfiles (with vbindiff), and it seems, the SPI bitfiles only differ in the build time, the rest is identical. I.e. it is possible to flash the justio bitfile and verify with 7i90_spi_sv12im_2x7i48.bit and it compares OK.

I did not check all SPI bitfiles, but I noticed that e.g. 7i90_epp_justio.bit and 7i90_epp_sv12im_2x7i48.bit are very "different", i.e. they differ not only in the build date/time.

Next thing I will try to rebuild the bitfiles, but it will take some time as I have zero recent experience with anything FPGA, and that beast of xilinx software refused to download completely...

I'm pretty sure something is fishy with the spi bitfiles. Any help appreciated.

EDIT: I did change the jumper from secondary EEPROM to primary after booting.
Last edit: 10 Apr 2017 21:19 by rmu.

Please Log in or Create an account to join the conversation.

More
10 Apr 2017 21:31 #91151 by rmu
Update: found ssst8_6.zip on this forum, flashed that, output of readhmid says 6 StepGens on P1 and Smart Serial on P3. So flashing works.

Please Log in or Create an account to join the conversation.

More
11 Apr 2017 00:16 - 11 Apr 2017 00:17 #91158 by PCW
I'll update the batch file and rebuild the bitfiles in case there was an issue with the batch file that built these
Last edit: 11 Apr 2017 00:17 by PCW.

Please Log in or Create an account to join the conversation.

More
11 Apr 2017 21:35 #91208 by rmu
So I managed to build SVSS6_8_72 with spi and flash it, readhmid seems to be ok.

I was under the impression that mesaflash --sserial should give some info of connected smart serial boards, but connected 7i90s with factory-flashed SSerial Remote firmware don't show up. /INIT and PWR LEDs are on.

Also tried EPP-version of SVSS6_8_72 as supplied in 7i90.zip, no difference, with multiple different CAT5/6 cables that do work as gigabit patch cables. 50pin cables are former SCSI cables that did work when last in use (a decade ago). With the scope, there is no activity to see on any tx-pins when idle nor when runnig --sserial.

Testing with 7i90_epp_svss6_6.bit I do see some activity on the TX-Pins on the scope, but of course pinout is not suitable for 7i44 breakout board.

Probably I'm missing something trivial, but I don't see it.

Please Log in or Create an account to join the conversation.

More
11 Apr 2017 22:07 #91209 by rmu
halrun:
halcmd: loadrt hostmot2
Note: Using POSIX realtime
hm2: loading Mesa HostMot2 driver version 0.15
halcmd: loadrt hm2_spi spidev_path=/dev/spidev0.0 spidev_rate=32000
probe 32000000
hm2/hm2_7i90.0: Smart Serial Firmware Version 43
hm2/hm2_7i90.0: 72 I/O Pins used:
hm2/hm2_7i90.0:     IO Pin 000 (P1-01): PWMGen #0, pin Not-Enable (Output)
hm2/hm2_7i90.0:     IO Pin 001 (P1-03): Muxed Encoder #0, pin Muxed A (Input)
hm2/hm2_7i90.0:     IO Pin 002 (P1-05): Muxed Encoder #0, pin Muxed B (Input)
hm2/hm2_7i90.0:     IO Pin 003 (P1-07): Muxed Encoder #0, pin Muxed Index (Input)
hm2/hm2_7i90.0:     IO Pin 004 (P1-09): Muxed Encoder #1, pin Muxed A (Input)
hm2/hm2_7i90.0:     IO Pin 005 (P1-11): Muxed Encoder #1, pin Muxed B (Input)
hm2/hm2_7i90.0:     IO Pin 006 (P1-13): Muxed Encoder #1, pin Muxed Index (Input)
hm2/hm2_7i90.0:     IO Pin 007 (P1-15): Muxed Encoder #2, pin Muxed A (Input)
hm2/hm2_7i90.0:     IO Pin 008 (P1-17): Muxed Encoder #2, pin Muxed B (Input)
hm2/hm2_7i90.0:     IO Pin 009 (P1-19): Muxed Encoder #2, pin Muxed Index (Input)
hm2/hm2_7i90.0:     IO Pin 010 (P1-21): Muxed Encoder Select #0, pin Mux Select 0 (Output)
hm2/hm2_7i90.0:     IO Pin 011 (P1-23): PWMGen #0, pin Out0 (PWM or Up) (Output)
hm2/hm2_7i90.0:     IO Pin 012 (P1-25): PWMGen #0, pin Out1 (Dir or Down) (Output)
hm2/hm2_7i90.0:     IO Pin 013 (P1-27): PWMGen #1, pin Out0 (PWM or Up) (Output)
hm2/hm2_7i90.0:     IO Pin 014 (P1-29): PWMGen #1, pin Out1 (Dir or Down) (Output)
hm2/hm2_7i90.0:     IO Pin 015 (P1-31): PWMGen #2, pin Out0 (PWM or Up) (Output)
hm2/hm2_7i90.0:     IO Pin 016 (P1-33): PWMGen #2, pin Out1 (Dir or Down) (Output)
hm2/hm2_7i90.0:     IO Pin 017 (P1-35): PWMGen #3, pin Out0 (PWM or Up) (Output)
hm2/hm2_7i90.0:     IO Pin 018 (P1-37): PWMGen #3, pin Out1 (Dir or Down) (Output)
hm2/hm2_7i90.0:     IO Pin 019 (P1-39): PWMGen #4, pin Out0 (PWM or Up) (Output)
hm2/hm2_7i90.0:     IO Pin 020 (P1-41): PWMGen #4, pin Out1 (Dir or Down) (Output)
hm2/hm2_7i90.0:     IO Pin 021 (P1-43): PWMGen #5, pin Out0 (PWM or Up) (Output)
hm2/hm2_7i90.0:     IO Pin 022 (P1-45): PWMGen #5, pin Out1 (Dir or Down) (Output)
hm2/hm2_7i90.0:     IO Pin 023 (P1-47): PWMGen #0, pin Not-Enable (Output)
hm2/hm2_7i90.0:     IO Pin 024 (P2-01): IOPort
hm2/hm2_7i90.0:     IO Pin 025 (P2-03): IOPort
hm2/hm2_7i90.0:     IO Pin 026 (P2-05): IOPort
hm2/hm2_7i90.0:     IO Pin 027 (P2-07): IOPort
hm2/hm2_7i90.0:     IO Pin 028 (P2-09): IOPort
hm2/hm2_7i90.0:     IO Pin 029 (P2-11): IOPort
hm2/hm2_7i90.0:     IO Pin 030 (P2-13): IOPort
hm2/hm2_7i90.0:     IO Pin 031 (P2-15): IOPort
hm2/hm2_7i90.0:     IO Pin 032 (P2-17): IOPort
hm2/hm2_7i90.0:     IO Pin 033 (P2-19): IOPort
hm2/hm2_7i90.0:     IO Pin 034 (P2-21): IOPort
hm2/hm2_7i90.0:     IO Pin 035 (P2-23): IOPort
hm2/hm2_7i90.0:     IO Pin 036 (P2-25): IOPort
hm2/hm2_7i90.0:     IO Pin 037 (P2-27): IOPort
hm2/hm2_7i90.0:     IO Pin 038 (P2-29): IOPort
hm2/hm2_7i90.0:     IO Pin 039 (P2-31): IOPort
hm2/hm2_7i90.0:     IO Pin 040 (P2-33): IOPort
hm2/hm2_7i90.0:     IO Pin 041 (P2-35): IOPort
hm2/hm2_7i90.0:     IO Pin 042 (P2-37): IOPort
hm2/hm2_7i90.0:     IO Pin 043 (P2-39): IOPort
hm2/hm2_7i90.0:     IO Pin 044 (P2-41): IOPort
hm2/hm2_7i90.0:     IO Pin 045 (P2-43): IOPort
hm2/hm2_7i90.0:     IO Pin 046 (P2-45): IOPort
hm2/hm2_7i90.0:     IO Pin 047 (P2-47): IOPort
hm2/hm2_7i90.0:     IO Pin 048 (P3-01): Smart Serial Interface #0, pin RxData0 (Input)
hm2/hm2_7i90.0:     IO Pin 049 (P3-03): IOPort
hm2/hm2_7i90.0:     IO Pin 050 (P3-05): Smart Serial Interface #0, pin RxData2 (Input)
hm2/hm2_7i90.0:     IO Pin 051 (P3-07): IOPort
hm2/hm2_7i90.0:     IO Pin 052 (P3-09): Smart Serial Interface #0, pin TxData0 (Output)
hm2/hm2_7i90.0:     IO Pin 053 (P3-11): Smart Serial Interface #0, pin TxEn0   (Output)
hm2/hm2_7i90.0:     IO Pin 054 (P3-13): IOPort
hm2/hm2_7i90.0:     IO Pin 055 (P3-15): IOPort
hm2/hm2_7i90.0:     IO Pin 056 (P3-17): Smart Serial Interface #0, pin TxData2 (Output)
hm2/hm2_7i90.0:     IO Pin 057 (P3-19): Smart Serial Interface #0, pin TxEn2   (Output)
hm2/hm2_7i90.0:     IO Pin 058 (P3-21): IOPort
hm2/hm2_7i90.0:     IO Pin 059 (P3-23): IOPort
hm2/hm2_7i90.0:     IO Pin 060 (P3-25): IOPort
hm2/hm2_7i90.0:     IO Pin 061 (P3-27): IOPort
hm2/hm2_7i90.0:     IO Pin 062 (P3-29): IOPort
hm2/hm2_7i90.0:     IO Pin 063 (P3-31): IOPort
hm2/hm2_7i90.0:     IO Pin 064 (P3-33): IOPort
hm2/hm2_7i90.0:     IO Pin 065 (P3-35): IOPort
hm2/hm2_7i90.0:     IO Pin 066 (P3-37): IOPort
hm2/hm2_7i90.0:     IO Pin 067 (P3-39): IOPort
hm2/hm2_7i90.0:     IO Pin 068 (P3-41): IOPort
hm2/hm2_7i90.0:     IO Pin 069 (P3-43): IOPort
hm2/hm2_7i90.0:     IO Pin 070 (P3-45): IOPort
hm2/hm2_7i90.0:     IO Pin 071 (P3-47): IOPort
hm2/hm2_7i90.0: registered
halcmd: 

After this, mesaflash --sserial gives
SSLBP port 0:
  SSLBP Version: 1.43
  SSLBP Channels: 8
  SSLBP Baud Rate: 2500000
  sserial device at channel 0: 7I90 GPIO (unit 0x12345678)
  sserial device at channel 2: 7I90 GPIO (unit 0x12345678)

Please Log in or Create an account to join the conversation.

More
11 Apr 2017 23:01 #91210 by PCW
Those indicate that the 7I90 sserial remotes were found and are working

I believe I fixed the build batchfile and have updated the SPI configs in 7i90.zip

Please Log in or Create an account to join the conversation.

More
11 Apr 2017 23:47 - 11 Apr 2017 23:48 #91211 by rmu

Those indicate that the 7I90 sserial remotes were found and are working


The strange thing is that mesaflash --sserial shows those boards only after running/connecting with the linuxcnc hostmot2 driver. Directly after power up, no sserial boards are recognized / reported.

Will try new 7i90 builds tomorrow. Thanks.
Last edit: 11 Apr 2017 23:48 by rmu.

Please Log in or Create an account to join the conversation.

More
11 Apr 2017 23:54 #91213 by PCW
Its entirely possible that there are _many_ bugs in Mesaflash's SPI interfaced functions
and LinuxCNC's SPI driver (I know there is an interaction between them perhaps the spidev SPI driver state
or something)

I would try a simple hal config and toggle some 7I90-ssremote I/O bits
(halcmd show pin to get a pin list)

Please Log in or Create an account to join the conversation.

Moderators: PCWjmelson
Time to create page: 0.079 seconds
Powered by Kunena Forum