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 <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.

Reply via email to