I am really sorry Schooner, I was excited about the findings... I actually don't know which args suits my setup, I looked in the source, but I don't know how to find where they are used, I tried to scroll it all, but found no place that seems to use them. My board is a Raspberry Pi 3 model B V 1.2 and attached you can find the cpuinfo output Spi is enabled from raspi-config, and in /dev there is spidev0.0 and spidev0.1
Il giorno domenica 23 settembre 2018 19:35:25 UTC+2, Schooner ha scritto: > > OK, good there is some progress. > > You will probably find that whilst loaded, it may not work. > > That while statement is actually > while(!( *(spi + 0) & 0x00010000) > which is extremely specific and if something has changed or if SPI is not > enabled, it will hang forever. > > (gripe here, I have asked you 3 specific questions and you have not > answered any of them) > > > On 23/09/18 18:01, mngr wrote: > > Thanks for the explanation about machinkit workings, > > I played with the stamps and found that it was blocking on > while (!(BCM2835_SPICS & SPI_CS_DONE)); (Line 438) > > removing it halrun loads, now I will see if and what it writes. maybe I > will have to control the low level implementation... but now I know more > things. > > One more question, how does a hal module read the args? > > > Il giorno domenica 23 settembre 2018 17:47:44 UTC+2, Schooner ha scritto: >> >> Sep 23 15:03:17 realtimepi rtapi:0: 4:rtapi_app:701:user hal_spi.so >> default iparms: '' >> Sep 23 15:03:17 realtimepi rtapi:0: 1:rtapi_app:701:user : hal_spi >> init!!!!err >> Sep 23 15:03:17 realtimepi rtapi:0: 4:rtapi_app:701:user : hal_spi >> init!!!!dbg >> Sep 23 15:03:17 realtimepi rtapi:0: 4:rtapi_app:701:user halg_xinitfv:90 >> HAL: initializing component 'hal_spi' type=1 arg1=0 arg2=0/0x0 >> >> Since you haven't said where these extra prints are located, their >> presence means nothing to me >> > The module is obviously loading to a point but it does not look as though >> the driver is getting any further than hal_init, which calls halg_xinitfv() >> then is failing catastrophically >> >> You are loading with no args, are the defaults suitable for your board / >> setup? >> Not that it looks that it gets that far, due the complete absence of >> other error or info messages >> >> The insmod error is completely non specific, so doesn't help, may just be >> picking up the last return value. >> >> What is the output from /proc/cpuinfo and what version etc is your Pi? >> >> >> >> On 23/09/18 16:12, mngr wrote: >> >> Attached. >> >> In the log you can see the message I added in the hal_spi rtapi_app_main. >> >> pi@realtimepi:~ $ halcmd loadrt hal_spi >> <commandline>:0: insmod failed, returned -1: >> rtapi_rpc(): reply timeout >> See /var/log/linuxcnc.log for more information. >> pi@realtimepi:~ $ halcmd show all >> halcmd: cant connect to rtapi_app: -1 (uri= uuid=a42c8c6b-4025-4f83-ba28- >> dad21114744a): rtapi_rpc(): reply timeout >> >> E: 18-09-23 15:04:20 dangling 'DEALER' socket created at hal/utils/ >> halcmd_rtapiapp.cc:281 >> >> >> Il giorno domenica 23 settembre 2018 16:43:25 UTC+2, Schooner ha scritto: >> >>> >>> On 23/09/18 15:16, mngr wrote: >>> >>> >>> >>> Il giorno domenica 23 settembre 2018 15:34:58 UTC+2, Schooner ha >>> scritto: >>>> >>>> It's not about doubt >>>> cat /proc/cpuinfo >>>> will tell you whether you have BCM2835 >>>> >>> >>> Thanks didn't know about that! on the rpi is written 2837, bit cpuinfo >>> says 2835! >>> So at least the part that writes in the SPI registers should work. >>> >>> I tried to add some debug message in hal_spi rtapi_app_main function, >>> but I don't see them anywhere, I have exported DEBUG=5, and maximized the >>> DEBUG value in the ini file. I am looking in /var/log/linuxcnc.log and in >>> the terminal output. >>> I have tried with different msg types >>> >>> rtapi_print_msg(RTAPI_MSG_ERR, ": hal_spi init!!!!err\n"); >>> rtapi_print_msg(RTAPI_MSG_DBG, ": hal_spi init!!!!dbg\n"); >>> rtapi_print_msg(RTAPI_MSG_ALL, ": hal_spi init!!!!all\n"); >>> >>> >>> There are plenty of error messages in the driver already. I did not see >>> any in the log however which makes me >>> suspect it was never loaded. >>> If insmod errors it should say why however and that was not in there >>> either. >>> >>> Instead of complicating things with loading a non working config, just >>> to load the driver, try this in a terminal on your Pi >>> >>> sudo > /var/log/linuxcnc.log (you may have to run this a root, it should >>> zero the log) >>> DEBUG=5 realtime restart >>> halcmd loadrt hal_spi >>> halcmd show all >>> halrun -U >>> >>> That should give you a short log and if it errors loading hal_spi will >>> be easier to trace through >>> >>> In addition to the log do >>> >>> dmesg | tail > dmesg.log >>> >>> and attach that log too >>> >>> >>> If you do and the driver should work, we can try to find out why it >>>> isn't. >>>> >>>> If you don't, what the differences are from the BCM2837 for example, I >>>> have no idea >>>> >>>> I am guessing you are trying to generate steps using the SPI, that is >>>> an area outside my experience >>>> but there seems to be quite a bit about it on the RPi forums >>>> >>> >>> Actually, I tought that hal_spi is used to write something to a MCU that >>> will control the motor generating steps. >>> I think it sends the commanded velocity and the MCU updates the PWM. >>> I am not sure of those things, though >>> >>> On 23/09/18 13:50, mngr wrote: >>> >>> >>> >>> Il giorno domenica 23 settembre 2018 13:41:42 UTC+2, Schooner ha >>> scritto: >>>> >>>> The log does not show what your earlier email showed, there is not >>>> mention of an error from insmod >>>> >>>> I think you need to get right back to basics. >>>> >>>> This driver was written 5 years ago and is specific to the BCM2835 chip >>>> It can only have been meant to support Pi v1 & v2 and maybe not all of >>>> them, as they kept changing versions and hardware, >>>> because nothing of a higher version had been released then >>>> >>>> Does this driver support your Pi? >>>> >>> >>> In case of doubt I gave a look to wiringPi, it calls ioctl and >>> write/reads from /dev/spidev. >>> Is calling that syscall from a hal driver a sane thing to do? (It is for >>> example used here >>> <https://github.com/machinekit/machinekit/blob/master/src/hal/drivers/hal_p260c.c> >>> ) >>> >>> >>> >>>> Regards DEBUG, the ini file bit was explained by the text you deleted >>>> from yours. >>>> It takes a hexidecimal number up to 0x7FFFFFFF, the output is to >>>> terminal and the output is from NML messaging >>>> >>>> The exported DEBUG=5 is the debug setting for logging and relates to >>>> the rtapi system, not NML >>>> >>> >>> Thanks for the explanation, Schooner >>> >>> >>>> On 23/09/18 11:07, mngr wrote: >>>> >>>> >>>> >>>> Il giorno venerdì 21 settembre 2018 16:44:50 UTC+2, Schooner ha >>>> scritto: >>>>> >>>>> You are not running with DEBUG=5 >>>>> >>>> >>>> I edited DEBUG = 5 in ini file(in EMC section), nothing changed, then I >>>> exported DEBUG=5 in bash. what is the difference? what is the deBUG >>>> setting >>>> in the ini file for? >>>> >>>> Attached you can find the ini and the hal file, I edited the CRAMPS >>>> configuration, basically removing everything relative to the PRU, and >>>> adding loadrt hal_spi in CRAMPS.hal (and leaving one only axis) >>>> linuxcnc_old.log is everything before adding loadrt hal_spi. >>>> linuxcnc.log is the execution with loadrt hal_spi and termila_output >>>> shows what has been written, I attached it because it talks about >>>> rtapi_rpc(): reply timeout, that is not mentioned in the log >>>> >>>> pi@realtimepi:~ $ uname -a >>>> Linux realtimepi 4.14.66-rt40-v7 #2 SMP PREEMPT RT Mon Sep 17 21:15:46 >>>> UTC 2018 armv7l GNU/Linux >>>> >>>> >>>> >>>> >>>>> Do so and your linuxcnc.log will have info as to what failed. >>>>> >>>>> Also as I said in my last reply, it does not look as though you have a >>>>> realtime kernel, irrespective of what you have named your pi. >>>>> >>>>> On 21/09/18 15:31, mngr wrote: >>>>> >>>>> Hi everyone, >>>>> >>>>> I am sorry to post another noob question here, but, >>>>> >>>>> I am trying to use the hal module hal_spi, shortly I tried with >>>>> loadrt hal_spi >>>>> in the hal file, but >>>>> CRAMPS.hal:15: insmod failed, returned -1: >>>>> rtapi_rpc(): reply timeout >>>>> See /var/log/linuxcnc.log for more information. >>>>> >>>>> in the log >>>>> Sep 21 14:22:09 realtimepi msgd:0: startup pid=5979 flavor=posix >>>>> rtlevel=1 usrlevel=1 halsize=524288 shm=Posix cc=gcc 6.3.0 20170516 >>>>> version=unknown >>>>> Sep 21 14:22:09 realtimepi msgd:0: ØMQ=4.2.1 czmq=4.0.2 protobuf=3.0.0 >>>>> atomics=gcc intrinsics libwebsockets=2.0.3 >>>>> Sep 21 14:22:09 realtimepi msgd:0: configured: sha=b87920504 >>>>> Sep 21 14:22:09 realtimepi msgd:0: built: Sep 18 2018 16:43:17 >>>>> sha=b87920504 >>>>> Sep 21 14:22:09 realtimepi msgd:0: register_stuff: actual hostname as >>>>> announced by avahi='realtimepi.local' >>>>> Sep 21 14:22:09 realtimepi msgd:0: zeroconf: registering: 'Log >>>>> service on realtimepi.local pid 5979' >>>>> Sep 21 14:22:10 realtimepi rtapi:0: rtapi_msgd went away, exiting >>>>> Sep 21 14:22:10 realtimepi msgd:0: zeroconf: registered 'Log service >>>>> on realtimepi.local pid 5979' _machinekit._tcp 0 TXT >>>>> "uuid=a42c8c6b-4025-4f83-ba28-dad21114744a" >>>>> "instance=b9c730a2-bda9-11e8-bcc3-b827eb4bcf42" "service=log" >>>>> "dsn=ipc:///tmp/0.log.a42c8c6b-4025-4f83-ba28-dad21114744a" >>>>> >>>>> I tried launching machinekit without it and adding it later using >>>>> halcmd loadrt hal_spi, but with similar results >>>>> >>>>> >>>>> should I give it some arguments? I don't know how to understand how to >>>>> write them from the code... >>>>> Maybe the module is old and has lost some compatibility? >>>>> >>>>> right now i am executing from >>>>> Linux realtimepi 4.14.69-v7+ #1141 SMP Mon Sep 10 15:26:29 BST 2018 >>>>> armv7l GNU/Linux >>>>> Debian Stretch, Machinekit compiled from source >>>>> maybe should I explicit the path to hal_spi? >>>>> >>>>> mngr >>>>> -- >>>>> website: http://www.machinekit.io blog: http://blog.machinekit.io >>>>> github: https://github.com/machinekit >>>>> --- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "Machinekit" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to machinekit+...@googlegroups.com. >>>>> Visit this group at https://groups.google.com/group/machinekit. >>>>> For more options, visit https://groups.google.com/d/optout. >>>>> >>>>> >>>>> -- >>>> website: http://www.machinekit.io blog: http://blog.machinekit.io >>>> github: https://github.com/machinekit >>>> --- >>>> You received this message because you are subscribed to the Google >>>> Groups "Machinekit" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to machinekit+...@googlegroups.com. >>>> Visit this group at https://groups.google.com/group/machinekit. >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>>> >>>> -- >>> website: http://www.machinekit.io blog: http://blog.machinekit.io >>> github: https://github.com/machinekit >>> --- >>> You received this message because you are subscribed to the Google >>> Groups "Machinekit" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to machinekit+...@googlegroups.com. >>> Visit this group at https://groups.google.com/group/machinekit. >>> For more options, visit https://groups.google.com/d/optout. >>> >>> >>> -- >>> website: http://www.machinekit.io blog: http://blog.machinekit.io >>> github: https://github.com/machinekit >>> --- >>> You received this message because you are subscribed to the Google >>> Groups "Machinekit" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to machinekit+...@googlegroups.com. >>> Visit this group at https://groups.google.com/group/machinekit. >>> For more options, visit https://groups.google.com/d/optout. >>> >>> >>> -- >> website: http://www.machinekit.io blog: http://blog.machinekit.io >> github: https://github.com/machinekit >> --- >> You received this message because you are subscribed to the Google Groups >> "Machinekit" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to machinekit+...@googlegroups.com. >> Visit this group at https://groups.google.com/group/machinekit. >> For more options, visit https://groups.google.com/d/optout. >> >> >> -- > website: http://www.machinekit.io blog: http://blog.machinekit.io github: > https://github.com/machinekit > --- > You received this message because you are subscribed to the Google Groups > "Machinekit" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to machinekit+...@googlegroups.com <javascript:>. > Visit this group at https://groups.google.com/group/machinekit. > For more options, visit https://groups.google.com/d/optout. > > > -- website: http://www.machinekit.io blog: http://blog.machinekit.io github: https://github.com/machinekit --- You received this message because you are subscribed to the Google Groups "Machinekit" group. To unsubscribe from this group and stop receiving emails from it, send an email to machinekit+unsubscr...@googlegroups.com. Visit this group at https://groups.google.com/group/machinekit. For more options, visit https://groups.google.com/d/optout.
processor : 0 model name : ARMv7 Processor rev 4 (v7l) BogoMIPS : 38.40 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32 CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xd03 CPU revision : 4 processor : 1 model name : ARMv7 Processor rev 4 (v7l) BogoMIPS : 38.40 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32 CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xd03 CPU revision : 4 processor : 2 model name : ARMv7 Processor rev 4 (v7l) BogoMIPS : 38.40 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32 CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xd03 CPU revision : 4 processor : 3 model name : ARMv7 Processor rev 4 (v7l) BogoMIPS : 38.40 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32 CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xd03 CPU revision : 4 Hardware : BCM2835 Revision : a02082 Serial : 00000000934bcf42