- Posts: 2
- Thank you received: 0
Custom firmware for 5i25 with BISSTag
When I wtrite compilated bitfile with mesaflash to 5i25 card, pins determinated as BISSDataPin and BISSDataClock are unknown-gtag instead.
My code:
Report:
Full report is in attachments.
Please Log in to join the conversation.
Please Log in to join the conversation.
Please Log in to join the conversation.
case HM2_GTAG_BISS:
if ( ! hm2_md_is_consistent_or_complain(hm2, md_index, 0, 3, 4, 0x03)) {
HM2_ERR("inconsistent absenc Module Descriptor!\n");
return -EINVAL;
}
Should be:
case HM2_GTAG_BISS:
if ( ! hm2_md_is_consistent_or_complain(hm2, md_index, 0, 3, 4, 0x07)) {
HM2_ERR("inconsistent absenc Module Descriptor!\n");
return -EINVAL;
}
( The pin name issue is because mesaflash doesn't know about the BISS module, but this is is harmless)
EDIT: OOPS the firmwware was updated sometime before 2014 per non-LinuxCNC customer request and has a slightly different register
map (an additional control register was added to allow setting a data input digital filter time constant) So will need driver fixes to work with LinuxCNC
Please Log in to join the conversation.
Please Log in to join the conversation.
I am facing the same issue. Nice to hear that the problem may be solved with the updated firmware. Is the updated hostmot2 available on github?
Thank you!
Please Log in to join the conversation.
The driver source has not been merged yet but is available here:
freeby.mesanet.com/newmesa.zip
Please Log in to join the conversation.
thanks for the files.
I created a bitfile - 5i25+7i76+7i85(with BISS 1x) and mesaflashed it in the 5i25. When I try to --readhmid the 5i25, it prints out unknown-gtag right where BISS DATA/CLK should be.
1 17 IOPort (unknown-gtag) 0 Unknown (In)
14 18 IOPort (unknown-gtag) 0 Unknown (Out)
Is this some kind of a mesaflash bug or is it some kind of a problem with the bitfile? Or do I have to use some kind of an updated mesaflash?
Then, I compiled the LinuxCNC source with updated files from the zipfile. I pasted the files in ./src/hal/drivers/mesa-hostmot2/ and the Makefile in ./src/. Then I created a simple configuration and launched the linuxcnc. Everything seems to be OK as I am getting (I have the biss timer and the dpll timer set up, but I do not have the actual encoder connected):
hm2/hm2_5i25.0: Data transmission not complete on channel hm2_5i25.0.biss.00 read. You may need to change the timing of the hm2dpll timer. This warning will not repeat
But prints out in the terminal during the startup:
hm2/hm2_5i25.0: IO Pin 017 (P2-01): BiSS Encoder #0, pin unknown-pin-3 (Input)
hm2/hm2_5i25.0: IO Pin 018 (P2-14): BiSS Encoder #0, pin Clck (Output)
Is it normal to have the BISS DATA pin named as "unknown-pin"?
The thing is, that can't test the encoder right now (I don't want to buy a BISS encoder - they are not the cheapest) without knowing that I can make it work. Is there a chance, that the encoder may actually work with this setup? Or am I missing something?
Your help is greatly appreciated.
Please Log in to join the conversation.
rumking wrote: Hi PCW,
thanks for the files.
I created a bitfile - 5i25+7i76+7i85(with BISS 1x) and mesaflashed it in the 5i25. When I try to --readhmid the 5i25, it prints out unknown-gtag right where BISS DATA/CLK should be.
1 17 IOPort (unknown-gtag) 0 Unknown (In)
14 18 IOPort (unknown-gtag) 0 Unknown (Out)
Is this some kind of a mesaflash bug or is it some kind of a problem with the bitfile? Or do I have to use some kind of an updated mesaflash?
You need a recent mesaflash
github.com/jethornton/mesaflash
Then, I compiled the LinuxCNC source with updated files from the zipfile. I pasted the files in ./src/hal/drivers/mesa-hostmot2/ and the Makefile in ./src/. Then I created a simple configuration and launched the linuxcnc. Everything seems to be OK as I am getting (I have the biss timer and the dpll timer set up, but I do not have the actual encoder connected):
hm2/hm2_5i25.0: Data transmission not complete on channel hm2_5i25.0.biss.00 read. You may need to change the timing of the hm2dpll timer. This warning will not repeat
This is expected without an encoder
But prints out in the terminal during the startup:
hm2/hm2_5i25.0: IO Pin 017 (P2-01): BiSS Encoder #0, pin unknown-pin-3 (Input)
hm2/hm2_5i25.0: IO Pin 018 (P2-14): BiSS Encoder #0, pin Clck (Output)
Is it normal to have the BISS DATA pin named as "unknown-pin"?
I'll take a look
It could be a firmware or driver error
The thing is, that can't test the encoder right now (I don't want to buy a BISS encoder - they are not the cheapest) without knowing that I can make it work. Is there a chance, that the encoder may actually work with this setup? Or am I missing something?
Your help is greatly appreciated.
BTW the cheapest encoder I found for testing was a small Beckhoff AC servo motor on Ebay that happened to have a BISS encoder (19 bits per turn + 12 bits turn counter)
Beckhoff AM3021-1C41-0000 It was a bit of a pain because that motor has a 24V brake that needs to be powered for testing
note the 4 in 1C41 = multiturn BISS a XX3X instead of 1C41 would be single turn BISS
Please Log in to join the conversation.
(it doesn't interfere with operation, just lists the wrong physical pin names)
Here is a fixed pins.c with correct names:
freeby.mesanet.com/pins.c
Please Log in to join the conversation.
