Hello,
after diving a bit more deeply into LinuxCNC-RIO and having a closer look at the Tangbob and riocore, a few questions have come up:
1) almost every connector on the board makes sense to me, except J5 + J6 (Down/ Up) -> what are these connectors for?
2) as i get it, i can use 2 BOB's simultanously with this board, correct? Do these boards still need the 12-24V input on the right side, or is the 5V input only sufficient to drive all Inputs and Outputs correctly? Except for the PWM Output (Spindle Control) on the right side, i bet.
3) do i have to use the BOB's Inputs / Outputs (left and lower Side) as such, or can i map them freely in riocore, f.e. use the - usually stepdir output - pins P2-P5 as Encoder input pins?
4) can i power a LED strip directly via wled1 with the onboard 5V supply, or would an external supply be better?
Secondly i played around with the Tangbob configuration in riocore and as it seems i must be doing something completely wrong or there must be something messed up with the bitin/ bitout defintions for the Tangbob board somewhere:
Board: Tangbob
Toolchain: icestorm
Protocol: UDP
LinuxCNC:
3 Axis
mill
manual toolchange
axis gui
Modules:
china bob left -> split
Plugins added:
ads111514 on i2c -> all ok
wled bar on wled -> all ok
modbus1 on modbus -> all ok
stepdir on RIGHT: P2 + P2 -> all ok
stepper17 on RIGHT: P3 to P6 -> all ok
quadencoder on RIGHT: P10 - P12 -> all ok
bitout on RIGHT: P8 -> compiles well
but the latter gives a long error message when firing up LinuxCNC:
riocomp.c:185:28: error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘OUT_BIT’
185 | hal_bit_t *SIGOUT_P8 OUT_BIT;
| ^~~~~~~
[...and TONS of similar/ follow up errors]
looking at riocomp.c:185 reveals:
"hal_bit_t *SIGOUT_P8 OUT_BIT" <- looks like a missing underscore between P8 and OUT, with added underscore i just get:
linuxcnc rio.ini
LINUXCNC - 2.10.0~pre0
Machine configuration directory is '/media/gitano/Alhambra/Software/Linux/CAD+CAM/LinuxCNC-RIO/riocore/Output/Tangbob/LinuxCNC'
Machine configuration file is 'rio.ini'
Starting LinuxCNC...
linuxcncsvr (563355) emcsvr: machine 'Rio - mill' version '1.1'
linuxcnc TPMOD=tpmod HOMEMOD=homemod EMCMOT=motmod
Note: Using POSIX non-realtime
milltask (563384) task: machine 'Rio - mill' version '1.1'
halui (563390) halui: machine 'Rio - mill' version '1.1'
twopass:invoked with <> options
twopass:found ./rio.hal
twopass:found ./pregui_call_list.hal
twopass:pass0: loadusr -W hal_manualtoolchange
riocomp.c: In function ‘register_signals’:
riocomp.c:541:51: error: ‘data_t’ has no member named ‘SIGOUT_P8’
541 | if (retval = hal_pin_bit_newf (HAL_IN, &;(data->SIGOUT_P8 OUT_BIT), comp_id, "%s.P8 OUT.bit", prefix) != 0) error_handler(retval);
| ^~
riocomp.c:541:62: error: expected ‘)’ before ‘OUT_BIT’
541 | if (retval = hal_pin_bit_newf (HAL_IN, &;(data->SIGOUT_P8 OUT_BIT), comp_id, "%s.P8 OUT.bit", prefix) != 0) error_handler(retval);
| ~ ^~~~~~~~
| )
riocomp.c:542:10: error: ‘data_t’ has no member named ‘SIGOUT_P8’
542 | *data->SIGOUT_P8 OUT_BIT = 0;
| ^~
riocomp.c:542:21: error: expected ‘;’ before ‘OUT_BIT’
542 | *data->SIGOUT_P8 OUT_BIT = 0;
| ^~~~~~~~
| ;
riocomp.c: In function ‘convert_varout1_bitout19_bit’:
riocomp.c:1013:23: error: ‘data_t’ has no member named ‘OUT_BIT’
1013 | bool value = *data->OUT_BIT;
| ^~
make: *** [/usr/share/linuxcnc/Makefile.modinc:117: riocomp.o] Error 1
# compiling and loading rio component...failed
adding the same fix in line 541, 542 and adding SIGOUT_P8_ before OUT_BIT in line 1013 as well as uncommenting OUT_BIT in rio.hal and custom_postgui_hal, axis GUI fires up. The defined button for P8 shows up fine in GUI, i guess it won't work with hardware, though.
I tried adding bitins and outs for other boards (iceshield and octobot) and there they work fine.
All in virtuality, i still have no hardware around, but that will change soon
Cheers,
-lgitano
P.S.: Dont know if it is correct to post such userspace/ configurations issues here as this thread perhaps gets quite huge, or if it would be better to open new board specific threads? If You think so, i will do the latter