hm2 BSPI documentation, examples?
02 Aug 2023 01:17 #276751
by PCW
Replied by PCW on topic hm2 BSPI documentation, examples?
Does the pin list linuxcnc prints at startup look reasonable?
Are the CS and SCLK pins driven? (pull down with a 1K resistor)
Are the CS and SCLK pins driven? (pull down with a 1K resistor)
Please Log in or Create an account to join the conversation.
02 Aug 2023 01:51 #276753
by blazini36
Replied by blazini36 on topic hm2 BSPI documentation, examples?
pulldown jumpers are set on the 7i92, not sure how strong they are, I don't have any other passives on the SPI lines between the 7i92 and the 2 MCUs. SCK sits low and the CS lines sit high (~3.2v) when linuxcnc is running.
I can bodge a resistors in if necessary but I'd still expect to see something on the scope.
All the pins match and generally everything including Smart Serial is working on my PCB.....SPI alludes me here but we have alot to do yet with code, I'm just trying to get something out of SPI at this point
I can bodge a resistors in if necessary but I'd still expect to see something on the scope.
[color=#000000]linuxcnc /home/justin/linuxcnc/configs/PnP_rev3.0/PnP.ini [/color]
LINUXCNC - 2.9.0~pre1+git20230208.f1270d6ed7
Machine configuration directory is '/home/justin/linuxcnc/configs/PnP_rev3.0'
Machine configuration file is 'PnP.ini'
Starting LinuxCNC...
(time=1690939551.763521,pid=19140): Registering server on TCP port 5005.
(time=1690939551.763809,pid=19140): running server for TCP port 5005 (connection_socket = 3).
linuxcnc TPMOD=tpmod HOMEMOD=homemod EMCMOT=motmod
Note: Using POSIX realtime
Found file(REL): ./PnP.hal
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:12:80:41
hm2_eth: discovered 7I92T
hm2/hm2_7i92.0: Low Level init 0.15
hm2/hm2_7i92.0: created Buffered SPI function hm2_7i92.0.bspi.0.
hm2/hm2_7i92.0: Smart Serial Firmware Version 43
hm2/hm2_7i92.0: 34 I/O Pins used:
hm2/hm2_7i92.0: IO Pin 000 (P2-01): IOPort
hm2/hm2_7i92.0: IO Pin 001 (P2-14): IOPort
hm2/hm2_7i92.0: IO Pin 002 (P2-02): IOPort
hm2/hm2_7i92.0: IO Pin 003 (P2-15): IOPort
hm2/hm2_7i92.0: IO Pin 004 (P2-03): IOPort
hm2/hm2_7i92.0: IO Pin 005 (P2-16): IOPort
hm2/hm2_7i92.0: IO Pin 006 (P2-04): IOPort
hm2/hm2_7i92.0: IO Pin 007 (P2-17): IOPort
hm2/hm2_7i92.0: IO Pin 008 (P2-05): InMux Input Mux #0, pin muxdata (Input)
hm2/hm2_7i92.0: IO Pin 009 (P2-06): InMux Input Mux #0, pin addr0 (Output)
hm2/hm2_7i92.0: IO Pin 010 (P2-07): InMux Input Mux #0, pin addr1 (Output)
hm2/hm2_7i92.0: IO Pin 011 (P2-08): InMux Input Mux #0, pin addr2 (Output)
hm2/hm2_7i92.0: IO Pin 012 (P2-09): Buffered SPI Interface #0, pin CS0 (Output)
hm2/hm2_7i92.0: IO Pin 013 (P2-10): Buffered SPI Interface #0, pin CS1 (Output)
hm2/hm2_7i92.0: IO Pin 014 (P2-11): Buffered SPI Interface #0, pin Serial Out (Output)
hm2/hm2_7i92.0: IO Pin 015 (P2-12): Buffered SPI Interface #0, pin Serial In (Input)
hm2/hm2_7i92.0: IO Pin 016 (P2-13): Buffered SPI Interface #0, pin Clock (Output)
hm2/hm2_7i92.0: IO Pin 017 (P1-01): StepGen #0, pin Step (Output)
hm2/hm2_7i92.0: IO Pin 018 (P1-14): StepGen #0, pin Direction (Output)
hm2/hm2_7i92.0: IO Pin 019 (P1-02): StepGen #1, pin Step (Output)
hm2/hm2_7i92.0: IO Pin 020 (P1-15): StepGen #1, pin Direction (Output)
hm2/hm2_7i92.0: IO Pin 021 (P1-03): StepGen #2, pin Step (Output)
hm2/hm2_7i92.0: IO Pin 022 (P1-16): StepGen #2, pin Direction (Output)
hm2/hm2_7i92.0: IO Pin 023 (P1-04): StepGen #3, pin Step (Output)
hm2/hm2_7i92.0: IO Pin 024 (P1-17): StepGen #3, pin Direction (Output)
hm2/hm2_7i92.0: IO Pin 025 (P1-05): StepGen #4, pin Step (Output)
hm2/hm2_7i92.0: IO Pin 026 (P1-06): StepGen #4, pin Direction (Output)
hm2/hm2_7i92.0: IO Pin 027 (P1-07): StepGen #5, pin Step (Output)
hm2/hm2_7i92.0: IO Pin 028 (P1-08): StepGen #5, pin Direction (Output)
hm2/hm2_7i92.0: IO Pin 029 (P1-09): IOPort
hm2/hm2_7i92.0: IO Pin 030 (P1-10): IOPort
hm2/hm2_7i92.0: IO Pin 031 (P1-11): IOPort
hm2/hm2_7i92.0: IO Pin 032 (P1-12): PWMGen #0, pin Out0 (PWM or Up) (Output)
hm2/hm2_7i92.0: IO Pin 033 (P1-13): PWMGen #1, pin Out0 (PWM or Up) (Output)
All the pins match and generally everything including Smart Serial is working on my PCB.....SPI alludes me here but we have alot to do yet with code, I'm just trying to get something out of SPI at this point
Please Log in or Create an account to join the conversation.
02 Aug 2023 02:30 - 02 Aug 2023 02:34 #276754
by PCW
Replied by PCW on topic hm2 BSPI documentation, examples?
You probably have to put some printfs is to see whats (not) happening...
Last edit: 02 Aug 2023 02:34 by PCW.
Please Log in or Create an account to join the conversation.
02 Aug 2023 02:53 #276755
by blazini36
Replied by blazini36 on topic hm2 BSPI documentation, examples?
Has anyone tested a 7i65 on Linuxcnc lately? Is there anyway to verify the bspi driver still works in 2.9? Id really like to find some kind of simple test component to buzz a $5 Amazon weather sensor or something cuz it feels like I'm shooting in the dark here.
Please Log in or Create an account to join the conversation.
02 Aug 2023 08:55 - 02 Aug 2023 08:55 #276768
by andypugh
Replied by andypugh on topic hm2 BSPI documentation, examples?
Have you addf-ed hm2_7i82.read and .write in the HAL file? Do you have a realtime thread running?
Last edit: 02 Aug 2023 08:55 by andypugh.
Please Log in or Create an account to join the conversation.
02 Aug 2023 11:45 #276775
by blazini36
Replied by blazini36 on topic hm2 BSPI documentation, examples?
Yeah, it's a semi-running machineHave you addf-ed hm2_7i82.read and .write in the HAL file? Do you have a realtime thread running?
loadrt [KINS]KINEMATICS
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS
loadrt hostmot2
loadrt hm2_eth board_ip="10.10.10.10" config="num_encoders=0 num_pwmgens=2 num_stepgens=6 num_inmuxs=1 num_bspis=1 sserial_port_0=2xxxxx"
setp hm2_7i92.0.pwmgen.pwm_frequency 100
setp hm2_7i92.0.pwmgen.pdm_frequency 6000000
setp hm2_7i92.0.watchdog.timeout_ns 5000000
loadrt pid names=pid.x,pid.y,pid.z,pid.a,pid.b
loadrt pnp
addf hm2_7i92.0.read servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf pid.x.do-pid-calcs servo-thread
addf pid.y.do-pid-calcs servo-thread
addf pid.z.do-pid-calcs servo-thread
addf pid.a.do-pid-calcs servo-thread
addf pid.b.do-pid-calcs servo-thread
addf hm2_7i92.0.write servo-thread
setp hm2_7i92.0.dpll.01.timer-us -50
setp hm2_7i92.0.stepgen.timer-number 1
Please Log in or Create an account to join the conversation.
02 Aug 2023 15:21 #276779
by PCW
Replied by PCW on topic hm2 BSPI documentation, examples?
Are you running a fairly late copy of LinuxCNC master? There were some changes to the BSPI driver in hostmot2 fairly recently to solve some issue with Ethernet interfaced devices
Also a very low level test might be good to see if write data is being written to the BSPI registers.
Can you start LinuxCNC and then:
sudo tcpdump -x -i eno1 -c 10 > comdump.txt
and post comdump.txt here
(you may have a different Ethernet device than eno1)
Also a very low level test might be good to see if write data is being written to the BSPI registers.
Can you start LinuxCNC and then:
sudo tcpdump -x -i eno1 -c 10 > comdump.txt
and post comdump.txt here
(you may have a different Ethernet device than eno1)
Please Log in or Create an account to join the conversation.
02 Aug 2023 18:37 #276786
by blazini36
I don't remember compiling it on this machine, pretty sure it's the debian apt version.
My ethernet latency is pretty bad on this PC. I remember some conversation with rodw but I didn't look into whether that was resolved or not.
Replied by blazini36 on topic hm2 BSPI documentation, examples?
LinuxCNC/AXIS version 2.9.0~pre1+git20230208.f1270d6ed7Are you running a fairly late copy of LinuxCNC master? There were some changes to the BSPI driver in hostmot2 fairly recently to solve some issue with Ethernet interfaced devices
I don't remember compiling it on this machine, pretty sure it's the debian apt version.
My ethernet latency is pretty bad on this PC. I remember some conversation with rodw but I didn't look into whether that was resolved or not.
Attachments:
Please Log in or Create an account to join the conversation.
02 Aug 2023 18:49 #276787
by PCW
Replied by PCW on topic hm2 BSPI documentation, examples?
I would definitely update to the latest master
The Ethernet latency issue can usually be fixed by using either an old (4.19)
or new kernel (current non release candidate is 6.4.6-rt8)
The dump shows a data read and write from the SPI FIFO so there maybe some
setup step missing
A 32 bit write to the SPI FIFO:
81c2 0055 efbe adde
= write 1 doubleword to 0x5500 = 0xdeadbeef
The Ethernet latency issue can usually be fixed by using either an old (4.19)
or new kernel (current non release candidate is 6.4.6-rt8)
The dump shows a data read and write from the SPI FIFO so there maybe some
setup step missing
A 32 bit write to the SPI FIFO:
81c2 0055 efbe adde
= write 1 doubleword to 0x5500 = 0xdeadbeef
Please Log in or Create an account to join the conversation.
02 Aug 2023 20:27 #276797
by rodw
Replied by rodw on topic hm2 BSPI documentation, examples?
If you have installed from the Bookworm repos, you can upgrade to the latest version by following the getting linuxcnc docs
linuxcnc.org/docs/2.9/html/getting-start...an_bookworm_x86_only
If you wish to upgrade to master (V 2.10) you just need to substitute
master-uspace for 2.9-uspace
to change to and from, edit this fileSorry but the docs were written specifically for the pending 2.9 release version
linuxcnc.org/docs/2.9/html/getting-start...an_bookworm_x86_only
If you wish to upgrade to master (V 2.10) you just need to substitute
master-uspace for 2.9-uspace
to change to and from, edit this file
/etc/apt/sources.list.d/linuxcnc.list
Please Log in or Create an account to join the conversation.
Time to create page: 0.090 seconds